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