war on lhfs
[citadel.git] / citadel / control.c
index 6f3a1d7ec447bd53b2a92c933db4e79bb9b65c2c..a99bbf6f67f56d671539926c7b1b0ffae247a715 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-2021 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.
@@ -96,14 +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")) {
+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
+                       EachUser.usernum, CtdlGetConfigLong("MMnextuser"), EachUser.fullname
                );
                if (!sanity_diag_mode) {
-                       CtdlSetConfigLong("MMnextuser", EachUser->usernum);
+                       CtdlSetConfigLong("MMnextuser", EachUser.usernum);
                }
        }
 }
@@ -118,7 +123,7 @@ void migrate_legacy_control_record(void)
        struct legacy_ctrl_format c;
        memset(&c, 0, sizeof(c));
 
-       fp = fopen(file_citadel_control, "rb+");
+       fp = fopen("citadel.control", "rb+");
        if (fp != NULL) {
                syslog(LOG_INFO, "control: legacy format record found -- importing to db");
                fread(&c, sizeof(struct legacy_ctrl_format), 1, fp);
@@ -132,8 +137,8 @@ void migrate_legacy_control_record(void)
                CtdlSetConfigLong(      "MMfulltext",                   c.MMfulltext);
 
                fclose(fp);
-               if (unlink(file_citadel_control) != 0) {
-                       fprintf(stderr, "Unable to remove legacy control record %s after migrating it.\n", file_citadel_control);
+               if (unlink("citadel.control") != 0) {
+                       fprintf(stderr, "Unable to remove legacy control record after migrating it.\n");
                        fprintf(stderr, "Exiting to prevent data corruption.\n");
                        exit(CTDLEXIT_CONFIG);
                }
@@ -176,7 +181,7 @@ long get_new_message_number(void)
 /*
  * CtdlGetCurrentMessageNumber()  -  Obtain the current highest message number in the system
  * This provides a quick way to initialise a variable that might be used to indicate
- * messages that should not be processed. EG. a new Sieve script will use this
+ * messages that should not be processed.   For example, an inbox rules script will use this
  * to record determine that messages older than this should not be processed.
  *
  * (Why is this function here?  Can't we just go straight to the config variable it fetches?)
@@ -230,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)
 {
@@ -311,7 +312,7 @@ 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");
@@ -517,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));
@@ -790,10 +791,6 @@ void cmd_gvdn(char *argbuf)
 /*                      MODULE INITIALIZATION STUFF                          */
 /*****************************************************************************/
 
-void control_cleanup(void)
-{
-       DeleteHash(&CfgNameHash);
-}
 CTDL_MODULE_INIT(control)
 {
        if (!threading) {
@@ -805,8 +802,6 @@ CTDL_MODULE_INIT(control)
 
                CtdlRegisterProtoHook(cmd_gvdn, "GVDN", "get valid domain names");
                CtdlRegisterProtoHook(cmd_conf, "CONF", "get/set system configuration");
-               CtdlRegisterCleanupHook(control_cleanup);
-
        }
        /* return our id for the Log */
        return "control";