From 05d2e40173462338b9aff970d35059ed63d1c4e5 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 26 Jan 2013 00:11:00 +0000 Subject: [PATCH 1/1] mason diversion etc. --- AwayMsg.pm | 9 +-------- mason/autohandler | 24 ++++++++++++++++++++---- run-mason.cgi | 2 -- 3 files changed, 21 insertions(+), 14 deletions(-) diff --git a/AwayMsg.pm b/AwayMsg.pm index acfb0ce..72c5946 100644 --- a/AwayMsg.pm +++ b/AwayMsg.pm @@ -31,14 +31,7 @@ sub hquote ($) { } sub db_connect () { - my $dbf; - foreach my $d (@INC) { - $dbf = "$d/data/away.db"; - if (stat $dbf) { - chdir($d) or die $!; - last; - } - } + my $dbf = "$ENV{'NJAWAYMSG'}/data/away.db"; $dbh = DBI->connect("dbi:SQLite:$dbf",'','', { AutoCommit=>0, RaiseError=>1, ShowErrorStatement=>1 diff --git a/mason/autohandler b/mason/autohandler index 22b062a..469f482 100644 --- a/mason/autohandler +++ b/mason/autohandler @@ -1,8 +1,24 @@ <%once> use CGI::Auth::Flexible; + +sub do_redirect_mason ($$$$) { + my ($c, $ar, $new_url, $cookie) = @_; + $m->auto_send_headers(0); + CGI::Auth::Flexible::do_redirect_cgi($c,$ar,$new_url,$cookie); +} + my $verifier = CGI::Auth::Flexible->new_verifier( - dir => "/home/ian/things/Nj-awaymsg/nj-awaymsg.git/data", - CGI::Auth::Flexible->mason_params(); - ); -my $authreq = $verifier->new_mason_request(\%ARGS); + dir => "$ENV{'NJAWAYMSG'}/data", +# do_redirect => \&do_redirect_mason, + handle_divert => sub { $m->auto_send_headers(0); return 0; }, +# print => sub { my ($c,$ar,@t) = @_; $m->print(@t); }, + encrypted_only => 0, + ); + +<%perl> +my $cgi = $m->cgi_object(); +my $ar = $verifier->new_request($cgi); +if ($ar->check_ok()) { + $m->call_next(); +} diff --git a/run-mason.cgi b/run-mason.cgi index 3f42cc5..91916cc 100755 --- a/run-mason.cgi +++ b/run-mason.cgi @@ -15,8 +15,6 @@ unshift @INC, $perllib; my $pathsofar = $comp_root; die "$pathsofar $!" unless stat $pathsofar; -system 'printenv |sort >&2'; - my $path_info = $ENV{'PATH_INFO'}; $path_info='' if !defined $path_info; -- 2.30.2