1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00

drsuapi: Validate the input parameters for the drsuapi_UpdateRefs function

This commit is contained in:
Matthieu Patou 2012-09-27 15:22:00 -07:00
parent 8be6a106ab
commit dc002a394b

View File

@ -137,6 +137,22 @@ WERROR drsuapi_UpdateRefs(struct drsuapi_bind_state *b_state, TALLOC_CTX *mem_ct
req->options,
drs_ObjectIdentifier_to_string(mem_ctx, req->naming_context)));
/*
* 4.1.26.2 Server Behavior of the IDL_DRSUpdateRefs Method
* Implements the input validation checks
*/
if (GUID_all_zero(&req->dest_dsa_guid)) {
return WERR_DS_DRA_INVALID_PARAMETER;
}
if (req->dest_dsa_dns_name == NULL) {
return WERR_DS_DRA_INVALID_PARAMETER;
}
if (!(req->options & (DRSUAPI_DRS_DEL_REF|DRSUAPI_DRS_ADD_REF))) {
return WERR_DS_DRA_INVALID_PARAMETER;
}
dn = drs_ObjectIdentifier_to_dn(mem_ctx, sam_ctx, req->naming_context);
W_ERROR_HAVE_NO_MEMORY(dn);
ret = dsdb_find_nc_root(sam_ctx, dn, dn, &nc_root);