Günther Deschner 61550bb
From 3fc4d1d3998f3956a84c855cb60a9dcb335e1f59 Mon Sep 17 00:00:00 2001
Günther Deschner 61550bb
From: Alexander Bokovoy <ab@samba.org>
Günther Deschner 61550bb
Date: Fri, 12 Nov 2021 19:06:01 +0200
Günther Deschner 61550bb
Subject: [PATCH] IPA DC: add missing checks
Günther Deschner 61550bb
Günther Deschner 61550bb
When introducing FreeIPA support, two places were forgotten:
Günther Deschner 61550bb
Günther Deschner 61550bb
 - schannel gensec module needs to be aware of IPA DC
Günther Deschner 61550bb
 - _lsa_QueryInfoPolicy should treat IPA DC as PDC
Günther Deschner 61550bb
Günther Deschner 61550bb
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14903
Günther Deschner 61550bb
Günther Deschner 61550bb
Signed-off-by: Alexander Bokovoy <ab@samba.org>
Günther Deschner 61550bb
---
Günther Deschner 61550bb
 auth/gensec/schannel.c              | 1 +
Günther Deschner 61550bb
 source3/rpc_server/lsa/srv_lsa_nt.c | 1 +
Günther Deschner 61550bb
 2 files changed, 2 insertions(+)
Günther Deschner 61550bb
Günther Deschner 61550bb
diff --git a/auth/gensec/schannel.c b/auth/gensec/schannel.c
Günther Deschner 61550bb
index 0cdae141ead..6ebbe8f3179 100644
Günther Deschner 61550bb
--- a/auth/gensec/schannel.c
Günther Deschner 61550bb
+++ b/auth/gensec/schannel.c
Günther Deschner 61550bb
@@ -1080,6 +1080,7 @@ static NTSTATUS schannel_server_start(struct gensec_security *gensec_security)
Günther Deschner 61550bb
 	case ROLE_DOMAIN_BDC:
Günther Deschner 61550bb
 	case ROLE_DOMAIN_PDC:
Günther Deschner 61550bb
 	case ROLE_ACTIVE_DIRECTORY_DC:
Günther Deschner 61550bb
+	case ROLE_IPA_DC:
Günther Deschner 61550bb
 		return NT_STATUS_OK;
Günther Deschner 61550bb
 	default:
Günther Deschner 61550bb
 		return NT_STATUS_NOT_IMPLEMENTED;
Günther Deschner 61550bb
diff --git a/source3/rpc_server/lsa/srv_lsa_nt.c b/source3/rpc_server/lsa/srv_lsa_nt.c
Günther Deschner 61550bb
index 8d71b5252ab..ea92a22cbc9 100644
Günther Deschner 61550bb
--- a/source3/rpc_server/lsa/srv_lsa_nt.c
Günther Deschner 61550bb
+++ b/source3/rpc_server/lsa/srv_lsa_nt.c
Günther Deschner 61550bb
@@ -683,6 +683,7 @@ NTSTATUS _lsa_QueryInfoPolicy(struct pipes_struct *p,
Günther Deschner 61550bb
 		switch (lp_server_role()) {
Günther Deschner 61550bb
 			case ROLE_DOMAIN_PDC:
Günther Deschner 61550bb
 			case ROLE_DOMAIN_BDC:
Günther Deschner 61550bb
+			case ROLE_IPA_DC:
Günther Deschner 61550bb
 				name = get_global_sam_name();
Günther Deschner 61550bb
 				sid = dom_sid_dup(p->mem_ctx, get_global_sam_sid());
Günther Deschner 61550bb
 				if (!sid) {
Günther Deschner 61550bb
-- 
Günther Deschner 61550bb
2.33.1
Günther Deschner 61550bb