summaryrefslogtreecommitdiffstats
path: root/src/providers
diff options
context:
space:
mode:
authorMichal Židek <mzidek@redhat.com>2016-03-16 16:38:34 +0100
committerLukas Slebodnik <lslebodn@redhat.com>2016-03-23 22:15:57 +0100
commitdad416a9b0095e1c423b7da65db7c636fa69e614 (patch)
treef7d2bcd3cb7c5b1fc09fcaefe147a47ea8b3bd07 /src/providers
parent7c30eade4ae794ed809845f2ef70dda849b6e7c9 (diff)
downloadsssd-dad416a9b0095e1c423b7da65db7c636fa69e614.tar.gz
sssd-dad416a9b0095e1c423b7da65db7c636fa69e614.tar.xz
sssd-dad416a9b0095e1c423b7da65db7c636fa69e614.zip
GPO: log specific ini parse error messages
We should log error messages generated by libini if there are problems with parsing gpo files. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Diffstat (limited to 'src/providers')
-rw-r--r--src/providers/ad/ad_gpo.c21
-rw-r--r--src/providers/ad/ad_gpo_child.c21
2 files changed, 40 insertions, 2 deletions
diff --git a/src/providers/ad/ad_gpo.c b/src/providers/ad/ad_gpo.c
index 78ff723a1..3bd9ab037 100644
--- a/src/providers/ad/ad_gpo.c
+++ b/src/providers/ad/ad_gpo.c
@@ -1138,8 +1138,27 @@ ad_gpo_store_policy_settings(struct sss_domain_info *domain,
ret = ini_config_parse(file_ctx, INI_STOP_ON_NONE, 0, 0, ini_config);
if (ret != 0) {
+ int lret;
+ char **errors;
+
DEBUG(SSSDBG_CRIT_FAILURE,
- "ini_config_parse failed [%d][%s]\n", ret, strerror(ret));
+ "[%s]: ini_config_parse failed [%d][%s]\n",
+ filename, ret, strerror(ret));
+
+ /* Now get specific errors if there are any */
+ lret = ini_config_get_errors(ini_config, &errors);
+ if (lret != 0) {
+ DEBUG(SSSDBG_CRIT_FAILURE,
+ "Failed to get specific parse error [%d][%s]\n", lret,
+ strerror(lret));
+ goto done;
+ }
+
+ for (int a = 0; errors[a]; a++) {
+ DEBUG(SSSDBG_CRIT_FAILURE, "%s\n", errors[a]);
+ }
+ ini_config_free_errors(errors);
+
goto done;
}
diff --git a/src/providers/ad/ad_gpo_child.c b/src/providers/ad/ad_gpo_child.c
index 1b5997164..668af055d 100644
--- a/src/providers/ad/ad_gpo_child.c
+++ b/src/providers/ad/ad_gpo_child.c
@@ -463,8 +463,27 @@ ad_gpo_parse_ini_file(const char *smb_path,
ret = ini_config_parse(file_ctx, INI_STOP_ON_NONE, 0, 0, ini_config);
if (ret != 0) {
+ int lret;
+ char **errors;
+
DEBUG(SSSDBG_CRIT_FAILURE,
- "ini_config_parse failed [%d][%s]\n", ret, strerror(ret));
+ "[%s]: ini_config_parse failed [%d][%s]\n",
+ ini_filename, ret, strerror(ret));
+
+ /* Now get specific errors if there are any */
+ lret = ini_config_get_errors(ini_config, &errors);
+ if (lret != 0) {
+ DEBUG(SSSDBG_CRIT_FAILURE,
+ "Failed to get specific parse error [%d][%s]\n", lret,
+ strerror(lret));
+ goto done;
+ }
+
+ for (int i = 0; errors[i]; i++) {
+ DEBUG(SSSDBG_CRIT_FAILURE, "%s\n", errors[i]);
+ }
+ ini_config_free_errors(errors);
+
goto done;
}