Marc Freimann MSBSSK@gmx.de wrote:
The first problem:
I can?t reach ngircd from the internet when I use pf at freebsd. All other services working fine without problems. With command "tcpdump -i pflog0" I received the following errormessage: 10:46:11.913489 IP pD96FFF32.dip.t-dialin.net.7238 > test.ircd: tcp 24 [bad hdr length 0 - too short, < 20]
This looks like either the client sends a garbled tcp header, or the server-side tcp stack messed it up.
FreeBSD 7 had several bugs in their TCP stack (related to tcp options), although I haven't followed these reports in detail. You should probably check recent tcp-related discussions in the FreeBSD mailing list archives, and, if neccessary file a problem report with freebsd.
In any case it looks like ngircd doesn't even receive a connection (i suppose you already checked that ngircd is listening on the correct interface and that it works without pf? ), so this is most likely an OS bug.
Are the realy differents between "normal" packets (for example http or ssh and irc packets about size?
I can't think of any. The only thing ngircd might do differently is setting IPTOS_LOWDELAY. You might want to disable this to see wether it makes a difference, just #if 0 the #if defined(IP_TOS) && defined(IPTOS_LOWDELAY) stuff in src/ngircd/conn.c, in function Init_Socket().
When I activate Chrootdir /var/empty (defaultsetting) the irc server don?t work. (fatal error)
What can I do ?
Please post the _exact_ error message. I guess that the directory /var/empty does not exist, but well. just guessing.