req, struct wb_getpwsid_state);
struct winbindd_pw *pw = state->pw;
struct wbint_userinfo *info;
- struct winbindd_domain *domain = NULL;
fstring acct_name, output_username;
char *mapped_name = NULL;
char *tmp;
return;
}
- domain = find_domain_from_name_noinit(info->domain_name);
- if (tevent_req_nomem(domain, req)) {
- return;
- }
-
/*
* TODO:
* This function should be called in 'idmap winbind child'. It shouldn't
* winbind.idl. This is a fix which can be backported for now.
*/
status = normalize_name_map(state,
- domain,
+ info->domain_name,
acct_name,
&mapped_name);
if (NT_STATUS_IS_OK(status)) {
{
fstring full_group_name;
char *mapped_name = NULL;
- struct winbindd_domain *domain;
NTSTATUS nt_status = NT_STATUS_UNSUCCESSFUL;
- domain = find_domain_from_name_noinit(dom_name);
- if (domain == NULL) {
- DEBUG(0, ("Failed to find domain '%s'. "
- "Check connection to trusted domains!\n",
- dom_name));
- return false;
- }
-
- nt_status = normalize_name_map(mem_ctx, domain, gr_name,
+ nt_status = normalize_name_map(mem_ctx, dom_name, gr_name,
&mapped_name);
/* Basic whitespace replacement */
DEBUG(5,("Mapped sid to [%s]\\[%s]\n", domains[0], *name));
- name_map_status = normalize_name_map(mem_ctx, domain, *name,
+ name_map_status = normalize_name_map(mem_ctx, domain->name, *name,
&mapped_name);
if (NT_STATUS_IS_OK(name_map_status) ||
NT_STATUS_EQUAL(name_map_status, NT_STATUS_FILE_RENAMED))
if ((*types)[i] != SID_NAME_UNKNOWN) {
name_map_status = normalize_name_map(mem_ctx,
- domain,
+ domain->name,
ret_names[i],
&mapped_name);
if (NT_STATUS_IS_OK(name_map_status) ||
uint32_t *p_num_groups, struct dom_sid **user_sids);
NTSTATUS normalize_name_map(TALLOC_CTX *mem_ctx,
- struct winbindd_domain *domain,
+ const char *domain_name,
const char *name,
char **normalized);
NTSTATUS normalize_name_unmap(TALLOC_CTX *mem_ctx,
*ptype = (enum lsa_SidType) types[0];
map_status = normalize_name_map(mem_ctx,
- domain,
+ domain->name,
names[0],
&mapped_name);
if (NT_STATUS_IS_OK(map_status) ||
if (types[i] != SID_NAME_UNKNOWN) {
map_status = normalize_name_map(mem_ctx,
- domain,
+ domain->name,
names[i],
&mapped_name);
if (NT_STATUS_IS_OK(map_status) ||
********************************************************************/
NTSTATUS normalize_name_map(TALLOC_CTX *mem_ctx,
- struct winbindd_domain *domain,
+ const char *domain_name,
const char *name,
char **normalized)
{
+ struct winbindd_domain *domain = NULL;
NTSTATUS nt_status;
if (!name || !normalized) {
return NT_STATUS_PROCEDURE_NOT_FOUND;
}
+ domain = find_domain_from_name_noinit(domain_name);
+ if (domain == NULL) {
+ DBG_ERR("Failed to find domain '%s'\n", domain_name);
+ return NT_STATUS_NO_SUCH_DOMAIN;
+ }
+
/* Alias support and whitespace replacement are mutually
exclusive */