diff --git a/ChangeLog b/ChangeLog index 1116274b..c029e45f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,10 @@ $Id$ v0.35.05 19-Oct-2002 + upgrade: + Start mbsetup, go into global configuration, leave it and + save. + general: This may become release 0.36.00 There is now a mberrors.h file that defines all errorcodes @@ -22,7 +26,17 @@ v0.35.05 19-Oct-2002 the rar is used to unarchive instead of unrar when available, rar is compiled static and prefered. Added support for the nomarch unarchiver. + Removed from Screen 1.13 the unused switches Res Future and + Repl ext. Fixed some help texts. + Added in screen 1.14 settings for Plus All, Notify, Passwd and + Pause. + mbfido: + With ticfile processing, the KeepDate setup setting now works. + The FileMgr requests now honor the setting of the switches + Plus All, Notify, Passwd, Message, Tic on/off and Pause. + The AreaMgr reuqests now honor the setting of the switches + Plus All, Notify, Passwd and Pause. v0.35.04 29-Sep-2002 - 19-Oct-2002. diff --git a/lib/structs.h b/lib/structs.h index daf54649..1ce6cb94 100644 --- a/lib/structs.h +++ b/lib/structs.h @@ -668,15 +668,15 @@ struct sysconfig { /* TIC Processing */ unsigned ct_KeepDate : 1; /* Keep Filedate */ unsigned ct_KeepMgr : 1; /* Keep Mgr netmails */ - unsigned ct_ResFuture : 1; /* Reset Future filedates */ + unsigned xct_ResFuture : 1; /* Reset Future filedates */ unsigned ct_LocalRep : 1; /* Respond to local requests*/ - unsigned ct_ReplExt : 1; /* Replace Extension */ - unsigned ct_PlusAll : 1; /* Areamgr: allow +%* */ - unsigned ct_Notify : 1; /* Areamgr: Notify on/off */ - unsigned ct_Passwd : 1; /* Areamgr: Passwd change */ - unsigned ct_Message : 1; /* Areamgr: Msg file on/off */ - unsigned ct_TIC : 1; /* Areamgr: TIC files on/off*/ - unsigned ct_Pause : 1; /* Areamgr: Allow Pause */ + unsigned xct_ReplExt : 1; /* Replace Extension */ + unsigned ct_PlusAll : 1; /* Filemgr: allow +%* */ + unsigned ct_Notify : 1; /* Filemgr: Notify on/off */ + unsigned ct_Passwd : 1; /* Filemgr: Passwd change */ + unsigned ct_Message : 1; /* Filemgr: Msg file on/off */ + unsigned ct_TIC : 1; /* Filemgr: TIC files on/off*/ + unsigned ct_Pause : 1; /* Filemgr: Allow Pause */ char logfile[15]; /* System Logfile */ int OLR_MaxReq; /* Max nr of Freq's */ int tic_days; /* Keep on hold for n days */ @@ -799,6 +799,12 @@ struct sysconfig { char mgrlog[15]; /* Area/File-mgr logfile */ char aname[32][17]; /* Name of areas flags */ + + unsigned ca_PlusAll : 1; /* Areamgr: allow +%* */ + unsigned ca_Notify : 1; /* Areamgr: Notify on/off */ + unsigned ca_Passwd : 1; /* Areamgr: Passwd change */ + unsigned ca_Pause : 1; /* Areamgr: Allow Pause */ + unsigned ca_Check : 1; /* Flag for upgrade check */ }; diff --git a/mbfido/areamgr.c b/mbfido/areamgr.c index 000dc95e..07b1c0c0 100644 --- a/mbfido/areamgr.c +++ b/mbfido/areamgr.c @@ -1085,31 +1085,31 @@ int AreaMgr(faddr *f, faddr *t, char *replyid, char *subj, time_t mdate, int fla A_Msgs(Buf, 5); else if (!strncasecmp(Buf, "%rescan", 7)) A_Rescan(f, Buf, tmp); - else if (!strncasecmp(Buf, "%+all", 5)) + else if (!strncasecmp(Buf, "%+all", 5) && CFG.ca_PlusAll) A_All(f, TRUE, tmp, NULL); - else if (!strncasecmp(Buf, "%-all", 5)) + else if (!strncasecmp(Buf, "%-all", 5) && CFG.ca_PlusAll) A_All(f, FALSE, tmp, NULL); - else if (!strncasecmp(Buf, "%+*", 3)) + else if (!strncasecmp(Buf, "%+*", 3) && CFG.ca_PlusAll) A_All(f, TRUE, tmp, NULL); - else if (!strncasecmp(Buf, "%-*", 3)) + else if (!strncasecmp(Buf, "%-*", 3) && CFG.ca_PlusAll) A_All(f, FALSE, tmp, NULL); else if (!strncasecmp(Buf, "%+", 2)) A_Group(f, Buf, TRUE, tmp); else if (!strncasecmp(Buf, "%-", 2)) A_Group(f, Buf, FALSE, tmp); - else if (!strncasecmp(Buf, "%pause", 6)) + else if (!strncasecmp(Buf, "%pause", 6) && CFG.ca_Pause) A_Pause(f, TRUE, tmp); - else if (!strncasecmp(Buf, "%resume", 7)) + else if (!strncasecmp(Buf, "%resume", 7) && CFG.ca_Pause) A_Pause(f, FALSE, tmp); - else if (!strncasecmp(Buf, "%passive", 8)) + else if (!strncasecmp(Buf, "%passive", 8) && CFG.ca_Pause) A_Pause(f, TRUE, tmp); - else if (!strncasecmp(Buf, "%active", 7)) + else if (!strncasecmp(Buf, "%active", 7) && CFG.ca_Pause) A_Pause(f, FALSE, tmp); - else if (!strncasecmp(Buf, "%password", 9)) + else if (!strncasecmp(Buf, "%password", 9) && CFG.ca_Passwd) MgrPasswd(f, Buf, tmp, 9, 0); - else if (!strncasecmp(Buf, "%pwd", 4)) + else if (!strncasecmp(Buf, "%pwd", 4) && CFG.ca_Passwd) MgrPasswd(f, Buf, tmp, 4, 0); - else if (!strncasecmp(Buf, "%notify", 7)) + else if (!strncasecmp(Buf, "%notify", 7) && CFG.ca_Notify) MgrNotify(f, Buf, tmp, 0); else if (*(Buf) == '-') A_Disconnect(f, Buf, tmp); diff --git a/mbfido/filemgr.c b/mbfido/filemgr.c index 5cf0d447..f957a9bf 100644 --- a/mbfido/filemgr.c +++ b/mbfido/filemgr.c @@ -904,35 +904,35 @@ int FileMgr(faddr *f, faddr *t, char *replyid, char *subj, time_t mdate, int fla f_stat = TRUE; else if (!strncasecmp(Buf, "%unlinked", 9)) f_unlnk = TRUE; - else if (!strncasecmp(Buf, "%+all", 5)) + else if (!strncasecmp(Buf, "%+all", 5) && CFG.ct_PlusAll) F_All(f, TRUE, tmp, NULL); - else if (!strncasecmp(Buf, "%-all", 5)) + else if (!strncasecmp(Buf, "%-all", 5) && CFG.ct_PlusAll) F_All(f, FALSE, tmp, NULL); - else if (!strncasecmp(Buf, "%+*", 3)) + else if (!strncasecmp(Buf, "%+*", 3) && CFG.ct_PlusAll) F_All(f, TRUE, tmp, NULL); - else if (!strncasecmp(Buf, "%-*", 3)) + else if (!strncasecmp(Buf, "%-*", 3) && CFG.ct_PlusAll) F_All(f, FALSE, tmp, NULL); else if (!strncasecmp(Buf, "%+", 2)) F_Group(f, Buf, TRUE, tmp); else if (!strncasecmp(Buf, "%-", 2)) F_Group(f, Buf, FALSE, tmp); - else if (!strncasecmp(Buf, "%pause", 6)) + else if (!strncasecmp(Buf, "%pause", 6) && CFG.ct_Pause) F_Pause(f, TRUE, tmp); - else if (!strncasecmp(Buf, "%passive", 8)) + else if (!strncasecmp(Buf, "%passive", 8) && CFG.ct_Pause) F_Pause(f, TRUE, tmp); - else if (!strncasecmp(Buf, "%resume", 7)) + else if (!strncasecmp(Buf, "%resume", 7) && CFG.ct_Pause) F_Pause(f, FALSE, tmp); - else if (!strncasecmp(Buf, "%active", 7)) + else if (!strncasecmp(Buf, "%active", 7) && CFG.ct_Pause) F_Pause(f, FALSE, tmp); - else if (!strncasecmp(Buf, "%password", 9)) + else if (!strncasecmp(Buf, "%password", 9) && CFG.ct_Passwd) MgrPasswd(f, Buf, tmp, 9, 1); - else if (!strncasecmp(Buf, "%pwd", 4)) + else if (!strncasecmp(Buf, "%pwd", 4) && CFG.ct_Passwd) MgrPasswd(f, Buf, tmp, 4, 1); - else if (!strncasecmp(Buf, "%notify", 7)) + else if (!strncasecmp(Buf, "%notify", 7) && CFG.ct_Notify) MgrNotify(f, Buf, tmp, 1); - else if (!strncasecmp(Buf, "%message", 8)) + else if (!strncasecmp(Buf, "%message", 8) && CFG.ct_Message) F_Message(f, Buf, tmp); - else if (!strncasecmp(Buf, "%tick", 5)) + else if (!strncasecmp(Buf, "%tick", 5) && CFG.ct_TIC) F_Tick(f, Buf, tmp); else if (*(Buf) == '-') F_Disconnect(f, Buf, tmp); diff --git a/mbfido/ptic.c b/mbfido/ptic.c index ec699f12..a9229bd4 100644 --- a/mbfido/ptic.c +++ b/mbfido/ptic.c @@ -671,7 +671,7 @@ int ProcessTic(fa_list *sbl) * If the file is converted, we set the date of the original * received file as the file creation date. */ - if (MustRearc || DidBanner) { + if ((MustRearc || DidBanner) && CFG.ct_KeepDate) { if ((tic.Touch) && (tic.FileArea)) { ut.actime = mktime(localtime(&TIC.FileDate)); ut.modtime = mktime(localtime(&TIC.FileDate)); diff --git a/mbsetup/m_global.c b/mbsetup/m_global.c index f8702178..470920df 100644 --- a/mbsetup/m_global.c +++ b/mbsetup/m_global.c @@ -822,82 +822,79 @@ void e_flags(int Users) void e_ticconf(void) { - clr_index(); + clr_index(); + set_color(WHITE, BLACK); + mvprintw( 5, 6, "1.13 EDIT FILEECHO PROCESSING"); + set_color(CYAN, BLACK); + + mvprintw( 7, 2, "1. Keep days"); + mvprintw( 8, 2, "2. Hatch pwd"); + mvprintw( 9, 2, "3. Drv space"); + mvprintw(10, 2, "4. Systems"); + mvprintw(11, 2, "5. Groups"); + mvprintw(12, 2, "6. Max. dupes"); + mvprintw(13, 2, "7. Keep date"); + mvprintw(14, 2, "8. Keep netm"); + mvprintw(15, 2, "9. Loc resp"); + + mvprintw( 7,42, "10. Plus all"); + mvprintw( 8,42, "11. Notify"); + mvprintw( 9,42, "12. Passwd"); + mvprintw(10,42, "13. Message"); + mvprintw(11,42, "14. Tic on/off"); + mvprintw(12,42, "15. Pause"); + + for (;;) { set_color(WHITE, BLACK); - mvprintw( 5, 6, "1.13 EDIT FILEECHO PROCESSING"); - set_color(CYAN, BLACK); - mvprintw( 7, 2, "1. Keep days"); - mvprintw( 8, 2, "2. Hatch pwd"); - mvprintw( 9, 2, "3. Drv space"); - mvprintw(10, 2, "4. Systems"); - mvprintw(11, 2, "5. Groups"); - mvprintw(12, 2, "6. Max. dupes"); - mvprintw(13, 2, "7. Keep date"); - mvprintw(14, 2, "8. Keep netm"); - mvprintw(15, 2, "9. Res future"); - mvprintw(16, 2, "10. Loc resp"); + show_int( 7,18, CFG.tic_days); + show_str( 8,18,20, (char *)"********************"); + show_int( 9,18, CFG.drspace); + show_int(10,18, CFG.tic_systems); + show_int(11,18, CFG.tic_groups); + show_int(12,18, CFG.tic_dupes); + show_bool(13,18, CFG.ct_KeepDate); + show_bool(14,18, CFG.ct_KeepMgr); + show_bool(15,18, CFG.ct_LocalRep); + + show_bool( 7,58, CFG.ct_PlusAll); + show_bool( 8,58, CFG.ct_Notify); + show_bool( 9,58, CFG.ct_Passwd); + show_bool(10,58, CFG.ct_Message); + show_bool(11,58, CFG.ct_TIC); + show_bool(12,58, CFG.ct_Pause); - mvprintw( 7,42, "11. Repl ext"); - mvprintw( 8,42, "12. Plus all"); - mvprintw( 9,42, "13. Notify"); - mvprintw(10,42, "14. Passwd"); - mvprintw(11,42, "15. Message"); - mvprintw(12,42, "16. Tic on/off"); - mvprintw(13,42, "17. Pause"); + switch(select_menu(15)) { + case 0: return; - for (;;) { - set_color(WHITE, BLACK); + case 1: E_INT( 7,18, CFG.tic_days, "Number of days to ^keep^ files on hold.") + case 2: E_STR( 8,18,20, CFG.hatchpasswd, "Enter the internal ^hatch^ password.") + case 3: E_INT( 9,18, CFG.drspace, "Enter the minimal ^free drivespace^ in KBytes.") + case 4: CFG.tic_systems = edit_int(10,18, CFG.tic_systems, + (char *)"Enter the maximum number of ^connected systems^ in the database."); + if ((OpenTicarea() == 0)) + CloseTicarea(TRUE); + working(0, 0, 0); + break; + case 5: CFG.tic_groups = edit_int(11,18, CFG.tic_groups, + (char *)"Enter the maximum number of ^fileecho groups^ in the database."); + if ((OpenNoderec() == 0)) + CloseNoderec(TRUE); + working(0, 0, 0); + break; + case 6: E_INT( 12,18, CFG.tic_dupes, "Enter the maximum number of ^dupes^ in the dupe database.") - show_int( 7,18, CFG.tic_days); - show_str( 8,18,20, (char *)"********************"); - show_int( 9,18, CFG.drspace); - show_int(10,18, CFG.tic_systems); - show_int(11,18, CFG.tic_groups); - show_int(12,18, CFG.tic_dupes); - show_bool(13,18, CFG.ct_KeepDate); - show_bool(14,18, CFG.ct_KeepMgr); - show_bool(15,18, CFG.ct_ResFuture); - show_bool(16,18, CFG.ct_LocalRep); - show_bool( 7,58, CFG.ct_ReplExt); - show_bool( 8,58, CFG.ct_PlusAll); - show_bool( 9,58, CFG.ct_Notify); - show_bool(10,58, CFG.ct_Passwd); - show_bool(11,58, CFG.ct_Message); - show_bool(12,58, CFG.ct_TIC); - show_bool(13,58, CFG.ct_Pause); - - switch(select_menu(17)) { - case 0: return; - - case 1: E_INT( 7,18, CFG.tic_days, "Number of days to ^keep^ files on hold.") - case 2: E_STR( 8,18,20, CFG.hatchpasswd, "Enter the internal ^hatch^ password.") - case 3: E_INT( 9,18, CFG.drspace, "Enter the minimal ^free drivespace^ in KBytes.") - case 4: CFG.tic_systems = edit_int(10,18, CFG.tic_systems, (char *)"Enter the maximum number of ^connected systems^ in the database."); - if ((OpenTicarea() == 0)) - CloseTicarea(TRUE); - working(0, 0, 0); - break; - case 5: CFG.tic_groups = edit_int(11,18, CFG.tic_groups, (char *)"Enter the maximum number of ^fileecho groups^ in the database."); - if ((OpenNoderec() == 0)) - CloseNoderec(TRUE); - working(0, 0, 0); - break; - case 6: E_INT( 12,18, CFG.tic_dupes, "Enter the maximum number of ^dupes^ in the dupe database.") - - case 7: E_BOOL(13,18, CFG.ct_KeepDate, "^Keep^ original filedate on import") - case 8: E_BOOL(14,18, CFG.ct_KeepMgr, "Keep ^Areamgr^ netmails.") - case 9: E_BOOL(15,18, CFG.ct_ResFuture, "Reset ^future^ filedates.") - case 10:E_BOOL(16,18, CFG.ct_LocalRep, "Respond to local ^filesearch^ requests.") - case 11:E_BOOL( 7,58, CFG.ct_ReplExt, "Replace file ^extention^ to * during filesearch") - case 12:E_BOOL( 8,58, CFG.ct_PlusAll, "Allow ^+%*^ (Plus all) in areamgr requests.") - case 13:E_BOOL( 9,58, CFG.ct_Notify, "Allow turning ^notify^ messages on or off.") - case 14:E_BOOL(10,58, CFG.ct_Passwd, "Allow changing the areamgr ^password^.") - case 15:E_BOOL(11,58, CFG.ct_Message, "Allow turning areamgr ^messages^ on or off.") - case 16:E_BOOL(12,58, CFG.ct_TIC, "Allow turning ^TIC^ files on or off.") - case 17:E_BOOL(13,58, CFG.ct_Pause, "Allow the ^pause^ areamgr command.") - } - }; + case 7: E_BOOL(13,18, CFG.ct_KeepDate, "^Keep^ original filedate on import") + case 8: E_BOOL(14,18, CFG.ct_KeepMgr, "Keep ^Areamgr^ netmails.") + case 9: E_BOOL(15,18, CFG.ct_LocalRep, "Respond to local ^filesearch^ requests.") + case 10:E_BOOL( 7,58, CFG.ct_PlusAll, "Allow ^+%*^ (Plus all) in FileMgr requests.") + case 11:E_BOOL( 8,58, CFG.ct_Notify, "Allow turning ^Notify^ messages on or off.") + case 12:E_BOOL( 9,58, CFG.ct_Passwd, "Allow changing the AreaMgr/FileMgr ^password^.") + case 13:E_BOOL(10,58, CFG.ct_Message, "Allow turning FileMgr ^messages^ on or off.") + case 14:E_BOOL(11,58, CFG.ct_TIC, "Allow turning ^TIC^ files on or off.") + case 15:E_BOOL(12,58, CFG.ct_Pause, "Allow the ^Pause^ FileMgr command.") + } + } } @@ -905,80 +902,93 @@ void e_ticconf(void) void s_fidomailcfg(void); void s_fidomailcfg(void) { - clr_index(); - set_color(WHITE, BLACK); - mvprintw( 5, 5, "1.14 EDIT FIDONET MAIL AND ECHOMAIL PROCESSING"); - set_color(CYAN, BLACK); - mvprintw( 7, 2, "1. Badboard"); - mvprintw( 8, 2, "2. Dupeboard"); - mvprintw( 9, 2, "3. Pktdate"); - mvprintw(10, 2, "4. Max pkts."); - mvprintw(11, 2, "5. Max arcs."); - mvprintw(12, 2, "6. Keep days"); - mvprintw(13, 2, "7. Echo dupes"); - mvprintw(14, 2, "8. Reject old"); - mvprintw(15, 2, "9. Max msgs"); - mvprintw(16, 1, "10. Days old"); + clr_index(); + set_color(WHITE, BLACK); + mvprintw( 5, 5, "1.14 EDIT FIDONET MAIL AND ECHOMAIL PROCESSING"); + set_color(CYAN, BLACK); + mvprintw( 7, 2, "1. Badboard"); + mvprintw( 8, 2, "2. Dupeboard"); + mvprintw( 9, 2, "3. Pktdate"); + mvprintw(10, 2, "4. Max pkts."); + mvprintw(11, 2, "5. Max arcs."); + mvprintw(12, 2, "6. Keep days"); + mvprintw(13, 2, "7. Echo dupes"); + mvprintw(14, 2, "8. Reject old"); + mvprintw(15, 2, "9. Max msgs"); + mvprintw(16, 1, "10. Days old"); + mvprintw(17, 1, "11. Max systems"); + mvprintw(18, 1, "12. Max groups"); + + mvprintw(12,42, "13. 4d address"); + mvprintw(13,42, "14. Split at"); + mvprintw(14,42, "15. Force at"); + mvprintw(15,42, "16. Allow %+*"); + mvprintw(16,42, "17. Notify"); + mvprintw(17,42, "18. Passwd"); + mvprintw(18,42, "19. Pause"); - mvprintw(12,42, "11. Max systems"); - mvprintw(13,42, "12. Max groups"); - mvprintw(14,42, "13. 4d address"); - mvprintw(15,42, "14. Split at"); - mvprintw(16,42, "15. Force at"); - - set_color(WHITE, BLACK); - show_str( 7,16,64, CFG.badboard); - show_str( 8,16,64, CFG.dupboard); - show_str( 9,16,64, CFG.pktdate); - show_int( 10,16, CFG.maxpktsize); - show_int( 11,16, CFG.maxarcsize); - show_int( 12,16, CFG.toss_days); - show_int( 13,16, CFG.toss_dupes); - show_int( 14,16, CFG.toss_old); - show_int( 15,16, CFG.defmsgs); - show_int( 16,16, CFG.defdays); - - show_int( 12,58, CFG.toss_systems); - show_int( 13,58, CFG.toss_groups); - show_bool(14,58, CFG.addr4d); - show_int( 15,58, CFG.new_split); - show_int( 16,58, CFG.new_force); + set_color(WHITE, BLACK); + show_str( 7,16,64, CFG.badboard); + show_str( 8,16,64, CFG.dupboard); + show_str( 9,16,64, CFG.pktdate); + show_int( 10,16, CFG.maxpktsize); + show_int( 11,16, CFG.maxarcsize); + show_int( 12,16, CFG.toss_days); + show_int( 13,16, CFG.toss_dupes); + show_int( 14,16, CFG.toss_old); + show_int( 15,16, CFG.defmsgs); + show_int( 16,16, CFG.defdays); + show_int( 17,16, CFG.toss_systems); + show_int( 18,16, CFG.toss_groups); + + show_bool(12,58, CFG.addr4d); + show_int( 13,58, CFG.new_split); + show_int( 14,58, CFG.new_force); + show_bool(15,58, CFG.ca_PlusAll); + show_bool(16,58, CFG.ca_Notify); + show_bool(17,58, CFG.ca_Passwd); + show_bool(18,58, CFG.ca_Pause); } void e_fidomailcfg(void) { - s_fidomailcfg(); - for (;;) { - switch(select_menu(15)) { - case 0: return; - case 1: E_JAM( 7,16,64, CFG.badboard, "The path to the ^bad echomail^ board.") - case 2: E_JAM( 8,16,64, CFG.dupboard, "The path to the ^dupe echomail^ board.") - case 3: E_STR( 9,16,64, CFG.pktdate, "The filename and parameters to the ^pktdate^ program.") - case 4: E_INT( 10,16, CFG.maxpktsize, "The maximum size in KB for mail ^packets^, 0 if unlimited.") - case 5: E_INT( 11,16, CFG.maxarcsize, "The maximum size in KB for ^arcmail^ archives, 0 if unlimited.") - case 6: E_INT( 12,16, CFG.toss_days, "The number of ^days^ to keep mail on hold.") - case 7: E_INT( 13,16, CFG.toss_dupes, "The number of ^dupes^ to store in the echomail dupes database.") - case 8: E_INT( 14,16, CFG.toss_old, "^Reject^ mail older then days, 0 means never reject.") - case 9: E_INT( 15,16, CFG.defmsgs, "The default maximum number of ^messages^ in each mail area.") - case 10:E_INT( 16,16, CFG.defdays, "The default maximum ^age in days^ in each mail area.") - - case 11:CFG.toss_systems = edit_int(12,58, CFG.toss_systems, (char *)"The maximum number of connected ^systems^ in the database."); - if ((OpenMsgarea() == 0)) - CloseMsgarea(TRUE); - working(0, 0, 0); - break; - case 12:CFG.toss_groups = edit_int(13,58, CFG.toss_groups, (char *)"The maximum number of ^groups^ in the database."); - if ((OpenNoderec() == 0)) - CloseNoderec(TRUE); - working(0, 0, 0); - break; - case 13:E_BOOL(14,58, CFG.addr4d, "Use ^4d^ addressing instead of ^5d^ addressing.") - case 14:E_INT( 15,58, CFG.new_split, "Gently ^split^ newfiles reports after n kilobytes (12..60).") - case 15:E_INT( 16,58, CFG.new_force, "Force ^split^ of newfiles reports after n kilobytes (16..64).") - } - }; + s_fidomailcfg(); + for (;;) { + switch(select_menu(19)) { + case 0: return; + case 1: E_JAM( 7,16,64, CFG.badboard, "The path to the ^bad echomail^ board.") + case 2: E_JAM( 8,16,64, CFG.dupboard, "The path to the ^dupe echomail^ board.") + case 3: E_STR( 9,16,64, CFG.pktdate, "The filename and parameters to the ^pktdate^ program.") + case 4: E_INT( 10,16, CFG.maxpktsize, "The maximum size in KB for mail ^packets^, 0 if unlimited.") + case 5: E_INT( 11,16, CFG.maxarcsize, "The maximum size in KB for ^arcmail^ archives, 0 if unlimited.") + case 6: E_INT( 12,16, CFG.toss_days, "The number of ^days^ to keep mail on hold.") + case 7: E_INT( 13,16, CFG.toss_dupes, "The number of ^dupes^ to store in the echomail dupes database.") + case 8: E_INT( 14,16, CFG.toss_old, "^Reject^ mail older then days, 0 means never reject.") + case 9: E_INT( 15,16, CFG.defmsgs, "The default maximum number of ^messages^ in each mail area.") + case 10:E_INT( 16,16, CFG.defdays, "The default maximum ^age in days^ in each mail area.") + case 11:CFG.toss_systems = edit_int(17,16, CFG.toss_systems, + (char *)"The maximum number of connected ^systems^ in the database."); + if ((OpenMsgarea() == 0)) + CloseMsgarea(TRUE); + working(0, 0, 0); + break; + case 12:CFG.toss_groups = edit_int(18,16, CFG.toss_groups, + (char *)"The maximum number of ^groups^ in the database."); + if ((OpenNoderec() == 0)) + CloseNoderec(TRUE); + working(0, 0, 0); + break; + case 13:E_BOOL(12,58, CFG.addr4d, "Use ^4d^ addressing instead of ^5d^ addressing.") + case 14:E_INT( 13,58, CFG.new_split, "Gently ^split^ newfiles reports after n kilobytes (12..60).") + case 15:E_INT( 14,58, CFG.new_force, "Force ^split^ of newfiles reports after n kilobytes (16..64).") + case 16:E_BOOL(15,58, CFG.ca_PlusAll, "Allow ^+%*^ (Plus all) in AreaMgr requests.") + case 17:E_BOOL(16,58, CFG.ca_Notify, "Allow turning ^Notify^ messages on or off.") + case 18:E_BOOL(17,58, CFG.ca_Passwd, "Allow changing the AreaMgr/FileMgr ^password^.") + case 19:E_BOOL(18,58, CFG.ca_Pause, "Allow the ^Pause^ AreaMgr command.") + } + } } @@ -1622,6 +1632,16 @@ void global_menu(void) Syslog('+', "Main config, upgraded for manager security"); } + if (!CFG.ca_PlusAll && !CFG.ca_Notify && !CFG.ca_Passwd && !CFG.ca_Pause && !CFG.ca_Check) { + CFG.ca_PlusAll = TRUE; + CFG.ca_Notify = TRUE; + CFG.ca_Passwd = TRUE; + CFG.ca_Pause = TRUE; + CFG.ca_Check = TRUE; + Syslog('+', "Main config, upgraded for AreaMgr flags"); + } + + for (;;) { clr_index(); @@ -2006,15 +2026,13 @@ int global_doc(FILE *fp, FILE *toc, int page) fprintf(fp, " Max. dupes %ld\n", CFG.tic_dupes); fprintf(fp, " Keep filedate %s\n", getboolean(CFG.ct_KeepDate)); fprintf(fp, " Keep mgr netmail %s\n", getboolean(CFG.ct_KeepMgr)); - fprintf(fp, " Reset future dates %s\n", getboolean(CFG.ct_ResFuture)); fprintf(fp, " Local requests %s\n", getboolean(CFG.ct_LocalRep)); - fprintf(fp, " Replace extention %s\n", getboolean(CFG.ct_ReplExt)); - fprintf(fp, " Areamgr: allow +%%* %s\n", getboolean(CFG.ct_PlusAll)); - fprintf(fp, " Areamgr: notify %s\n", getboolean(CFG.ct_Notify)); - fprintf(fp, " Areamgr: passwd %s\n", getboolean(CFG.ct_Passwd)); - fprintf(fp, " Areamgr: message %s\n", getboolean(CFG.ct_Message)); - fprintf(fp, " Areamgr: TIC %s\n", getboolean(CFG.ct_TIC)); - fprintf(fp, " Areamgr: pause %s\n", getboolean(CFG.ct_Pause)); + fprintf(fp, " FileMgr: allow +%%* %s\n", getboolean(CFG.ct_PlusAll)); + fprintf(fp, " FileMgr: notify %s\n", getboolean(CFG.ct_Notify)); + fprintf(fp, " FileMgr: passwd %s\n", getboolean(CFG.ct_Passwd)); + fprintf(fp, " FileMgr: message %s\n", getboolean(CFG.ct_Message)); + fprintf(fp, " FileMgr: TIC %s\n", getboolean(CFG.ct_TIC)); + fprintf(fp, " FileMgr: pause %s\n", getboolean(CFG.ct_Pause)); page = newpage(fp, page); addtoc(fp, toc, 1, 15, page, (char *)"Fidonet Mail and Echomail processing"); @@ -2032,6 +2050,10 @@ int global_doc(FILE *fp, FILE *toc, int page) fprintf(fp, " Maximum systems %ld\n", CFG.toss_systems); fprintf(fp, " Maximum groups %ld\n", CFG.toss_groups); fprintf(fp, " Use 4d addressing %s\n", getboolean(CFG.addr4d)); + fprintf(fp, " AreaMgr: allow +%%* %s\n", getboolean(CFG.ca_PlusAll)); + fprintf(fp, " AreaMgr: notify %s\n", getboolean(CFG.ca_Notify)); + fprintf(fp, " AreaMgr: passwd %s\n", getboolean(CFG.ca_Passwd)); + fprintf(fp, " AreaMgr: pause %s\n", getboolean(CFG.ca_Pause)); addtoc(fp, toc, 1, 16, page, (char *)"Internet Mail and News processing"); diff --git a/mbtask/mbtask.c b/mbtask/mbtask.c index a1bb697e..67aa1011 100644 --- a/mbtask/mbtask.c +++ b/mbtask/mbtask.c @@ -300,8 +300,6 @@ void load_maincfg(void) /* * Fill ticconf defaults */ - CFG.ct_ResFuture = TRUE; - CFG.ct_ReplExt = TRUE; CFG.ct_PlusAll = TRUE; CFG.ct_Notify = TRUE; CFG.ct_Message = TRUE; @@ -335,6 +333,11 @@ void load_maincfg(void) CFG.UUCPgate.node = 875; sprintf(CFG.UUCPgate.domain, "fidonet"); CFG.nntpdupes = 16000; + CFG.ca_PlusAll = TRUE; + CFG.ca_Notify = TRUE; + CFG.ca_Passwd = TRUE; + CFG.ca_Pause = TRUE; + CFG.ca_Check = TRUE; for (i = 0; i < 32; i++) { sprintf(CFG.fname[i], "Flag %d", i+1); diff --git a/script/hatch b/script/hatch index 35982f2f..e5eee0cd 100644 --- a/script/hatch +++ b/script/hatch @@ -35,6 +35,7 @@ # HATCHPWD="DizIzMyBIGseeKret" INBOUND=$MBSE_ROOT/var/inbound +HVERSION="1.0.1" if [ "`id -un`" != "mbse" ]; then @@ -78,12 +79,24 @@ do echo -e "Enter description for $f (empty is skip file)" echo -n ": " read DESC + echo -e "Replace filename (empty is none)" + echo -n ": " + read REPL + echo -n "Magic filename (empty is no magic)" + echo -n ": " + read MAGIC if [ ! -z "$DESC" ]; then let i=i+1 FILE=$INBOUND/`$MBSE_ROOT/bin/mbseq`.tic echo "Hatch" > $FILE - echo "Created MBSE BBS hatch script v1.0.0" >> $FILE + echo "Created MBSE BBS hatch script v$HVERSION" >> $FILE echo "Area $GROUP" >> $FILE + if [ ! -z "$REPL" ]; then + echo "Replaces $REPL" >> $FILE + fi + if [ ! -z "$MAGIC" ]; then + echo "Magic $MAGIC" >> $FILE + fi echo "Origin $AKA" >> $FILE echo "From $AKA" >> $FILE echo "Fullname $f" >> $FILE