*/
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);
cprintf("\n");
#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");
}
else if (!strcasecmp(cmd, "SET")) {
+ unbuffer_output();
cprintf("%d Send configuration...\n", SEND_LISTING);
- flush_output();
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,
case 37:
safestrncpy(config.c_ip_addr, buf,
sizeof config.c_ip_addr);
+ 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;
}
aide_message(buf);
if (strlen(config.c_logpages) > 0)
- create_room(config.c_logpages, 3, "", 0, 1, 1);
+ create_room(config.c_logpages, 3, "", 0, 1, 1, VIEW_BBS);
}
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);
}
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);
- flush_output();
confptr = CtdlReadMessageBody("000",
config.c_maxmsglen, NULL, 0);
CtdlPutSysConfig(confname, confptr);