const struct sockaddr_storage *dc_addr,
const char *domain_name,
const struct dom_sid *sid,
+ const char *account_name,
+ uint32_t account_flags,
uint32_t nt_version)
{
struct tevent_req *req, *subreq;
generate_random_buffer((uint8_t *)(void *)&dgm_id, sizeof(dgm_id));
- {
- size_t len = strlen(lp_netbios_name());
- char my_acct_name[len+2];
-
- snprintf(my_acct_name,
- sizeof(my_acct_name),
- "%s$",
- lp_netbios_name());
-
- ok = prep_getdc_request(dc_addr, my_acct_name, ACB_WSTRUST,
- domain_name, sid, nt_version,
- state->my_mailslot, dgm_id & 0x7fff,
- &state->p);
- }
+ ok = prep_getdc_request(dc_addr, account_name, account_flags,
+ domain_name, sid, nt_version,
+ state->my_mailslot, dgm_id & 0x7fff,
+ &state->p);
if (!ok) {
DEBUG(3, ("prep_getdc_request failed\n"));
const struct sockaddr_storage *dc_addr,
const char *domain_name,
const struct dom_sid *sid,
+ const char *account_name,
+ uint32_t account_flags,
uint32_t nt_version,
TALLOC_CTX *mem_ctx,
uint32_t *pnt_version,
goto fail;
}
req = nbt_getdc_send(ev, ev, msg_ctx, dc_addr, domain_name,
- sid, nt_version);
+ sid, account_name, account_flags, nt_version);
if (req == NULL) {
goto fail;
}
const struct sockaddr_storage *dc_addr,
const char *domain_name,
const struct dom_sid *sid,
+ const char *account_name,
+ uint32_t account_flags,
uint32_t nt_version);
NTSTATUS nbt_getdc_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
uint32_t *nt_version, const char **dc_name,
const struct sockaddr_storage *dc_addr,
const char *domain_name,
const struct dom_sid *sid,
+ const char *account_name,
+ uint32_t account_flags,
uint32_t nt_version,
TALLOC_CTX *mem_ctx,
uint32_t *pnt_version,
uint32_t nt_version = NETLOGON_NT_VERSION_1 |
NETLOGON_NT_VERSION_5 |
NETLOGON_NT_VERSION_5EX_WITH_IP;
+ size_t len = strlen(lp_netbios_name());
+ char my_acct_name[len+2];
if (msg_ctx == NULL) {
return NT_STATUS_INVALID_PARAMETER;
nt_version |= map_ds_flags_to_nt_version(flags);
+ snprintf(my_acct_name,
+ sizeof(my_acct_name),
+ "%s$",
+ lp_netbios_name());
+
DEBUG(10,("process_dc_netbios\n"));
for (i=0; i<num_dcs; i++) {
}
status = nbt_getdc(msg_ctx, 10, &dclist[i].ss, domain_name,
- NULL, nt_version,
+ NULL, my_acct_name, ACB_WSTRUST, nt_version,
mem_ctx, &nt_version, &dc_name, &r);
if (NT_STATUS_IS_OK(status)) {
store_cache = true;
}
#endif
- status = nbt_getdc(server_messaging_context(), 10, pss, domain->name,
- &domain->sid, nt_version, mem_ctx, &nt_version,
- &dc_name, NULL);
+ {
+ size_t len = strlen(lp_netbios_name());
+ char my_acct_name[len+2];
+
+ snprintf(my_acct_name,
+ sizeof(my_acct_name),
+ "%s$",
+ lp_netbios_name());
+
+ status = nbt_getdc(server_messaging_context(), 10, pss,
+ domain->name, &domain->sid,
+ my_acct_name, ACB_WSTRUST,
+ nt_version, mem_ctx, &nt_version,
+ &dc_name, NULL);
+ }
if (NT_STATUS_IS_OK(status)) {
*name = talloc_strdup(mem_ctx, dc_name);
if (*name == NULL) {