diff options
-rw-r--r-- | Bugzilla/Auth/Verify/LDAP.pm | 30 | ||||
-rw-r--r-- | docs/xml/installation.xml | 11 | ||||
-rw-r--r-- | template/en/default/admin/params/ldap.html.tmpl | 5 |
3 files changed, 16 insertions, 30 deletions
diff --git a/Bugzilla/Auth/Verify/LDAP.pm b/Bugzilla/Auth/Verify/LDAP.pm index 9f050d854..343f7952c 100644 --- a/Bugzilla/Auth/Verify/LDAP.pm +++ b/Bugzilla/Auth/Verify/LDAP.pm @@ -40,9 +40,6 @@ use Bugzilla::Error; use Net::LDAP; -use constant DEFAULT_PORT => 389; -use constant DEFAULT_SSL_PORT => 636; - use constant admin_can_create_account => 0; use constant user_can_create_account => 0; @@ -140,31 +137,8 @@ sub ldap { my $server = Bugzilla->params->{"LDAPserver"}; ThrowCodeError("ldap_server_not_defined") unless $server; - my $port = DEFAULT_PORT; - my $protocol = "ldap"; - - if ($server =~ /(ldap|ldaps):\/\/(.*)/) { - # ldap(s)://server(:port) - $protocol = $1; - my $server_part = $2; - if ($server_part =~ /:/) { - # ldap(s)://server:port - ($server, $port) = split(":", $server_part); - } else { - # ldap(s)://server - $server = $server_part; - if ($protocol eq "ldaps") { - $port = DEFAULT_SSL_PORT; - } - } - } elsif ($server =~ /:/) { - # server:port - ($server, $port) = split(":", $server); - } - - my $conn_string = "$protocol://$server:$port"; - $self->{ldap} = new Net::LDAP($conn_string) - || ThrowCodeError("ldap_connect_failed", { server => $conn_string }); + $self->{ldap} = new Net::LDAP($server) + || ThrowCodeError("ldap_connect_failed", { server => $server }); # try to start TLS if needed if (Bugzilla->params->{"LDAPstarttls"}) { diff --git a/docs/xml/installation.xml b/docs/xml/installation.xml index 743d67735..ce760842e 100644 --- a/docs/xml/installation.xml +++ b/docs/xml/installation.xml @@ -1,5 +1,5 @@ <!-- <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"> --> -<!-- $Id: installation.xml,v 1.121 2006/06/07 23:20:27 vladd%bugzilla.org Exp $ --> +<!-- $Id: installation.xml,v 1.122 2006/07/11 00:42:58 lpsolit%gmail.com Exp $ --> <chapter id="installing-bugzilla"> <title>Installing Bugzilla</title> @@ -1379,6 +1379,15 @@ c:\perl\bin\perl.exe -xc:\bugzilla -wT "%s" %s <para>Ex. <quote>ldap.company.com</quote> or <quote>ldap.company.com:3268</quote> </para> + <para>You can also specify a LDAP URI, so as to use other + protocols, such as LDAPS or LDAPI. If port was not specified in + the URI, the default is either 389 or 636 for 'LDAP' and 'LDAPS' + schemes respectively. + </para> + <para>Ex. <quote>ldap://ldap.company.com</quote>, + <quote>ldaps://ldap.company.com</quote> or + <quote>ldapi://%2fvar%2flib%2fldap_sock</quote> + </para> </listitem> </varlistentry> diff --git a/template/en/default/admin/params/ldap.html.tmpl b/template/en/default/admin/params/ldap.html.tmpl index aef2713b1..a3c7e4643 100644 --- a/template/en/default/admin/params/ldap.html.tmpl +++ b/template/en/default/admin/params/ldap.html.tmpl @@ -27,7 +27,10 @@ [% param_descs = { LDAPserver => "The name (and optionally port) of your LDAP server " _ "(e.g. ldap.company.com, or ldap.company.com:portnum). " _ - "Can be prefixed with ldap:// (default) or ldaps:// (for a secure connection).", + "URI syntax can also be used, such as "_ + "ldaps://ldap.company.com (for a secure connection) or " _ + "ldapi://%2fvar%2flib%2fldap_sock (for a socket-based " _ + "local connection.", LDAPstartls => "Whether to require encrypted communication once normal " _ "LDAP connection achieved with the server.", |