>From 50c13e18f43c7215ff3ebca0702e552688da25f8 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Tue, 6 Jan 2015 13:14:35 +0100 Subject: [PATCH 1/2] GPO: Ignore ENOENT result from sysdb_gpo_get_gpo_result_setting() https://fedorahosted.org/sssd/ticket/2542 If the GPO result object was missing completely, we would error out with a fatal error code. It's more user-friendly to treat the missing object as if the requested attribute was missing on the provider level. --- src/providers/ad/ad_gpo.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/providers/ad/ad_gpo.c b/src/providers/ad/ad_gpo.c index 01dfa1c07953e88477dbd1f30b65ea81531c4f68..6dbe0595f9079426a661e6e5816a79b77ac5023a 100644 --- a/src/providers/ad/ad_gpo.c +++ b/src/providers/ad/ad_gpo.c @@ -1339,7 +1339,10 @@ parse_policy_setting_value(TALLOC_CTX *mem_ctx, char **sids_list = NULL; ret = sysdb_gpo_get_gpo_result_setting(mem_ctx, domain, key, &value); - if (ret != EOK) { + if (ret == ENOENT) { + DEBUG(SSSDBG_TRACE_FUNC, "No previous GPO result\n"); + value = NULL; + } else if (ret != EOK) { DEBUG(SSSDBG_OP_FAILURE, "Cannot retrieve settings from sysdb for key: '%s' [%d][%s].\n", key, ret, sss_strerror(ret)); -- 1.9.3