]> granicus.if.org Git - php/commitdiff
Implements extended error messages
authorAndreas Heigl <andreas@heigl.org>
Tue, 5 May 2015 19:30:29 +0000 (21:30 +0200)
committerCôme Bernigaud <mcmic@php.net>
Wed, 17 Jun 2015 13:39:07 +0000 (15:39 +0200)
This commit introduces a new constant that can be used to retrieve more
detailed error messages.

This fixes #47222

The new constant LDAP_OPT_DIAGNOSTIC_MESSAGE is defined in PHP when the
underlying library provides (and understands) it. This is the case in
the current OpenLDAP-implementation.

Tanks to Johnny Willer who provided the solution at http://stackoverflow.com/questions/28765077/get-number-of-ad-errors-with-ldap-and-php-ldap-function-return-unprecise-error/28816473#28816473

ext/ldap/ldap.c

index fe09c9c27745f07b734185f79ec38467ba2b827c..5c6c481bc55a93b22096c086cfc1286798340b3d 100644 (file)
@@ -202,6 +202,10 @@ PHP_MINIT_FUNCTION(ldap)
        REGISTER_LONG_CONSTANT("LDAP_OPT_DEBUG_LEVEL", LDAP_OPT_DEBUG_LEVEL, CONST_PERSISTENT | CONST_CS);
 #endif
 
+#ifdef LDAP_OPT_DIAGNOSTIC_MESSAGE
+       REGISTER_LONG_CONSTANT("LDAP_OPT_DIAGNOSTIC_MESSAGE", LDAP_OPT_DIAGNOSTIC_MESSAGE, CONST_PERSISTENT | CONST_CS);
+#endif
+
 #ifdef HAVE_LDAP_SASL
        REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_MECH", LDAP_OPT_X_SASL_MECH, CONST_PERSISTENT | CONST_CS);
        REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_REALM", LDAP_OPT_X_SASL_REALM, CONST_PERSISTENT | CONST_CS);