From afa78aef838a6699e784883605988df9260dd077 Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Fri, 15 Feb 2008 19:11:46 +0000 Subject: [PATCH] ITS#5375 --- CHANGES | 1 + servers/slapd/back-meta/search.c | 4 +++- servers/slapd/overlays/rwm.c | 5 ++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index f1c169e1af..e0f0388c09 100644 --- a/CHANGES +++ b/CHANGES @@ -38,6 +38,7 @@ OpenLDAP 2.4.8 Engineering Added slapd-bdb/slapd-hdb DB encryption (ITS#5359) Fixed slapd-ldif delete (ITS#5265) Fixed slapd-meta link to slapd-ldap (ITS#5355) + Fixed slapd-meta setting of sm_nvalues (ITS#5375) Fixed slapd-monitor crash (ITS#5311) Fixed slapd-relay compare (ITS#4937) Added slapd-sock (ITS#4094) diff --git a/servers/slapd/back-meta/search.c b/servers/slapd/back-meta/search.c index 70437ed6a1..848b6e12ae 100644 --- a/servers/slapd/back-meta/search.c +++ b/servers/slapd/back-meta/search.c @@ -2042,7 +2042,9 @@ next_attr:; mod.sm_desc = (*ap)->a_desc; mod.sm_type = mod.sm_desc->ad_cname; mod.sm_values = (*tap)->a_vals; - mod.sm_nvalues = (*tap)->a_nvals; + if ( (*tap)->a_nvals != (*tap)->a_vals ) { + mod.sm_nvalues = (*tap)->a_nvals; + } (void)modify_add_values( &e, &mod, /* permissive */ 1, diff --git a/servers/slapd/overlays/rwm.c b/servers/slapd/overlays/rwm.c index 2c1c7b344d..5275aa57a5 100644 --- a/servers/slapd/overlays/rwm.c +++ b/servers/slapd/overlays/rwm.c @@ -1227,7 +1227,9 @@ cleanup_attr:; mod.sm_type = mod.sm_desc->ad_cname; mod.sm_numvals = (*tap)->a_numvals; mod.sm_values = (*tap)->a_vals; - mod.sm_nvalues = (*tap)->a_nvals; + if ( (*tap)->a_nvals != (*tap)->a_vals ) { + mod.sm_nvalues = (*tap)->a_nvals; + } (void)modify_add_values( &e, &mod, /* permissive */ 1, @@ -1614,6 +1616,7 @@ rwm_db_config( fname, lineno, argv[ 1 ] ); return 1; } + } else if ( strcasecmp( argv[0], "normalize-mapped-attrs" ) == 0 ) { if ( argc !=2 ) { fprintf( stderr, -- 2.39.5