cvs: php4 /ext/ldap ldap.c php_ldap.h

From: Date: Sun, 23 Dec 2001 16:32:07 +0000
Subject: cvs: php4 /ext/ldap ldap.c php_ldap.h
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-8791@lists.php.net to get a copy of this message
venaas Sun Dec 23 11:32:07 2001 EDT Modified files: /php4/ext/ldap php_ldap.h ldap.c Log: Made ldap_set_option work with NULL as link, added option LDAP_OPT_DEBUG_LEVEL for those that support it, and made sure the rebind code is currently included for OpenLDAP only. Index: php4/ext/ldap/php_ldap.h diff -u php4/ext/ldap/php_ldap.h:1.23 php4/ext/ldap/php_ldap.h:1.24 --- php4/ext/ldap/php_ldap.h:1.23 Tue Dec 11 10:29:48 2001 +++ php4/ext/ldap/php_ldap.h Sun Dec 23 11:32:06 2001 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_ldap.h,v 1.23 2001/12/11 15:29:48 sebastian Exp $ */ +/* $Id: php_ldap.h,v 1.24 2001/12/23 16:32:06 venaas Exp $ */ #ifndef PHP_LDAP_H #define PHP_LDAP_H @@ -94,7 +94,7 @@ PHP_FUNCTION(ldap_start_tls); #endif -#ifdef HAVE_3ARG_SETREBINDPROC +#if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC) PHP_FUNCTION(ldap_set_rebind_proc); #endif Index: php4/ext/ldap/ldap.c diff -u php4/ext/ldap/ldap.c:1.110 php4/ext/ldap/ldap.c:1.111 --- php4/ext/ldap/ldap.c:1.110 Tue Dec 11 10:29:47 2001 +++ php4/ext/ldap/ldap.c Sun Dec 23 11:32:06 2001 @@ -22,7 +22,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: ldap.c,v 1.110 2001/12/11 15:29:47 sebastian Exp $ */ +/* $Id: ldap.c,v 1.111 2001/12/23 16:32:06 venaas Exp $ */ #define IS_EXT_MODULE #ifdef HAVE_CONFIG_H @@ -53,7 +53,7 @@ typedef struct { LDAP *link; -#ifdef HAVE_3ARG_SETREBINDPROC +#if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC) zval *rebindproc; #endif } ldap_linkdata; @@ -122,7 +122,7 @@ PHP_FE(ldap_start_tls, NULL) #endif -#ifdef HAVE_3ARG_SETREBINDPROC +#if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC) PHP_FE(ldap_set_rebind_proc, NULL) #endif @@ -159,7 +159,7 @@ ldap_linkdata *ld = (ldap_linkdata *)rsrc->ptr; ldap_unbind_s(ld->link); -#ifdef HAVE_3ARG_SETREBINDPROC +#if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC) if (ld->rebindproc != NULL) { zval_dtor(ld->rebindproc); FREE_ZVAL(ld->rebindproc); @@ -222,6 +222,9 @@ REGISTER_LONG_CONSTANT("LDAP_OPT_SERVER_CONTROLS", LDAP_OPT_SERVER_CONTROLS, CONST_PERSISTENT | CONST_CS); REGISTER_LONG_CONSTANT("LDAP_OPT_CLIENT_CONTROLS", LDAP_OPT_CLIENT_CONTROLS, CONST_PERSISTENT | CONST_CS); #endif +#ifdef LDAP_OPT_DEBUG_LEVEL + REGISTER_LONG_CONSTANT("LDAP_OPT_DEBUG_LEVEL", LDAP_OPT_DEBUG_LEVEL, CONST_PERSISTENT | CONST_CS); +#endif #ifdef ORALDAP REGISTER_LONG_CONSTANT("GSLC_SSL_NO_AUTH", GSLC_SSL_NO_AUTH, CONST_PERSISTENT | CONST_CS); @@ -276,7 +279,7 @@ php_info_print_table_start(); php_info_print_table_row(2, "LDAP Support", "enabled" ); - php_info_print_table_row(2, "RCS Version", "$Id: ldap.c,v 1.110 2001/12/11 15:29:47 sebastian Exp $" ); + php_info_print_table_row(2, "RCS Version", "$Id: ldap.c,v 1.111 2001/12/23 16:32:06 venaas Exp $" ); php_info_print_table_row(2, "Total Links", maxl ); #ifdef LDAP_API_VERSION @@ -1662,6 +1665,7 @@ { pval **link, **option, **newval; ldap_linkdata *ld; + LDAP *ldap; int opt; if (ZEND_NUM_ARGS() != 3 || @@ -1669,7 +1673,12 @@ WRONG_PARAM_COUNT; } - ZEND_FETCH_RESOURCE(ld, ldap_linkdata *, link, -1, "ldap link", le_link); + if (Z_TYPE_PP(link) == IS_NULL) { + ldap = NULL; + } else { + ZEND_FETCH_RESOURCE(ld, ldap_linkdata *, link, -1, "ldap link", le_link); + ldap = ld->link; + } convert_to_long_ex(option); opt = Z_LVAL_PP(option); @@ -1681,11 +1690,14 @@ case LDAP_OPT_TIMELIMIT: case LDAP_OPT_PROTOCOL_VERSION: case LDAP_OPT_ERROR_NUMBER: +#ifdef LDAP_OPT_DEBUG_LEVEL + case LDAP_OPT_DEBUG_LEVEL: +#endif { int val; convert_to_long_ex(newval); val = Z_LVAL_PP(newval); - if (ldap_set_option(ld->link, opt, &val)) { + if (ldap_set_option(ldap, opt, &val)) { RETURN_FALSE; } } break; @@ -1699,7 +1711,7 @@ char *val; convert_to_string_ex(newval); val = Z_STRVAL_PP(newval); - if (ldap_set_option(ld->link, opt, val)) { + if (ldap_set_option(ldap, opt, val)) { RETURN_FALSE; } } break; @@ -1711,7 +1723,7 @@ convert_to_boolean_ex(newval); val = Z_LVAL_PP(newval) ? LDAP_OPT_ON : LDAP_OPT_OFF; - if (ldap_set_option(ld->link, opt, val)) { + if (ldap_set_option(ldap, opt, val)) { RETURN_FALSE; } } break; @@ -1766,7 +1778,7 @@ zend_hash_move_forward(Z_ARRVAL_PP(newval)); } if (!error) { - error = ldap_set_option(ld->link, opt, ctrls); + error = ldap_set_option(ldap, opt, ctrls); } ctrlp = ctrls; while ( *ctrlp ) { @@ -2006,8 +2018,8 @@ #endif -#ifdef HAVE_3ARG_SETREBINDPROC -int _ldap_rebind_proc(LDAP *ldap, LDAP_CONST char *url, ber_tag_t req, ber_int_t msgid, void *params) { +#if defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC) +int _ldap_rebind_proc(LDAP *ldap, const char *url, ber_tag_t req, ber_int_t msgid, void *params) { ldap_linkdata *ld; int retval; zval *cb_url;

« previous php.cvs (#8791) next »