Commit 92d1e8e2 authored by jocuri%softhome.net's avatar jocuri%softhome.net

Patch for bug 216902: support LDAPS connections; patch by Christian Krause…

Patch for bug 216902: support LDAPS connections; patch by Christian Krause <chkr@plauener.de>, r=vladd, a=justdave.
parent 6c3686bb
...@@ -73,10 +73,29 @@ sub authenticate { ...@@ -73,10 +73,29 @@ sub authenticate {
} }
my $LDAPport = "389"; # default LDAP port my $LDAPport = "389"; # default LDAP port
if($LDAPserver =~ /:/) { my $LDAPprotocol = "ldap";
($LDAPserver, $LDAPport) = split(":",$LDAPserver);
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) { if(!$LDAPconn) {
return (AUTH_ERROR, undef, "connect_failed"); return (AUTH_ERROR, undef, "connect_failed");
} }
......
...@@ -26,7 +26,8 @@ ...@@ -26,7 +26,8 @@
[% param_descs = { [% param_descs = {
LDAPserver => "The name (and optionally port) of your LDAP server " _ 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 " _ LDAPbinddn => "If your LDAP server requires that you use a binddn and password " _
"instead of binding anonymously, enter it here " _ "instead of binding anonymously, enter it here " _
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment