[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