+ else if (!strcasecmp(cmd, "GETVAL")) {
+ extract_token(confname, argbuf, 1, '|', sizeof confname);
+ char *v = CtdlGetConfigStr(confname);
+ if (v) {
+ cprintf("%d|%s|\n", CIT_OK, v);
+ }
+ else {
+ cprintf("%d||\n", ERROR);
+ }
+ }
+
+ else if (!strcasecmp(cmd, "PUTVAL")) {
+ if (num_tokens(argbuf, '|') < 3) {
+ cprintf("%d name and value required\n", ERROR);
+ }
+ else {
+ extract_token(confname, argbuf, 1, '|', sizeof confname);
+ extract_token(buf, argbuf, 2, '|', sizeof buf);
+ CtdlSetConfigStr(confname, buf);
+ cprintf("%d setting '%s' to '%s'\n", CIT_OK, confname, buf);
+ }
+ }
+