Skip to content
Snippets Groups Projects
Commit 953fb85b authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Create the "Servers" configuration sub-menu, currently read-only

I'm surprised more people haven't wondered aloud: why are all the Synchronet
server settings in this huge sbbs.ini file? Well... this kind of answers that
question: it's a hell of a lot of settings! And this isn't even everything
(several advanced/rarely-used/borderline-deprecated settings aren't included)!

As part of this change, I've replaced the old date/time display with the
current config file path/name that's being edited (more or less). This will
help when a sysop has multiple sbbs.*.ini files and makes it clear if you have
multiple sbbs installs (like me), which one you're editing at any given time.

I have not implemented any of the server setting edits (other than a couple
simple toggles) or help text yet and this does not detect changes or save them
to the sbbs.ini file, but I wanted to get this committed at this stage anyway.
If you're running sbbsctrl.exe (or maybe even gtkmonitor), then maybe this is
completely redundant and unnecessary, but I figured it was good to have these
settings in one edit find/edit platform-agnostic location anyway. Hoepfully
this will (when its done) make SBBS for *nix just that much easier for a newbie
sysop/sysadmin.
parent ffe092b6
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #3973 failed
...@@ -9,6 +9,7 @@ OBJS = $(MTOBJODIR)/scfg$(OFILE)\ ...@@ -9,6 +9,7 @@ OBJS = $(MTOBJODIR)/scfg$(OFILE)\
$(MTOBJODIR)/scfgmsg$(OFILE)\ $(MTOBJODIR)/scfgmsg$(OFILE)\
$(MTOBJODIR)/scfgnet$(OFILE)\ $(MTOBJODIR)/scfgnet$(OFILE)\
$(MTOBJODIR)/scfgnode$(OFILE)\ $(MTOBJODIR)/scfgnode$(OFILE)\
$(MTOBJODIR)/scfgsrvr$(OFILE)\
$(MTOBJODIR)/scfgsub$(OFILE)\ $(MTOBJODIR)/scfgsub$(OFILE)\
$(MTOBJODIR)/scfgsys$(OFILE)\ $(MTOBJODIR)/scfgsys$(OFILE)\
$(MTOBJODIR)/scfgxfr1$(OFILE)\ $(MTOBJODIR)/scfgxfr1$(OFILE)\
...@@ -18,6 +19,7 @@ OBJS = $(MTOBJODIR)/scfg$(OFILE)\ ...@@ -18,6 +19,7 @@ OBJS = $(MTOBJODIR)/scfg$(OFILE)\
$(MTOBJODIR)/scfglib1$(OFILE)\ $(MTOBJODIR)/scfglib1$(OFILE)\
$(MTOBJODIR)/scfglib2$(OFILE)\ $(MTOBJODIR)/scfglib2$(OFILE)\
$(MTOBJODIR)/getctrl$(OFILE)\ $(MTOBJODIR)/getctrl$(OFILE)\
$(MTOBJODIR)/sbbs_ini$(OFILE)\
$(MTOBJODIR)/load_cfg$(OFILE)\ $(MTOBJODIR)/load_cfg$(OFILE)\
$(MTOBJODIR)/readtext$(OFILE)\ $(MTOBJODIR)/readtext$(OFILE)\
$(MTOBJODIR)/text_defaults$(OFILE)\ $(MTOBJODIR)/text_defaults$(OFILE)\
......
...@@ -362,12 +362,19 @@ void cfg_wizard(void) ...@@ -362,12 +362,19 @@ void cfg_wizard(void)
free_msgs_cfg(&cfg); free_msgs_cfg(&cfg);
} }
void display_filename(const char* fname)
{
if(strlen(fname) + 30 > uifc.scrn_width)
fname = getfname(fname);
uifc.printf(29, 1, uifc.bclr|(uifc.cclr<<4), "%*s", uifc.scrn_width - 30, fname);
}
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
char **mopt,*p; char **mopt,*p;
char errormsg[MAX_PATH*2]; char errormsg[MAX_PATH*2];
int i,j,main_dflt=0,chat_dflt=0; int i,j,main_dflt=0,chat_dflt=0;
char str[MAX_PATH+1]; char cfg_fname[MAX_PATH+1];
BOOL door_mode=FALSE; BOOL door_mode=FALSE;
int ciolib_mode=CIOLIB_MODE_AUTO; int ciolib_mode=CIOLIB_MODE_AUTO;
char compiler[32]; char compiler[32];
...@@ -647,20 +654,21 @@ int main(int argc, char **argv) ...@@ -647,20 +654,21 @@ int main(int argc, char **argv)
if((mopt[i]=(char *)malloc(64))==NULL) if((mopt[i]=(char *)malloc(64))==NULL)
allocfail(64); allocfail(64);
uifc.timedisplay = NULL;
SAFEPRINTF2(title,"Synchronet for %s v%s",PLATFORM_DESC,VERSION); SAFEPRINTF2(title,"Synchronet for %s v%s",PLATFORM_DESC,VERSION);
if(uifc.scrn(title)) { if(uifc.scrn(title)) {
printf(" USCRN (len=%d) failed!\n",uifc.scrn_len+1); printf(" USCRN (len=%d) failed!\n",uifc.scrn_len+1);
bail(1); bail(1);
} }
SAFEPRINTF(str,"%smain.ini",cfg.ctrl_dir); SAFEPRINTF(cfg_fname, "%smain.ini", cfg.ctrl_dir);
if(!fexist(str)) { if(!fexist(cfg_fname)) {
SAFEPRINTF(errormsg, "Main configuration file (%s) missing!",str); SAFEPRINTF(errormsg, "Main configuration file (%s) missing!", cfg_fname);
uifc.msg(errormsg); uifc.msg(errormsg);
} }
FILE* fp = iniOpenFile(str, /* for_modify */TRUE); FILE* fp = iniOpenFile(cfg_fname, /* for_modify */TRUE);
if(fp == NULL) { if(fp == NULL) {
SAFEPRINTF2(errormsg, "Error %d opening configuration file: %s", errno, str); SAFEPRINTF2(errormsg, "Error %d opening configuration file: %s", errno, cfg_fname);
uifc.msg(errormsg); uifc.msg(errormsg);
} else { } else {
cfg.new_install = iniReadBool(fp, ROOT_SECTION, "new_install", TRUE); cfg.new_install = iniReadBool(fp, ROOT_SECTION, "new_install", TRUE);
...@@ -672,10 +680,10 @@ int main(int argc, char **argv) ...@@ -672,10 +680,10 @@ int main(int argc, char **argv)
if(run_wizard) if(run_wizard)
bail(0); bail(0);
} }
i=0; i=0;
strcpy(mopt[i++],"Nodes"); strcpy(mopt[i++],"Nodes");
strcpy(mopt[i++],"System"); strcpy(mopt[i++],"System");
strcpy(mopt[i++],"Servers");
strcpy(mopt[i++],"Networks"); strcpy(mopt[i++],"Networks");
strcpy(mopt[i++],"File Areas"); strcpy(mopt[i++],"File Areas");
strcpy(mopt[i++],"File Options"); strcpy(mopt[i++],"File Options");
...@@ -689,6 +697,7 @@ int main(int argc, char **argv) ...@@ -689,6 +697,7 @@ int main(int argc, char **argv)
i = cryptInit(); i = cryptInit();
(void)i; (void)i;
while(1) { while(1) {
display_filename(cfg_fname);
uifc.helpbuf= uifc.helpbuf=
"`Main Configuration Menu:`\n" "`Main Configuration Menu:`\n"
"\n" "\n"
...@@ -697,6 +706,7 @@ int main(int argc, char **argv) ...@@ -697,6 +706,7 @@ int main(int argc, char **argv)
"\n" "\n"
" `Nodes ` Add, delete, or configure nodes\n" " `Nodes ` Add, delete, or configure nodes\n"
" `System ` System-wide configuration options\n" " `System ` System-wide configuration options\n"
" `Servers ` TCP/IP Servers and Services\n"
" `Networks ` Networking configuration\n" " `Networks ` Networking configuration\n"
" `File Areas ` File area configuration\n" " `File Areas ` File area configuration\n"
" `File Options ` File area options\n" " `File Options ` File area options\n"
...@@ -736,9 +746,12 @@ int main(int argc, char **argv) ...@@ -736,9 +746,12 @@ int main(int argc, char **argv)
free_main_cfg(&cfg); free_main_cfg(&cfg);
break; break;
case 2: case 2:
net_cfg(); server_cfg();
break; break;
case 3: case 3:
net_cfg();
break;
case 4:
if(!load_main_cfg(&cfg, error, sizeof(error))) { if(!load_main_cfg(&cfg, error, sizeof(error))) {
SAFEPRINTF(errormsg,"ERROR: %s",error); SAFEPRINTF(errormsg,"ERROR: %s",error);
uifc.msg(errormsg); uifc.msg(errormsg);
...@@ -753,7 +766,7 @@ int main(int argc, char **argv) ...@@ -753,7 +766,7 @@ int main(int argc, char **argv)
free_file_cfg(&cfg); free_file_cfg(&cfg);
free_main_cfg(&cfg); free_main_cfg(&cfg);
break; break;
case 4: case 5:
if(!load_main_cfg(&cfg, error, sizeof(error))) { if(!load_main_cfg(&cfg, error, sizeof(error))) {
SAFEPRINTF(errormsg,"ERROR: %s",error); SAFEPRINTF(errormsg,"ERROR: %s",error);
uifc.msg(errormsg); uifc.msg(errormsg);
...@@ -768,7 +781,7 @@ int main(int argc, char **argv) ...@@ -768,7 +781,7 @@ int main(int argc, char **argv)
free_file_cfg(&cfg); free_file_cfg(&cfg);
free_main_cfg(&cfg); free_main_cfg(&cfg);
break; break;
case 5: case 6:
if(!load_chat_cfg(&cfg, error, sizeof(error))) { if(!load_chat_cfg(&cfg, error, sizeof(error))) {
SAFEPRINTF(errormsg,"ERROR: %s",error); SAFEPRINTF(errormsg,"ERROR: %s",error);
uifc.msg(errormsg); uifc.msg(errormsg);
...@@ -814,7 +827,7 @@ int main(int argc, char **argv) ...@@ -814,7 +827,7 @@ int main(int argc, char **argv)
} }
free_chat_cfg(&cfg); free_chat_cfg(&cfg);
break; break;
case 6: case 7:
if(!load_main_cfg(&cfg, error, sizeof(error))) { if(!load_main_cfg(&cfg, error, sizeof(error))) {
SAFEPRINTF(errormsg, "ERROR: %s",error); SAFEPRINTF(errormsg, "ERROR: %s",error);
uifc.msg(errormsg); uifc.msg(errormsg);
...@@ -829,7 +842,7 @@ int main(int argc, char **argv) ...@@ -829,7 +842,7 @@ int main(int argc, char **argv)
free_msgs_cfg(&cfg); free_msgs_cfg(&cfg);
free_main_cfg(&cfg); free_main_cfg(&cfg);
break; break;
case 7: case 8:
if(!load_main_cfg(&cfg, error, sizeof(error))) { if(!load_main_cfg(&cfg, error, sizeof(error))) {
SAFEPRINTF(errormsg, "ERROR: %s",error); SAFEPRINTF(errormsg, "ERROR: %s",error);
uifc.msg(errormsg); uifc.msg(errormsg);
...@@ -844,7 +857,7 @@ int main(int argc, char **argv) ...@@ -844,7 +857,7 @@ int main(int argc, char **argv)
free_msgs_cfg(&cfg); free_msgs_cfg(&cfg);
free_main_cfg(&cfg); free_main_cfg(&cfg);
break; break;
case 8: case 9:
if(!load_main_cfg(&cfg, error, sizeof(error))) { if(!load_main_cfg(&cfg, error, sizeof(error))) {
SAFEPRINTF(errormsg, "ERROR: %s",error); SAFEPRINTF(errormsg, "ERROR: %s",error);
uifc.msg(errormsg); uifc.msg(errormsg);
...@@ -853,7 +866,7 @@ int main(int argc, char **argv) ...@@ -853,7 +866,7 @@ int main(int argc, char **argv)
shell_cfg(); shell_cfg();
free_main_cfg(&cfg); free_main_cfg(&cfg);
break; break;
case 9: case 10:
if(!load_main_cfg(&cfg, error, sizeof(error))) { if(!load_main_cfg(&cfg, error, sizeof(error))) {
SAFEPRINTF(errormsg, "ERROR: %s",error); SAFEPRINTF(errormsg, "ERROR: %s",error);
uifc.msg(errormsg); uifc.msg(errormsg);
...@@ -868,7 +881,7 @@ int main(int argc, char **argv) ...@@ -868,7 +881,7 @@ int main(int argc, char **argv)
free_xtrn_cfg(&cfg); free_xtrn_cfg(&cfg);
free_main_cfg(&cfg); free_main_cfg(&cfg);
break; break;
case 10: case 11:
if(!load_main_cfg(&cfg, error, sizeof(error))) { if(!load_main_cfg(&cfg, error, sizeof(error))) {
SAFEPRINTF(errormsg, "ERROR: %s",error); SAFEPRINTF(errormsg, "ERROR: %s",error);
uifc.msg(errormsg); uifc.msg(errormsg);
......
...@@ -115,6 +115,7 @@ extern char* area_sort_desc[AREA_SORT_TYPES+1]; ...@@ -115,6 +115,7 @@ extern char* area_sort_desc[AREA_SORT_TYPES+1];
/* Function Prototypes */ /* Function Prototypes */
/***********************/ /***********************/
void display_filename(const char*);
void bail(int code); void bail(int code);
void errormsg(int line, const char* function, const char *source, const char* action, const char *object, ulong access); void errormsg(int line, const char* function, const char *source, const char* action, const char *object, ulong access);
void clearptrs(int subnum); void clearptrs(int subnum);
...@@ -146,6 +147,7 @@ void init_mdms(void); ...@@ -146,6 +147,7 @@ void init_mdms(void);
void guru_cfg(void); void guru_cfg(void);
void actsets_cfg(void); void actsets_cfg(void);
void chan_cfg(void); void chan_cfg(void);
void server_cfg(void);
void mdm_cfg(int mdmnum); void mdm_cfg(int mdmnum);
void wizard_msg(int page, int total, const char* text); void wizard_msg(int page, int total, const char* text);
int edit_sys_name(int page, int total); int edit_sys_name(int page, int total);
......
...@@ -36,6 +36,7 @@ void node_menu() ...@@ -36,6 +36,7 @@ void node_menu()
static int node_menu_dflt, node_bar; static int node_menu_dflt, node_bar;
while(1) { while(1) {
display_filename("");
for(i=0;i<cfg.sys_nodes;i++) for(i=0;i<cfg.sys_nodes;i++)
sprintf(opt[i],"Node %d",i+1); sprintf(opt[i],"Node %d",i+1);
opt[i][0]=0; opt[i][0]=0;
...@@ -155,6 +156,9 @@ void node_menu() ...@@ -155,6 +156,9 @@ void node_menu()
cfg.node_num = i + 1; /* so fix it */ cfg.node_num = i + 1; /* so fix it */
save_node_cfg(&cfg, backup_level); /* and write it back */ save_node_cfg(&cfg, backup_level); /* and write it back */
} }
char cfg_fname[MAX_PATH + 1];
SAFEPRINTF(cfg_fname, "%snode.ini", cfg.node_dir);
display_filename(cfg_fname);
node_cfg(); node_cfg();
free_node_cfg(&cfg); free_node_cfg(&cfg);
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment