X-Git-Url: https://git.adam-barratt.org.uk/?p=mirror%2Fuserdir-ldap-cgi.git;a=blobdiff_plain;f=login.cgi;h=d820af29e989c55680e7028331e0c54479bc9fdf;hp=0058aa9f9c25f68e98cdcad310c0f9dc48bc68e5;hb=5cea731d1b6f9504bd695fd2f201761c35f71a2c;hpb=be1495662e4a4404faa46a81befb2dbf30a794cd diff --git a/login.cgi b/login.cgi index 0058aa9..d820af2 100755 --- a/login.cgi +++ b/login.cgi @@ -1,7 +1,8 @@ #!/usr/bin/perl -# $Id: login.cgi,v 1.8 2003/03/13 04:25:56 rmurray Exp $ +# $Id: login.cgi,v 1.10 2006/12/22 08:58:50 rmurray Exp $ # (c) 1999 Randolph Chung. Licensed under the GPL. +# (c) 2006 Ryan Murray. Licensed under the GPL. use lib '.'; use strict; @@ -10,7 +11,7 @@ use CGI; use Util; use URI::Escape; use Crypt::Blowfish; -use Net::LDAP qw(:all); +use Net::LDAP qw(LDAP_SUCCESS LDAP_PROTOCOL_ERROR); my %config = &Util::ReadConfigFile; @@ -18,7 +19,7 @@ my $query = new CGI; my $proto = ($ENV{HTTPS} ? "https" : "http"); if ($proto eq "http" || !($query->param('username')) || !($query->param('password'))) { - print "Location: https://$ENV{SERVER_NAME}/$config{webloginurl}\n\n"; + print "Location: https://$ENV{SERVER_NAME}/$config{webloginhtml}\n\n"; exit; } @@ -27,6 +28,7 @@ my $hrkey = unpack("H".($config{blowfishkeylen}*2), $key); my $cipher = new Crypt::Blowfish $key; my $ldap = Net::LDAP->new($config{ldaphost}) || &Util::HTMLError($!); +&Util::UpgradeConnection($ldap) unless $config{usessl} eq 'False'; my $username = $query->param('username'); my $password = $query->param('password'); @@ -68,7 +70,7 @@ if ($mesg->code == LDAP_SUCCESS) { $ldap->unbind; } else { - print "Content-type: text/html\n\n"; + print "Content-type: text/html; charset=utf-8\n\n"; print "

Not authenticated

\n"; }