From 69326525513026e0607202e17abc254097a4aadb Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Tue, 11 Nov 2008 21:40:39 +0000 Subject: [PATCH] ITS#5572 cleanup unneeded code --- servers/slapd/aclparse.c | 11 ++--------- servers/slapd/backend.c | 5 +++-- servers/slapd/bconfig.c | 23 ++++++----------------- servers/slapd/config.c | 2 +- servers/slapd/proto-slap.h | 2 +- 5 files changed, 13 insertions(+), 30 deletions(-) diff --git a/servers/slapd/aclparse.c b/servers/slapd/aclparse.c index 29910379d3..1679f2b0e8 100644 --- a/servers/slapd/aclparse.c +++ b/servers/slapd/aclparse.c @@ -2449,19 +2449,12 @@ acl_free( AccessControl *a ) free( a ); } -/* Because backend_startup uses acl_append to tack on the global_acl to - * the end of each backend's acl, we cannot just take one argument and - * merrily free our way to the end of the list. backend_destroy calls us - * with the be_acl in arg1, and global_acl in arg2 to give us a stopping - * point. config_destroy calls us with global_acl in arg1 and NULL in - * arg2, so we then proceed to polish off the global_acl. - */ void -acl_destroy( AccessControl *a, AccessControl *end ) +acl_destroy( AccessControl *a ) { AccessControl *n; - for ( ; a && a != end; a = n ) { + for ( ; a; a = n ) { n = a->acl_next; acl_free( a ); } diff --git a/servers/slapd/backend.c b/servers/slapd/backend.c index aad928e616..0a573ca1a1 100644 --- a/servers/slapd/backend.c +++ b/servers/slapd/backend.c @@ -449,7 +449,7 @@ void backend_destroy_one( BackendDB *bd, int dynamic ) if ( !BER_BVISNULL( &bd->be_rootpw ) ) { free( bd->be_rootpw.bv_val ); } - acl_destroy( bd->be_acl, frontendDB->be_acl ); + acl_destroy( bd->be_acl ); limits_destroy( bd->be_limits ); if ( !BER_BVISNULL( &bd->be_update_ndn ) ) { ch_free( bd->be_update_ndn.bv_val ); @@ -500,7 +500,8 @@ int backend_destroy(void) if ( !BER_BVISNULL( &bd->be_rootpw ) ) { free( bd->be_rootpw.bv_val ); } - acl_destroy( bd->be_acl, frontendDB->be_acl ); + acl_destroy( bd->be_acl ); + frontendDB = NULL; } return 0; diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index 5493d9811b..bf78aabb56 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -979,12 +979,7 @@ config_generic(ConfigArgs *c) { AccessControl *a; char *src, *dst, ibuf[11]; struct berval bv, abv; - AccessControl *end; - if ( c->be == frontendDB ) - end = NULL; - else - end = frontendDB->be_acl; - for (i=0, a=c->be->be_acl; a && a != end; i++,a=a->acl_next) { + for (i=0, a=c->be->be_acl; a; i++,a=a->acl_next) { abv.bv_len = snprintf( ibuf, sizeof( ibuf ), SLAP_X_ORDERED_FMT, i ); if ( abv.bv_len >= sizeof( ibuf ) ) { ber_bvarray_free_x( c->rvalue_vals, NULL ); @@ -1220,13 +1215,8 @@ config_generic(ConfigArgs *c) { case CFG_ACL: if ( c->valx < 0 ) { - AccessControl *end; - if ( c->be == frontendDB ) - end = NULL; - else - end = frontendDB->be_acl; - acl_destroy( c->be->be_acl, end ); - c->be->be_acl = end; + acl_destroy( c->be->be_acl ); + c->be->be_acl = NULL; } else { AccessControl **prev, *a; @@ -1691,11 +1681,10 @@ sortval_reject: case CFG_ACL: /* Don't append to the global ACL if we're on a specific DB */ i = c->valx; - if ( c->be != frontendDB && frontendDB->be_acl && c->valx == -1 ) { + if ( c->valx == -1 ) { AccessControl *a; i = 0; - for ( a=c->be->be_acl; a && a != frontendDB->be_acl; - a = a->acl_next ) + for ( a=c->be->be_acl; a; a = a->acl_next ) i++; } if ( parse_acl(c->be, c->fname, c->lineno, c->argc, c->argv, i ) ) { @@ -5934,7 +5923,7 @@ config_back_db_open( BackendDB *be, ConfigReply *cr ) /* If we have no explicitly configured ACLs, don't just use * the global ACLs. Explicitly deny access to everything. */ - if ( frontendDB->be_acl && be->be_acl == frontendDB->be_acl ) { + if ( !be->be_acl ) { parse_acl(be, "config_back_db_open", 0, 6, (char **)defacl, 0 ); } diff --git a/servers/slapd/config.c b/servers/slapd/config.c index 368fb9cef6..a81ab852c9 100644 --- a/servers/slapd/config.c +++ b/servers/slapd/config.c @@ -1984,7 +1984,7 @@ config_destroy( ) if ( frontendDB->be_schemadn.bv_val ) free( frontendDB->be_schemadn.bv_val ); if ( frontendDB->be_acl ) - acl_destroy( frontendDB->be_acl, NULL ); + acl_destroy( frontendDB->be_acl ); } free( line ); if ( slapd_args_file ) diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index 1d08b5488a..560ffc3f2d 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -111,7 +111,7 @@ LDAP_SLAPD_F (slap_access_t) str2access LDAP_P(( const char *str )); LDAP_SLAPD_F (char *) accessmask2str LDAP_P(( slap_mask_t mask, char*, int debug )); LDAP_SLAPD_F (slap_mask_t) str2accessmask LDAP_P(( const char *str )); LDAP_SLAPD_F (void) acl_unparse LDAP_P(( AccessControl*, struct berval* )); -LDAP_SLAPD_F (void) acl_destroy LDAP_P(( AccessControl*, AccessControl* )); +LDAP_SLAPD_F (void) acl_destroy LDAP_P(( AccessControl* )); LDAP_SLAPD_F (void) acl_free LDAP_P(( AccessControl *a )); -- 2.39.5