Messages in this thread Patch in this message | | | Date | Wed, 27 Mar 1996 20:36:08 +0100 (MET) | From | Ingo Molnar <> | Subject | Re: NCSA telnet doesn't work any more, NCSA patch |
| |
On 27 Mar 1996 inr-linux-kernel@ms2.inr.ac.ru wrote:
> Jacek Zapala (jacek@deuter.im.pw.EDU.PL) wrote:
> : I have already posted this in linux-net, but got no single response. Now > : I have some more data, so I'm posting this once more.
> NCSA telnet is broken, it cannot talk with Solaris2.x, OSF/1 > and with Linux > 1.3.3?. The cause is TCP Path MTU Discovery algorithm. > > These OSes send all the TCP segments with DF flag (Do not Fragment) set > to automatically determine maximal MTU of the path. > > NCSA telnet incorrectly interpret the corresponding field > in the IP packet and drops datagrams. > > I tried to report this bug to NCSA telnet maintainers, but > I found that it seems to be not more supported.
here is the fix to NCSA telnet ENGINE/IP.C:
"diff -u" begins here ------------> --- 2 Wed Mar 27 20:15:44 1996 +++ IP.C Wed Mar 27 20:20:42 1996 @@ -138,7 +138,7 @@ iplen-=hlen; /* check for fragment and handle. note that the &0x20 above was WRONG */ - if(p->i.frags&0xffbf ) { /* NOW check for a fragmented packet - mtk add*/ + if(p->i.frags&0xffdf ) { /* NOW check for a fragmented packet - mtk add*/ /* don't forget to ignore the "dont fragment" bit - RMG 931230 */ #ifdef AUX /* RMG */ fprintf(stdaux," Frags: %x ",p->i.frags); <-------------- "diff -u" ended here this is against 2.3.08.
OR if you worry about recompiling, just search the binary for 0xffbf and change it to 0xffdf by hand. (statistically there are about 4 occurences of 0xffbf, try and err :))
-- mingo
ps. this is the appropriate forum for posting this patch, since this will cut down on Linus' incoming e-mail 8) [or is he already filtering out "ncsa telnet" mails? :D ]
| |