ldb:ldb_sqlite3 backend - remove checks which are now done elsewhere
authorMatthias Dieter Wallnöfer <mdw@samba.org>
Fri, 11 Jun 2010 06:50:36 +0000 (08:50 +0200)
committerMatthias Dieter Wallnöfer <mdw@samba.org>
Fri, 11 Jun 2010 06:50:36 +0000 (08:50 +0200)
(In SAMBA LDB modules)

source4/lib/ldb/ldb_sqlite3/ldb_sqlite3.c

index 7dcb1f928507dca48837335c67bc9bb556e3ac34..b9772b861292fbc02c944c9f1016541d914a335d 100644 (file)
@@ -1059,13 +1059,6 @@ static int lsql_add(struct lsql_context *ctx)
                                               el->name, ldb_dn_get_linearized(msg->dn));
                        return LDB_ERR_CONSTRAINT_VIOLATION;
                }
-               if (a && a->flags & LDB_ATTR_FLAG_SINGLE_VALUE) {
-                       if (el->num_values > 1) {
-                               ldb_asprintf_errstring(ldb, "SINGLE-VALUED attribute %s on %s specified more than once",
-                                                      el->name, ldb_dn_get_linearized(msg->dn));
-                               return LDB_ERR_CONSTRAINT_VIOLATION;
-                       }
-               }
 
                /* For each value of the specified attribute name... */
                for (j = 0; j < el->num_values; j++) {
@@ -1139,12 +1132,6 @@ static int lsql_modify(struct lsql_context *ctx)
                char *mod;
                unsigned int j;
 
-               if (ldb_attr_cmp(el->name, "distinguishedName") == 0) {
-                       ldb_asprintf_errstring(ldb, "it is not permitted to perform a modify on 'distinguishedName' (use rename instead): %s",
-                                              ldb_dn_get_linearized(msg->dn));
-                       return LDB_ERR_CONSTRAINT_VIOLATION;
-               }
-
                /* Get a case-folded copy of the attribute name */
                attr = ldb_attr_casefold(ctx, el->name);
                if (attr == NULL) {
@@ -1157,14 +1144,6 @@ static int lsql_modify(struct lsql_context *ctx)
 
                case LDB_FLAG_MOD_REPLACE:
 
-                       if (a && a->flags & LDB_ATTR_FLAG_SINGLE_VALUE) {
-                               if (el->num_values > 1) {
-                                       ldb_asprintf_errstring(ldb, "SINGLE-VALUE attribute %s on %s specified more than once",
-                                                              el->name, ldb_dn_get_linearized(msg->dn));
-                                       return LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS;
-                               }
-                       }
-
                        for (j=0; j<el->num_values; j++) {
                                if (ldb_msg_find_val(el, &el->values[j]) != &el->values[j]) {
                                        ldb_asprintf_errstring(ldb, "%s: value #%d provided more than once", el->name, j);
@@ -1201,14 +1180,6 @@ static int lsql_modify(struct lsql_context *ctx)
                                return LDB_ERR_CONSTRAINT_VIOLATION;
                        }
 
-                       if (a && a->flags & LDB_ATTR_FLAG_SINGLE_VALUE) {
-                               if (el->num_values > 1) {
-                                       ldb_asprintf_errstring(ldb, "SINGLE-VALUE attribute %s on %s specified more than once",
-                                                              el->name, ldb_dn_get_linearized(msg->dn));
-                                       return LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS;
-                               }
-                       }
-
 #warning "We should throw an error if no value is provided!"
                        /* For each value of the specified attribute name... */
                        for (j = 0; j < el->num_values; j++) {