Session setup handshake changes

This commit is contained in:
Michiel Broek 2003-08-23 19:02:25 +00:00
parent d90c04b69b
commit c519afe9dc
3 changed files with 20 additions and 27 deletions

View File

@ -7,8 +7,8 @@ $Id$
WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !! WARNING !!
WARNING, users of Sparc and HP-PA systems should be carefull, some WARNING, users of Sparc and HP-PA systems should be carefull, some bbs
menus do not work. menus do not work. All other programs do work on all platforms.
All other users on Intel machines (99,9% I think) can use this version. All other users on Intel machines (99,9% I think) can use this version.
v0.37.6 10-Aug-2003 v0.37.6 10-Aug-2003
@ -28,6 +28,7 @@ v0.37.6 10-Aug-2003
The other goodie is that this is more safe on busy multiline The other goodie is that this is more safe on busy multiline
systems. systems.
Fixed the binkp escape sequence which is wrong in the FSP. Fixed the binkp escape sequence which is wrong in the FSP.
A light improvement in session handshake setup timers.
v0.37.5 12-Jul-2003 - 10-Aug-2003 v0.37.5 12-Jul-2003 - 10-Aug-2003

4
TODO
View File

@ -106,7 +106,7 @@ mbfido:
mbcico: mbcico:
N: See if it is possible with binkp protocol to resume aborted N: See if it is possible with binkp protocol to resume aborted
transfers. -- ND option ?? transfers. Changes are under test now. Feedback needed!
N: Implement binkp resync when getting files. Transmit works. N: Implement binkp resync when getting files. Transmit works.
@ -136,7 +136,7 @@ mbindex:
X: Add usernames index. X: Add usernames index.
mbnewusr: mbnewusr:
N: On NetBSD, supress error message from mbpasswd. L: On NetBSD, supress error message from mbpasswd.
-- Currently no access to my old Sun Sparcstation. -- Currently no access to my old Sun Sparcstation.
mbsetup: mbsetup:

View File

@ -262,7 +262,6 @@ SM_STATE(wake)
SM_STATE(waitchar) SM_STATE(waitchar)
Syslog('s', "tx_define_type WAITCHAR");
if ((c = GETCHAR(2)) == TIMEOUT) { if ((c = GETCHAR(2)) == TIMEOUT) {
standby = 0; standby = 0;
ep = ebuf; ep = ebuf;
@ -349,7 +348,6 @@ SM_STATE(nextchar)
SM_STATE(checkintro) SM_STATE(checkintro)
Syslog('s', "tx_define_type CHECKINTRO");
Syslog('i', "Check \"%s\" for being EMSI request",ebuf); Syslog('i', "Check \"%s\" for being EMSI request",ebuf);
if (((localoptions & NOEMSI) == 0) && (strncasecmp(ebuf,"EMSI_REQA77E",12) == 0)) { if (((localoptions & NOEMSI) == 0) && (strncasecmp(ebuf,"EMSI_REQA77E",12) == 0)) {
@ -415,13 +413,12 @@ SM_EDECL
ep=ebuf; ep=ebuf;
RESETTIMERS(); RESETTIMERS();
SETTIMER(0, 60); SETTIMER(0, 60);
Syslog('s', "rxdefine_type INIT");
SM_START(sendintro) SM_START(sendintro)
SM_STATE(sendintro) SM_STATE(sendintro)
Syslog('s', "rxdefine_type SENDINTRO"); Syslog('s', "rxdefine_type SENDINTRO count=%d", count);
if (count++ > 6) { if (count++ > 6) {
Syslog('+', "Too many tries to get anything from the caller"); Syslog('+', "Too many tries to get anything from the caller");
SM_ERROR; SM_ERROR;
@ -434,18 +431,18 @@ SM_STATE(sendintro)
if ((localoptions & NOEMSI) == 0) { if ((localoptions & NOEMSI) == 0) {
PUTSTR((char *)"**EMSI_REQA77E\r\021"); PUTSTR((char *)"**EMSI_REQA77E\r\021");
} }
PUTSTR((char *)"\r\rAddress: "); // PUTSTR((char *)"\r\rAddress: ");
PUTSTR(aka2str(CFG.aka[0])); // PUTSTR(aka2str(CFG.aka[0]));
PUTSTR((char *)" using mbcico "); // PUTSTR((char *)" using mbcico ");
PUTSTR((char *)VERSION); // PUTSTR((char *)VERSION);
switch (tcp_mode) { // switch (tcp_mode) {
case TCPMODE_IFC: PUTSTR((char *)"; IFC"); // case TCPMODE_IFC: PUTSTR((char *)"; IFC");
break; // break;
case TCPMODE_ITN: PUTSTR((char *)"; ITN"); // case TCPMODE_ITN: PUTSTR((char *)"; ITN");
break; // break;
case TCPMODE_IBN: PUTSTR((char *)"; IBN"); // case TCPMODE_IBN: PUTSTR((char *)"; IBN");
break; // break;
} // }
PUTCHAR('\r'); PUTCHAR('\r');
if (STATUS) { if (STATUS) {
SM_ERROR; SM_ERROR;
@ -455,17 +452,15 @@ SM_STATE(sendintro)
SM_STATE(waitchar) SM_STATE(waitchar)
Syslog('s', "rxdefine_type WAITCHAR");
if (EXPIRED(0)) { if (EXPIRED(0)) {
Syslog('+', "Timeout session handshake with the caller"); Syslog('+', "Session setup timeout");
SM_ERROR; SM_ERROR;
} }
if ((c = GETCHAR(20)) == TIMEOUT) { if ((c = GETCHAR(20)) == TIMEOUT) {
SM_PROCEED(sendintro); SM_PROCEED(sendintro);
} else if (c < 0) { } else if (c < 0) {
Syslog('+', "EMSI error while getting from caller"); Syslog('+', "Session setup error");
SM_ERROR; SM_ERROR;
} else { } else {
SM_PROCEED(nextchar); SM_PROCEED(nextchar);
@ -473,7 +468,6 @@ SM_STATE(waitchar)
SM_STATE(nextchar) SM_STATE(nextchar)
Syslog('s', "rxdefine_type NEXTCHAR");
if ((c >= ' ') && (c <= 'z')) { if ((c >= ' ') && (c <= 'z')) {
if (c == '*') { if (c == '*') {
standby = 1; standby = 1;
@ -535,7 +529,6 @@ SM_STATE(nextchar)
SM_STATE(checkemsi) SM_STATE(checkemsi)
Syslog('s', "rxdefine_type CHECKEMSI");
Syslog('i', "check \"%s\" for being EMSI inquery or data",ebuf); Syslog('i', "check \"%s\" for being EMSI inquery or data",ebuf);
if (localoptions & NOEMSI) { if (localoptions & NOEMSI) {
@ -559,7 +552,6 @@ SM_STATE(checkemsi)
SM_STATE(getdat) SM_STATE(getdat)
Syslog('s', "rxdefine_type GETDAT");
Syslog('i', "Try get emsi_dat packet starting with \"%s\"",ebuf); Syslog('i', "Try get emsi_dat packet starting with \"%s\"",ebuf);
if (sscanf(ebuf+8, "%04x", &datasize) != 1) { if (sscanf(ebuf+8, "%04x", &datasize) != 1) {