]> code.citadel.org Git - citadel.git/blobdiff - citadel/control.c
* When sending a page that results in the receiver's Sent/Received Pages>
[citadel.git] / citadel / control.c
index 7666c53ab38c3762418498be4b491c757b866d8d..62b0ac2885bf8d12f245e656c9ed44a8901f42c5 100644 (file)
@@ -5,13 +5,28 @@
  *
  */
 
+#ifdef DLL_EXPORT
+#define IN_LIBCIT
+#endif
+
 #include "sysdep.h"
 #include <stdlib.h>
 #include <unistd.h>
 #include <stdio.h>
 #include <fcntl.h>
 #include <signal.h>
-#include <time.h>
+
+#if TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <time.h>
+#else
+# if HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <time.h>
+# endif
+#endif
+
 #include <ctype.h>
 #include <string.h>
 #include <errno.h>
 #include "citadel.h"
 #include "server.h"
 #include "control.h"
+#include "dynloader.h"
 #include "sysdep_decls.h"
 #include "support.h"
 #include "config.h"
 #include "msgbase.h"
+#include "citserver.h"
 #include "tools.h"
 #include "room_ops.h"
 
+#ifndef HAVE_SNPRINTF
+#include "snprintf.h"
+#endif
+
 struct CitControl CitControl;
 struct config config;
 FILE *control_fp = NULL;
@@ -132,16 +153,7 @@ void cmd_conf(char *argbuf) {
        char *confptr;
        char confname[SIZ];
 
-       if (!(CC->logged_in)) {
-               cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN);
-               return;
-               }
-
-       if (CC->usersupp.axlevel < 6) {
-               cprintf("%d Higher access required.\n",
-                       ERROR+HIGHER_ACCESS_REQUIRED);
-               return;
-               }
+       if (CtdlAccessCheck(ac_aide)) return;
 
        extract(cmd, argbuf, 0);
        if (!strcasecmp(cmd, "GET")) {
@@ -166,7 +178,7 @@ void cmd_conf(char *argbuf) {
                cprintf("%d\n", config.c_roompurge);
                cprintf("%s\n", config.c_logpages);
                cprintf("%d\n", config.c_createax);
-               cprintf("%d\n", config.c_maxmsglen);
+               cprintf("%ld\n", config.c_maxmsglen);
                cprintf("%d\n", config.c_min_workers);
                cprintf("%d\n", config.c_max_workers);
                cprintf("%d\n", config.c_pop3_port);
@@ -174,6 +186,9 @@ void cmd_conf(char *argbuf) {
                cprintf("%d\n", config.c_default_filter);
                cprintf("%d\n", config.c_aide_zap);
                cprintf("%d\n", config.c_imap_port);
+               cprintf("%ld\n", config.c_net_freq);
+               cprintf("%d\n", config.c_disable_newu);
+               cprintf("%d\n", config.c_aide_mailboxes);
                cprintf("000\n");
                }
 
@@ -265,6 +280,16 @@ void cmd_conf(char *argbuf) {
                                break;
                        case 27: config.c_imap_port = atoi(buf);
                                break;
+                       case 28: config.c_net_freq = atol(buf);
+                               break;
+                       case 29: config.c_disable_newu = atoi(buf);
+                               if (config.c_disable_newu != 0)
+                                       config.c_disable_newu = 1;
+                               break;
+                       case 30: config.c_aide_mailboxes = atoi(buf);
+                               if (config.c_aide_mailboxes != 0)
+                                       config.c_aide_mailboxes = 1;
+                               break;
                        }
                    ++a;
                    }
@@ -275,7 +300,7 @@ void cmd_conf(char *argbuf) {
                aide_message(buf);
 
                if (strlen(config.c_logpages) > 0)
-                       create_room(config.c_logpages, 3, "", 0);
+                       create_room(config.c_logpages, 3, "", 0, 1, 1);
                }
 
        else if (!strcasecmp(cmd, "GETSYS")) {