From c70ea95c7e2e07cccbff9b7cce26e7bb506d1db6 Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Fri, 18 Jan 2013 21:21:17 +0100 Subject: Factorized split_addr. --- lib/Fripost/Panel/Login.pm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'lib/Fripost/Panel/Login.pm') diff --git a/lib/Fripost/Panel/Login.pm b/lib/Fripost/Panel/Login.pm index ccb4ca7..ef8474c 100644 --- a/lib/Fripost/Panel/Login.pm +++ b/lib/Fripost/Panel/Login.pm @@ -20,6 +20,7 @@ use CGI::Application::Plugin::Redirect; use CGI::Application::Plugin::ConfigAuto 'cfg'; use Fripost::Schema; +use Fripost::Schema::Misc 'split_addr'; use HTML::Entities 'encode_entities'; use URI::Escape::XS 'decodeURIComponent'; use Net::IDN::Encode 'email_to_ascii'; @@ -56,7 +57,7 @@ sub cgiapp_init { $self->authen->config( DRIVER => [ 'Generic', sub { my ($u,$p) = @_; - my $d = (split /\@/, $u, 2)[1]; + my $d = (split_addr($u))[1]; unless (defined $d) { $CFG{default_realm} // return 0; @@ -227,7 +228,9 @@ sub split_path { my $self = shift; my %options = @_; - my $script = $ENV{SCRIPT_NAME} // ''; + my $script = $ENV{SCRIPT_NAME} // $self->cfg->{'cgi-bin'} // ''; + $script =~ s@/$@@s; + my $uri = $self->query->request_uri; $uri =~ s/^$script//s; $uri =~ s/\?.*//s; @@ -243,7 +246,7 @@ Guilhem Moulin C<< >> =head1 COPYRIGHT -Copyright 2012 Guilhem Moulin. +Copyright 2012,2013 Guilhem Moulin. =head1 LICENSE -- cgit v1.2.3