chiark / gitweb /
provide new debug hook
[cgi-auth-flexible.git] / cgi-auth-flexible.pm
index fb161cc8f315a5d2ea6f7c84e0bdec12725f08e6..eab1fe1b84d21768c0b36d74c70ecc82921a45be 100644 (file)
@@ -226,6 +226,7 @@ sub new_verifier {
            gen_postmainpage_form => \&gen_postmainpage_form,
            gettext => sub { gettext($_[2]); },
            print => sub { print $_[2] or die $!; },
+            debug => sub { }, # like print; msgs contain trailing \n
        },
        Dbh => undef,
     };
@@ -270,6 +271,7 @@ sub _dbopen ($) {
                                 RaiseError => 1,
                                 ShowErrorStatement => 1,
                             });
+        umask $u;
         die "$dsn $! ?" unless $dbh;
     }
     $v->{Dbh} = $dbh;
@@ -356,6 +358,11 @@ sub _rp ($$@) {
     my $p = scalar $r->_ch('get_param',$pn)
 }
 
+sub _debug ($@) {
+    my ($r,@args) = @_;
+    $r->_ch('debug',@args);
+}
+
 sub _get_path ($$) {
     my ($v,$keybase) = @_;
     my $leaf = $v->{S}{"${keybase}_path"};
@@ -506,7 +513,7 @@ sub _check_divert_core ($) {
         ? $cooks : undef;
     my ($parmt) = $r->_identify($parmh, $parms);
 
-#print STDERR "_c_d_c cookt=$cookt parmt=$parmt\n";
+    $r->_debug("_c_d_c cookt=$cookt parmt=$parmt\n");
 
     if ($r->_ch('is_logout')) {
        $r->_must_be_post();
@@ -719,7 +726,7 @@ sub check_divert ($) {
     my $dbh = $r->{Dbh};
     $r->{Divert} = $r->_db_transaction(sub { $r->_check_divert_core(); });
     $dbh->commit();
-#print STDERR Dumper($r->{Divert});
+    $r->_debug(Data::Dumper->Dump([$r->{Divert}],[qw(divert)]));
     return $r->{Divert};
 }