r11967: Fix more 64-bit warnings.
[bbaumbach/samba-autobuild/.git] / source4 / torture / rpc / samsync.c
index 0a17b2646bd0c328caf517f85e6c7b79a8ef7f06..ad29d96b7121597932f96f958766a29d12ebe96b 100644 (file)
@@ -136,7 +136,7 @@ static struct policy_handle *samsync_open_domain(TALLOC_CTX *mem_ctx,
                                                 const char *domain, 
                                                 struct dom_sid **sid)
 {
-       struct samr_String name;
+       struct lsa_String name;
        struct samr_OpenDomain o;
        struct samr_LookupDomain l;
        struct policy_handle *domain_handle = talloc(mem_ctx, struct policy_handle);
@@ -210,10 +210,10 @@ static struct sec_desc_buf *samsync_query_lsa_sec_desc(TALLOC_CTX *mem_ctx,
 
 #define TEST_UINT64_EQUAL(i1, i2) do {\
        if (i1 != i2) {\
-              printf("%s: uint64 mismatch: " #i1 ": 0x%08x%08x (%lld) != " #i2 ": 0x%08x%08x (%lld)\n", \
+              printf("%s: uint64 mismatch: " #i1 ": 0x%016llx (%lld) != " #i2 ": 0x%016llx (%lld)\n", \
                     __location__, \
-                    (uint32_t)(i1 >> 32), (uint32_t)(i1 & 0xFFFFFFFF), i1, \
-                     (uint32_t)(i2 >> 32), (uint32_t)(i2 & 0xFFFFFFFF), i2);\
+                    (long long)i1, (long long)i1, \
+                    (long long)i2, (long long)i2);\
              ret = False;\
        } \
 } while (0)
@@ -286,7 +286,7 @@ static BOOL samsync_handle_domain(TALLOC_CTX *mem_ctx, struct samsync_state *sam
        case SAM_DATABASE_DOMAIN:
                break;
        case SAM_DATABASE_BUILTIN:
-               if (StrCaseCmp("BUILTIN", domain->domain_name.string) != 0) {
+               if (strcasecmp_m("BUILTIN", domain->domain_name.string) != 0) {
                        printf("BUILTIN domain has different name: %s\n", domain->domain_name.string);
                }
                break;
@@ -300,7 +300,7 @@ static BOOL samsync_handle_domain(TALLOC_CTX *mem_ctx, struct samsync_state *sam
                samsync_state->domain_name[database_id] = 
                        talloc_reference(samsync_state, domain->domain_name.string);
        } else {
-               if (StrCaseCmp(samsync_state->domain_name[database_id], domain->domain_name.string) != 0) {
+               if (strcasecmp_m(samsync_state->domain_name[database_id], domain->domain_name.string) != 0) {
                        printf("Domain has name varies!: %s != %s\n", samsync_state->domain_name[database_id], 
                               domain->domain_name.string);
                        return False;
@@ -320,7 +320,7 @@ static BOOL samsync_handle_domain(TALLOC_CTX *mem_ctx, struct samsync_state *sam
 
        printf("\tsequence_nums[%d/%s]=%llu\n",
               database_id, domain->domain_name.string,
-              samsync_state->seq_num[database_id]);
+              (long long)samsync_state->seq_num[database_id]);
 
        for (i=0;i<ARRAY_SIZE(levels);i++) {
                q[levels[i]].in.domain_handle = samsync_state->domain_handle[database_id];
@@ -371,7 +371,7 @@ static BOOL samsync_handle_policy(TALLOC_CTX *mem_ctx, struct samsync_state *sam
                samsync_state->domain_name[SAM_DATABASE_DOMAIN] = 
                        talloc_reference(samsync_state, policy->primary_domain_name.string);
        } else {
-               if (StrCaseCmp(samsync_state->domain_name[SAM_DATABASE_DOMAIN], policy->primary_domain_name.string) != 0) {
+               if (strcasecmp_m(samsync_state->domain_name[SAM_DATABASE_DOMAIN], policy->primary_domain_name.string) != 0) {
                        printf("PRIMARY domain has name varies between DOMAIN and POLICY!: %s != %s\n", samsync_state->domain_name[SAM_DATABASE_DOMAIN], 
                               policy->primary_domain_name.string);
                        return False;
@@ -386,7 +386,7 @@ static BOOL samsync_handle_policy(TALLOC_CTX *mem_ctx, struct samsync_state *sam
 
        printf("\tsequence_nums[%d/PRIVS]=%llu\n",
               database_id, 
-              samsync_state->seq_num[database_id]);
+              (long long)samsync_state->seq_num[database_id]);
        return True;
 }
 
@@ -638,8 +638,8 @@ static BOOL samsync_handle_user(TALLOC_CTX *mem_ctx, struct samsync_state *samsy
                                for (j = 0; j < count; j++) {
                                        if ((getgroups.out.rids->rids[i].rid == 
                                             info3->base.groups.rids[j].rid)
-                                           && (getgroups.out.rids->rids[i].type == 
-                                               info3->base.groups.rids[j].type)) {
+                                           && (getgroups.out.rids->rids[i].attributes == 
+                                               info3->base.groups.rids[j].attributes)) {
                                                        matched[i] = True;
                                                }
                                }
@@ -865,7 +865,7 @@ static BOOL samsync_handle_secret(TALLOC_CTX *mem_ctx, struct samsync_state *sam
 
                if (old->secret.length != lsa_blob_out.length) {
                        printf("Returned secret %s doesn't match: %d != %d\n",
-                              old->name, old->secret.length, lsa_blob_out.length);
+                              old->name, (int)old->secret.length, (int)lsa_blob_out.length);
                        ret = False;
                } else if (memcmp(lsa_blob_out.data, 
                           old->secret.data, old->secret.length) != 0) {
@@ -905,7 +905,7 @@ static BOOL samsync_handle_secret(TALLOC_CTX *mem_ctx, struct samsync_state *sam
 
                if (new->secret.length != lsa_blob_out.length) {
                        printf("Returned secret %s doesn't match: %d != %d\n",
-                              new->name, new->secret.length, lsa_blob_out.length);
+                              new->name, (int)new->secret.length, (int)lsa_blob_out.length);
                        ret = False;
                } else if (memcmp(lsa_blob_out.data, 
                           new->secret.data, new->secret.length) != 0) {
@@ -1025,13 +1025,13 @@ static BOOL samsync_handle_account(TALLOC_CTX *mem_ctx, struct samsync_state *sa
        }
 
        if ((account->privilege_entries && !e.out.privs)) {
-               printf("Account %s has privilages in SamSync, but not LSA\n",
+               printf("Account %s has privileges in SamSync, but not LSA\n",
                       dom_sid_string(mem_ctx, dom_sid));
                return False;
        }
 
        if (!account->privilege_entries && e.out.privs && e.out.privs->count) {
-               printf("Account %s has privilages in LSA, but not SamSync\n",
+               printf("Account %s has privileges in LSA, but not SamSync\n",
                       dom_sid_string(mem_ctx, dom_sid));
                return False;
        }
@@ -1078,7 +1078,7 @@ static BOOL test_DatabaseSync(struct samsync_state *samsync_state,
        NTSTATUS status;
        TALLOC_CTX *loop_ctx, *delta_ctx, *trustdom_ctx;
        struct netr_DatabaseSync r;
-       const uint32_t database_ids[] = {SAM_DATABASE_DOMAIN, SAM_DATABASE_BUILTIN, SAM_DATABASE_PRIVS}; 
+       const enum netr_SamDatabaseID database_ids[] = {SAM_DATABASE_DOMAIN, SAM_DATABASE_BUILTIN, SAM_DATABASE_PRIVS}; 
        int i, d;
        BOOL ret = True;
        struct samsync_trusted_domain *t;
@@ -1174,6 +1174,23 @@ static BOOL test_DatabaseSync(struct samsync_state *samsync_state,
                                                ret = False;
                                        }
                                        break;
+                               case NETR_DELTA_DELETE_GROUP:
+                               case NETR_DELTA_RENAME_GROUP:
+                               case NETR_DELTA_DELETE_USER:
+                               case NETR_DELTA_RENAME_USER:
+                               case NETR_DELTA_GROUP_MEMBER:
+                               case NETR_DELTA_DELETE_ALIAS:
+                               case NETR_DELTA_RENAME_ALIAS:
+                               case NETR_DELTA_ALIAS_MEMBER:
+                               case NETR_DELTA_DELETE_TRUST:
+                               case NETR_DELTA_DELETE_ACCOUNT:
+                               case NETR_DELTA_DELETE_SECRET:
+                               case NETR_DELTA_DELETE_GROUP2:
+                               case NETR_DELTA_DELETE_USER2:
+                               case NETR_DELTA_MODIFY_COUNT:
+                                       printf("Unhandled delta type %d\n", r.out.delta_enum_array->delta_enum[d].delta_type);
+                                       ret = False;
+                                       break;
                                }
                                talloc_free(delta_ctx);
                        }
@@ -1194,7 +1211,7 @@ static BOOL test_DatabaseSync(struct samsync_state *samsync_state,
        for (t=samsync_state->trusted_domains; t; t=t->next) {
                char *secret_name = talloc_asprintf(trustdom_ctx, "G$$%s", t->name);
                for (s=samsync_state->secrets; s; s=s->next) {
-                       if (StrCaseCmp(s->name, secret_name) == 0) {
+                       if (strcasecmp_m(s->name, secret_name) == 0) {
                                NTSTATUS nt_status;
                                struct samr_Password nt_hash;
                                mdfour(nt_hash.hash, s->secret.data, s->secret.length);
@@ -1514,7 +1531,7 @@ BOOL torture_rpc_samsync(void)
                                       &samsync_state->p, b, 
                                       DCERPC_NETLOGON_UUID,
                                       DCERPC_NETLOGON_VERSION,
-                                      credentials);
+                                      credentials, NULL);
        
        if (!NT_STATUS_IS_OK(status)) {
                printf("Failed to connect to server as a BDC: %s\n", nt_errstr(status));
@@ -1554,7 +1571,7 @@ BOOL torture_rpc_samsync(void)
                                       b_netlogon_wksta, 
                                       DCERPC_NETLOGON_UUID,
                                       DCERPC_NETLOGON_VERSION,
-                                      credentials_wksta);
+                                      credentials_wksta, NULL);
 
        if (!NT_STATUS_IS_OK(status)) {
                printf("Failed to connect to server as a Workstation: %s\n", nt_errstr(status));