use warnings;
use strict;
use IkiWiki 3.00;
+use Data::Dumper;
sub import {
hook(type => "getsetup", id => "httpauth", call => \&getsetup);
my $session=shift;
if (defined $cgi->remote_user()) {
- $session->param("name", $cgi->remote_user());
+ my $user = $cgi->remote_user();
+ $session->param("name", $user);
+ eval IkiWiki::possibly_foolish_untaint($ENV{SSL_CLIENT_S_DN_CN});
+ my $realname = IkiWiki::userinfo_get($user, "realname");
+ if ((!defined $realname || $realname eq "") &&
+ defined $ENV{SSL_CLIENT_S_DN_CN}) {
+ IkiWiki::userinfo_set($user, "realname", $ENV{SSL_CLIENT_S_DN_CN});
+ }
}
}