]> 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)
committerOndřej Kuzník <ondra@mistotebe.net>
Thu, 20 Jun 2019 14:55:13 +0000 (16:55 +0200)
servers/slapd/overlays/memberof.c
tests/scripts/test052-memberof

index 93e8eca65ca6c0ac5c4ec6421469810aceb07424..16239a5eb606c17c38f507c0182f59b5984bb6d6 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 188bf38359912d54d8ec25f7bc5e09baad921573..4aaf3b49efbbb8906df11aebd49fa93543d0555a 100755 (executable)
@@ -260,6 +260,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