]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#9100 relax domainScope check for absent value
authorHoward Chu <hyc@openldap.org>
Mon, 28 Oct 2019 19:01:36 +0000 (19:01 +0000)
committerHoward Chu <hyc@openldap.org>
Mon, 28 Oct 2019 19:01:36 +0000 (19:01 +0000)
servers/slapd/controls.c

index dad24e1f3f77bd7906c12338294880b017bb3e68..8fcf6e7aa4ad09fe2eec680bf823ff1792c174e9 100644 (file)
@@ -1714,7 +1714,11 @@ static int parseDomainScope (
                return LDAP_PROTOCOL_ERROR;
        }
 
-       if ( !BER_BVISNULL( &ctrl->ldctl_value )) {
+       /* this should be checking BVISNULL, but M$ clients are broken
+        * and include the value even though the M$ spec says it must be
+        * omitted. ITS#9100.
+        */
+       if ( !BER_BVISEMPTY( &ctrl->ldctl_value )) {
                rs->sr_text = "domainScope control value not absent";
                return LDAP_PROTOCOL_ERROR;
        }