Made DB VACUUM optional, now disabled by default.
authorMatthew Mondor <mmondor@pulsar-zone.net>
Mon, 26 May 2014 12:24:45 +0000 (12:24 +0000)
committerMatthew Mondor <mmondor@pulsar-zone.net>
Mon, 26 May 2014 12:24:45 +0000 (12:24 +0000)
The PostgreSQL auto-vacuum features, or admin-custom vacuumdb-based script
should be used instead; there is now a restriction that with SQL VACUUM,
only DB/table owners have access to vacuum.

mmsoftware/mmmail/src/mmpop3d/mmpop3d.h
mmsoftware/mmmail/src/mmsmtpd/mmsmtpd.c
mmsoftware/mmmail/src/mmsmtpd/mmsmtpd.h

index 99106ac..cf468c2 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmpop3d.h,v 1.35 2013/08/24 07:55:54 mmondor Exp $ */
+/* $Id: mmpop3d.h,v 1.36 2014/05/26 12:24:42 mmondor Exp $ */
 
 /*
  * Copyright (C) 2001-2008, Matthew Mondor
@@ -68,7 +68,7 @@
 /* DEFINITIONS */
 
 #define DAEMON_NAME    "mmpop3d"
-#define DAEMON_VERSION "mmmail-0.3.6"
+#define DAEMON_VERSION "mmmail-0.3.7"
 
 /* Negative states are used by the state swapper, others are real states */
 #define STATE_ERROR    -3
index e512b6b..84caa6e 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmsmtpd.c,v 1.115 2013/08/24 07:59:40 mmondor Exp $ */
+/* $Id: mmsmtpd.c,v 1.116 2014/05/26 12:24:45 mmondor Exp $ */
 
 /*
  * Copyright (C) 2001-2013, Matthew Mondor
@@ -86,7 +86,7 @@
 
 MMCOPYRIGHT("@(#) Copyright (c) 2001-2013\n\
 \tMatthew Mondor. All rights reserved.\n");
-MMRCSID("$Id: mmsmtpd.c,v 1.115 2013/08/24 07:59:40 mmondor Exp $");
+MMRCSID("$Id: mmsmtpd.c,v 1.116 2014/05/26 12:24:45 mmondor Exp $");
 
 
 
@@ -324,6 +324,7 @@ main(int argc, char **argv)
        {CAT_BOOL, CAF_NONE, 0, 0, "STATFAIL_FILTER", &CONF.STATFAIL_FILTER},
        {CAT_BOOL, CAF_NONE, 0, 0, "DELAY_ON_ERROR", &CONF.DELAY_ON_ERROR},
        {CAT_BOOL, CAF_NONE, 0, 0, "RELAYING", &CONF.RELAYING},
+       {CAT_BOOL, CAF_NONE, 0, 0, "DB_VACUUM", &CONF.DB_VACUUM},
        {CAT_END, CAF_NONE, 0, 0, NULL, NULL}
     };
     cmap_t cmap[] = {
@@ -400,6 +401,7 @@ main(int argc, char **argv)
     CONF.STATFAIL_FILTER = true;
     CONF.DELAY_ON_ERROR = false;
     CONF.RELAYING = false;
+    CONF.DB_VACUUM = false;
 
     /* Advertize */
     printf("\r\n+++ %s (%s)\r\n\r\n", DAEMON_NAME, DAEMON_VERSION);
@@ -2925,18 +2927,20 @@ skip:
        mmsyslog(0, LOGLEVEL, "Couldn't optimize " s);                  \
 } while (/* CONSTCOND */0)
 
-           OPTIMIZE("alias");
-           OPTIMIZE("box");
-           OPTIMIZE("file_gc_queue");
-           OPTIMIZE("filter");
-           OPTIMIZE("folder");
-           OPTIMIZE("mail");
-           OPTIMIZE("nofrom");
-           OPTIMIZE("relayfrom");
-           OPTIMIZE("relaylocal");
-           OPTIMIZE("relayqueue");
-           OPTIMIZE("session");
-           OPTIMIZE("\"user\"");
+           if (CONF.DB_VACUUM) {
+               OPTIMIZE("alias");
+               OPTIMIZE("box");
+               OPTIMIZE("file_gc_queue");
+               OPTIMIZE("filter");
+               OPTIMIZE("folder");
+               OPTIMIZE("mail");
+               OPTIMIZE("nofrom");
+               OPTIMIZE("relayfrom");
+               OPTIMIZE("relaylocal");
+               OPTIMIZE("relayqueue");
+               OPTIMIZE("session");
+               OPTIMIZE("\"user\"");
+           }
 
 #undef OPTIMIZE
        }
index f8d5c8d..55455e8 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: mmsmtpd.h,v 1.57 2013/08/24 07:55:57 mmondor Exp $ */
+/* $Id: mmsmtpd.h,v 1.58 2014/05/26 12:24:45 mmondor Exp $ */
 
 /*
  * Copyright (C) 2001-2008, Matthew Mondor
@@ -68,7 +68,7 @@
 
 /* DEFINITIONS */
 #define DAEMON_NAME    "mmsmtpd"
-#define DAEMON_VERSION "mmmail-0.3.6"
+#define DAEMON_VERSION "mmmail-0.3.7"
 
 /* Negative states are used by the state swapper, others are real states */
 #define STATE_ERROR    -3
@@ -148,7 +148,7 @@ typedef struct config {
        REQUIRE_HELO, REQUIRE_HOP, FLOOD_PROTECTION, STATFAIL_HELO,
        STATFAIL_NOHELO, STATFAIL_NOFROM, STATFAIL_ADDRESS, STATFAIL_RELAY,
        STATFAIL_FLOOD, STATFAIL_FULL, STATFAIL_TIMEOUT, STATFAIL_EOF,
-       STATFAIL_FILTER, DELAY_ON_ERROR, RELAYING;
+       STATFAIL_FILTER, DELAY_ON_ERROR, RELAYING, DB_VACUUM;
 } CONFIG;