@@ -190,6 +190,9 @@ PHP_MINIT_FUNCTION(ldap)
190
190
REGISTER_LONG_CONSTANT ("LDAP_OPT_NETWORK_TIMEOUT" , LDAP_OPT_NETWORK_TIMEOUT , CONST_PERSISTENT | CONST_CS );
191
191
#elif defined (LDAP_X_OPT_CONNECT_TIMEOUT )
192
192
REGISTER_LONG_CONSTANT ("LDAP_OPT_NETWORK_TIMEOUT" , LDAP_X_OPT_CONNECT_TIMEOUT , CONST_PERSISTENT | CONST_CS );
193
+ #endif
194
+ #ifdef LDAP_OPT_TIMEOUT
195
+ REGISTER_LONG_CONSTANT ("LDAP_OPT_TIMEOUT" , LDAP_OPT_TIMEOUT , CONST_PERSISTENT | CONST_CS );
193
196
#endif
194
197
REGISTER_LONG_CONSTANT ("LDAP_OPT_PROTOCOL_VERSION" , LDAP_OPT_PROTOCOL_VERSION , CONST_PERSISTENT | CONST_CS );
195
198
REGISTER_LONG_CONSTANT ("LDAP_OPT_ERROR_NUMBER" , LDAP_OPT_ERROR_NUMBER , CONST_PERSISTENT | CONST_CS );
@@ -2066,6 +2069,25 @@ PHP_FUNCTION(ldap_get_option)
2066
2069
zval_dtor (retval );
2067
2070
ZVAL_LONG (retval , (timeout / 1000 ));
2068
2071
} break ;
2072
+ #endif
2073
+ #ifdef LDAP_OPT_TIMEOUT
2074
+ case LDAP_OPT_TIMEOUT :
2075
+ {
2076
+ struct timeval * timeout = NULL ;
2077
+
2078
+ if (ldap_get_option (ld -> link , LDAP_OPT_TIMEOUT , (void * ) & timeout )) {
2079
+ if (timeout ) {
2080
+ ldap_memfree (timeout );
2081
+ }
2082
+ RETURN_FALSE ;
2083
+ }
2084
+ if (!timeout ) {
2085
+ RETURN_FALSE ;
2086
+ }
2087
+ zval_dtor (retval );
2088
+ ZVAL_LONG (retval , timeout -> tv_sec );
2089
+ ldap_memfree (timeout );
2090
+ } break ;
2069
2091
#endif
2070
2092
/* options with string value */
2071
2093
case LDAP_OPT_ERROR_STRING :
@@ -2169,6 +2191,19 @@ PHP_FUNCTION(ldap_set_option)
2169
2191
RETURN_FALSE ;
2170
2192
}
2171
2193
} break ;
2194
+ #endif
2195
+ #ifdef LDAP_OPT_TIMEOUT
2196
+ case LDAP_OPT_TIMEOUT :
2197
+ {
2198
+ struct timeval timeout ;
2199
+
2200
+ convert_to_long_ex (newval );
2201
+ timeout .tv_sec = Z_LVAL_PP (newval );
2202
+ timeout .tv_usec = 0 ;
2203
+ if (ldap_set_option (ldap , LDAP_OPT_TIMEOUT , (void * ) & timeout )) {
2204
+ RETURN_FALSE ;
2205
+ }
2206
+ } break ;
2172
2207
#endif
2173
2208
/* options with string value */
2174
2209
case LDAP_OPT_ERROR_STRING :
0 commit comments