if (r->in.join_flags & WKSSVC_JOIN_FLAGS_JOIN_TYPE) {
NTSTATUS status;
struct netr_DsRGetDCNameInfo *info = NULL;
+ const char *dc = NULL;
uint32_t flags = DS_DIRECTORY_SERVICE_REQUIRED |
DS_WRITABLE_REQUIRED |
DS_RETURN_DNS_NAME;
"%s", get_friendly_nt_error_msg(status));
return ntstatus_to_werror(status);
}
- j->in.dc_name = talloc_strdup(mem_ctx,
- info->dc_unc);
+
+ dc = strip_hostname(info->dc_unc);
+ j->in.dc_name = talloc_strdup(mem_ctx, dc);
W_ERROR_HAVE_NO_MEMORY(j->in.dc_name);
}
} else {
NTSTATUS status;
struct netr_DsRGetDCNameInfo *info = NULL;
+ const char *dc = NULL;
uint32_t flags = DS_DIRECTORY_SERVICE_REQUIRED |
DS_WRITABLE_REQUIRED |
DS_RETURN_DNS_NAME;
get_friendly_nt_error_msg(status));
return ntstatus_to_werror(status);
}
- u->in.dc_name = talloc_strdup(mem_ctx,
- info->dc_unc);
+
+ dc = strip_hostname(info->dc_unc);
+ u->in.dc_name = talloc_strdup(mem_ctx, dc);
W_ERROR_HAVE_NO_MEMORY(u->in.dc_name);
u->in.domain_name = domain;
ADS_STATUS ads_status;
ADS_STRUCT *ads = NULL;
struct netr_DsRGetDCNameInfo *info = NULL;
+ const char *dc = NULL;
uint32_t flags = DS_DIRECTORY_SERVICE_REQUIRED |
DS_RETURN_DNS_NAME;
return ntstatus_to_werror(status);
}
- ads = ads_init(r->in.domain, r->in.domain, info->dc_unc);
+ dc = strip_hostname(info->dc_unc);
+
+ ads = ads_init(r->in.domain, r->in.domain, dc);
if (!ads) {
return WERR_GENERAL_FAILURE;
}
if (!r->in.dc_name) {
struct netr_DsRGetDCNameInfo *info;
+ const char *dc;
status = dsgetdcname(mem_ctx,
r->in.domain_name,
NULL,
return WERR_DOMAIN_CONTROLLER_NOT_FOUND;
}
- r->in.dc_name = talloc_strdup(mem_ctx,
- info->dc_unc);
+ dc = strip_hostname(info->dc_unc);
+ r->in.dc_name = talloc_strdup(mem_ctx, dc);
W_ERROR_HAVE_NO_MEMORY(r->in.dc_name);
}
if (!r->in.dc_name) {
struct netr_DsRGetDCNameInfo *info;
+ const char *dc;
status = dsgetdcname(mem_ctx,
r->in.domain_name,
NULL,
return WERR_DOMAIN_CONTROLLER_NOT_FOUND;
}
- r->in.dc_name = talloc_strdup(mem_ctx,
- info->dc_unc);
+ dc = strip_hostname(info->dc_unc);
+ r->in.dc_name = talloc_strdup(mem_ctx, dc);
W_ERROR_HAVE_NO_MEMORY(r->in.dc_name);
}