diff options
author | Stig Venaas <venaas@php.net> | 2000-10-20 20:22:59 +0000 |
---|---|---|
committer | Stig Venaas <venaas@php.net> | 2000-10-20 20:22:59 +0000 |
commit | 094d01148ab20f4063fb75fbbef51edd164ae1d7 (patch) | |
tree | 42340648318addad859ffa70db50b4da02d3f83e | |
parent | a2cb42039f9bfff4c173cec1187a9fe6e5207cda (diff) | |
download | php-git-094d01148ab20f4063fb75fbbef51edd164ae1d7.tar.gz |
Made ldap_connect() accept URL in host parameter when using OpenLDAP 2.x.
@- Made ldap_connect() accept URL in host parameter when using OpenLDAP
@ 2.x. To use SSL, use ldaps://host/ as URL. (Stig Venaas)
-rw-r--r-- | ext/ldap/ldap.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c index a6ae69b14b..a74331d44d 100644 --- a/ext/ldap/ldap.c +++ b/ext/ldap/ldap.c @@ -357,7 +357,21 @@ PHP_FUNCTION(ldap_connect) RETURN_FALSE; } - ldap = ldap_open(host,port); +#ifdef LDAP_API_FEATURE_X_OPENLDAP + if (strchr(host, '/')) { + int rc; + + rc = ldap_initialize(&ldap, host); + if (rc != LDAP_SUCCESS) { + php_error(E_WARNING, "Could not create LDAP session handle (%d): %s\n", rc, ldap_err2string(rc)); + RETURN_FALSE; + } + } else +#endif + { + ldap = ldap_open(host,port); + } + if ( ldap == NULL ) { RETURN_FALSE; } else { |