X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=textclient%2Fsrc%2Ftuiconfig.c;h=d89ab9ccf3c31baee83dd5ba24186d3550527032;hb=d4d8a13594b84a4a051066cd6c9856d194f63783;hp=ed2b953c4a5ae2dca13d67e75d2ea650b1b80e3f;hpb=7555d277f2ccfa8d3f484e5e1dc76e64284afe11;p=citadel.git diff --git a/textclient/src/tuiconfig.c b/textclient/src/tuiconfig.c index ed2b953c4..d89ab9ccf 100644 --- a/textclient/src/tuiconfig.c +++ b/textclient/src/tuiconfig.c @@ -1,7 +1,7 @@ /* * Configuration screens that are part of the text mode client. * - * Copyright (c) 1987-2012 by the citadel.org team + * Copyright (c) 1987-2017 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. @@ -39,16 +39,12 @@ #include #include #include "sysdep.h" -///#include "citadel.h" #include "citadel_ipc.h" #include "citadel_decls.h" #include "tuiconfig.h" #include "messages.h" #include "routines.h" #include "commands.h" -///#ifndef HAVE_SNPRINTF -///#include "snprintf.h" -///#endif #include "screen.h" /* work around solaris include files */ @@ -117,17 +113,11 @@ void do_system_configuration(CtdlIPC *ipc) /* Security parameters */ - snprintf(sc[7], sizeof sc[7], "%d", (boolprompt( - "Require registration for new users", - atoi(&sc[7][0])))); - snprintf(sc[29], sizeof sc[29], "%d", (boolprompt( - "Disable self-service user account creation", - atoi(&sc[29][0])))); + snprintf(sc[7], sizeof sc[7], "%d", (boolprompt("Require registration for new users", atoi(&sc[7][0])))); + snprintf(sc[29], sizeof sc[29], "%d", (boolprompt("Disable self-service user account creation", atoi(&sc[29][0])))); strprompt("Initial access level for new users", &sc[6][0], 1); strprompt("Access level required to create rooms", &sc[19][0], 1); - snprintf(sc[67], sizeof sc[67], "%d", (boolprompt( - "Allow anonymous guest logins", - atoi(&sc[67][0])))); + snprintf(sc[67], sizeof sc[67], "%d", (boolprompt("Allow anonymous guest logins", atoi(&sc[67][0])))); snprintf(sc[4], sizeof sc[4], "%d", (boolprompt( "Automatically give room admin privs to a user who creates a private room", atoi(&sc[4][0])))); @@ -185,6 +175,8 @@ void do_system_configuration(CtdlIPC *ipc) strprompt("SMTP MTA server port (-1 to disable)", &sc[24][0], 5); strprompt("SMTP MSA server port (-1 to disable)", &sc[38][0], 5); strprompt("SMTPS server port (-1 to disable)", &sc[41][0], 5); + strprompt("NNTP server port (-1 to disable)", &sc[70][0], 5); + strprompt("NNTPS server port (-1 to disable)", &sc[71][0], 5); strprompt("Postfix TCP Dictionary Port server port (-1 to disable)", &sc[50][0], 5); strprompt("ManageSieve server port (-1 to disable)", &sc[51][0], 5); @@ -197,8 +189,7 @@ void do_system_configuration(CtdlIPC *ipc) */ a = atoi(sc[25]); a = (a ? 0 : 1); - a = boolprompt("Correct forged From: lines during authenticated SMTP", - a); + a = boolprompt("Correct forged From: lines during authenticated SMTP", a); a = (a ? 0 : 1); snprintf(sc[25], sizeof sc[25], "%d", a); @@ -221,9 +212,6 @@ void do_system_configuration(CtdlIPC *ipc) snprintf(sc[57], sizeof sc[57], "%d", (boolprompt( "Perform RBL checks at greeting instead of after RCPT", atoi(&sc[57][0])))); - snprintf(sc[44], sizeof sc[44], "%d", (boolprompt( - "Instantly expunge deleted IMAP messages", - atoi(&sc[44][0])))); /* LDAP settings */ if (ipc->ServInfo.supports_ldap) { @@ -231,10 +219,8 @@ void do_system_configuration(CtdlIPC *ipc) a = (a ? 1 : 0); /* Set only to 1 or 0 */ a = boolprompt("Do you want to configure LDAP authentication?", a); if (a) { - strprompt("Host name of LDAP server", - &sc[32][0], 127); - strprompt("Port number of LDAP service", - &sc[33][0], 5); + strprompt("Host name of LDAP server", &sc[32][0], 127); + strprompt("Port number of LDAP service", &sc[33][0], 5); strprompt("Base DN", &sc[34][0], 255); strprompt("Bind DN (or blank for anonymous bind)", &sc[35][0], 255); strprompt("Password for bind DN (or blank for anonymous bind)", &sc[36][0], 255); @@ -320,22 +306,11 @@ void do_system_configuration(CtdlIPC *ipc) &sc[48][0], 127); } - /* Funambol push stuff */ - int yes_funambol = 0; - if (strlen(sc[53]) > 0) yes_funambol = 1; - yes_funambol = boolprompt("Connect to an external Funambol sync server", yes_funambol); - if (yes_funambol) { - strprompt("Funambol server (blank to disable)", &sc[53][0], 63); - strprompt("Funambol server port", &sc[54][0], 5); - strprompt("Funambol sync source", &sc[55][0], 63); - strprompt("Funambol authentication details (user:pass in Base64)", &sc[56][0],63); - } - else { - sc[53][0] = 0; - sc[54][0] = 0; - sc[55][0] = 0; - sc[56][0] = 0; - } + /* No more Funambol */ + sc[53][0] = 0; + sc[54][0] = 0; + sc[55][0] = 0; + sc[56][0] = 0; /* External pager stuff */ int yes_pager = 0; @@ -408,11 +383,10 @@ void get_inet_rec_type(CtdlIPC *ipc, char *buf) { keyopt(" <1> localhost (Alias for this computer)\n"); keyopt(" <2> smart host (Forward all outbound mail to this host)\n"); keyopt(" <3> fallback host (Send mail to this host only if direct delivery fails)\n"); - keyopt(" <4> directory (Consult the Global Address Book)\n"); - keyopt(" <5> SpamAssassin (Address of SpamAssassin server)\n"); - keyopt(" <6> RBL (domain suffix of spam hunting RBL)\n"); - keyopt(" <7> masq domains (Domains as which users are allowed to masquerade)\n"); - keyopt(" <8> ClamAV (Address of ClamAV clamd server)\n"); + keyopt(" <4> SpamAssassin (Address of SpamAssassin server)\n"); + keyopt(" <5> RBL (domain suffix of spam hunting RBL)\n"); + keyopt(" <6> masq domains (Domains as which users are allowed to masquerade)\n"); + keyopt(" <7> ClamAV (Address of ClamAV clamd server)\n"); sel = intprompt("Which one", 1, 1, 8); switch(sel) { case 1: strcpy(buf, "localhost"); @@ -421,15 +395,13 @@ void get_inet_rec_type(CtdlIPC *ipc, char *buf) { return; case 3: strcpy(buf, "fallbackhost"); return; - case 4: strcpy(buf, "directory"); + case 4: strcpy(buf, "spamassassin"); return; - case 5: strcpy(buf, "spamassassin"); + case 5: strcpy(buf, "rbl"); return; - case 6: strcpy(buf, "rbl"); + case 6: strcpy(buf, "masqdomain"); return; - case 7: strcpy(buf, "masqdomain"); - return; - case 8: strcpy(buf, "clamav"); + case 7: strcpy(buf, "clamav"); return; } } @@ -455,6 +427,13 @@ void do_internet_configuration(CtdlIPC *ipc) while (!IsEmptyStr(resp)) { extract_token(buf, resp, 0, '\n', sizeof buf); remove_token(resp, 0, '\n'); + + // VILE SLEAZY HACK: replace obsolete "directory" domains with "localhost" + char *d = strstr(buf, "|directory"); + if (d != NULL) { + strcpy(d, "|localhost"); + } + ++num_recs; if (num_recs == 1) recs = malloc(sizeof(char *)); else recs = realloc(recs, (sizeof(char *)) * num_recs); @@ -485,29 +464,29 @@ void do_internet_configuration(CtdlIPC *ipc) ch = keymenu("", "dd|elete|ave|uit"); switch(ch) { case 'a': - newprompt("Enter host name: ", - buf, 50); + newprompt("Enter host name: ", buf, 50); striplt(buf); if (!IsEmptyStr(buf)) { ++num_recs; - if (num_recs == 1) + if (num_recs == 1) { recs = malloc(sizeof(char *)); - else recs = realloc(recs, - (sizeof(char *)) * num_recs); + } + else { + recs = realloc(recs, (sizeof(char *)) * num_recs); + } strcat(buf, "|"); - get_inet_rec_type(ipc, - &buf[strlen(buf)]); + get_inet_rec_type(ipc, &buf[strlen(buf)]); recs[num_recs-1] = strdup(buf); } modified = 1; break; case 'd': - i = intprompt("Delete which one", - 1, 1, num_recs) - 1; + i = intprompt("Delete which one", 1, 1, num_recs) - 1; free(recs[i]); --num_recs; - for (j=i; j