]> git.sur5r.net Git - openldap/commitdiff
Additional system schema checks
authorKurt Zeilenga <kurt@openldap.org>
Fri, 11 Jan 2002 20:47:24 +0000 (20:47 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Fri, 11 Jan 2002 20:47:24 +0000 (20:47 +0000)
servers/slapd/ad.c

index 75193d93810576e95d09b92efd55522e1bdc9008..19e0c04f044333c3b5ba1185f1ec4c078fac27b5 100644 (file)
@@ -103,8 +103,9 @@ int slap_bv2ad(
        desc.ad_cname = *bv;
        name = bv->bv_val;
        options = strchr(name, ';');
-       if (options != NULL)
+       if (options != NULL) {
                desc.ad_cname.bv_len = options - name;
+       }
        desc.ad_type = at_bvfind( &desc.ad_cname );
        if( desc.ad_type == NULL ) {
                *text = "attribute type undefined";
@@ -115,6 +116,11 @@ int slap_bv2ad(
        desc.ad_lang.bv_len = 0;
        desc.ad_lang.bv_val = NULL;
 
+       if( is_at_operational( desc.ad_type ) && options != NULL ) {
+               *text = "operational attribute with options undefined";
+               return rtn;
+       }
+
        /* parse options in place */
        for( ; options != NULL; ) {
                name = options+1;