diff options
author | Kamen Mazdrashki <kamenim@samba.org> | 2011-05-09 20:09:49 +0300 |
---|---|---|
committer | Kamen Mazdrashki <kamenim@samba.org> | 2011-05-11 21:10:51 +0300 |
commit | 232a8dfb060dcac27801b51b9576d76fb2f93655 (patch) | |
tree | f470bf21cfdf477ef83611121cdc6f6b9ad2d989 /source4/rpc_server | |
parent | f99d6f079a0060e4d08d7384bdf230d4d2c62b86 (diff) | |
download | samba-232a8dfb060dcac27801b51b9576d76fb2f93655.tar.gz samba-232a8dfb060dcac27801b51b9576d76fb2f93655.tar.bz2 samba-232a8dfb060dcac27801b51b9576d76fb2f93655.zip |
s4/getncchanges: Fail extended request rather than failing whole request
in case that destination_dsa_guid is not valid
Diffstat (limited to 'source4/rpc_server')
-rw-r--r-- | source4/rpc_server/drsuapi/getncchanges.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source4/rpc_server/drsuapi/getncchanges.c b/source4/rpc_server/drsuapi/getncchanges.c index 8ae536823d..0dd3ceaa4e 100644 --- a/source4/rpc_server/drsuapi/getncchanges.c +++ b/source4/rpc_server/drsuapi/getncchanges.c @@ -993,12 +993,14 @@ static WERROR getncchanges_change_master(struct drsuapi_bind_state *b_state, msg->dn = drs_ObjectIdentifier_to_dn(msg, ldb, req10->naming_context); W_ERROR_HAVE_NO_MEMORY(msg->dn); + /* TODO: make sure ntds_dn is a valid nTDSDSA object */ ret = dsdb_find_dn_by_guid(ldb, msg, &req10->destination_dsa_guid, &ntds_dn); if (ret != LDB_SUCCESS) { DEBUG(0, (__location__ ": Unable to find NTDS object for guid %s - %s\n", GUID_string(mem_ctx, &req10->destination_dsa_guid), ldb_errstring(ldb))); talloc_free(msg); - return WERR_DS_DRA_INTERNAL_ERROR; + ctr6->extended_ret = DRSUAPI_EXOP_ERR_UNKNOWN_CALLER; + return WERR_OK; } ret = ldb_msg_add_string(msg, "fSMORoleOwner", ldb_dn_get_linearized(ntds_dn)); |