From 01ae2b697d99fee90ef0715a76d2990ac2c0801b Mon Sep 17 00:00:00 2001 From: Xavier Guimard Date: Sun, 13 Oct 2013 12:13:48 +0000 Subject: [PATCH] Split tests: certificate can exist without having wanted attribute --- .../lib/Lemonldap/NG/Portal/AuthSSL.pm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/AuthSSL.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/AuthSSL.pm index 358bae210..9764d8f21 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/AuthSSL.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/AuthSSL.pm @@ -12,8 +12,6 @@ use Lemonldap::NG::Portal::AuthNull; our $VERSION = '1.2.3'; our @ISA = qw(Lemonldap::NG::Portal::AuthNull); -*authenticate = *extractFormInfo; - ## @apmethod int authInit() # Check if SSL environment variables are set. # @return Lemonldap::NG::Portal constant @@ -33,8 +31,13 @@ sub extractFormInfo { $self->{user} = $user; return PE_OK; } + elsif ( $ENV{SSL_CLIENT_S_DN} ) { + $self->_sub( 'userError', + "$self->{SSLVar} was not found in user certificate" ); + return PE_BADCERTIFICATE; + } else { - $self->_sub( 'userError', "No certificate found for " . $self->ipAddr ); + $self->_sub( 'userError', 'No certificate found' ); return PE_CERTIFICATEREQUIRED; } } @@ -52,6 +55,13 @@ sub setAuthSessionInfo { PE_OK; } +## @apmethod int authenticate() +# Does nothing, job is done in extractFormInfo() +# @return Lemonldap::NG::Portal constant +sub authenticate { + PE_OK; +} + ## @method string getDisplayType # @return display type sub getDisplayType {