int option,
void *outvalue)
{
- const struct ldapoptions *lo;
+ struct ldapoptions *lo;
- if( ldap_int_global_options.ldo_valid != LDAP_INITIALIZED ) {
- ldap_int_initialize(NULL);
+ /* Get pointer to global option structure */
+ lo = LDAP_INT_GLOBAL_OPT();
+ if (NULL == lo) {
+ return LDAP_NO_MEMORY;
}
- if(ld == NULL) {
- lo = &ldap_int_global_options;
+ if( lo->ldo_valid != LDAP_INITIALIZED ) {
+ ldap_int_initialize(lo, NULL);
+ }
- } else {
+ if(ld != NULL) {
assert( LDAP_VALID( ld ) );
if( !LDAP_VALID( ld ) ) {
* (int *) outvalue = (int) LDAP_BOOL_GET(lo, LDAP_BOOL_RESTART);
return LDAP_OPT_SUCCESS;
- case LDAP_OPT_DNS: /* LDAPv2 */
- * (int *) outvalue = (int) LDAP_BOOL_GET(lo, LDAP_BOOL_DNS);
- return LDAP_OPT_SUCCESS;
-
case LDAP_OPT_PROTOCOL_VERSION:
* (int *) outvalue = lo->ldo_version;
return LDAP_OPT_SUCCESS;
return LDAP_OPT_SUCCESS;
#endif
#ifdef HAVE_CYRUS_SASL
- if ( ldap_pvt_sasl_get_option(ld, option, outvalue ) == 0 )
+ if ( ldap_int_sasl_get_option(ld, option, outvalue ) == 0 )
return LDAP_OPT_SUCCESS;
#endif
/* bad param */
struct ldapoptions *lo;
int *dbglvl = NULL;
+ /* Get pointer to global option structure */
+ lo = LDAP_INT_GLOBAL_OPT();
+ if (lo == NULL) {
+ return LDAP_NO_MEMORY;
+ }
+
/*
* The architecture to turn on debugging has a chicken and egg
* problem. Thus, we introduce a fix here.
if (option == LDAP_OPT_DEBUG_LEVEL)
dbglvl = (int *) invalue;
- if( ldap_int_global_options.ldo_valid != LDAP_INITIALIZED ) {
- ldap_int_initialize(dbglvl);
+ if( lo->ldo_valid != LDAP_INITIALIZED ) {
+ ldap_int_initialize(lo, dbglvl);
}
- if(ld == NULL) {
- lo = &ldap_int_global_options;
-
- } else {
+ if(ld != NULL) {
assert( LDAP_VALID( ld ) );
if( !LDAP_VALID( ld ) ) {
return LDAP_OPT_SUCCESS;
#endif
#ifdef HAVE_CYRUS_SASL
- if ( ldap_pvt_sasl_set_option( ld, option, (void *)invalue ) == 0 )
+ if ( ldap_int_sasl_set_option( ld, option, (void *)invalue ) == 0 )
return LDAP_OPT_SUCCESS;
#endif
/* bad param */
return LDAP_OPT_ERROR;
}
-LIBLDAP_F(int)
+int
ldap_set_rebind_proc( LDAP *ld, LDAP_REBIND_PROC *rebind_proc)
{
return( ldap_set_option( ld, LDAP_OPT_REBIND_PROC, (void *)rebind_proc));