jani Sat Oct 6 02:13:32 2007 UTC
Modified files:
/php-src/ext/ldap ldap.c
Log:
- Add support for LDAP_X_OPT_CONNECT_TIMEOUT (Netscape LDAP SDK equivalent
for LDAP_OPT_NETWORK_TIMEOUT)
http://cvs.php.net/viewvc.cgi/php-src/ext/ldap/ldap.c?r1=1.177&r2=1.178&diff_format=u
Index: php-src/ext/ldap/ldap.c
diff -u php-src/ext/ldap/ldap.c:1.177 php-src/ext/ldap/ldap.c:1.178
--- php-src/ext/ldap/ldap.c:1.177 Sat Oct 6 01:42:40 2007
+++ php-src/ext/ldap/ldap.c Sat Oct 6 02:13:31 2007
@@ -23,7 +23,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: ldap.c,v 1.177 2007/10/06 01:42:40 jani Exp $ */
+/* $Id: ldap.c,v 1.178 2007/10/06 02:13:31 jani Exp $ */
#define IS_EXT_MODULE
#ifdef HAVE_CONFIG_H
@@ -260,6 +260,8 @@
REGISTER_LONG_CONSTANT("LDAP_OPT_TIMELIMIT", LDAP_OPT_TIMELIMIT,
CONST_PERSISTENT | CONST_CS);
#ifdef LDAP_OPT_NETWORK_TIMEOUT
REGISTER_LONG_CONSTANT("LDAP_OPT_NETWORK_TIMEOUT",
LDAP_OPT_NETWORK_TIMEOUT, CONST_PERSISTENT | CONST_CS);
+#elif defined (LDAP_X_OPT_CONNECT_TIMEOUT)
+ REGISTER_LONG_CONSTANT("LDAP_OPT_NETWORK_TIMEOUT",
LDAP_X_OPT_CONNECT_TIMEOUT, CONST_PERSISTENT | CONST_CS);
#endif
REGISTER_LONG_CONSTANT("LDAP_OPT_PROTOCOL_VERSION",
LDAP_OPT_PROTOCOL_VERSION, CONST_PERSISTENT | CONST_CS);
REGISTER_LONG_CONSTANT("LDAP_OPT_ERROR_NUMBER", LDAP_OPT_ERROR_NUMBER,
CONST_PERSISTENT | CONST_CS);
@@ -325,7 +327,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.177
2007/10/06 01:42:40 jani Exp $");
+ php_info_print_table_row(2, "RCS Version", "$Id: ldap.c,v 1.178
2007/10/06 02:13:31 jani Exp $");
if (LDAPG(max_links) == -1) {
snprintf(tmp, 31, "%ld/unlimited", LDAPG(num_links));
@@ -1724,20 +1726,30 @@
zval_dtor(*retval);
ZVAL_LONG(*retval, val);
} break;
-#ifdef LDAP_OPT_NETWORK_TIMEOUT
+#if defined(LDAP_OPT_NETWORK_TIMEOUT) || defined(LDAP_X_OPT_CONNECT_TIMEOUT)
case LDAP_OPT_NETWORK_TIMEOUT:
{
+# ifdef LDAP_OPT_NETWORK_TIMEOUT
struct timeval *timeout;
-
- if (ldap_get_option(ld->link, opt, (void *) &timeout)) {
+
+ if (ldap_get_option(ld->link, LDAP_OPT_NETWORK_TIMEOUT,
(void *) &timeout)) {
if (timeout) {
ldap_memfree(timeout);
}
RETURN_FALSE;
- }
+ }
zval_dtor(*retval);
ZVAL_LONG(*retval, timeout->tv_sec);
ldap_memfree(timeout);
+# elif defined(LDAP_X_OPT_CONNECT_TIMEOUT)
+ int timeout;
+
+ if (ldap_get_option(ld->link,
LDAP_X_OPT_CONNECT_TIMEOUT, &timeout)) {
+ RETURN_FALSE;
+ }
+ zval_dtor(*retval);
+ ZVAL_LONG(*retval, (timeout / 1000));
+# endif
} break;
#endif
/* options with string value */
@@ -1822,17 +1834,27 @@
RETURN_FALSE;
}
} break;
-#ifdef LDAP_OPT_NETWORK_TIMEOUT
+#if defined(LDAP_OPT_NETWORK_TIMEOUT) || defined(LDAP_X_OPT_CONNECT_TIMEOUT)
case LDAP_OPT_NETWORK_TIMEOUT:
{
+# ifdef LDAP_OPT_NETWORK_TIMEOUT
struct timeval timeout;
-
+
convert_to_long_ex(newval);
timeout.tv_sec = Z_LVAL_PP(newval);
timeout.tv_usec = 0;
- if (ldap_set_option(ldap, opt, (void *) &timeout)) {
+ if (ldap_set_option(ldap, LDAP_OPT_NETWORK_TIMEOUT,
(void *) &timeout)) {
RETURN_FALSE;
}
+# elif defined(LDAP_X_OPT_CONNECT_TIMEOUT)
+ int timeout;
+
+ convert_to_long_ex(newval);
+ timeou = 1000 * Z_LVAL_PP(newval); /* Convert to
milliseconds */
+ if (ldap_set_option(ldap, LDAP_X_OPT_CONNECT_TIMEOUT,
&timeout)) {
+ RETURN_FALSE;
+ }
+# endif
} break;
#endif
/* options with string value */
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php