[En-Nut-Discussion] TCP header unused bits error (bug???) with fix
Grzegorz Płoński
grzegorz.plonski at numeron.pl
Mon Nov 22 21:41:11 CET 2004
Hello,
Today I've got connected through ppp to the version "sarge" of Debian, on which the postfix was mounted. I wanted to post an e-mail.
Unfortunately, every attempt of opening port 25 was a failure. I didn't try to open other ports, but I think it would be the same.
In the Debian logs I found the following:
()
Nov 22 16:19:19 numerek postfix/smtpd[19542]: connect from dc13.internetdsl.tpnet.pl[80.53.238.13]
Nov 22 16:19:19 numerek kernel: ipt_unclean: TCP reserved bits not zero <----------------------------------------------ERROR
Nov 22 16:19:22 numerek last message repeated 2 times
Nov 22 16:22:54 numerek postfix/smtpd[19545]: connect from dc13.internetdsl.tpnet.pl[80.53.238.13]
Nov 22 16:22:54 numerek kernel: ipt_unclean: TCP reserved bits not zero <----------------------------------------------ERROR
Nov 22 16:22:57 numerek last message repeated 2 times
(/)
I also found a remedy to this problem - you simly have to set the unused bits to zero. The correction has to be made in module tcpout.c, function NutTcpOutput before calculating the checksum (perhaps there is a better place - let Harald comment on that)
//***************************************************
/*
* Clear unused bits by Greg Plonski, 2004-11-22
*/
th->th_x2 = 0; // <------------------------------- INSERTED
/*
* Calculate TCP checksum.
*/
csum =
NutIpPseudoChkSumPartial(sock->so_local_addr, sock->so_remote_addr,
IPPROTO_TCP,
htons(nb->nb_tp.sz + nb->nb_ap.sz));
csum = NutIpChkSumPartial(csum, th, nb->nb_tp.sz);
th->th_sum = NutIpChkSum(csum, nb->nb_ap.vp, nb->nb_ap.sz);
//***************************************************
I use version 3.4.2. NutOS too. So the error I found may have already been corercted.
Debian which showed the error can be found at:
http://www.debian.org/releases/testing/index.en.html <http://www.debian.org/releases/testing/index.en.html>
Greg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.egnite.de/pipermail/en-nut-discussion/attachments/20041122/53c7a2e7/attachment-0001.html>
More information about the En-Nut-Discussion
mailing list