Remove managesieve framework because we are removing sieve
[citadel.git] / citadel / control.c
index d2e99148a94e3b2895504de2c4cefbaf61c59ac5..cabf6df1314a3cc439230345db9f0f2798f0b8c9 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * This module handles states which are global to the entire server.
  *
- * Copyright (c) 1987-2018 by the citadel.org team
+ * Copyright (c) 1987-2019 by the citadel.org team
  *
  * This program is open source software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 3.
@@ -42,6 +42,11 @@ struct legacy_ctrl_format {
 
 /*
  * Callback to get highest room number when rebuilding message base metadata
+ *
+ * sanity_diag_mode (can be set by -s flag at startup) may be:
+ * 0 = attempt to fix inconsistencies
+ * 1 = show inconsistencies but don't repair them, exit after complete
+ * 2 = show inconsistencies but don't repair them, continue execution
  */
 void control_find_highest(struct ctdlroom *qrbuf, void *data)
 {
@@ -52,7 +57,9 @@ void control_find_highest(struct ctdlroom *qrbuf, void *data)
        int c;
        
        if (qrbuf->QRnumber > CtdlGetConfigLong("MMnextroom")) {
-               syslog(LOG_DEBUG, "control: fixing MMnextroom %ld > %ld", qrbuf->QRnumber, CtdlGetConfigLong("MMnextroom"));
+               syslog(LOG_DEBUG, "control: fixing MMnextroom %ld > %ld , found in %s",
+                       qrbuf->QRnumber, CtdlGetConfigLong("MMnextroom"), qrbuf->QRname
+               );
                if (!sanity_diag_mode) {
                        CtdlSetConfigLong("MMnextroom", qrbuf->QRnumber);
                }
@@ -72,7 +79,9 @@ void control_find_highest(struct ctdlroom *qrbuf, void *data)
        if (num_msgs > 0) {
                for (c=0; c<num_msgs; c++) {
                        if (msglist[c] > CtdlGetConfigLong("MMhighest")) {
-                               syslog(LOG_DEBUG, "control: fixing MMhighest %ld > %ld", msglist[c], CtdlGetConfigLong("MMhighest"));
+                               syslog(LOG_DEBUG, "control: fixing MMhighest %ld > %ld , found in %s",
+                                       msglist[c], CtdlGetConfigLong("MMhighest"), qrbuf->QRname
+                               );
                                if (!sanity_diag_mode) {
                                        CtdlSetConfigLong("MMhighest", msglist[c]);
                                }
@@ -87,12 +96,19 @@ void control_find_highest(struct ctdlroom *qrbuf, void *data)
 /*
  * Callback to get highest user number.
  */
-void control_find_user(struct ctdluser *EachUser, void *out_data)
-{
-       if (EachUser->usernum > CtdlGetConfigLong("MMnextuser")) {
-               syslog(LOG_DEBUG, "control: fixing MMnextuser %ld > %ld", EachUser->usernum, CtdlGetConfigLong("MMnextuser"));
+void control_find_user(char *username, void *out_data) {
+       struct ctdluser EachUser;
+
+       if (CtdlGetUser(&EachUser, username) != 0) {
+               return;
+       }
+
+       if (EachUser.usernum > CtdlGetConfigLong("MMnextuser")) {
+               syslog(LOG_DEBUG, "control: fixing MMnextuser %ld > %ld , found in %s",
+                       EachUser.usernum, CtdlGetConfigLong("MMnextuser"), EachUser.fullname
+               );
                if (!sanity_diag_mode) {
-                       CtdlSetConfigLong("MMnextuser", EachUser->usernum);
+                       CtdlSetConfigLong("MMnextuser", EachUser.usernum);
                }
        }
 }
@@ -140,7 +156,7 @@ void check_control(void)
        syslog(LOG_INFO, "control: sanity checking the recorded highest user number");
        ForEachUser(control_find_user, NULL);
        syslog(LOG_INFO, "control: sanity checks complete");
-       if (sanity_diag_mode) {
+       if (sanity_diag_mode == 1) {
                syslog(LOG_INFO, "control: sanity check diagnostic mode is active - exiting now");
                abort();
        }
@@ -219,10 +235,6 @@ int confbool(char *v)
 
 /* 
  * Get or set global configuration options
- *
- * IF YOU ADD OR CHANGE FIELDS HERE, YOU *MUST* DOCUMENT YOUR CHANGES AT:
- * http://www.citadel.org/doku.php/documentation:appproto:system_config
- *
  */
 void cmd_conf(char *argbuf)
 {
@@ -300,15 +312,15 @@ void cmd_conf(char *argbuf)
                cprintf("%s\n",         CtdlGetConfigStr("c_journal_dest"));
                cprintf("%s\n",         CtdlGetConfigStr("c_default_cal_zone"));
                cprintf("%d\n",         CtdlGetConfigInt("c_pftcpdict_port"));
-               cprintf("%d\n",         CtdlGetConfigInt("c_managesieve_port"));
+               cprintf("0\n");
                cprintf("%d\n",         CtdlGetConfigInt("c_auth_mode"));
                cprintf("\n");
                cprintf("\n");
                cprintf("\n");
                cprintf("\n");
                cprintf("%d\n",         CtdlGetConfigInt("c_rbl_at_greeting"));
-               cprintf("%s\n",         CtdlGetConfigStr("c_master_user"));
-               cprintf("%s\n",         CtdlGetConfigStr("c_master_pass"));
+               cprintf("\n");
+               cprintf("\n");
                cprintf("%s\n",         CtdlGetConfigStr("c_pager_program"));
                cprintf("%d\n",         CtdlGetConfigInt("c_imap_keep_from"));
                cprintf("%d\n",         CtdlGetConfigInt("c_xmpp_c2s_port"));
@@ -506,7 +518,7 @@ void cmd_conf(char *argbuf)
                                CtdlSetConfigInt("c_pftcpdict_port", atoi(buf));
                                break;
                        case 51:
-                               CtdlSetConfigInt("c_managesieve_port", atoi(buf));
+                               /* niu */
                                break;
                        case 52:
                                CtdlSetConfigInt("c_auth_mode", atoi(buf));
@@ -527,10 +539,10 @@ void cmd_conf(char *argbuf)
                                CtdlSetConfigInt("c_rbl_at_greeting", confbool(buf));
                                break;
                        case 58:
-                               CtdlSetConfigStr("c_master_user", buf);
+                               /* niu */
                                break;
                        case 59:
-                               CtdlSetConfigStr("c_master_pass", buf);
+                               /* niu */
                                break;
                        case 60:
                                CtdlSetConfigStr("c_pager_program", buf);