diff --git a/mbsetup/Makefile b/mbsetup/Makefile index 60c6aa79..61e85fde 100644 --- a/mbsetup/Makefile +++ b/mbsetup/Makefile @@ -76,7 +76,7 @@ m_fgroup.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../li m_lang.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h stlist.h m_global.h m_lang.h m_marea.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/msg.h screen.h mutil.h ledit.h grlist.h m_global.h m_node.h m_mgroup.h m_marea.h m_new.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h stlist.h m_global.h grlist.h m_new.h m_lang.h m_marea.h m_ngroup.h -m_protocol.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h screen.h mutil.h ledit.h stlist.h m_global.h m_protocol.h +m_protocol.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h ../paths.h screen.h mutil.h ledit.h stlist.h m_global.h m_protocol.h m_ticarea.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h stlist.h grlist.h m_global.h m_node.h m_fgroup.h m_farea.h m_archive.h m_ticarea.h mbsetup.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h m_global.h m_bbs.h m_farea.h m_fgroup.h m_mail.h m_mgroup.h m_hatch.h m_tic.h m_ticarea.h m_magic.h m_fido.h m_lang.h m_archive.h m_virus.h m_tty.h m_limits.h m_users.h m_node.h m_fdb.h m_new.h m_ol.h m_bbslist.h m_safe.h m_protocol.h m_ff.h m_modem.h m_marea.h m_ngroup.h m_service.h m_domain.h m_task.h ledit.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../lib/msg.h screen.h mutil.h ledit.h @@ -88,7 +88,7 @@ m_ngroup.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../li m_service.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h stlist.h m_global.h m_service.h m_tty.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h stlist.h m_modem.h m_global.h m_tty.h mutil.o: ../lib/libs.h ../lib/structs.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h -m_archive.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h stlist.h m_global.h m_archive.h +m_archive.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h ../paths.h screen.h mutil.h ledit.h stlist.h m_global.h m_archive.h m_fdb.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h m_global.h m_farea.h m_fdb.h m_global.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h m_node.h m_marea.h m_ticarea.h m_new.h m_global.h m_magic.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h stlist.h m_ticarea.h m_global.h m_magic.h @@ -104,7 +104,7 @@ m_mail.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/ m_modem.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h stlist.h m_global.h m_modem.h m_ol.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h m_global.h m_ol.h m_tic.o: ../lib/libs.h ../lib/structs.h ../lib/common.h screen.h mutil.h ledit.h m_fgroup.h m_ticarea.h m_magic.h m_hatch.h m_tic.h -m_virus.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h screen.h mutil.h ledit.h stlist.h m_global.h m_virus.h +m_virus.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/clcomm.h ../lib/common.h ../paths.h screen.h mutil.h ledit.h stlist.h m_global.h m_virus.h stlist.o: ../lib/libs.h ../lib/structs.h ../lib/common.h ../lib/clcomm.h stlist.h m_bbslist.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h m_global.h m_bbslist.h m_safe.o: ../lib/libs.h ../lib/structs.h ../lib/users.h ../lib/records.h ../lib/common.h ../lib/clcomm.h screen.h mutil.h ledit.h m_global.h m_safe.h diff --git a/mbsetup/m_archive.c b/mbsetup/m_archive.c index 53ec310f..a05bfc3b 100644 --- a/mbsetup/m_archive.c +++ b/mbsetup/m_archive.c @@ -34,6 +34,7 @@ #include "../lib/records.h" #include "../lib/common.h" #include "../lib/clcomm.h" +#include "../paths.h" #include "screen.h" #include "mutil.h" #include "ledit.h" @@ -64,101 +65,198 @@ int CountArchive(void) archiverhdr.recsize = sizeof(archiver); fwrite(&archiverhdr, sizeof(archiverhdr), 1, fil); /* - * Create default records + * Create default records. Archivers found during configure + * and installing this software are automatic enabled with the + * right paths. Others are meant as examples. */ memset(&archiver, 0, sizeof(archiver)); sprintf(archiver.comment, "ARC Version 5.21"); sprintf(archiver.name, "ARC"); - archiver.available = FALSE; - sprintf(archiver.marc, "/usr/bin/arc anw"); - sprintf(archiver.tarc, "/usr/bin/arc tnw"); - sprintf(archiver.funarc, "/usr/bin/arc xnw"); - sprintf(archiver.munarc, "/usr/bin/arc enw"); - sprintf(archiver.iunarc, "/usr/bin/arc enw"); + if (strlen(_PATH_ARC)) { + archiver.available = TRUE; + sprintf(archiver.marc, "%s anw", _PATH_ARC); + sprintf(archiver.tarc, "%s tnw", _PATH_ARC); + sprintf(archiver.funarc, "%s xnw", _PATH_ARC); + sprintf(archiver.munarc, "%s enw", _PATH_ARC); + sprintf(archiver.iunarc, "%s enw", _PATH_ARC); + } else { + archiver.available = FALSE; + sprintf(archiver.marc, "/usr/bin/arc anw"); + sprintf(archiver.tarc, "/usr/bin/arc tnw"); + sprintf(archiver.funarc, "/usr/bin/arc xnw"); + sprintf(archiver.munarc, "/usr/bin/arc enw"); + sprintf(archiver.iunarc, "/usr/bin/arc enw"); + } fwrite(&archiver, sizeof(archiver), 1, fil); memset(&archiver, 0, sizeof(archiver)); sprintf(archiver.comment, "LHarc"); sprintf(archiver.name, "LHA"); - archiver.available = FALSE; - sprintf(archiver.marc, "/usr/bin/lha aq"); - sprintf(archiver.tarc, "/usr/bin/lha tq"); - sprintf(archiver.funarc, "/usr/bin/lha xqf"); - sprintf(archiver.munarc, "/usr/bin/lha eqf"); - sprintf(archiver.iunarc, "/usr/bin/lha eqf"); + if (strlen(_PATH_LHA)) { + archiver.available = TRUE; + sprintf(archiver.marc, "%s aq", _PATH_LHA); + sprintf(archiver.tarc, "%s tq", _PATH_LHA); + sprintf(archiver.funarc, "%s xqf", _PATH_LHA); + sprintf(archiver.munarc, "%s eqf", _PATH_LHA); + sprintf(archiver.iunarc, "%s eqf", _PATH_LHA); + } else { + archiver.available = FALSE; + sprintf(archiver.marc, "/usr/bin/lha aq"); + sprintf(archiver.tarc, "/usr/bin/lha tq"); + sprintf(archiver.funarc, "/usr/bin/lha xqf"); + sprintf(archiver.munarc, "/usr/bin/lha eqf"); + sprintf(archiver.iunarc, "/usr/bin/lha eqf"); + } fwrite(&archiver, sizeof(archiver), 1, fil); memset(&archiver, 0, sizeof(archiver)); sprintf(archiver.comment, "RAR by Eugene Roshal"); sprintf(archiver.name, "RAR"); - archiver.available = FALSE; - sprintf(archiver.farc, "/usr/bin/rar a -y -r"); - sprintf(archiver.marc, "/usr/bin/rar a -y"); - sprintf(archiver.barc, "/usr/bin/rar c -y"); - sprintf(archiver.tarc, "/usr/bin/rar t -y"); - sprintf(archiver.funarc, "/usr/bin/unrar x -o+ -y -r"); - sprintf(archiver.munarc, "/usr/bin/unrar e -o+ -y"); - sprintf(archiver.iunarc, "/usr/bin/unrar e"); + if (strlen(_PATH_RAR) && strlen(_PATH_UNRAR)) + archiver.available = TRUE; + else + archiver.available = FALSE; + if (strlen(_PATH_RAR)) { + sprintf(archiver.farc, "%s a -y -r", _PATH_RAR); + sprintf(archiver.marc, "%s a -y", _PATH_RAR); + sprintf(archiver.barc, "%s c -y", _PATH_RAR); + sprintf(archiver.tarc, "%s t -y", _PATH_RAR); + } else { + sprintf(archiver.farc, "/usr/bin/rar a -y -r"); + sprintf(archiver.marc, "/usr/bin/rar a -y"); + sprintf(archiver.barc, "/usr/bin/rar c -y"); + sprintf(archiver.tarc, "/usr/bin/rar t -y"); + } + if (strlen(_PATH_UNRAR)) { + sprintf(archiver.funarc, "%s x -o+ -y -r", _PATH_UNRAR); + sprintf(archiver.munarc, "%s e -o+ -y", _PATH_UNRAR); + sprintf(archiver.iunarc, "%s e", _PATH_UNRAR); + } else { + sprintf(archiver.funarc, "/usr/bin/unrar x -o+ -y -r"); + sprintf(archiver.munarc, "/usr/bin/unrar e -o+ -y"); + sprintf(archiver.iunarc, "/usr/bin/unrar e"); + } fwrite(&archiver, sizeof(archiver), 1, fil); memset(&archiver, 0, sizeof(archiver)); sprintf(archiver.comment, "TAR the GNU version"); sprintf(archiver.name, "TAR"); - archiver.available = TRUE; - sprintf(archiver.farc, "/bin/tar cfz"); - sprintf(archiver.marc, "/bin/tar Afz"); - sprintf(archiver.tarc, "/bin/tar tfz"); - sprintf(archiver.funarc, "/bin/tar xfz"); - sprintf(archiver.munarc, "/bin/tar xfz"); - sprintf(archiver.iunarc, "/bin/tar xfz"); + if (strlen(_PATH_TAR)) { + archiver.available = TRUE; + sprintf(archiver.farc, "%s cfz", _PATH_TAR); + sprintf(archiver.marc, "%s Afz", _PATH_TAR); + sprintf(archiver.tarc, "%s tfz", _PATH_TAR); + sprintf(archiver.funarc, "%s xfz", _PATH_TAR); + sprintf(archiver.munarc, "%s xfz", _PATH_TAR); + sprintf(archiver.iunarc, "%s xfz", _PATH_TAR); + } else { + archiver.available = FALSE; + sprintf(archiver.farc, "/bin/tar cfz"); + sprintf(archiver.marc, "/bin/tar Afz"); + sprintf(archiver.tarc, "/bin/tar tfz"); + sprintf(archiver.funarc, "/bin/tar xfz"); + sprintf(archiver.munarc, "/bin/tar xfz"); + sprintf(archiver.iunarc, "/bin/tar xfz"); + } fwrite(&archiver, sizeof(archiver), 1, fil); memset(&archiver, 0, sizeof(archiver)); sprintf(archiver.comment, "UNARJ by Robert K Jung"); sprintf(archiver.name, "ARJ"); - archiver.available = FALSE; - sprintf(archiver.tarc, "/usr/bin/unarj t"); - sprintf(archiver.funarc, "/usr/bin/unarj x"); - sprintf(archiver.munarc, "/usr/bin/unarj e"); - sprintf(archiver.iunarc, "/usr/bin/unarj e"); + /* + * Even if it is found, we won't enable unarj if the + * Russion arj is found since that is more complete. + */ + if (strlen(_PATH_UNARJ) && (! strlen(_PATH_ARJ))) + archiver.available = TRUE; + else + archiver.available = FALSE; + if (strlen(_PATH_UNARJ)) { + sprintf(archiver.tarc, "%s t", _PATH_UNARJ); + sprintf(archiver.funarc, "%s x", _PATH_UNARJ); + sprintf(archiver.munarc, "%s e", _PATH_UNARJ); + sprintf(archiver.iunarc, "%s e", _PATH_UNARJ); + } else { + sprintf(archiver.tarc, "/usr/bin/unarj t"); + sprintf(archiver.funarc, "/usr/bin/unarj x"); + sprintf(archiver.munarc, "/usr/bin/unarj e"); + sprintf(archiver.iunarc, "/usr/bin/unarj e"); + } fwrite(&archiver, sizeof(archiver), 1, fil); memset(&archiver, 0, sizeof(archiver)); sprintf(archiver.comment, "ARJ from ARJ Software Russia"); sprintf(archiver.name, "ARJ"); - archiver.available = FALSE; - sprintf(archiver.farc, "/usr/bin/arj -2d -y -r a"); - sprintf(archiver.marc, "/usr/bin/arj -2d -y -e a"); - sprintf(archiver.barc, "/usr/bin/arj -2d -y c"); - sprintf(archiver.tarc, "/usr/bin/arj -y t"); - sprintf(archiver.funarc, "/usr/bin/arj -y x"); - sprintf(archiver.munarc, "/usr/bin/arj -y e"); - sprintf(archiver.iunarc, "/usr/bin/arj -y e"); + if (strlen(_PATH_ARJ)) { + archiver.available = TRUE; + sprintf(archiver.farc, "%s -2d -y -r a", _PATH_ARJ); + sprintf(archiver.marc, "%s -2d -y -e a", _PATH_ARJ); + sprintf(archiver.barc, "%s -2d -y c", _PATH_ARJ); + sprintf(archiver.tarc, "%s -y t", _PATH_ARJ); + sprintf(archiver.funarc, "%s -y x", _PATH_ARJ); + sprintf(archiver.munarc, "%s -y e", _PATH_ARJ); + sprintf(archiver.iunarc, "%s -y e", _PATH_ARJ); + } else { + archiver.available = FALSE; + sprintf(archiver.farc, "/usr/bin/arj -2d -y -r a"); + sprintf(archiver.marc, "/usr/bin/arj -2d -y -e a"); + sprintf(archiver.barc, "/usr/bin/arj -2d -y c"); + sprintf(archiver.tarc, "/usr/bin/arj -y t"); + sprintf(archiver.funarc, "/usr/bin/arj -y x"); + sprintf(archiver.munarc, "/usr/bin/arj -y e"); + sprintf(archiver.iunarc, "/usr/bin/arj -y e"); + } fwrite(&archiver, sizeof(archiver), 1, fil); memset(&archiver, 0, sizeof(archiver)); sprintf(archiver.comment, "ZIP and UNZIP by Info-ZIP"); sprintf(archiver.name, "ZIP"); - archiver.available = TRUE; - sprintf(archiver.farc, "/usr/bin/zip -r -q"); - sprintf(archiver.marc, "/usr/bin/zip -q"); - sprintf(archiver.barc, "/usr/bin/zip -z"); - sprintf(archiver.tarc, "/usr/bin/zip -T"); - sprintf(archiver.funarc, "/usr/bin/unzip -o -q"); - sprintf(archiver.munarc, "/usr/bin/unzip -o -j -L"); - sprintf(archiver.iunarc, "/usr/bin/unzip -o -j"); + if (strlen(_PATH_ZIP) && strlen(_PATH_UNZIP)) + archiver.available = TRUE; + else + archiver.available = FALSE; + if (strlen(_PATH_ZIP)) { + sprintf(archiver.farc, "%s -r -q", _PATH_ZIP); + sprintf(archiver.marc, "%s -q", _PATH_ZIP); + sprintf(archiver.barc, "%s -z", _PATH_ZIP); + sprintf(archiver.tarc, "%s -T", _PATH_ZIP); + } else { + sprintf(archiver.farc, "/usr/bin/zip -r -q"); + sprintf(archiver.marc, "/usr/bin/zip -q"); + sprintf(archiver.barc, "/usr/bin/zip -z"); + sprintf(archiver.tarc, "/usr/bin/zip -T"); + } + if (strlen(_PATH_UNZIP)) { + sprintf(archiver.funarc, "%s -o -q", _PATH_UNZIP); + sprintf(archiver.munarc, "%s -o -j -L", _PATH_UNZIP); + sprintf(archiver.iunarc, "%s -o -j", _PATH_UNZIP); + } else { + sprintf(archiver.funarc, "/usr/bin/unzip -o -q"); + sprintf(archiver.munarc, "/usr/bin/unzip -o -j -L"); + sprintf(archiver.iunarc, "/usr/bin/unzip -o -j"); + } fwrite(&archiver, sizeof(archiver), 1, fil); memset(&archiver, 0, sizeof(archiver)); sprintf(archiver.comment, "ZOO archiver"); sprintf(archiver.name, "ZOO"); - archiver.available = FALSE; - sprintf(archiver.farc, "/usr/bin/zoo aq"); - sprintf(archiver.marc, "/usr/bin/zoo aq:O"); - sprintf(archiver.barc, "/usr/bin/zoo aqC"); - sprintf(archiver.funarc, "/usr/bin/zoo xqO"); - sprintf(archiver.munarc, "/usr/bin/zoo eq:O"); - sprintf(archiver.iunarc, "/usr/bin/zoo eqO"); + if (strlen(_PATH_ZOO)) { + archiver.available = TRUE; + sprintf(archiver.farc, "%s aq", _PATH_ZOO); + sprintf(archiver.marc, "%s aq:O", _PATH_ZOO); + sprintf(archiver.barc, "%s aqC", _PATH_ZOO); + sprintf(archiver.funarc, "%s xqO", _PATH_ZOO); + sprintf(archiver.munarc, "%s eq:O", _PATH_ZOO); + sprintf(archiver.iunarc, "%s eqO", _PATH_ZOO); + } else { + archiver.available = FALSE; + sprintf(archiver.farc, "/usr/bin/zoo aq"); + sprintf(archiver.marc, "/usr/bin/zoo aq:O"); + sprintf(archiver.barc, "/usr/bin/zoo aqC"); + sprintf(archiver.funarc, "/usr/bin/zoo xqO"); + sprintf(archiver.munarc, "/usr/bin/zoo eq:O"); + sprintf(archiver.iunarc, "/usr/bin/zoo eqO"); + } fwrite(&archiver, sizeof(archiver), 1, fil); fclose(fil); diff --git a/mbsetup/m_node.c b/mbsetup/m_node.c index 5d65561c..f454fd20 100644 --- a/mbsetup/m_node.c +++ b/mbsetup/m_node.c @@ -150,8 +150,12 @@ int OpenNoderec(void) */ memset(&nodes, 0, sizeof(nodes)); while (fread(&nodes, oldsize, 1, fin) == 1) { + if (oldsize != sizeof(nodes)) { + strcpy(nodes.Spasswd, nodes.Epasswd); + } fwrite(&nodes, sizeof(nodes), 1, fout); memset(&nodes, 0, sizeof(nodes)); + /* * Copy the existing file groups */ @@ -361,32 +365,35 @@ void E_Mail(void) mvprintw( 5, 6, "7.14 EDIT NODE - MAIL PROCESSING"); set_color(CYAN, BLACK); mvprintw( 7, 6, "1. Session pwd"); - mvprintw( 8, 6, "2. Check PKT pwd"); - mvprintw( 9, 6, "3. UplMgr program"); - mvprintw(10, 6, "4. UplMgr passwd"); - mvprintw(11, 6, "5. Mail forward"); - mvprintw(12, 6, "6. ARCmail comp."); - mvprintw(13, 6, "7. ARCmail a..z"); + mvprintw( 8, 6, "2. PKT password"); + mvprintw( 9, 6, "3. Check PKT pwd"); + mvprintw(10, 6, "4. UplMgr program"); + mvprintw(11, 6, "5. UplMgr passwd"); + mvprintw(12, 6, "6. Mail forward"); + mvprintw(13, 6, "7. ARCmail comp."); + mvprintw(14, 6, "8. ARCmail a..z"); for (;;) { set_color(WHITE, BLACK); show_str( 7,25,15, (char *)"***************"); - show_bool(8,25, nodes.MailPwdCheck); - show_str( 9,25, 8, nodes.UplAmgrPgm); - show_str(10,25,15, (char *)"***************"); - show_bool(11,25, nodes.MailFwd); - show_bool(12,25, nodes.ARCmailCompat); - show_bool(13,25, nodes.ARCmailAlpha); + show_str( 8,25,15, (char *)"***************"); + show_bool(9,25, nodes.MailPwdCheck); + show_str(10,25, 8, nodes.UplAmgrPgm); + show_str(11,25,15, (char *)"***************"); + show_bool(12,25, nodes.MailFwd); + show_bool(13,25, nodes.ARCmailCompat); + show_bool(14,25, nodes.ARCmailAlpha); - switch(select_menu(7)) { + switch(select_menu(8)) { case 0: return; - case 1: E_STR( 7,25,15,nodes.Epasswd, "The ^Session/Mail password^ for this node") - case 2: E_BOOL( 8,25, nodes.MailPwdCheck, "Check the ^mail PKT^ password") - case 3: E_STR( 9,25, 8,nodes.UplAmgrPgm, "Name of the uplink ^areamanager program^") - case 4: E_STR( 10,25,15,nodes.UplAmgrPass, "Uplink ^areamanager password^ for this node") - case 5: E_BOOL(11,25, nodes.MailFwd, "^Forward^ echomail for this node") - case 6: E_BOOL(12,25, nodes.ARCmailCompat, "Use ^ARCmail 0.60^ file naming convention for out of zone mail") - case 7: E_BOOL(13,25, nodes.ARCmailAlpha, "Allow ^0..9 and a..z^ filename extensions for ARCmail archives") + case 1: E_STR( 7,25,15,nodes.Spasswd, "The ^Session password^ for this node") + case 2: E_STR( 8,25,15,nodes.Epasswd, "The ^Mail (.pkt)^ password^ for this node") + case 3: E_BOOL( 9,25, nodes.MailPwdCheck, "Check the ^mail PKT^ password") + case 4: E_STR( 10,25, 8,nodes.UplAmgrPgm, "Name of the uplink ^areamanager program^") + case 5: E_STR( 11,25,15,nodes.UplAmgrPass, "Uplink ^areamanager password^ for this node") + case 6: E_BOOL(12,25, nodes.MailFwd, "^Forward^ echomail for this node") + case 7: E_BOOL(13,25, nodes.ARCmailCompat, "Use ^ARCmail 0.60^ file naming convention for out of zone mail") + case 8: E_BOOL(14,25, nodes.ARCmailAlpha, "Allow ^0..9 and a..z^ filename extensions for ARCmail archives") } } } @@ -1162,7 +1169,8 @@ int node_doc(FILE *fp, FILE *toc, int page) fprintf(fp, " Language %c\n", nodes.Language); fprintf(fp, " Files passwd %s\n", nodes.Fpasswd); - fprintf(fp, " Session pwd %s\n", nodes.Epasswd); + fprintf(fp, " Session pwd %s\n", nodes.Spasswd); + fprintf(fp, " PKT password %s\n", nodes.Epasswd); fprintf(fp, " Areamgr pwd %s\n\n", nodes.Apasswd); fprintf(fp, " Uplink mgrs Program Password\n"); diff --git a/mbsetup/m_protocol.c b/mbsetup/m_protocol.c index ab344d8d..d94b5564 100644 --- a/mbsetup/m_protocol.c +++ b/mbsetup/m_protocol.c @@ -34,6 +34,7 @@ #include "../lib/records.h" #include "../lib/clcomm.h" #include "../lib/common.h" +#include "../paths.h" #include "screen.h" #include "mutil.h" #include "ledit.h" @@ -67,10 +68,16 @@ int CountProtocol(void) memset(&PROT, 0, sizeof(PROT)); sprintf(PROT.ProtKey, "1"); sprintf(PROT.ProtName, "Ymodem"); - sprintf(PROT.ProtUp, "/usr/bin/rb -v"); - sprintf(PROT.ProtDn, "/usr/bin/sb -v -u"); + if (strlen(_PATH_SB) && strlen(_PATH_RB)) { + sprintf(PROT.ProtUp, "%s -v", _PATH_RB); + sprintf(PROT.ProtDn, "%s -v -u", _PATH_SB); + PROT.Available = TRUE; + } else { + sprintf(PROT.ProtUp, "/usr/bin/rb -v"); + sprintf(PROT.ProtDn, "/usr/bin/sb -v -u"); + PROT.Available = FALSE; + } sprintf(PROT.Advice, "Press Ctrl-X to abort"); - PROT.Available = TRUE; PROT.Batch = TRUE; PROT.Efficiency = 92; fwrite(&PROT, sizeof(PROT), 1, fil); @@ -81,6 +88,7 @@ int CountProtocol(void) sprintf(PROT.ProtUp, "%s/bin/rf", getenv("MBSE_ROOT")); sprintf(PROT.ProtDn, "%s/bin/sf", getenv("MBSE_ROOT")); sprintf(PROT.Advice, "It goes before you know"); + PROT.Available = FALSE; PROT.Efficiency = 100; PROT.Batch = TRUE; fwrite(&PROT, sizeof(PROT), 1, fil); @@ -88,10 +96,16 @@ int CountProtocol(void) memset(&PROT, 0, sizeof(PROT)); sprintf(PROT.ProtKey, "Y"); sprintf(PROT.ProtName, "Ymodem 1K"); - sprintf(PROT.ProtUp, "/usr/bin/rb -k -v"); - sprintf(PROT.ProtDn, "/usr/bin/sb -k -v -u"); + if (strlen(_PATH_SB) && strlen(_PATH_RB)) { + sprintf(PROT.ProtUp, "%s -k -v", _PATH_RB); + sprintf(PROT.ProtDn, "%s -k -v -u", _PATH_SB); + PROT.Available = TRUE; + } else { + sprintf(PROT.ProtUp, "/usr/bin/rb -k -v"); + sprintf(PROT.ProtDn, "/usr/bin/sb -k -v -u"); + PROT.Available = FALSE; + } sprintf(PROT.Advice, "Press Ctrl-X to abort"); - PROT.Available = TRUE; PROT.Batch = TRUE; PROT.Efficiency = 95; fwrite(&PROT, sizeof(PROT), 1, fil); @@ -99,10 +113,16 @@ int CountProtocol(void) memset(&PROT, 0, sizeof(PROT)); sprintf(PROT.ProtKey, "Z"); sprintf(PROT.ProtName, "Zmodem"); - sprintf(PROT.ProtUp, "/usr/bin/rz -p -v"); - sprintf(PROT.ProtDn, "/usr/bin/sz -b -q -r -u"); + if (strlen(_PATH_SZ) && strlen(_PATH_RZ)) { + sprintf(PROT.ProtUp, "%s -p -v", _PATH_RZ); + sprintf(PROT.ProtDn, "%s -b -q -r -u", _PATH_SZ); + PROT.Available = TRUE; + } else { + sprintf(PROT.ProtUp, "/usr/bin/rz -p -v"); + sprintf(PROT.ProtDn, "/usr/bin/sz -b -q -r -u"); + PROT.Available = FALSE; + } sprintf(PROT.Advice, "Press Ctrl-X to abort"); - PROT.Available = TRUE; PROT.Batch = TRUE; PROT.Efficiency = 98; fwrite(&PROT, sizeof(PROT), 1, fil); diff --git a/mbsetup/m_virus.c b/mbsetup/m_virus.c index c606b289..76f46821 100644 --- a/mbsetup/m_virus.c +++ b/mbsetup/m_virus.c @@ -34,6 +34,7 @@ #include "../lib/records.h" #include "../lib/clcomm.h" #include "../lib/common.h" +#include "../paths.h" #include "screen.h" #include "mutil.h" #include "ledit.h" @@ -69,19 +70,37 @@ int CountVirus(void) */ memset(&virscan, 0, sizeof(virscan)); sprintf(virscan.comment, "AntiVir/Linux Scanner"); - sprintf(virscan.scanner, "/usr/bin/antivir"); + if (strlen(_PATH_ANTIVIR)) { + sprintf(virscan.scanner, "%s", _PATH_ANTIVIR); + virscan.available = TRUE; + } else { + sprintf(virscan.scanner, "/usr/bin/antivir"); + virscan.available = FALSE; + } sprintf(virscan.options, "-allfiles -s -q"); fwrite(&virscan, sizeof(virscan), 1, fil); memset(&virscan, 0, sizeof(virscan)); sprintf(virscan.comment, "F-Prot scanner"); - sprintf(virscan.scanner, "/usr/local/bin/f-prot ."); + if (strlen(_PATH_FPROT)) { + sprintf(virscan.scanner, "%s .", _PATH_FPROT); + virscan.available = TRUE; + } else { + sprintf(virscan.scanner, "/usr/local/bin/f-prot ."); + virscan.available = FALSE; + } sprintf(virscan.options, "-archive -silent"); fwrite(&virscan, sizeof(virscan), 1, fil); memset(&virscan, 0, sizeof(virscan)); sprintf(virscan.comment, "McAfee VirusScan for Linux"); - sprintf(virscan.scanner, "/usr/local/bin/uvscan"); + if (strlen(_PATH_UVSCAN)) { + sprintf(virscan.scanner, "%s", _PATH_UVSCAN); + virscan.available = TRUE; + } else { + sprintf(virscan.scanner, "/usr/local/bin/uvscan"); + virscan.available = FALSE; + } sprintf(virscan.options, "--noboot --noexpire -r --secure -"); fwrite(&virscan, sizeof(virscan), 1, fil);