Auth: mini_error gefixt
authorMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 29 Apr 2019 13:32:22 +0000 (15:32 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 23 Aug 2019 09:17:56 +0000 (11:17 +0200)
$::auth->mini_error wird potenziell zu einem Zeitpunkt aufgerufen, an
dem es die Instanzen von $::form und $::request noch nicht gibt. Da
hier wirklich nur die Bare-Bones-Ausgabe der Fehlermeldung benötigt
wird, machen wir für den Fall manuell ein CGI-Objekt auf.

SL/Auth.pm

index 74a7d7f..830e7fb 100644 (file)
@@ -118,7 +118,10 @@ sub mini_error {
 
   my ($self, @msg) = @_;
   if ($ENV{HTTP_USER_AGENT}) {
-    print Form->create_http_response(content_type => 'text/html');
+    # $::form might not be initialized yet at this point — therefore
+    # we cannot use "create_http_response" yet.
+    my $cgi = CGI->new('');
+    print $cgi->header('-type' => 'text/html', '-charset' => 'UTF-8');
     print "<pre>", join ('<br>', @msg), "</pre>";
   } else {
     print STDERR "Error: @msg\n";