mirror of
https://github.com/samba-team/samba.git
synced 2025-03-08 04:58:40 +03:00
r4003: run successful against a nt4 sp6 pdc with one nt4 sp6 trust and a w2k3 trust
metze
This commit is contained in:
parent
c04a77ed69
commit
5101cd51a2
@ -429,7 +429,7 @@
|
||||
} lsa_TrustDomInfoEnum;
|
||||
|
||||
typedef struct {
|
||||
lsa_String domain_name;
|
||||
lsa_String netbios_name;
|
||||
} lsa_TrustDomainInfoName;
|
||||
|
||||
typedef struct {
|
||||
@ -442,13 +442,13 @@
|
||||
} lsa_TrustDomainInfoPassword;
|
||||
|
||||
typedef struct {
|
||||
lsa_String domain_name;
|
||||
lsa_String netbios_name;
|
||||
dom_sid2 *sid;
|
||||
} lsa_TrustDomainInfo5;
|
||||
|
||||
typedef struct {
|
||||
lsa_String name;
|
||||
lsa_String name2;
|
||||
lsa_String domain_name;
|
||||
lsa_String netbios_name;
|
||||
dom_sid2 *sid;
|
||||
uint32 unknown1;
|
||||
uint32 unknown2;
|
||||
|
@ -555,8 +555,14 @@ static BOOL samsync_handle_user(TALLOC_CTX *mem_ctx, struct samsync_state *samsy
|
||||
} else if (NT_STATUS_IS_OK(nt_status)) {
|
||||
TEST_INT_EQUAL(user->rid, info3->base.rid);
|
||||
TEST_INT_EQUAL(user->primary_gid, info3->base.primary_gid);
|
||||
TEST_INT_EQUAL(user->acct_flags, info3->base.acct_flags);
|
||||
TEST_STRING_EQUAL(user->account_name, info3->base.account_name);
|
||||
/* this is 0x0 from NT4 sp6 */
|
||||
if (info3->base.acct_flags) {
|
||||
TEST_INT_EQUAL(user->acct_flags, info3->base.acct_flags);
|
||||
}
|
||||
/* this is NULL from NT4 sp6 */
|
||||
if (info3->base.account_name.string) {
|
||||
TEST_STRING_EQUAL(user->account_name, info3->base.account_name);
|
||||
}
|
||||
TEST_STRING_EQUAL(user->full_name, info3->base.full_name);
|
||||
TEST_STRING_EQUAL(user->logon_script, info3->base.logon_script);
|
||||
TEST_STRING_EQUAL(user->profile_path, info3->base.profile_path);
|
||||
@ -574,8 +580,9 @@ static BOOL samsync_handle_user(TALLOC_CTX *mem_ctx, struct samsync_state *samsy
|
||||
* doco I read -- abartlet) */
|
||||
|
||||
/* This copes with the two different versions of 0 I see */
|
||||
/* with NT4 sp6 we have the || case */
|
||||
if (!((user->last_logoff == 0)
|
||||
&& (info3->base.last_logoff == 0x7fffffffffffffffLL))) {
|
||||
|| (info3->base.last_logoff == 0x7fffffffffffffffLL))) {
|
||||
TEST_TIME_EQUAL(user->last_logoff, info3->base.last_logoff);
|
||||
}
|
||||
return ret;
|
||||
@ -813,6 +820,10 @@ static BOOL samsync_handle_trusted_domain(TALLOC_CTX *mem_ctx, struct samsync_st
|
||||
q.in.level = levels[i];
|
||||
status = dcerpc_lsa_QueryTrustedDomainInfo(samsync_state->p_lsa, mem_ctx, &q);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
if (q.in.level == 8 && NT_STATUS_EQUAL(status,NT_STATUS_INVALID_PARAMETER)) {
|
||||
info[levels[i]] = NULL;
|
||||
continue;
|
||||
}
|
||||
printf("QueryInfoTrustedDomain level %d failed - %s\n",
|
||||
levels[i], nt_errstr(status));
|
||||
return False;
|
||||
@ -820,9 +831,11 @@ static BOOL samsync_handle_trusted_domain(TALLOC_CTX *mem_ctx, struct samsync_st
|
||||
info[levels[i]] = q.out.info;
|
||||
}
|
||||
|
||||
TEST_SID_EQUAL(info[8]->full_info.info_ex.sid, dom_sid);
|
||||
TEST_STRING_EQUAL(info[8]->full_info.info_ex.name, trusted_domain->domain_name);
|
||||
TEST_STRING_EQUAL(info[1]->name.domain_name, trusted_domain->domain_name);
|
||||
if (info[8]) {
|
||||
TEST_SID_EQUAL(info[8]->full_info.info_ex.sid, dom_sid);
|
||||
TEST_STRING_EQUAL(info[8]->full_info.info_ex.netbios_name, trusted_domain->domain_name);
|
||||
}
|
||||
TEST_STRING_EQUAL(info[1]->name.netbios_name, trusted_domain->domain_name);
|
||||
TEST_INT_EQUAL(info[3]->flags.flags, trusted_domain->flags);
|
||||
TEST_SEC_DESC_EQUAL(trusted_domain->sdbuf, lsa, &trustdom_handle);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user