summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCôme Bernigaud <mcmic@php.net>2015-11-16 04:50:12 +0100
committerCôme Bernigaud <mcmic@php.net>2015-11-16 04:50:12 +0100
commit15876e85e59658bfbda3bf0b0c34d56ca503fd2f (patch)
tree4372cbca392079da2235907feb6ff1b406586868
parente5abc53701ba5a9b58dfaba3b59881c9c410a8e7 (diff)
downloadphp-git-15876e85e59658bfbda3bf0b0c34d56ca503fd2f.tar.gz
Added back support for undocummented host:port syntax
-rw-r--r--ext/ldap/ldap.c7
-rw-r--r--ext/ldap/tests/ldap_connect_variation.phpt5
2 files changed, 11 insertions, 1 deletions
diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c
index da8936cd76..8b66ba44ca 100644
--- a/ext/ldap/ldap.c
+++ b/ext/ldap/ldap.c
@@ -372,7 +372,12 @@ PHP_FUNCTION(ldap_connect)
}
url = emalloc(urllen);
- snprintf( url, urllen, "ldap://%s:%ld", host ? host : "", port );
+ if (host && (strchr(host, ':') != NULL)) {
+ /* Legacy support for host:port */
+ snprintf( url, urllen, "ldap://%s", host );
+ } else {
+ snprintf( url, urllen, "ldap://%s:%ld", host ? host : "", port );
+ }
}
#ifdef LDAP_API_FEATURE_X_OPENLDAP
diff --git a/ext/ldap/tests/ldap_connect_variation.phpt b/ext/ldap/tests/ldap_connect_variation.phpt
index 09b07e7786..eaee261542 100644
--- a/ext/ldap/tests/ldap_connect_variation.phpt
+++ b/ext/ldap/tests/ldap_connect_variation.phpt
@@ -28,6 +28,10 @@ var_dump($link);
// bad hostname (connect should work, not bind)
$link = ldap_connect("nonexistent" . $host);
var_dump($link);
+
+// Legacy host:port syntax
+$link = ldap_connect("$host:$port");
+var_dump($link);
?>
===DONE===
--EXPECTF--
@@ -36,4 +40,5 @@ resource(%d) of type (ldap link)
resource(%d) of type (ldap link)
resource(%d) of type (ldap link)
resource(%d) of type (ldap link)
+resource(%d) of type (ldap link)
===DONE===