summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfoobar <sniper@php.net>2005-01-19 00:27:21 +0000
committerfoobar <sniper@php.net>2005-01-19 00:27:21 +0000
commitc245e1f0f7770ffdebf30f922ed68259207eda36 (patch)
treedd854410cfb38b83a2ee12d47f25d67994293bde
parentc78db34489325ad41c6231f129b70145e7de79a3 (diff)
downloadphp-git-c245e1f0f7770ffdebf30f922ed68259207eda36.tar.gz
- ldap_start_tls() requires ldapv3 protocol -> force it
-rw-r--r--ext/ldap/ldap.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/ldap/ldap.c b/ext/ldap/ldap.c
index 119e942d5a..265b03ced8 100644
--- a/ext/ldap/ldap.c
+++ b/ext/ldap/ldap.c
@@ -2017,7 +2017,7 @@ PHP_FUNCTION(ldap_start_tls)
{
zval **link;
ldap_linkdata *ld;
- int rc;
+ int rc, protocol = LDAP_VERSION3;
if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &link) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -2025,7 +2025,9 @@ PHP_FUNCTION(ldap_start_tls)
ZEND_FETCH_RESOURCE(ld, ldap_linkdata *, link, -1, "ldap link", le_link);
- if ((rc = ldap_start_tls_s(ld->link, NULL, NULL)) != LDAP_SUCCESS) {
+ if (((rc = ldap_set_option(ld->link, LDAP_OPT_PROTOCOL_VERSION, &protocol)) != LDAP_SUCCESS) ||
+ ((rc = ldap_start_tls_s(ld->link, NULL, NULL)) != LDAP_SUCCESS)
+ ) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,"Unable to start TLS: %s", ldap_err2string(rc));
RETURN_FALSE;
} else {