don't overwrite fixed attributes with @ATTRIBUTES
[kai/samba.git] / source4 / lib / ldb / common / ldb_attributes.c
index 1e69f412df97203326893864b5cbf70afd37ebf3..3b9d01682ccc402513a1e5abb1ff97dedd81c77f 100644 (file)
@@ -64,6 +64,10 @@ int ldb_schema_attribute_add_with_syntax(struct ldb_context *ldb,
        for (i = 0; i < ldb->schema.num_attributes; i++) {
                int cmp = ldb_attr_cmp(attribute, a[i].name);
                if (cmp == 0) {
+                       /* silently ignore attempts to overwrite fixed attributes */
+                       if (a[i].flags & LDB_ATTR_FLAG_FIXED) {
+                               return 0;
+                       }
                        if (a[i].flags & LDB_ATTR_FLAG_ALLOCATED) {
                                talloc_free(discard_const_p(char, a[i].name));
                        }