summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/dsdb/common/util.c2
-rw-r--r--source4/rpc_server/lsa/dcesrv_lsa.c4
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;
}