summaryrefslogtreecommitdiffstats
path: root/src/providers/ad/ad_gpo.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2015-01-06 13:14:35 +0100
committerJakub Hrozek <jhrozek@redhat.com>2015-01-08 19:38:26 +0100
commitfc2cc91a5b645180e53d46436b0d08011aac8d74 (patch)
tree55e84da746323e3a83c7371a084201635705f732 /src/providers/ad/ad_gpo.c
parent5c14f85f2f27d492ad9631627cd10b826b7b08c5 (diff)
downloadsssd-fc2cc91a5b645180e53d46436b0d08011aac8d74.tar.gz
sssd-fc2cc91a5b645180e53d46436b0d08011aac8d74.tar.xz
sssd-fc2cc91a5b645180e53d46436b0d08011aac8d74.zip
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. Reviewed-by: Pavel Reichl <preichl@redhat.com>
Diffstat (limited to 'src/providers/ad/ad_gpo.c')
-rw-r--r--src/providers/ad/ad_gpo.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/providers/ad/ad_gpo.c b/src/providers/ad/ad_gpo.c
index 62715861c..4f8497809 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));