From: Ondřej Kuzník Date: Wed, 5 Jun 2019 12:32:24 +0000 (+0200) Subject: ITS#9000 memberof: noop a noop rename X-Git-Tag: OPENLDAP_REL_ENG_2_4_48~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a79b0ed5af44355bd4247edfe73a0cd40bcc8245;p=thirdparty%2Fopenldap.git ITS#9000 memberof: noop a noop rename --- diff --git a/servers/slapd/overlays/memberof.c b/servers/slapd/overlays/memberof.c index 7e0c8f22ba..60c103f697 100644 --- a/servers/slapd/overlays/memberof.c +++ b/servers/slapd/overlays/memberof.c @@ -364,6 +364,12 @@ memberof_value_modify( struct berval values[ 4 ], nvalues[ 4 ]; int mcnt = 0; + if ( old_ndn != NULL && new_ndn != NULL && + ber_bvcmp( old_ndn, new_ndn ) == 0 ) { + /* DNs compare equal, it's a noop */ + return; + } + op2.o_tag = LDAP_REQ_MODIFY; op2.o_req_dn = *ndn; diff --git a/tests/scripts/test052-memberof b/tests/scripts/test052-memberof index bb0e127041..069ace96cb 100755 --- a/tests/scripts/test052-memberof +++ b/tests/scripts/test052-memberof @@ -262,6 +262,11 @@ $LDAPMODIFY -h $LOCALHOST -p $PORT1 \ >> $TESTOUT 2>&1 << EOF dn: cn=Cartoonia,ou=Groups,$BASEDN changetype: modrdn +newrdn: cn=Toon town +deleteoldrdn: 1 + +dn: cn=Toon town,ou=Groups,$BASEDN +changetype: modrdn newrdn: cn=Toon Town deleteoldrdn: 1 EOF