state->user_info = user_info;
if (!user_info->mapped_state) {
- nt_status = map_user_info(auth_ctx->sam_ctx, req, lpcfg_workgroup(auth_ctx->lp_ctx),
- user_info, &user_info_tmp);
+ int server_role = lpcfg_server_role(auth_ctx->lp_ctx);
+
+ nt_status = map_user_info(
+ auth_ctx->sam_ctx, req,
+ server_role == ROLE_ACTIVE_DIRECTORY_DC,
+ lpcfg_workgroup(auth_ctx->lp_ctx),
+ user_info, &user_info_tmp);
+
if (tevent_req_nterror(req, nt_status)) {
return tevent_req_post(req, ev);
}
****************************************************************************/
NTSTATUS map_user_info(struct ldb_context *sam_ctx,
TALLOC_CTX *mem_ctx,
+ bool is_ad_dc,
const char *default_domain,
const struct auth_usersupplied_info *user_info,
struct auth_usersupplied_info **user_info_mapped)
char *d;
TALLOC_CTX *tmp_ctx;
- if (sam_ctx != NULL) {
+ if (is_ad_dc) {
/* if possible, use cracknames to parse the
domain/account */
return map_user_info_cracknames(sam_ctx, mem_ctx, default_domain, user_info, user_info_mapped);