Added switches for binkp CRC32 mode

This commit is contained in:
Michiel Broek 2003-08-10 11:27:31 +00:00
parent e29a28da8e
commit 5c51e9ec91
5 changed files with 93 additions and 79 deletions

View File

@ -10,12 +10,17 @@ v0.37.5 12-Jul-2003
upgrade: upgrade:
Check settings menu 1.5.21 for maximum allowed logins. Check settings menu 1.5.21 for maximum allowed logins.
global:
Added switches for binkp CRC mode in global and node records.
common.a: common.a:
Node locking tests for non-stale lockfiles older then 6 hours. Node locking tests for non-stale lockfiles older then 6 hours.
Added general code for prgram locking. Added general code for prgram locking.
mbcico: mbcico:
Implemented CRAM rev.4 change in binkp driver. Implemented CRAM rev.4 change in binkp driver.
Binkp now reports binkp 1.1, we were 1.1 compatible for a long
time already.
mbsebbs: mbsebbs:
Added check for maximum simultaneous logins. Added check for maximum simultaneous logins.
@ -29,6 +34,10 @@ v0.37.5 12-Jul-2003
Added menu entry 1.5.21 for setting maximum allowed logins. Added menu entry 1.5.21 for setting maximum allowed logins.
Added program locking, only one mbsetup can run at the same Added program locking, only one mbsetup can run at the same
time. time.
In menu 1.14 added global switch to disable binkp CRC32 file
transfers.
In menu 7.x.3 added a switch to enable binkp CRC32 file
transfers with this node.
mbtask: mbtask:
On new installations sets max logins to 1. On new installations sets max logins to 1.

View File

@ -718,7 +718,7 @@ struct sysconfig {
unsigned NoFreqs : 1; /* Don't allow requests */ unsigned NoFreqs : 1; /* Don't allow requests */
unsigned NoCall : 1; /* Don't call */ unsigned NoCall : 1; /* Don't call */
unsigned NoMD5 : 1; /* Don't do MD5 */ unsigned NoMD5 : 1; /* Don't do MD5 */
unsigned xNoPUA : 1; unsigned NoCRC32 : 1; /* Don't do CRC32 */
unsigned NoEMSI : 1; /* Don't do EMSI */ unsigned NoEMSI : 1; /* Don't do EMSI */
unsigned NoWazoo : 1; /* Don't do Yooho/2U2 */ unsigned NoWazoo : 1; /* Don't do Yooho/2U2 */
unsigned NoZmodem : 1; /* Don't do Zmodem */ unsigned NoZmodem : 1; /* Don't do Zmodem */
@ -1183,7 +1183,7 @@ struct _nodes {
unsigned xNoJanus : 1; /* Don't use Janus */ unsigned xNoJanus : 1; /* Don't use Janus */
unsigned NoHydra : 1; /* Don't use Hydra */ unsigned NoHydra : 1; /* Don't use Hydra */
unsigned xNoIBN : 1; unsigned CRC32 : 1; /* Allow binkp CRC32 */
unsigned PackNetmail : 1; /* Pack netmail */ unsigned PackNetmail : 1; /* Pack netmail */
unsigned ARCmailCompat : 1; /* ARCmail Compatibility */ unsigned ARCmailCompat : 1; /* ARCmail Compatibility */
unsigned ARCmailAlpha : 1; /* Allow a..z ARCmail name */ unsigned ARCmailAlpha : 1; /* Allow a..z ARCmail name */

View File

@ -425,7 +425,7 @@ void b_banner(void)
binkp_send_control(MM_NUL,"NDL %s", CFG.Flags); binkp_send_control(MM_NUL,"NDL %s", CFG.Flags);
t = time(NULL); t = time(NULL);
binkp_send_control(MM_NUL,"TIME %s", rfcdate(t)); binkp_send_control(MM_NUL,"TIME %s", rfcdate(t));
binkp_send_control(MM_NUL,"VER mbcico/%s/%s-%s binkp/1.0", VERSION, OsName(), OsCPU()); binkp_send_control(MM_NUL,"VER mbcico/%s/%s-%s binkp/1.1", VERSION, OsName(), OsCPU());
if (strlen(CFG.Phone)) if (strlen(CFG.Phone))
binkp_send_control(MM_NUL,"PHN %s", CFG.Phone); binkp_send_control(MM_NUL,"PHN %s", CFG.Phone);
if (strlen(CFG.comment)) if (strlen(CFG.comment))
@ -481,7 +481,7 @@ void b_nul(char *msg)
} }
if (strstr(msg, (char *)"CRC") != NULL) { if (strstr(msg, (char *)"CRC") != NULL) {
CRCflag = TRUE; CRCflag = TRUE;
Syslog('+', "Switching to CRC32 mode"); Syslog('+', "Remote supports CRC32 mode");
} }
} else } else
Syslog('+', "M_NUL \"%s\"", msg); Syslog('+', "M_NUL \"%s\"", msg);
@ -832,6 +832,7 @@ SM_STATE(waitaddr)
} }
if (CRCflag) { if (CRCflag) {
Syslog('b', "Remote supports CRC32"); Syslog('b', "Remote supports CRC32");
if (Loaded && nodes.CRC32)
binkp_send_control(MM_NUL,"OPT CRC"); binkp_send_control(MM_NUL,"OPT CRC");
} }

