From: Quanah Gibson-Mount Date: Tue, 17 Nov 2009 18:25:21 +0000 (+0000) Subject: ITS#6283 X-Git-Tag: OPENLDAP_REL_ENG_2_4_20~51 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=f36877eba4eec555fc0f112f37fcd2fdcd8dc60d;p=openldap ITS#6283 --- diff --git a/CHANGES b/CHANGES index 740a28e286..d0477aeade 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,7 @@ OpenLDAP 2.4 Change Log OpenLDAP 2.4.20 Engineering + Fixed client tools with LDAP options (ITS#6283) Fixed liblber embedded NUL values in BerValues (ITS#6353) Fixed liblber inverted LBER_USE_DER test (ITS#6348) Fixed liblber to return failure on certain failures (ITS#6344) diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c index d21f44bb79..a4a51ab7ff 100644 --- a/libraries/libldap/init.c +++ b/libraries/libldap/init.c @@ -427,11 +427,34 @@ static void openldap_ldap_init_w_env( ldap_int_sasl_config( gopts, attrs[i].offset, value ); #endif break; + case ATTR_GSSAPI: +#ifdef HAVE_GSSAPI + ldap_int_gssapi_config( gopts, attrs[i].offset, value ); +#endif + break; case ATTR_TLS: #ifdef HAVE_TLS ldap_int_tls_config( NULL, attrs[i].offset, value ); #endif break; + case ATTR_OPT_TV: { + struct timeval tv; + char *next; + tv.tv_usec = 0; + tv.tv_sec = strtol( value, &next, 10 ); + if ( next != value && next[ 0 ] == '\0' && tv.tv_sec > 0 ) { + (void)ldap_set_option( NULL, attrs[i].offset, (const void *)&tv ); + } + } break; + case ATTR_OPT_INT: { + long l; + char *next; + l = strtol( value, &next, 10 ); + if ( next != value && next[ 0 ] == '\0' && l > 0 && (long)((int)l) == l ) { + int v = (int)l; + (void)ldap_set_option( NULL, attrs[i].offset, (const void *)&v ); + } + } break; } } }