]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#9000 memberof: noop a noop rename
authorOndřej Kuzník <ondra@mistotebe.net>
Wed, 5 Jun 2019 12:32:24 +0000 (14:32 +0200)
committerQuanah Gibson-Mount <quanah@openldap.org>
Thu, 20 Jun 2019 17:40:32 +0000 (17:40 +0000)
servers/slapd/overlays/memberof.c
tests/scripts/test052-memberof

index 7e0c8f22ba3b9835afdad608a0a6818d5f7f0b71..60c103f697d5f5880b9807d86d55c4b4ee1a7bfd 100644 (file)
@@ -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;
index bb0e1270410318ad918b06bd22772675c0c1c88c..069ace96cb10b65090891f7af7e04f453603e6b9 100755 (executable)
@@ -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