View File

@ -1225,29 +1225,30 @@ void s_mailer(void)
mvprintw(16, 2, "10. No EMSI session"); mvprintw(16, 2, "10. No EMSI session");
mvprintw(17, 2, "11. No Yooho/2U2"); mvprintw(17, 2, "11. No Yooho/2U2");
mvprintw(14,31, "12. No Zmodem"); mvprintw(13,31, "12. No Zmodem");
mvprintw(15,31, "13. No Zedzap"); mvprintw(14,31, "13. No Zedzap");
mvprintw(16,31, "14. No Hydra"); mvprintw(15,31, "14. No Hydra");
mvprintw(17,31, "15. No MD5"); mvprintw(16,31, "15. No MD5");
mvprintw(17,31, "16. No CRC32");
mvprintw(12,59, "16. Phonetrans 1-10"); mvprintw(12,59, "17. Phonetrans 1-10");
mvprintw(13,59, "17. Phonetrans 11-20"); mvprintw(13,59, "18. Phonetrans 11-20");
mvprintw(14,59, "18. Phonetrans 21-30"); mvprintw(14,59, "19. Phonetrans 21-30");
mvprintw(15,59, "19. Phonetrans 31-40"); mvprintw(15,59, "20. Phonetrans 31-40");
mvprintw(16,59, "20. Max. files"); mvprintw(16,59, "21. Max. files");
mvprintw(17,59, "21. Max. MB."); mvprintw(17,59, "22. Max. MB.");
} }
void e_trans(int start) void e_trans(int start, int item)
{ {
int i, j; int i, j;
char temp[21]; char temp[21];
clr_index(); clr_index();
set_color(WHITE, BLACK); set_color(WHITE, BLACK);
mvprintw( 5, 6, "1.14 EDIT PHONE TRANSLATION"); mvprintw( 5, 6, "1.14.%d EDIT PHONE TRANSLATION", item);
set_color(CYAN, BLACK); set_color(CYAN, BLACK);
mvprintw( 7, 12, "String to match String to replace"); mvprintw( 7, 12, "String to match String to replace");
for (i = 0; i < 10; i++) { for (i = 0; i < 10; i++) {
@ -1290,15 +1291,16 @@ void e_mailer(void)
show_bool(16,23, CFG.NoEMSI); show_bool(16,23, CFG.NoEMSI);
show_bool(17,23, CFG.NoWazoo); show_bool(17,23, CFG.NoWazoo);
show_bool(14,52, CFG.NoZmodem); show_bool(13,52, CFG.NoZmodem);
show_bool(15,52, CFG.NoZedzap); show_bool(14,52, CFG.NoZedzap);
show_bool(16,52, CFG.NoHydra); show_bool(15,52, CFG.NoHydra);
show_bool(17,52, CFG.NoMD5); show_bool(16,52, CFG.NoMD5);
show_bool(17,52, CFG.NoCRC32);
show_int( 16,75, CFG.Req_Files); show_int( 16,75, CFG.Req_Files);
show_int( 17,75, CFG.Req_MBytes); show_int( 17,75, CFG.Req_MBytes);
switch(select_menu(21)) { switch(select_menu(22)) {
case 0: return; case 0: return;
case 1: E_LOGL(CFG.cico_loglevel, "1.14.1", s_mailer) case 1: E_LOGL(CFG.cico_loglevel, "1.14.1", s_mailer)
case 2: E_STR( 8,23,20,CFG.Phone, "The mailer default ^phone number^ for this system") case 2: E_STR( 8,23,20,CFG.Phone, "The mailer default ^phone number^ for this system")
@ -1312,23 +1314,20 @@ void e_mailer(void)
case 10:E_BOOL(16,23, CFG.NoEMSI, "If set then ^EMSI handshake^ is diabled") case 10:E_BOOL(16,23, CFG.NoEMSI, "If set then ^EMSI handshake^ is diabled")
case 11:E_BOOL(17,23, CFG.NoWazoo, "If set then ^YooHoo/2U2^ (FTSC-0006) is disabled") case 11:E_BOOL(17,23, CFG.NoWazoo, "If set then ^YooHoo/2U2^ (FTSC-0006) is disabled")
case 12:E_BOOL(14,52, CFG.NoZmodem, "If set then the ^Zmodem^ protocol is disabled") case 12:E_BOOL(13,52, CFG.NoZmodem, "If set then the ^Zmodem^ protocol is disabled")
case 13:E_BOOL(15,52, CFG.NoZedzap, "If set then the ^Zedzap^ protocol is disabled") case 13:E_BOOL(14,52, CFG.NoZedzap, "If set then the ^Zedzap^ protocol is disabled")
case 14:E_BOOL(16,52, CFG.NoHydra, "If set then the ^Hydra^ protocol is disabled") case 14:E_BOOL(15,52, CFG.NoHydra, "If set then the ^Hydra^ protocol is disabled")
case 15:E_BOOL(17,52, CFG.NoMD5, "If set then no ^MD5 crypted^ passwords are used with binkp sessions") case 15:E_BOOL(16,52, CFG.NoMD5, "Disable ^MD5 crypted^ passwords with binkp sessions")
case 16:E_BOOL(17,52, CFG.NoCRC32, "Disable ^CRC32^ file transfers with binkp sessions")
case 16:e_trans(0); case 17:e_trans(0, 17); break;
break; case 18:e_trans(10, 18); break;
case 17:e_trans(10); case 19:e_trans(20, 19); break;
break; case 20:e_trans(30, 20); break;
case 18:e_trans(20); case 21:E_INT(16,75, CFG.Req_Files, "Maximum ^files^ to request, 0 is unlimited")
break; case 22:E_INT(17,75, CFG.Req_MBytes, "Maximum ^MBytes^ to request, 0 is unlimited")
case 19:e_trans(30); }
break;
case 20:E_INT(16,75, CFG.Req_Files, "Maximum ^files^ to request, 0 is unlimited")
case 21:E_INT(17,75, CFG.Req_MBytes, "Maximum ^MBytes^ to request, 0 is unlimited")
} }
};
} }
@ -1912,6 +1911,7 @@ int global_doc(FILE *fp, FILE *toc, int page)
fprintf(fp, " No Zedzap %s\n", getboolean(CFG.NoZedzap)); fprintf(fp, " No Zedzap %s\n", getboolean(CFG.NoZedzap));
fprintf(fp, " No Hydra %s\n", getboolean(CFG.NoHydra)); fprintf(fp, " No Hydra %s\n", getboolean(CFG.NoHydra));
fprintf(fp, " No MD5 passwords %s\n", getboolean(CFG.NoMD5)); fprintf(fp, " No MD5 passwords %s\n", getboolean(CFG.NoMD5));
fprintf(fp, " No CRC32 transfers %s\n", getboolean(CFG.NoCRC32));
fprintf(fp, " Max request files %d\n", CFG.Req_Files); fprintf(fp, " Max request files %d\n", CFG.Req_Files);
fprintf(fp, " Max request MBytes %d\n", CFG.Req_MBytes); fprintf(fp, " Max request MBytes %d\n", CFG.Req_MBytes);

