diff options
Diffstat (limited to 'IkiWiki.pm')
-rw-r--r-- | IkiWiki.pm | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm index dfdd0fe91..bb36b0885 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1430,6 +1430,7 @@ sub userpage ($) { return length $config{userdir} ? "$config{userdir}/$user" : $user; } +# Username to display for openid accounts. sub openiduser ($) { my $user=shift; @@ -1464,6 +1465,7 @@ sub openiduser ($) { return; } +# Username to display for emailauth accounts. sub emailuser ($) { my $user=shift; if (defined $user && $user =~ m/(.+)@/) { @@ -1475,6 +1477,22 @@ sub emailuser ($) { return; } +# Some user information should not be exposed in commit metadata, etc. +# This generates a cloaked form of such information. +sub cloak ($) { + my $user=shift; + # cloak email address using http://xmlns.com/foaf/spec/#term_mbox_sha1sum + if ($user=~m/(.+)@/) { + my $nick=$1; + eval q{use Digest::SHA}; + return $user if $@; + return $nick.'@'.Digest::SHA::sha1_hex("mailto:$user"); + } + else { + return $user; + } +} + sub htmlize ($$$$) { my $page=shift; my $destpage=shift; |