From 711ebba53c886dd59a5174a84d5f031f5d87f041 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ond=C5=99ej=20Kuzn=C3=ADk?= Date: Thu, 9 Dec 2021 11:54:03 +0000 Subject: [PATCH] ITS#9767 Enforce single name per olcUniqueIgnore/olcUniqueAttribute value --- servers/slapd/overlays/unique.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/servers/slapd/overlays/unique.c b/servers/slapd/overlays/unique.c index d0db27fc40..9c3cd1b053 100644 --- a/servers/slapd/overlays/unique.c +++ b/servers/slapd/overlays/unique.c @@ -551,6 +551,16 @@ unique_cf_attrs( ConfigArgs *c ) rc = 0; break; case LDAP_MOD_ADD: + if ( c->argc > 2 ) { + snprintf( c->cr_msg, sizeof( c->cr_msg ), + "Please insert multiple names as separate %s values", + c->argv[0] ); + Debug ( LDAP_DEBUG_CONFIG, "unique config: %s\n", + c->cr_msg ); + rc = ARG_BAD_CONF; + break; + } + /* FALLTHRU */ case SLAP_CONFIG_ADD: if ( domains ) { snprintf( c->cr_msg, sizeof( c->cr_msg ), @@ -580,7 +590,7 @@ unique_cf_attrs( ConfigArgs *c ) if ( !legacy->uri ) unique_new_domain_uri_basic ( &legacy->uri, c ); rc = 0; - for ( i=1; c->argv[i]; ++i ) { + for ( i=1; i < c->argc; ++i ) { AttributeDescription * ad = NULL; const char * text; if ( slap_str2ad ( c->argv[i], &ad, &text ) -- 2.47.3