View File

@ -795,12 +795,13 @@ void SessionScreen(void)
mvprintw(15, 6, "9. No EMSI"); mvprintw(15, 6, "9. No EMSI");
mvprintw(16, 6, "10. No YooHoo/2U2"); mvprintw(16, 6, "10. No YooHoo/2U2");
mvprintw(17, 6, "11. No Filerequest"); mvprintw(17, 6, "11. No Filerequest");
mvprintw(18, 6, "12. Don't call");
mvprintw(13,41, "12. Don't call");
mvprintw(14,41, "13. 8.3 names"); mvprintw(14,41, "13. 8.3 names");
mvprintw(15,41, "14. No Zmodem"); mvprintw(15,41, "14. No Zmodem");
mvprintw(16,41, "15. No Zedzap"); mvprintw(16,41, "15. No Zedzap");
mvprintw(17,41, "16. No Hydra"); mvprintw(17,41, "16. No Hydra");
mvprintw(18,41, "17. binkp CRC32");
} }
@ -823,14 +824,15 @@ void SessionEdit(void)
show_bool(15,26, nodes.NoEMSI); show_bool(15,26, nodes.NoEMSI);
show_bool(16,26, nodes.NoWaZOO); show_bool(16,26, nodes.NoWaZOO);
show_bool(17,26, nodes.NoFreqs); show_bool(17,26, nodes.NoFreqs);
show_bool(18,26, nodes.NoCall);
show_bool(13,61, nodes.NoCall);
show_bool(14,61, nodes.FNC); show_bool(14,61, nodes.FNC);
show_bool(15,61, nodes.NoZmodem); show_bool(15,61, nodes.NoZmodem);
show_bool(16,61, nodes.NoZedzap); show_bool(16,61, nodes.NoZedzap);
show_bool(17,61, nodes.NoHydra); show_bool(17,61, nodes.NoHydra);
show_bool(18,61, nodes.CRC32);
switch(select_menu(16)) { switch(select_menu(17)) {
case 0: return; case 0: return;
case 1: E_STR( 7,26,15, nodes.Spasswd, "The ^Session password^ for this node") case 1: E_STR( 7,26,15, nodes.Spasswd, "The ^Session password^ for this node")
case 2: E_STR( 8,26,40, nodes.dial, "If needed, give a special modem ^dial command^ for this node") case 2: E_STR( 8,26,40, nodes.dial, "If needed, give a special modem ^dial command^ for this node")
@ -845,12 +847,13 @@ void SessionEdit(void)
case 9: E_BOOL(15,26, nodes.NoEMSI, "Disable ^EMSI handshake^ with this node") case 9: E_BOOL(15,26, nodes.NoEMSI, "Disable ^EMSI handshake^ with this node")
case 10:E_BOOL(16,26, nodes.NoWaZOO, "Disable ^YooHoo/2U2 handshake^ (FTSC-0006) with this node") case 10:E_BOOL(16,26, nodes.NoWaZOO, "Disable ^YooHoo/2U2 handshake^ (FTSC-0006) with this node")
case 11:E_BOOL(17,26, nodes.NoFreqs, "Disallow ^file requests^ from this node") case 11:E_BOOL(17,26, nodes.NoFreqs, "Disallow ^file requests^ from this node")
case 12:E_BOOL(18,26, nodes.NoCall, "Don't ^call^ this node")
case 12:E_BOOL(13,61, nodes.NoCall, "Don't ^call^ this node")
case 13:E_BOOL(14,61, nodes.FNC, "Node needs ^DOS 8.3^ filenames") case 13:E_BOOL(14,61, nodes.FNC, "Node needs ^DOS 8.3^ filenames")
case 14:E_BOOL(15,61, nodes.NoZmodem, "Disable ^Zmodem^ protocol with this node") case 14:E_BOOL(15,61, nodes.NoZmodem, "Disable ^Zmodem^ protocol with this node")
case 15:E_BOOL(16,61, nodes.NoZedzap, "Disable ^Zedzap^ protocol with this node") case 15:E_BOOL(16,61, nodes.NoZedzap, "Disable ^Zedzap^ protocol with this node")
case 16:E_BOOL(17,61, nodes.NoHydra, "Disable ^Hydra^ protocol with this node") case 16:E_BOOL(17,61, nodes.NoHydra, "Disable ^Hydra^ protocol with this node")
case 17:E_BOOL(18,61, nodes.CRC32, "Enable ^binkp CRC32^ file transfers with this node")
} }
} }
} }
@ -1480,18 +1483,19 @@ int node_doc(FILE *fp, FILE *toc, int page)
fprintf(fp, " No Zmodem %s\n", getboolean(nodes.NoZmodem)); fprintf(fp, " No Zmodem %s\n", getboolean(nodes.NoZmodem));
fprintf(fp, " No Zedzap %s", getboolean(nodes.NoZedzap)); fprintf(fp, " No Zedzap %s", getboolean(nodes.NoZedzap));
fprintf(fp, " No Hydra %s", getboolean(nodes.NoHydra)); fprintf(fp, " No Hydra %s", getboolean(nodes.NoHydra));
fprintf(fp, " Mail forward %s\n", getboolean(nodes.MailFwd)); fprintf(fp, " binkp CRC32 %s\n", getboolean(nodes.CRC32));
fprintf(fp, " Mail forward %s", getboolean(nodes.MailFwd));
fprintf(fp, " Check mailpwd %s", getboolean(nodes.MailPwdCheck)); fprintf(fp, " Check mailpwd %s", getboolean(nodes.MailPwdCheck));
fprintf(fp, " ARCmail comp. %s", getboolean(nodes.ARCmailCompat)); fprintf(fp, " ARCmail comp. %s\n", getboolean(nodes.ARCmailCompat));
fprintf(fp, " ACRmail a..z %s\n", getboolean(nodes.ARCmailAlpha)); fprintf(fp, " ACRmail a..z %s", getboolean(nodes.ARCmailAlpha));
fprintf(fp, " Send message %s", getboolean(nodes.Message)); fprintf(fp, " Send message %s", getboolean(nodes.Message));
fprintf(fp, " Send .TIC %s", getboolean(nodes.Tic)); fprintf(fp, " Send .TIC %s\n", getboolean(nodes.Tic));
fprintf(fp, " File forward %s\n", getboolean(nodes.FileFwd)); fprintf(fp, " File forward %s", getboolean(nodes.FileFwd));
fprintf(fp, " Advanced TIC %s", getboolean(nodes.AdvTic)); fprintf(fp, " Advanced TIC %s", getboolean(nodes.AdvTic));
fprintf(fp, " Advanded SB %s", getboolean(nodes.TIC_AdvSB)); fprintf(fp, " Advanded SB %s\n", getboolean(nodes.TIC_AdvSB));
fprintf(fp, " Sent To lines %s\n", getboolean(nodes.TIC_To)); fprintf(fp, " Sent To lines %s", getboolean(nodes.TIC_To));
fprintf(fp, " Billing %s", getboolean(nodes.Billing)); fprintf(fp, " Billing %s", getboolean(nodes.Billing));
fprintf(fp, " Bill direct %s", getboolean(nodes.BillDirect)); fprintf(fp, " Bill direct %s\n", getboolean(nodes.BillDirect));
fprintf(fp, " Uplink add + %s\n", getboolean(nodes.AddPlus)); fprintf(fp, " Uplink add + %s\n", getboolean(nodes.AddPlus));
fprintf(fp, " Security flags %s\n\n", getflag(nodes.Security.flags, nodes.Security.notflags)); fprintf(fp, " Security flags %s\n\n", getflag(nodes.Security.flags, nodes.Security.notflags));