ldb:ldb tools - return LDB_ERR_INVALID_DN_SYNTAX on wrong DN parameters
authorMatthias Dieter Wallnöfer <mdw@samba.org>
Wed, 2 Mar 2011 21:40:13 +0000 (22:40 +0100)
committerMatthias Dieter Wallnöfer <mdw@samba.org>
Fri, 4 Mar 2011 07:51:57 +0000 (08:51 +0100)
Not all LDB databases have further DN checks.

Reviewed by: Tridge

source4/lib/ldb/tools/ldbdel.c
source4/lib/ldb/tools/ldbedit.c
source4/lib/ldb/tools/ldbrename.c
source4/lib/ldb/tools/ldbsearch.c
source4/lib/ldb/tools/ldbtest.c

index d374fa96e3818797c651f2fad4e259d2ae129baf..270cb83b53e422c1b50fe623424aabafdfc54faa 100644 (file)
@@ -113,7 +113,7 @@ int main(int argc, const char **argv)
                dn = ldb_dn_new(ldb, ldb, options->argv[i]);
                if ( ! ldb_dn_validate(dn)) {
                        printf("Invalid DN format\n");
-                       return LDB_ERR_OPERATIONS_ERROR;
+                       return LDB_ERR_INVALID_DN_SYNTAX;
                }
                if (options->recursive) {
                        ret = ldb_delete_recursive(ldb, dn,req_ctrls);
index 6509263a58f60f84afc15a65694e99c680a44b60..8df37060c6581b91fd4bac9d61966ef8190e41e7 100644 (file)
@@ -328,7 +328,7 @@ int main(int argc, const char **argv)
                basedn = ldb_dn_new(ldb, ldb, options->basedn);
                if ( ! ldb_dn_validate(basedn)) {
                        printf("Invalid Base DN format\n");
-                       return LDB_ERR_OPERATIONS_ERROR;
+                       return LDB_ERR_INVALID_DN_SYNTAX;
                }
        }
 
index 0a539cc651416f00f8fc2fe52ceae6a4aa30eabc..e8f67500fc62ee405a19d9e4d06104a1d42a202a 100644 (file)
@@ -66,6 +66,10 @@ int main(int argc, const char **argv)
 
        dn1 = ldb_dn_new(ldb, ldb, options->argv[0]);
        dn2 = ldb_dn_new(ldb, ldb, options->argv[1]);
+       if ((!ldb_dn_validate(dn1)) || (!ldb_dn_validate(dn2))) {
+               printf("Invalid DN format(s)\n");
+               return LDB_ERR_INVALID_DN_SYNTAX;
+       }
 
        ret = ldb_rename(ldb, dn1, dn2);
        if (ret == LDB_SUCCESS) {
index 398710c6584659ec316172397c97d28218984626..8c101719a3b598ca40fe1393685ff7f9683a929d 100644 (file)
@@ -299,7 +299,7 @@ int main(int argc, const char **argv)
                basedn = ldb_dn_new(ldb, ldb, options->basedn);
                if ( ! ldb_dn_validate(basedn)) {
                        fprintf(stderr, "Invalid Base DN format\n");
-                       return LDB_ERR_OPERATIONS_ERROR;
+                       return LDB_ERR_INVALID_DN_SYNTAX;
                }
        }
 
index 15c1e8b61eeb1d99a3c3e289c170feca4ab07574..a9d8fafe818da1f92c61cd87c36f1db26b47c982 100644 (file)
@@ -264,8 +264,8 @@ static void start_test(struct ldb_context *ldb, unsigned int nrecords,
 
        basedn = ldb_dn_new(ldb, ldb, options->basedn);
        if ( ! ldb_dn_validate(basedn)) {
-               printf("Invalid base DN\n");
-               exit(LDB_ERR_OPERATIONS_ERROR);
+               printf("Invalid base DN format\n");
+               exit(LDB_ERR_INVALID_DN_SYNTAX);
        }
 
        printf("Adding %d records\n", nrecords);