head 1.4; access; symbols pkgsrc-2013Q2:1.4.0.42 pkgsrc-2013Q2-base:1.4 pkgsrc-2012Q4:1.4.0.40 pkgsrc-2012Q4-base:1.4 pkgsrc-2011Q4:1.4.0.38 pkgsrc-2011Q4-base:1.4 pkgsrc-2011Q2:1.4.0.36 pkgsrc-2011Q2-base:1.4 pkgsrc-2009Q4:1.4.0.34 pkgsrc-2009Q4-base:1.4 pkgsrc-2008Q4:1.4.0.32 pkgsrc-2008Q4-base:1.4 pkgsrc-2008Q3:1.4.0.30 pkgsrc-2008Q3-base:1.4 cube-native-xorg:1.4.0.28 cube-native-xorg-base:1.4 pkgsrc-2008Q2:1.4.0.26 pkgsrc-2008Q2-base:1.4 pkgsrc-2008Q1:1.4.0.24 pkgsrc-2008Q1-base:1.4 pkgsrc-2007Q4:1.4.0.22 pkgsrc-2007Q4-base:1.4 pkgsrc-2007Q3:1.4.0.20 pkgsrc-2007Q3-base:1.4 pkgsrc-2007Q2:1.4.0.18 pkgsrc-2007Q2-base:1.4 pkgsrc-2007Q1:1.4.0.16 pkgsrc-2007Q1-base:1.4 pkgsrc-2006Q4:1.4.0.14 pkgsrc-2006Q4-base:1.4 pkgsrc-2006Q3:1.4.0.12 pkgsrc-2006Q3-base:1.4 pkgsrc-2006Q2:1.4.0.10 pkgsrc-2006Q2-base:1.4 pkgsrc-2006Q1:1.4.0.8 pkgsrc-2006Q1-base:1.4 pkgsrc-2005Q4:1.4.0.6 pkgsrc-2005Q4-base:1.4 pkgsrc-2005Q3:1.4.0.4 pkgsrc-2005Q3-base:1.4 pkgsrc-2005Q2:1.4.0.2 pkgsrc-2005Q2-base:1.4 pkgsrc-2005Q1:1.3.0.8 pkgsrc-2005Q1-base:1.3 pkgsrc-2004Q4:1.3.0.6 pkgsrc-2004Q4-base:1.3 pkgsrc-2004Q3:1.3.0.4 pkgsrc-2004Q3-base:1.3 pkgsrc-2004Q2:1.3.0.2 pkgsrc-2004Q2-base:1.3 pkgsrc-2004Q1:1.2.0.4 pkgsrc-2004Q1-base:1.2 pkgsrc-2003Q4:1.2.0.2 pkgsrc-2003Q4-base:1.2; locks; strict; comment @# @; 1.4 date 2005.03.23.17.06.33; author wiz; state dead; branches; next 1.3; 1.3 date 2004.05.29.22.14.23; author cube; state Exp; branches; next 1.2; 1.2 date 2003.10.28.16.57.00; author cube; state dead; branches; next 1.1; 1.1 date 2003.10.08.04.21.38; author rtr; state Exp; branches; next ; desc @@ 1.4 log @Update to 1.20: v1.20 Feb 4 2005 - added wscale option parsing; surprisingly, it seems to be in some use - added nids_dispatch(), for systems which do not ignore pcap timeout - ability to specify hosts/networks for which we do not check checksums v1.19 Aug 08 2004 - fixed signed/unsigned comparisons; 1.18 could be possibly crashed in tcp options parsing (though an unlikely to happen memory layout is required); now the source is compiled with -W -Wall - export pcap header of the last received packet (to get timestamp etc) - export the timeout parameter to pcap_open_live in params - support DLT_PRISM_HEADER - support DLT_PPP_SERIAL - let through dataless acks - fixed raw_init() prototype - switched to use %edi instead of %ebx in csum_partial to make gcc-3.5 happy when compiling with -fPIC; cleaned inline asm - fixed a bug when a queued FIN segment was not processed properly, which resulted in not closing a stream @ text @$NetBSD: patch-aa,v 1.3 2004/05/29 22:14:23 cube Exp $ --- src/libnids.c.orig 2003-10-10 19:41:32.000000000 +0200 +++ src/libnids.c @@@@ -452,6 +452,10 @@@@ int nids_init() case DLT_EN10MB: linkoffset = 14; break; +#ifdef DLT_PPP_SERIAL + /* NetBSD specific type */ + case DLT_PPP_SERIAL: +#endif case DLT_PPP: linkoffset = 4; break; @ 1.3 log @Add a patch to support NetBSD-specific DLT_PPP_SERIAL type. It will be in the next version of libnids. Patch from Jean-Edouard BABIN in private mail. @ text @d1 1 a1 1 $NetBSD$ @ 1.2 log @Update to version 1.18. This release fixes a buffer overflow in TCP fragment reassembly code. CVE reference for that vulnerability is CAN-2003-0850. Note homepage relocation, and take over maintainership since that's apparently what I've become. v1.18 Oct 15 2003 - reject tcp packets with old timestamp; needed to pass fragroute test; well, linux 2.0.36 did not support this ;) - fixed memory corruption which could be caused by overlarge TCP packets - adjusted checksum.c to not use multiline literals (for gcc 3.3) - in configure.in, even if found libnet files, try compilation; there is another library with the same name - fix a bug in "collect" field handling; if you did collect-- and then collect++ (which is rare), you would get a single junk packet - correct handling of exec_prefix in configure.in - unlink config.status in "make distclean" - use pcap_hdr->caplen instead pcap_hdr->len; the only gain seems to be to gracefully handle pcap files with too short snaplen - changed soname to libnids.so.1.x, as binary compatibility is not guaranteed - switched to sourceforge as homepage @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.1 2003/10/08 04:21:38 rtr Exp $ d3 13 a15 197 --- src/checksum.c.orig 2000-06-20 23:06:32.000000000 +0200 +++ src/checksum.c @@@@ -29,62 +29,62 @@@@ csum_partial(const u_char * buff, int le movl 16(%esp),%ecx # Function arg: int len movl 12(%esp),%esi # Function arg: u_char *buff*/ - "testl $2, %%esi - jz 2f - subl $2, %%ecx - jae 1f - addl $2, %%ecx - jmp 4f -1: movw (%%esi), %%bx - addl $2, %%esi - addw %%bx, %%ax - adcl $0, %%eax -2: - movl %%ecx, %%edx - shrl $5, %%ecx - jz 2f - testl %%esi, %%esi -1: movl (%%esi), %%ebx - adcl %%ebx, %%eax - movl 4(%%esi), %%ebx - adcl %%ebx, %%eax - movl 8(%%esi), %%ebx - adcl %%ebx, %%eax - movl 12(%%esi), %%ebx - adcl %%ebx, %%eax - movl 16(%%esi), %%ebx - adcl %%ebx, %%eax - movl 20(%%esi), %%ebx - adcl %%ebx, %%eax - movl 24(%%esi), %%ebx - adcl %%ebx, %%eax - movl 28(%%esi), %%ebx - adcl %%ebx, %%eax - lea 32(%%esi), %%esi - dec %%ecx - jne 1b - adcl $0, %%eax -2: movl %%edx, %%ecx - andl $0x1c, %%edx - je 4f - shrl $2, %%edx -3: adcl (%%esi), %%eax - lea 4(%%esi), %%esi - dec %%edx - jne 3b - adcl $0, %%eax -4: andl $3, %%ecx - jz 7f - cmpl $2, %%ecx - jb 5f - movw (%%esi),%%cx - leal 2(%%esi),%%esi - je 6f - shll $16,%%ecx -5: movb (%%esi),%%cl -6: addl %%ecx,%%eax - adcl $0, %%eax -7: " + "testl $2, %%esi \n" +" jz 2f \n" +" subl $2, %%ecx \n" +" jae 1f \n" +" addl $2, %%ecx \n" +" jmp 4f\n" +"1: movw (%%esi), %%bx\n" +" addl $2, %%esi\n" +" addw %%bx, %%ax\n" +" adcl $0, %%eax\n" +"2:\n" +" movl %%ecx, %%edx\n" +" shrl $5, %%ecx\n" +" jz 2f\n" +" testl %%esi, %%esi\n" +"1: movl (%%esi), %%ebx\n" +" adcl %%ebx, %%eax\n" +" movl 4(%%esi), %%ebx\n" +" adcl %%ebx, %%eax\n" +" movl 8(%%esi), %%ebx\n" +" adcl %%ebx, %%eax\n" +" movl 12(%%esi), %%ebx\n" +" adcl %%ebx, %%eax\n" +" movl 16(%%esi), %%ebx\n" +" adcl %%ebx, %%eax\n" +" movl 20(%%esi), %%ebx\n" +" adcl %%ebx, %%eax\n" +" movl 24(%%esi), %%ebx\n" +" adcl %%ebx, %%eax\n" +" movl 28(%%esi), %%ebx\n" +" adcl %%ebx, %%eax\n" +" lea 32(%%esi), %%esi\n" +" dec %%ecx\n" +" jne 1b\n" +" adcl $0, %%eax\n" +"2: movl %%edx, %%ecx\n" +" andl $0x1c, %%edx\n" +" je 4f\n" +" shrl $2, %%edx \n" +"3: adcl (%%esi), %%eax\n" +" lea 4(%%esi), %%esi\n" +" dec %%edx\n" +" jne 3b\n" +" adcl $0, %%eax\n" +"4: andl $3, %%ecx\n" +" jz 7f\n" +" cmpl $2, %%ecx\n" +" jb 5f\n" +" movw (%%esi),%%cx\n" +" leal 2(%%esi),%%esi\n" +" je 6f\n" +" shll $16,%%ecx\n" +"5: movb (%%esi),%%cl\n" +"6: addl %%ecx,%%eax\n" +" adcl $0, %%eax\n" +"7: " : "=a"(sum) : "0"(sum), "c"(len), "S"(buff) : "bx", "dx"); @@@@ -103,25 +103,24 @@@@ inline u_short ip_fast_csum(u_char * iph { u_int sum; - __asm__ __volatile__(" - movl (%1), %0 - subl $4, %2 - jbe 2f - addl 4(%1), %0 - adcl 8(%1), %0 - adcl 12(%1), %0 -1: adcl 16(%1), %0 - lea 4(%1), %1 - decl %2 - jne 1b - adcl $0, %0 - movl %0, %2 - shrl $16, %0 - addw %w2, %w0 - adcl $0, %0 - notl %0 -2: - " + __asm__ __volatile__( +" movl (%1), %0\n" +" subl $4, %2\n" +" jbe 2f\n" +" addl 4(%1), %0\n" +" adcl 8(%1), %0\n" +" adcl 12(%1), %0\n" +"1: adcl 16(%1), %0\n" +" lea 4(%1), %1\n" +" decl %2\n" +" jne 1b\n" +" adcl $0, %0\n" +" movl %0, %2\n" +" shrl $16, %0\n" +" addw %w2, %w0\n" +" adcl $0, %0\n" +" notl %0\n" +"2:\n" /* Since the input registers which are loaded with iph and ipl are modified, we must also specify them as outputs, or gcc @@@@ -137,10 +136,9 @@@@ inline u_short ip_fast_csum(u_char * iph static inline u_int csum_fold(u_int sum) { - __asm__(" - addl %1, %0 - adcl $0xffff, %0 - " + __asm__( +" addl %1, %0\n" +" adcl $0xffff, %0" : "=r" (sum) : "r" (sum << 16), "0" (sum & 0xffff0000) ); @@@@ -155,12 +153,11 @@@@ static inline u_short csum_tcpudp_magic(u_int saddr, u_int daddr, u_short len, u_short proto, u_int sum) { - __asm__(" - addl %1, %0 - adcl %2, %0 - adcl %3, %0 - adcl $0, %0 - " + __asm__( +" addl %1, %0\n" +" adcl %2, %0\n" +" adcl %3, %0\n" +" adcl $0, %0" : "=r" (sum) : "g" (daddr), "g"(saddr), "g"((ntohs(len) << 16) + proto * 256), "0"(sum)); return (csum_fold(sum)); @ 1.1 log @Close continued lines. From Quentin Garnier resolves pr pkg/23080 @ text @d1 1 a1 1 $NetBSD$ @