[prev in list] [next in list] [prev in thread] [next in thread]
List: sssd-devel
Subject: [SSSD] [PATCH] AD: send less logs to syslog
From: Pavel Reichl <preichl () redhat ! com>
Date: 2015-08-28 12:09:59
Message-ID: 55E04F97.5080802 () redhat ! com
[Download RAW message or body]
Hello,
please see simple patch attached.
Thanks!
["0001-AD-send-less-logs-to-syslog.patch" (text/x-patch)]
From c2fbcfd7c711d7978083b1d21e3c27d3e3f9c83a Mon Sep 17 00:00:00 2001
From: Pavel Reichl <preichl@redhat.com>
Date: Fri, 28 Aug 2015 08:06:18 -0400
Subject: [PATCH] AD: send less logs to syslog
Create new callback that handles logging messages in cyrus sasl library.
Resolves:
https://fedorahosted.org/sssd/ticket/2561
---
src/providers/ad/ad_init.c | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/src/providers/ad/ad_init.c b/src/providers/ad/ad_init.c
index 3d12f382c613883a8f88442c7b1602470deb105d..5f30b6ea864b56225e25767ea3988a709dbf8337 100644
--- a/src/providers/ad/ad_init.c
+++ b/src/providers/ad/ad_init.c
@@ -91,8 +91,50 @@ static int ad_sasl_getopt(void *context, const char *plugin_name,
typedef int (*sss_sasl_gen_cb_fn)(void);
+static int map_sasl2sssd_log_level(int sasl_level)
+{
+ int sssd_level;
+
+ switch(sasl_level) {
+ case SASL_LOG_ERR: /* log unusual errors (default) */
+ sssd_level = SSSDBG_CRIT_FAILURE;
+ break;
+ case SASL_LOG_FAIL: /* log all authentication failures */
+ sssd_level = SSSDBG_OP_FAILURE;
+ break;
+ case SASL_LOG_WARN: /* log non-fatal warnings */
+ sssd_level = SSSDBG_MINOR_FAILURE;
+ break;
+ case SASL_LOG_NOTE: /* more verbose than LOG_WARN */
+ case SASL_LOG_DEBUG: /* more verbose than LOG_NOTE */
+ case SASL_LOG_TRACE: /* traces of internal protocols */
+ case SASL_LOG_PASS: /* traces of internal protocols, including */
+ sssd_level = SSSDBG_TRACE_ALL;
+ break;
+ default:
+ sssd_level = SSSDBG_TRACE_ALL;
+ break;
+ }
+
+ return sssd_level;
+}
+
+int ad_sasl_log(void *context, int level, const char *message)
+{
+ int sssd_level;
+
+ if (level == SASL_LOG_ERR || level == SASL_LOG_FAIL) {
+ sss_log(SSS_LOG_ERR, "%s\n", message);
+ }
+
+ sssd_level = map_sasl2sssd_log_level(level);
+ DEBUG(sssd_level, "SASL: %s\n", message);
+ return SASL_OK;
+}
+
static const sasl_callback_t ad_sasl_callbacks[] = {
{ SASL_CB_GETOPT, (sss_sasl_gen_cb_fn)ad_sasl_getopt, NULL },
+ { SASL_CB_LOG, (sss_sasl_gen_cb_fn)ad_sasl_log, NULL },
{ SASL_CB_LIST_END, NULL, NULL }
};
/* This is quite a hack, we *try* to fool openldap libraries by initializing
--
2.4.3
[Attachment #4 (text/plain)]
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic