diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2015-01-06 13:14:35 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-01-13 21:03:04 +0100 |
commit | 2f38a6fe31be1619f4725733f388b99e64f9c668 (patch) | |
tree | 7acbc41740cf61c00acd93c5549eae57b1b3fcac /src/providers/ad | |
parent | 78774f416af48cb0e27a7adec2fdf2e04c08976c (diff) | |
download | sssd-2f38a6fe31be1619f4725733f388b99e64f9c668.tar.gz sssd-2f38a6fe31be1619f4725733f388b99e64f9c668.tar.xz sssd-2f38a6fe31be1619f4725733f388b99e64f9c668.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>
(cherry picked from commit fc2cc91a5b645180e53d46436b0d08011aac8d74)
Diffstat (limited to 'src/providers/ad')
-rw-r--r-- | src/providers/ad/ad_gpo.c | 5 |
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)); |