r14464: Don't include ndr_BASENAME.h files unless strictly required, instead
[vlendec/samba-autobuild/.git] / source4 / torture / rpc / samr.c
index 42c005ab901d648523638fcd0582aff22a54f615..fcf0215a1e4ffde05fe8a9fa35b243a68a4396a9 100644 (file)
 */
 
 #include "includes.h"
-#include "librpc/gen_ndr/ndr_lsa.h"
+#include "torture/torture.h"
+#include "librpc/gen_ndr/lsa.h"
 #include "librpc/gen_ndr/ndr_samr.h"
+#include "librpc/gen_ndr/ndr_samr_c.h"
+#include "librpc/gen_ndr/ndr_security.h"
+#include "smb.h"
 #include "lib/crypto/crypto.h"
+#include "libcli/auth/libcli_auth.h"
+#include "libcli/security/proto.h"
+#include "torture/rpc/rpc.h"
 
 #define TEST_ACCOUNT_NAME "samrtorturetest"
 #define TEST_ALIASNAME "samrtorturetestalias"
@@ -176,8 +183,8 @@ static BOOL test_SetUserInfo(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
 
        uint32_t user_extra_flags = 0;
        if (base_acct_flags == ACB_NORMAL) {
-               /* Don't know what this is, but it is always here for users - you can't get rid of it */
-               user_extra_flags = 0x20000;
+               /* When created, accounts are expired by default */
+               user_extra_flags = ACB_PW_EXPIRED;
        }
 
        s.in.user_handle = handle;
@@ -357,7 +364,7 @@ static BOOL test_SetUserInfo(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
                          (base_acct_flags  | ACB_DISABLED | user_extra_flags), 
                          0);
        
-       /* Setting PWNOEXP clears the magic 0x20000 flag */
+       /* Setting PWNOEXP clears the magic ACB_PW_EXPIRED flag */
        TEST_USERINFO_INT_EXP(16, acct_flags, 5, acct_flags, 
                          (base_acct_flags  | ACB_DISABLED | ACB_PWNOEXP), 
                          (base_acct_flags  | ACB_DISABLED | ACB_PWNOEXP), 
@@ -2262,7 +2269,7 @@ static BOOL test_EnumDomainUsers(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
        n.in.num_names = r.out.sam->count;
        n.in.names = talloc_array(mem_ctx, struct lsa_String, r.out.sam->count);
        for (i=0;i<r.out.sam->count;i++) {
-               n.in.names[i] = r.out.sam->entries[i].name;
+               n.in.names[i].string = r.out.sam->entries[i].name.string;
        }
        status = dcerpc_samr_LookupNames(p, mem_ctx, &n);
        if (!NT_STATUS_IS_OK(status)) {
@@ -3350,11 +3357,7 @@ BOOL torture_rpc_samr(void)
 
        mem_ctx = talloc_init("torture_rpc_samr");
 
-       status = torture_rpc_connection(mem_ctx, 
-                                       &p, 
-                                       DCERPC_SAMR_NAME,
-                                       DCERPC_SAMR_UUID,
-                                       DCERPC_SAMR_VERSION);
+       status = torture_rpc_connection(mem_ctx, &p, &dcerpc_table_samr);
        if (!NT_STATUS_IS_OK(status)) {
                talloc_free(mem_ctx);
                return False;