X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/32923e732b846af791b58e7b2daed8585d1819f6..2b31e0bed7cf4cef13d88af049b18c3731c32528:/IkiWiki/Plugin/emailauth.pm?ds=sidebyside

diff --git a/IkiWiki/Plugin/emailauth.pm b/IkiWiki/Plugin/emailauth.pm
index 6674fe3d6..becf40ca5 100644
--- a/IkiWiki/Plugin/emailauth.pm
+++ b/IkiWiki/Plugin/emailauth.pm
@@ -76,7 +76,7 @@ sub email_auth ($$$$) {
 	$template->param(
 		wikiname => $config{wikiname},
 		# Intentionally using short field names to keep link short.
-		authurl => IkiWiki::cgiurl_abs(
+		authurl => IkiWiki::cgiurl_abs_samescheme(
 			'e' => $email,
 			'v' => $token,
 		),
@@ -95,7 +95,7 @@ sub email_auth ($$$$) {
 			.">",
 		Subject => "$config{wikiname} login | $shorturl",
 		Message => $template->output,
-	) or error(gettext("Failed to send mail"));
+	) or error(sprintf(gettext("Failed to send mail: %s"), $Mail::Sendmail::error));
 
 	$infodisplayer->(gettext("You have been sent an email, with a link you can open to complete the login process."));
 }
@@ -148,7 +148,7 @@ sub gentoken ($$) {
 	my $session=shift;
 	eval q{use CGI::Session};
 	error($@) if $@;
-	my $token = CGI::Session->new->id;
+	my $token = CGI::Session->new("driver:DB_File", undef, {FileName => "/dev/null"})->id;
 	IkiWiki::userinfo_set($email, "emailauthexpire", time+(60*60*24));
 	IkiWiki::userinfo_set($email, "emailauth", $token);
 	IkiWiki::userinfo_set($email, "emailauthpostsignin", defined $session->param("postsignin") ? $session->param("postsignin") : "");