--- jnos110m/ax25cmd.c Sat Jan 6 05:41:56 1996 +++ 110m-new/ax25cmd.c Sat Jan 20 20:34:18 1996 @@ -1123,7 +1123,7 @@ fsocket.sax_family = AF_AX25; setcall(fsocket.ax25_addr,argv[2]); strncpy(fsocket.iface,argv[1],ILEN); - return tel_connect(sp, (char *)&fsocket, sizeof(struct sockaddr_ax)); + return tel_connect(sp, (char *)&fsocket, sizeof(struct sockaddr_ax),0); } #endif --- jnos110m/bpqcmd.c Sun Apr 17 15:13:00 1994 +++ 110m-new/bpqcmd.c Sat Jan 20 20:34:41 1996 @@ -256,7 +256,7 @@ memcpy(fsocket.bpq_addr,"SWITCH \0",AXBUF); sp->network = fdopen(s,"r+t"); setvbuf(sp->network,NULLCHAR,_IOLBF,BUFSIZ); - return tel_connect(sp, (char *)&fsocket, sizeof(struct sockaddr_bq)); + return tel_connect(sp, (char *)&fsocket, sizeof(struct sockaddr_bq),0); } static int --- jnos110m/config.c Sat Jan 6 05:41:56 1996 +++ 110m-new/config.c Sat Jan 20 20:18:38 1996 @@ -461,6 +461,12 @@ #endif #ifdef LZW "lzw", dolzw, 0, 2, "lzw ", +#ifdef TTYLINKSESSION + "lzwlink", dotelnet, 1024, 2, "lzwlink
[port]", +#endif +#ifdef TELNETSESSION + "lzwnet", dotelnet, 1024, 2, "lzwnet
[port]", +#endif #endif #ifdef ALLCMD "mail", dobmail, 0, 0, NULLCHAR, --- jnos110m/convers.c Sat Jan 6 05:41:56 1996 +++ 110m-new/convers.c Fri Jan 19 23:00:07 1996 @@ -84,16 +84,16 @@ int ConvHosts; #ifdef CNV_VERBOSE -static char cnumber[] = "*** Channel numbers must be in the range 0..%d.\n"; +static char DFAR cnumber[] = "*** Channel numbers must be in the range 0..%d.\n"; #ifdef CNV_LOCAL_CHANS -static char clocal[] = "*** This is a local channel - no chatting with other nodes\n"; -static char cmessage[]= "*** This is a message channel - only /msg allowed or received\n"; +static char DFAR clocal[] = "*** This is a local channel - no chatting with other nodes\n"; +static char DFAR cmessage[]= "*** This is a message channel - only /msg allowed or received\n"; #endif #else -static char cnumber[] = "* range 0..%d.\n"; +static char DFAR cnumber[] = "* range 0..%d.\n"; #ifdef CNV_LOCAL_CHANS -static char clocal[] = "* LOCAL CHANNEL\n"; -static char cmessage[]= "* MESSAGE CHANNEL\n"; +static char DFAR clocal[] = "* LOCAL CHANNEL\n"; +static char DFAR cmessage[]= "* MESSAGE CHANNEL\n"; #endif #endif @@ -2380,7 +2380,7 @@ sockowner(s,Curproc); /* We own it now */ sockmode(s,SOCK_BINARY); - sockblock(s,SOCK_NOTXBLOCK); /* prevent backlogs ! */ + /* sockblock(s,SOCK_NOTXBLOCK); /* prevent backlogs ! BAD FOR LZW! */ cp = alloc_connection(s); lzwinit(s,Lzwbits,Lzwmode); cp->flags |= USE_LZW; --- jnos110m/lzw.c Fri Aug 26 04:07:50 1994 +++ 110m-new/lzw.c Sat Jan 20 19:37:11 1996 @@ -82,6 +82,7 @@ struct usock *up; if((up = itop(s)) == NULLUSOCK) return; + up->noblock = 0; /* LZW can't afford risk of losing data */ up->zout = (struct lzw *) callocw(1,sizeof(struct lzw)); up->zin = (struct lzw *) callocw(1,sizeof(struct lzw)); up->zout->codebits = LZWBITS; --- jnos110m/nrcmd.c Sat Jan 6 05:41:56 1996 +++ 110m-new/nrcmd.c Sat Jan 20 20:35:00 1996 @@ -1234,7 +1234,7 @@ memcpy(fsocket.nr_addr.node,np->call,AXALEN); fsocket.nr_family = AF_NETROM; - return tel_connect(sp, (char *)&fsocket, sizeof(struct sockaddr_nr)); + return tel_connect(sp, (char *)&fsocket, sizeof(struct sockaddr_nr),0); } #endif --- jnos110m/socket.c Sat Jan 6 05:41:56 1996 +++ 110m-new/socket.c Sat Jan 20 20:13:15 1996 @@ -23,7 +23,10 @@ #include "lzw.h" #include "usock.h" #include "socket.h" - + +/* N2RJT - Use the real fopen here, so devices can be accessed. */ +#undef fopen + /* In connect(), accept() and recv_mbuf() * the noblock options have been removed, since they never occur anyway. * If you want then back, do a '#define useblock 1' --- jnos110m/telnet.c Sun Sep 24 15:54:00 1995 +++ 110m-new/telnet.c Sat Jan 20 20:40:42 1996 @@ -16,6 +16,9 @@ #include "commands.h" #include "netuser.h" #include +#ifdef LZW +#include "lzw.h" +#endif static int filemode __ARGS((FILE *fp,int mode)); #define CTLZ 26 @@ -72,6 +75,7 @@ char *name; int split = 0; int bbs = 0; + int uselzw = 0; /*Make sure this comes from console - WG7J*/ if(Curproc->input != Command->input) @@ -84,14 +88,31 @@ bbs = 1; } #ifdef TTYLINKSESSION - else + else { #endif #endif #ifdef TTYLINKSESSION if((strlen(argv[0]) > 1) && (tolower(argv[0][1]) == 't')) /* tty-link command */ split = 1; #endif - +#ifdef LZW +#ifdef TTYLINKSESSION + if((strlen(argv[0]) > 3) && (tolower(argv[0][0]) == 'l') && + (tolower(argv[0][3]) == 'l')) { + uselzw = 1; + split = 1; + } +#endif +#ifdef TELNETSESSION + if((strlen(argv[0]) > 3) && (tolower(argv[0][0]) == 'l') && + (tolower(argv[0][3]) == 'n')) { + uselzw = 1; + } +#endif +#endif +#ifdef BBSSESSION + } +#endif /* Allocate a session descriptor */ if((sp = newsession(name,TELNET,split)) == NULLSESSION){ tputs(TooManySessions); @@ -127,13 +148,13 @@ freesession(sp); return 1; } - return tel_connect(sp,(char *)&fsocket,SOCKSIZE); + return tel_connect(sp,(char *)&fsocket,SOCKSIZE, uselzw); } #endif /* TELNET || TTYLINK || BBS */ /* Generic interactive connect routine, used by Telnet, AX.25, NET/ROM */ int -tel_connect(sp,fsocket,len) +tel_connect(sp,fsocket,len,uselzw) struct session *sp; char *fsocket; int len; @@ -159,6 +180,10 @@ } tprintf("%s session %u connected to %s\n", Sestypes[sp->type],index,sp->name); +#ifdef LZW + if (uselzw) + lzwinit(sp->s,Lzwbits,Lzwmode); +#endif tnrecv(&tn); return 0; } --- jnos110m/telnet.h Sun Sep 24 15:54:00 1995 +++ 110m-new/telnet.h Sat Jan 20 20:37:26 1996 @@ -67,7 +67,7 @@ extern int Tn_cr_mode; /* In telnet.c: */ -int tel_connect __ARGS((struct session *sp,char *fsocket,int len)); +int tel_connect __ARGS((struct session *sp,char *fsocket,int len,int uselzw)); void tel_output __ARGS((int unused,void *p1,void *p2)); void tnrecv __ARGS((struct telnet *tn)); void doopt __ARGS((struct telnet *tn,int opt));