diff options
-rw-r--r-- | source4/dsdb/common/util.c | 2 | ||||
-rw-r--r-- | source4/rpc_server/lsa/dcesrv_lsa.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/source4/dsdb/common/util.c b/source4/dsdb/common/util.c index 9e2e358b3b..e395ea540b 100644 --- a/source4/dsdb/common/util.c +++ b/source4/dsdb/common/util.c @@ -2663,7 +2663,7 @@ int samdb_is_rodc(struct ldb_context *sam_ctx, const struct GUID *invocationId, struct ldb_result *res; TALLOC_CTX *tmp_ctx = talloc_new(sam_ctx); - config_dn = samdb_config_dn(sam_ctx); + config_dn = ldb_get_config_basedn(sam_ctx); if (!config_dn) { talloc_free(tmp_ctx); return LDB_ERR_OPERATIONS_ERROR; diff --git a/source4/rpc_server/lsa/dcesrv_lsa.c b/source4/rpc_server/lsa/dcesrv_lsa.c index e683348140..aaa0f7baa2 100644 --- a/source4/rpc_server/lsa/dcesrv_lsa.c +++ b/source4/rpc_server/lsa/dcesrv_lsa.c @@ -4258,6 +4258,7 @@ static NTSTATUS dcesrv_lsa_lsaRSetForestTrustInformation(struct dcesrv_call_stat DATA_BLOB ft_blob; enum ndr_err_code ndr_err; NTSTATUS nt_status; + bool am_rodc; int ret; DCESRV_PULL_HANDLE(h, r->in.handle, LSA_HANDLE_POLICY); @@ -4273,7 +4274,8 @@ static NTSTATUS dcesrv_lsa_lsaRSetForestTrustInformation(struct dcesrv_call_stat return NT_STATUS_INVALID_DOMAIN_ROLE; } - if (samdb_rodc(p_state->sam_ldb)) { + ret = samdb_rodc(p_state->sam_ldb, &am_rodc); + if (ret == LDB_SUCCESS && am_rodc) { return NT_STATUS_NO_SUCH_DOMAIN; } |