X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fconfig.c;h=70a5a6375fd80a2ec5e1f84b364f30289ff7b293;hb=2bfe79fe884565801600e309d1fcbefa41fb0f4b;hp=cbf71e3bde8016ef8833f0057ee1e1f46e0caab3;hpb=c458df644100f7abfd2b06212e648b88d087073e;p=openldap diff --git a/servers/slapd/config.c b/servers/slapd/config.c index cbf71e3bde..70a5a6375f 100644 --- a/servers/slapd/config.c +++ b/servers/slapd/config.c @@ -150,14 +150,10 @@ int config_check_vals(ConfigTable *Conf, ConfigArgs *c, int check_only ) { snprintf( c->msg, sizeof( c->msg ), "<%s> extra cruft after <%s>", c->argv[0], Conf->what ); -#ifdef LDAP_DEVEL ignored = ""; -#endif /* LDAP_DEVEL */ Debug(LDAP_DEBUG_CONFIG, "%s: %s%s.\n", c->log, c->msg, ignored ); -#ifdef LDAP_DEVEL return(ARG_BAD_CONF); -#endif /* LDAP_DEVEL */ } if((arg_syn & ARG_DB) && !c->be) { snprintf( c->msg, sizeof( c->msg ), "<%s> only allowed within database declaration", @@ -513,6 +509,10 @@ init_config_attrs(ConfigTable *ct) { fprintf( stderr, "init_config_attrs: AttributeType \"%s\": %s\n", ct[i].attribute, err ); return code; + } else { +#ifndef LDAP_DEVEL + ct[i].ad->ad_type->sat_flags |= SLAP_AT_HIDE; +#endif } } @@ -543,10 +543,14 @@ init_config_ocs( ConfigOCs *ocs ) { return code; } ocs[i].co_oc = oc_find(oc->oc_names[0]); - if ( code ) + if ( code ) { ldap_objectclass_free(oc); - else + } else { ldap_memfree(oc); +#ifndef LDAP_DEVEL + ocs[i].co_oc->soc_flags |= SLAP_OC_HIDE; +#endif + } } return 0; } @@ -1048,8 +1052,15 @@ static slap_verbmasks methkey[] = { { BER_BVNULL, 0 } }; +static slap_verbmasks versionkey[] = { + { BER_BVC("2"), LDAP_VERSION2 }, + { BER_BVC("3"), LDAP_VERSION3 }, + { BER_BVNULL, 0 } +}; + static slap_cf_aux_table bindkey[] = { { BER_BVC("uri="), offsetof(slap_bindconf, sb_uri), 'b', 1, NULL }, + { BER_BVC("version="), offsetof(slap_bindconf, sb_version), 'd', 0, versionkey }, { BER_BVC("bindmethod="), offsetof(slap_bindconf, sb_method), 'd', 0, methkey }, { BER_BVC("binddn="), offsetof(slap_bindconf, sb_binddn), 'b', 1, NULL }, { BER_BVC("credentials="), offsetof(slap_bindconf, sb_cred), 'b', 1, NULL }, @@ -1158,7 +1169,7 @@ slap_cf_aux_table_parse( const char *word, void *dst, slap_cf_aux_table *tab0, L int slap_cf_aux_table_unparse( void *src, struct berval *bv, slap_cf_aux_table *tab0 ) { - char buf[BUFSIZ], *ptr; + char buf[AC_LINE_MAX], *ptr; slap_cf_aux_table *tab; struct berval tmp; @@ -1292,10 +1303,12 @@ void bindconf_free( slap_bindconf *bc ) { BER_BVZERO( &bc->sb_authzId ); } #ifdef HAVE_TLS +#if 0 if ( bc->sb_tls_ctx ) { SSL_CTX_free( bc->sb_tls_ctx ); bc->sb_tls_ctx = NULL; } +#endif if ( bc->sb_tls_cert ) { ch_free( bc->sb_tls_cert ); bc->sb_tls_cert = NULL; @@ -1410,7 +1423,7 @@ int bindconf_tls_set( slap_bindconf *bc, LDAP *ld ) * note: should move "version" into bindconf... */ int -slap_client_connect( LDAP **ldp, slap_bindconf *sb, int version ) +slap_client_connect( LDAP **ldp, slap_bindconf *sb ) { LDAP *ld = NULL; int rc; @@ -1425,9 +1438,9 @@ slap_client_connect( LDAP **ldp, slap_bindconf *sb, int version ) return rc; } - if ( version != 0 ) { + if ( sb->sb_version != 0 ) { ldap_set_option( ld, LDAP_OPT_PROTOCOL_VERSION, - (const void *)&version ); + (const void *)&sb->sb_version ); } #ifdef HAVE_TLS @@ -1614,7 +1627,7 @@ strtok_quote( char *line, char *sep, char **quote_ptr ) return( tmp ); } -static char buf[BUFSIZ]; +static char buf[AC_LINE_MAX]; static char *line; static size_t lmax, lcur; @@ -1622,7 +1635,7 @@ static size_t lmax, lcur; do { \ size_t len = strlen( buf ); \ while ( lcur + len + 1 > lmax ) { \ - lmax += BUFSIZ; \ + lmax += AC_LINE_MAX; \ line = (char *) ch_realloc( line, lmax ); \ } \ strcpy( line + lcur, buf ); \