Blob Blame Raw
diff -up cyrus-imapd-2.4.12/imap/global.c.debugopt cyrus-imapd-2.4.12/imap/global.c
--- cyrus-imapd-2.4.12/imap/global.c.debugopt	2011-10-04 21:53:03.000000000 +0200
+++ cyrus-imapd-2.4.12/imap/global.c	2011-11-22 14:24:28.272416643 +0100
@@ -157,6 +157,10 @@ int cyrus_init(const char *alt_config, c
 	/* don't free the openlog() string! */
     }
 
+    /* allow debug logging */
+    if (!config_debug)
+	setlogmask(~LOG_MASK(LOG_DEBUG));
+
     /* Look up default partition */
     config_defpartition = config_getstring(IMAPOPT_DEFAULTPARTITION);
     for (p = (char *)config_defpartition; p && *p; p++) {
diff -up cyrus-imapd-2.4.12/imap/tls.c.debugopt cyrus-imapd-2.4.12/imap/tls.c
--- cyrus-imapd-2.4.12/imap/tls.c.debugopt	2011-10-04 21:53:03.000000000 +0200
+++ cyrus-imapd-2.4.12/imap/tls.c	2011-11-22 14:24:28.272416643 +0100
@@ -255,9 +255,9 @@ static DH *load_dh_param(const char *key
 
     if (ret == NULL) {
 	ret = get_dh1024();
-	syslog(LOG_NOTICE, "imapd:Loading hard-coded DH parameters");
+	syslog(LOG_DEBUG, "imapd:Loading hard-coded DH parameters");
     } else {
-	syslog(LOG_NOTICE, "imapd:Loading DH parameters from file");
+	syslog(LOG_DEBUG, "imapd:Loading DH parameters from file");
     }
 
     if (bio != NULL) BIO_free(bio);
diff -up cyrus-imapd-2.4.12/lib/imapoptions.debugopt cyrus-imapd-2.4.12/lib/imapoptions
--- cyrus-imapd-2.4.12/lib/imapoptions.debugopt	2011-11-22 14:24:28.265416615 +0100
+++ cyrus-imapd-2.4.12/lib/imapoptions	2011-11-22 14:24:28.273416647 +0100
@@ -388,6 +388,9 @@ Blank lines and lines beginning with ``#
    hashing done on configuration directories.  This is recommended if
    one partition has a very bushy mailbox tree. */
 
+{ "debug", 0, SWITCH }
+/* If enabled, allow syslog() to pass LOG_DEBUG messages. */
+
 # Commented out - there's no such thing as "hostname_mechs", but we need
 # this for the man page
 # { "hostname_mechs", NULL, STRING }
diff -up cyrus-imapd-2.4.12/lib/libconfig.c.debugopt cyrus-imapd-2.4.12/lib/libconfig.c
--- cyrus-imapd-2.4.12/lib/libconfig.c.debugopt	2011-10-04 21:53:03.000000000 +0200
+++ cyrus-imapd-2.4.12/lib/libconfig.c	2011-11-22 14:24:28.274416650 +0100
@@ -84,6 +84,7 @@ int config_auditlog;
 unsigned config_maxword;
 unsigned config_maxquoted;
 int config_qosmarking;
+int config_debug;
 
 /* declared in each binary that uses libconfig */
 extern const int config_need_data;
@@ -350,6 +351,9 @@ void config_read(const char *alt_config)
 
     ival = config_getenum(IMAPOPT_QOSMARKING);
     config_qosmarking = qos[ival];
+
+    /* allow debug logging */
+    config_debug = config_getswitch(IMAPOPT_DEBUG);
 }
 
 #define GROWSIZE 4096
diff -up cyrus-imapd-2.4.12/lib/libconfig.h.debugopt cyrus-imapd-2.4.12/lib/libconfig.h
--- cyrus-imapd-2.4.12/lib/libconfig.h.debugopt	2011-10-04 21:53:03.000000000 +0200
+++ cyrus-imapd-2.4.12/lib/libconfig.h	2011-11-22 14:24:28.274416650 +0100
@@ -82,6 +82,7 @@ extern int config_auditlog;
 extern unsigned config_maxquoted;
 extern unsigned config_maxword;
 extern int config_qosmarking;
+extern int config_debug;
 
 /* config requirement flags */
 #define CONFIG_NEED_PARTITION_DATA (1<<0)
diff -up cyrus-imapd-2.4.12/master/master.c.debugopt cyrus-imapd-2.4.12/master/master.c
--- cyrus-imapd-2.4.12/master/master.c.debugopt	2011-10-04 21:53:03.000000000 +0200
+++ cyrus-imapd-2.4.12/master/master.c	2011-11-22 14:30:47.243975974 +0100
@@ -1984,7 +1984,7 @@ int main(int argc, char **argv)
 	if(pidlock_fd != -1) close(pidlock_fd);
     }
 
-    syslog(LOG_NOTICE, "process started");
+    syslog(LOG_DEBUG, "process started");
 
 #if defined(HAVE_UCDSNMP) || defined(HAVE_NETSNMP)
     /* initialize SNMP agent */
@@ -2041,7 +2041,7 @@ int main(int argc, char **argv)
     init_janitor();
     
     /* ok, we're going to start spawning like mad now */
-    syslog(LOG_NOTICE, "ready for work");
+    syslog(LOG_DEBUG, "ready for work");
 
     now = time(NULL);
     for (;;) {
diff -up cyrus-imapd-2.4.12/master/masterconf.c.debugopt cyrus-imapd-2.4.12/master/masterconf.c
--- cyrus-imapd-2.4.12/master/masterconf.c.debugopt	2011-10-04 21:53:03.000000000 +0200
+++ cyrus-imapd-2.4.12/master/masterconf.c	2011-11-22 14:24:28.276416658 +0100
@@ -99,6 +99,10 @@ int masterconf_init(const char *ident, c
         /* don't free the openlog() string! */
     }
 
+    /* drop debug messages locally */
+    if (!config_debug)
+	setlogmask(~LOG_MASK(LOG_DEBUG));
+
     return 0;
 }