X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=Util.pm;h=2b5b266323c970b332d4e4f26c5eded205095f84;hb=6cf4e0f0f118fd21bd85328b37d53f8623d2411f;hp=9acd5d11bcd416b5d5bb534c4d2cddb6665bced6;hpb=f1af5002f6710b37cf3d2b3903ef3103a34424a6;p=mirror%2Fuserdir-ldap-cgi.git diff --git a/Util.pm b/Util.pm index 9acd5d1..2b5b266 100644 --- a/Util.pm +++ b/Util.pm @@ -3,6 +3,7 @@ package Util; use strict; use Date::Manip qw(ParseDate); +use Net::LDAP qw(:all); my $blocksize = 8; # A blowfish block is 8 bytes my $configfile = "/etc/userdir-ldap/userdir-ldap.conf"; @@ -175,6 +176,7 @@ sub FormatFingerPrint { $out .= substr($in, $_*4, 4)." "; } } + chop $out; return $out; } @@ -338,4 +340,17 @@ sub ReadConfigFile { return %config; } +sub UpgradeConnection($) { + my ($ldap) = @_; + my $mesg = $ldap->start_tls( + verify => 'require', + capath => '/etc/ssl/certs/' + ); + $mesg->sync; + if ($mesg->code != LDAP_SUCCESS) { + print "Content-type: text/html; charset=utf-8\n\n"; + print "

STARTTLS failed: "..$mesg->error."

\n"; + exit(1); + }; +}; 1;