1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

s4-drs: removed dsdb_validate_client_flags()

This test is in the wrong place. We end up validating our own flags.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Andrew Tridgell 2010-04-22 16:41:32 +10:00
parent 90230ce27e
commit 1f92df90fd
2 changed files with 0 additions and 37 deletions

View File

@ -2413,35 +2413,6 @@ int dsdb_find_sid_by_dn(struct ldb_context *ldb,
}
int dsdb_validate_client_flags(struct ldb_context *ldb,
const struct repsFromTo1 *client_rf)
{
int ret;
TALLOC_CTX *tmp_ctx = talloc_new(ldb);
if (client_rf->replica_flags & DRSUAPI_DRS_WRIT_REP) {
bool is_rodc;
ret = samdb_is_rodc(ldb, &client_rf->source_dsa_invocation_id, &is_rodc);
if (ret != LDB_SUCCESS) {
talloc_free(tmp_ctx);
return ret;
}
if (is_rodc) {
DEBUG(0,("Client %s claimed to be WRIT_REP, but is RODC\n",
GUID_string(tmp_ctx, &client_rf->source_dsa_invocation_id)));
talloc_free(tmp_ctx);
return LDB_ERR_UNWILLING_TO_PERFORM;
}
}
/* TODO: we may need to validate more client flags here, if they
are security sensitive */
talloc_free(tmp_ctx);
return LDB_SUCCESS;
}
/*
load a repsFromTo blob list for a given partition GUID
attr must be "repsFrom" or "repsTo"
@ -3598,7 +3569,6 @@ const char *samdb_forest_name(struct ldb_context *ldb, TALLOC_CTX *mem_ctx)
return forest_name;
}
/*
validate that an invocationID belongs to the specified user sid.
The user SID must be a domain controller account (either RODC or

View File

@ -271,13 +271,6 @@ static void dreplsrv_op_pull_source_get_changes_trigger(struct tevent_req *req)
struct drsuapi_DsGetNCChanges *r;
struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;
struct tevent_req *subreq;
int ret;
/* check that the client isn't lying about being a RODC */
ret = dsdb_validate_client_flags(service->samdb, rf1);
if (ret != LDB_SUCCESS) {
return;
}
if ((rf1->replica_flags & DRSUAPI_DRS_WRIT_REP) == 0) {
return;