s4: popt: Global replace of cmdline_credentials -> popt_get_cmdline_credentials().
[gd/samba-autobuild/.git] / source4 / torture / ldap / ldap_sort.c
index 4d732cf997183d59349e250c174890b8c3c2e41e..7aa0d54bf6f78240a58084e11e80b03f8c585eca 100644 (file)
 
 #include "includes.h"
 #include "lib/events/events.h"
-#include "lib/ldb/include/ldb.h"
-#include "lib/ldb/include/ldb_errors.h"
+#include <ldb.h>
+#include <ldb_errors.h>
 #include "ldb_wrap.h"
 #include "param/param.h"
 #include "lib/cmdline/popt_common.h" 
+#include "libcli/ldap/ldap_client.h"
 #include "torture/smbtorture.h"
-#include "torture/local/proto.h"
+#include "torture/ldap/proto.h"
 #include <ctype.h>
+
 bool torture_ldap_sort(struct torture_context *torture)
 {
-
        struct ldb_context *ldb;
 
        bool ret = false;
@@ -46,13 +47,13 @@ bool torture_ldap_sort(struct torture_context *torture)
        struct ldb_server_sort_control **control;
        struct ldb_request *req;
        struct ldb_result *ctx;
-       struct ldb_valprev = NULL;
+       struct ldb_val *prev = NULL;
        const char *prev_txt = NULL;
        int prev_len = 0;
-       struct ldb_valcur = NULL;
+       struct ldb_val *cur = NULL;
        const char *cur_txt = NULL;
        int cur_len = 0;
-       struct ldb_dndn;
+       struct ldb_dn *dn;
                 
                 
        /* TALLOC_CTX* ctx;*/
@@ -61,8 +62,8 @@ bool torture_ldap_sort(struct torture_context *torture)
 
        ldb = ldb_wrap_connect(torture, torture->ev, torture->lp_ctx, url,
                                                 NULL,
-                                                cmdline_credentials,
-                                                0, NULL);
+                                                popt_get_cmdline_credentials(),
+                                                0);
        torture_assert(torture, ldb, "Failed to make LDB connection to target");
 
        ctx = talloc_zero(ldb, struct ldb_result);
@@ -74,7 +75,7 @@ bool torture_ldap_sort(struct torture_context *torture)
        control[0]->reverse = 0;
        control[1] = NULL;
 
-       dn = ldb_get_root_basedn(ldb);
+       dn = ldb_get_default_basedn(ldb);
        ldb_dn_add_child_fmt(dn, "cn=users");
        ret = ldb_build_search_req(&req, ldb, ctx,
                                   dn,
@@ -98,15 +99,16 @@ bool torture_ldap_sort(struct torture_context *torture)
                for (i=0;i<ctx->count;i++) {
                        msg = ctx->msgs[i];
                        elem = ldb_msg_find_element(msg,"cn");
+                       torture_assert_not_null(torture, elem, "msg lacks CN");
                        cur = elem->values;
                        torture_comment(torture, "cn: %s\n",cur->data);
                        if (prev != NULL)
                        {
                                /* Do only the ascii case right now ... */
-                               cur_txt=cur->data;
-                               cur_len=cur->length;
-                               prev_txt=prev->data;
-                               prev_len=prev->length;
+                               cur_txt = (const char *) cur->data;
+                               cur_len = cur->length;
+                               prev_txt = (const char *) prev->data;
+                               prev_len = prev->length;
                                /* Remove leading whitespace as the sort function do so ... */
                                while ( cur_txt[0] == cur_txt[1] ) { cur_txt++; cur_len--;}
                                while ( prev_txt[0] == prev_txt[1] ) { prev_txt++; prev_len--;}