]> code.citadel.org Git - citadel.git/blobdiff - citadel/control.c
* extract_token() now expects to be supplied with the size of the
[citadel.git] / citadel / control.c
index ef507f6f3461fab89364e9d5625e54be4147e34f..a535192ed7633ae4a678ec0f57c8d9938f5ed7a2 100644 (file)
@@ -153,15 +153,15 @@ long get_new_room_number(void)
  */
 void cmd_conf(char *argbuf)
 {
-       char cmd[SIZ];
-       char buf[SIZ];
+       char cmd[16];
+       char buf[256];
        int a;
        char *confptr;
-       char confname[SIZ];
+       char confname[128];
 
        if (CtdlAccessCheck(ac_aide)) return;
 
-       extract(cmd, argbuf, 0);
+       extract_token(cmd, argbuf, 0, '|', sizeof cmd);
        if (!strcasecmp(cmd, "GET")) {
                cprintf("%d Configuration...\n", LISTING_FOLLOWS);
                cprintf("%s\n", config.c_nodename);
@@ -211,6 +211,9 @@ void cmd_conf(char *argbuf)
 #endif
                cprintf("%s\n", config.c_ip_addr);
                cprintf("%d\n", config.c_msa_port);
+               cprintf("%d\n", config.c_imaps_port);
+               cprintf("%d\n", config.c_pop3s_port);
+               cprintf("%d\n", config.c_smtps_port);
                cprintf("000\n");
        }
 
@@ -218,7 +221,7 @@ void cmd_conf(char *argbuf)
                unbuffer_output();
                cprintf("%d Send configuration...\n", SEND_LISTING);
                a = 0;
-               while (client_gets(buf), strcmp(buf, "000")) {
+               while (client_getln(buf, sizeof buf), strcmp(buf, "000")) {
                        switch (a) {
                        case 0:
                                safestrncpy(config.c_nodename, buf,
@@ -376,6 +379,15 @@ void cmd_conf(char *argbuf)
                        case 38:
                                config.c_msa_port = atoi(buf);
                                break;
+                       case 39:
+                               config.c_imaps_port = atoi(buf);
+                               break;
+                       case 40:
+                               config.c_pop3s_port = atoi(buf);
+                               break;
+                       case 41:
+                               config.c_smtps_port = atoi(buf);
+                               break;
                        }
                        ++a;
                }
@@ -390,7 +402,7 @@ void cmd_conf(char *argbuf)
        }
 
        else if (!strcasecmp(cmd, "GETSYS")) {
-               extract(confname, argbuf, 1);
+               extract_token(confname, argbuf, 1, '|', sizeof confname);
                confptr = CtdlGetSysConfig(confname);
                if (confptr != NULL) {
                        cprintf("%d %s\n", LISTING_FOLLOWS, confname);
@@ -406,7 +418,7 @@ void cmd_conf(char *argbuf)
        }
 
        else if (!strcasecmp(cmd, "PUTSYS")) {
-               extract(confname, argbuf, 1);
+               extract_token(confname, argbuf, 1, '|', sizeof confname);
                unbuffer_output();
                cprintf("%d %s\n", SEND_LISTING, confname);
                confptr = CtdlReadMessageBody("000",