diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2008-01-18 03:00:00 +0100 |
---|---|---|
committer | Jelmer Vernooij <jelmer@samba.org> | 2008-01-18 03:42:00 +0100 |
commit | b5ba4910120e5350e48927cc0f5f06742ee02eb8 (patch) | |
tree | 9928db273316426ededaafe44b19195420ee7c80 | |
parent | e490415e2e300452e152373eb79fb437fb11449d (diff) | |
download | samba-b5ba4910120e5350e48927cc0f5f06742ee02eb8.tar.gz samba-b5ba4910120e5350e48927cc0f5f06742ee02eb8.tar.bz2 samba-b5ba4910120e5350e48927cc0f5f06742ee02eb8.zip |
registry: Avoid mapping registry return codes: return the right value in the first place.
(This used to be commit 434e4857cec17d6d9e8983e151c170eed59fc6d1)
-rw-r--r-- | source4/lib/registry/local.c | 2 | ||||
-rw-r--r-- | source4/lib/registry/samba.c | 2 | ||||
-rw-r--r-- | source4/lib/registry/tests/registry.c | 2 | ||||
-rw-r--r-- | source4/rpc_server/winreg/rpc_winreg.c | 7 |
4 files changed, 3 insertions, 10 deletions
diff --git a/source4/lib/registry/local.c b/source4/lib/registry/local.c index fa59f25596..3e463100c9 100644 --- a/source4/lib/registry/local.c +++ b/source4/lib/registry/local.c @@ -140,7 +140,7 @@ WERROR local_get_predefined_key(struct registry_context *ctx, } if (mp == NULL) - return WERR_NOT_FOUND; + return WERR_BADFILE; *key = reg_import_hive_key(ctx, mp->key, mp->path.predefined_key, diff --git a/source4/lib/registry/samba.c b/source4/lib/registry/samba.c index 02f3363bab..599385e73c 100644 --- a/source4/lib/registry/samba.c +++ b/source4/lib/registry/samba.c @@ -42,7 +42,7 @@ static WERROR mount_samba_hive(struct registry_context *ctx, error = reg_open_hive(ctx, location, auth_info, creds, lp_ctx, &hive); - if (W_ERROR_EQUAL(error, WERR_NOT_FOUND)) + if (W_ERROR_EQUAL(error, WERR_BADFILE)) error = reg_open_ldb_file(ctx, location, auth_info, creds, lp_ctx, &hive); diff --git a/source4/lib/registry/tests/registry.c b/source4/lib/registry/tests/registry.c index 59e31f55dc..06783e6a75 100644 --- a/source4/lib/registry/tests/registry.c +++ b/source4/lib/registry/tests/registry.c @@ -53,7 +53,7 @@ static bool test_get_predefined_unknown(struct torture_context *tctx, WERROR error; error = reg_get_predefined_key(rctx, 1337, &root); - torture_assert_werr_equal(tctx, error, WERR_NOT_FOUND, + torture_assert_werr_equal(tctx, error, WERR_BADFILE, "getting predefined key failed"); return true; } diff --git a/source4/rpc_server/winreg/rpc_winreg.c b/source4/rpc_server/winreg/rpc_winreg.c index 3c00944d59..681e3b918f 100644 --- a/source4/rpc_server/winreg/rpc_winreg.c +++ b/source4/rpc_server/winreg/rpc_winreg.c @@ -356,13 +356,6 @@ static WERROR dcesrv_winreg_OpenKey(struct dcesrv_call_state *dce_call, r->out.handle = &newh->wire_handle; } else { talloc_free(newh); - /* - * Windows expects WERR_BADFILE when a particular key - * is not found. If we receive WERR_NOT_FOUND from the lower - * layer calls, translate it here to return what is expected. - */ - if (W_ERROR_EQUAL(result, WERR_NOT_FOUND)) - return WERR_BADFILE; } return result; |