jani            Sat Oct  6 01:42:40 2007 UTC

  Modified files:              
    /php-src/ext/ldap   ldap.c 
  Log:
  - Added LDAP_OPT_NETWORK_TIMEOUT option for ldap_set_option() to allow 
setting network timeout
  
http://cvs.php.net/viewvc.cgi/php-src/ext/ldap/ldap.c?r1=1.176&r2=1.177&diff_format=u
Index: php-src/ext/ldap/ldap.c
diff -u php-src/ext/ldap/ldap.c:1.176 php-src/ext/ldap/ldap.c:1.177
--- php-src/ext/ldap/ldap.c:1.176       Thu Sep 27 18:28:39 2007
+++ php-src/ext/ldap/ldap.c     Sat Oct  6 01:42:40 2007
@@ -23,7 +23,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: ldap.c,v 1.176 2007/09/27 18:28:39 dmitry Exp $ */
+/* $Id: ldap.c,v 1.177 2007/10/06 01:42:40 jani Exp $ */
 #define IS_EXT_MODULE
 
 #ifdef HAVE_CONFIG_H
@@ -258,6 +258,9 @@
        REGISTER_LONG_CONSTANT("LDAP_OPT_DEREF", LDAP_OPT_DEREF, 
CONST_PERSISTENT | CONST_CS);
        REGISTER_LONG_CONSTANT("LDAP_OPT_SIZELIMIT", LDAP_OPT_SIZELIMIT, 
CONST_PERSISTENT | CONST_CS);
        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);
+#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);
        REGISTER_LONG_CONSTANT("LDAP_OPT_REFERRALS", LDAP_OPT_REFERRALS, 
CONST_PERSISTENT | CONST_CS);
@@ -322,7 +325,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.176 
2007/09/27 18:28:39 dmitry Exp $");
+       php_info_print_table_row(2, "RCS Version", "$Id: ldap.c,v 1.177 
2007/10/06 01:42:40 jani Exp $");
 
        if (LDAPG(max_links) == -1) {
                snprintf(tmp, 31, "%ld/unlimited", LDAPG(num_links));
@@ -1714,12 +1717,29 @@
 #endif
                {
                        int val;
+
                        if (ldap_get_option(ld->link, opt, &val)) {
                                RETURN_FALSE;
                        }
                        zval_dtor(*retval);
                        ZVAL_LONG(*retval, val);
                } break;
+#ifdef LDAP_OPT_NETWORK_TIMEOUT
+       case LDAP_OPT_NETWORK_TIMEOUT:
+               {
+                       struct timeval *timeout;
+                       
+                       if (ldap_get_option(ld->link, opt, (void *) &timeout)) {
+                               if (timeout) {
+                                       ldap_memfree(timeout);
+                               }
+                               RETURN_FALSE;
+                       }                       
+                       zval_dtor(*retval);
+                       ZVAL_LONG(*retval, timeout->tv_sec);
+                       ldap_memfree(timeout);
+               } break;
+#endif
        /* options with string value */
        case LDAP_OPT_ERROR_STRING:
 #ifdef LDAP_OPT_HOST_NAME
@@ -1795,12 +1815,26 @@
 #endif
                {
                        int val;
+
                        convert_to_long_ex(newval);
                        val = Z_LVAL_PP(newval);
                        if (ldap_set_option(ldap, opt, &val)) {
                                RETURN_FALSE;
                        }
                } break;
+#ifdef LDAP_OPT_NETWORK_TIMEOUT
+       case 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)) {
+                               RETURN_FALSE;
+                       }                       
+               } break;
+#endif
                /* options with string value */
        case LDAP_OPT_ERROR_STRING:
 #ifdef LDAP_OPT_HOST_NAME

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to