]> git.sur5r.net Git - openldap/commitdiff
unrecognized objectIdentifer in desc form shall result in
authorKurt Zeilenga <kurt@openldap.org>
Mon, 19 Jun 2000 20:53:56 +0000 (20:53 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Mon, 19 Jun 2000 20:53:56 +0000 (20:53 +0000)
an undefined matched.  unrecognized objectIdentifer in OID form
shall result in false match.

servers/slapd/schema_prep.c
servers/slapd/value.c

index d2bcae6679da537db09f68ee39fdc5e63637ce00..837083b14ec78c075addb2a3e39ffdd66ac194c1 100644 (file)
@@ -36,7 +36,18 @@ objectClassMatch(
        ObjectClass *oc = oc_find( value->bv_val );
        ObjectClass *asserted = oc_find( a->bv_val );
 
-       if( asserted == NULL || oc == NULL ) {
+       if( asserted == NULL ) {
+               if( isdigit( *value.bv_val ) ) {
+                       /* OID form, return FALSE */
+                       *matchp = 1;
+                       return LDAP_SUCCESS;
+               }
+
+               /* desc form, return undefined */
+               return LDAP_CONSTRAINT_VIOLATION;
+       }
+
+       if ( oc == NULL ) {
                return LDAP_CONSTRAINT_VIOLATION;
        }
 
index 74434b6126b21df36a150844e067272788f1c0a4..0ddd2518e52c9e7d928e702c2df87cc18f6df166 100644 (file)
@@ -187,8 +187,7 @@ int value_find(
                rc = value_match( &match, ad, mr, vals[i],
                        nval == NULL ? val : nval, &text );
 
-               if( rc == LDAP_SUCCESS && match == 0 )
-               {
+               if( rc == LDAP_SUCCESS && match == 0 ) {
                        return LDAP_SUCCESS;
                }
        }