Patch for bug 216902: support LDAPS connections; patch by Christian Krause <chkr@plauener.de>, r=vladd, a=justdave.
git-svn-id: svn://10.0.0.236/trunk@191769 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
@@ -73,10 +73,29 @@ sub authenticate {
|
||||
}
|
||||
|
||||
my $LDAPport = "389"; # default LDAP port
|
||||
if($LDAPserver =~ /:/) {
|
||||
($LDAPserver, $LDAPport) = split(":",$LDAPserver);
|
||||
my $LDAPprotocol = "ldap";
|
||||
|
||||
if ($LDAPserver =~ /(ldap|ldaps):\/\/(.*)/) {
|
||||
# ldap(s)://server(:port)
|
||||
$LDAPprotocol = $1;
|
||||
my $serverpart = $2;
|
||||
if ($serverpart =~ /:/) {
|
||||
# ldap(s)://server:port
|
||||
($LDAPserver, $LDAPport) = split(":", $serverpart);
|
||||
} else {
|
||||
# ldap(s)://server
|
||||
$LDAPserver = $serverpart;
|
||||
if ($LDAPprotocol eq "ldaps") {
|
||||
$LDAPport = "636";
|
||||
}
|
||||
}
|
||||
} elsif ($LDAPserver =~ /:/) {
|
||||
# server:port
|
||||
($LDAPserver, $LDAPport) = split(":", $LDAPserver);
|
||||
}
|
||||
my $LDAPconn = Net::LDAP->new($LDAPserver, port => $LDAPport, version => 3);
|
||||
|
||||
|
||||
my $LDAPconn = Net::LDAP->new("$LDAPprotocol://$LDAPserver:$LDAPport", version => 3);
|
||||
if(!$LDAPconn) {
|
||||
return (AUTH_ERROR, undef, "connect_failed");
|
||||
}
|
||||
|
||||
@@ -26,7 +26,8 @@
|
||||
|
||||
[% param_descs = {
|
||||
LDAPserver => "The name (and optionally port) of your LDAP server " _
|
||||
"(e.g. ldap.company.com, or ldap.company.com:portnum).",
|
||||
"(e.g. ldap.company.com, or ldap.company.com:portnum). " _
|
||||
"Can be prefixed with ldap:// (default) or ldaps:// (for a secure connection).",
|
||||
|
||||
LDAPbinddn => "If your LDAP server requires that you use a binddn and password " _
|
||||
"instead of binding anonymously, enter it here " _
|
||||
|
||||
Reference in New Issue
Block a user