hi, This probably falls under "bug for bug" compatibility: "wine tracert" fails behind a Linux 2.2 masquerading firewall (ipchains). This is because the received time-exceeded packet does not contain the checksum of the original echo request but that of the masqueraded package. Tracert in windows has no problem with that. dlls/icmp : icmp_main.c Don't check the checksum of the original echo request packet in the received reply packet. Rein. -- Rein Klazes rklazes@xs4all.nl
--- wine/dlls/icmp/icmp_main.c Tue Aug 28 20:39:03 2001 +++ mywine/dlls/icmp/icmp_main.c Tue Jan 15 18:24:06 2002 @@ -427,8 +427,10 @@ } else if ((rep_icmp_header->icmp_type!=ICMP_ECHO) || (rep_icmp_header->icmp_code!=0) || (rep_icmp_header->icmp_id!=id) || - (rep_icmp_header->icmp_seq!=seq) || - (rep_icmp_header->icmp_cksum!=cksum)) { + /* windows doesn't check this checksum, else tracert */ + /* behind a Linux 2.2 masquerading firewall would fail*/ + /* (rep_icmp_header->icmp_cksum!=cksum) || */ + (rep_icmp_header->icmp_seq!=seq)) { /* This was not a reply to one of our packets after all */ TRACE("skipping type,code=%d,%d id,seq=%d,%d cksum=%d\n", rep_icmp_header->icmp_type,rep_icmp_header->icmp_code,