head 1.2; access; symbols pkgsrc-2026Q1:1.2.0.138 pkgsrc-2026Q1-base:1.2 pkgsrc-2025Q4:1.2.0.136 pkgsrc-2025Q4-base:1.2 pkgsrc-2025Q3:1.2.0.134 pkgsrc-2025Q3-base:1.2 pkgsrc-2025Q2:1.2.0.132 pkgsrc-2025Q2-base:1.2 pkgsrc-2025Q1:1.2.0.130 pkgsrc-2025Q1-base:1.2 pkgsrc-2024Q4:1.2.0.128 pkgsrc-2024Q4-base:1.2 pkgsrc-2024Q3:1.2.0.126 pkgsrc-2024Q3-base:1.2 pkgsrc-2024Q2:1.2.0.124 pkgsrc-2024Q2-base:1.2 pkgsrc-2024Q1:1.2.0.122 pkgsrc-2024Q1-base:1.2 pkgsrc-2023Q4:1.2.0.120 pkgsrc-2023Q4-base:1.2 pkgsrc-2023Q3:1.2.0.118 pkgsrc-2023Q3-base:1.2 pkgsrc-2023Q2:1.2.0.116 pkgsrc-2023Q2-base:1.2 pkgsrc-2023Q1:1.2.0.114 pkgsrc-2023Q1-base:1.2 pkgsrc-2022Q4:1.2.0.112 pkgsrc-2022Q4-base:1.2 pkgsrc-2022Q3:1.2.0.110 pkgsrc-2022Q3-base:1.2 pkgsrc-2022Q2:1.2.0.108 pkgsrc-2022Q2-base:1.2 pkgsrc-2022Q1:1.2.0.106 pkgsrc-2022Q1-base:1.2 pkgsrc-2021Q4:1.2.0.104 pkgsrc-2021Q4-base:1.2 pkgsrc-2021Q3:1.2.0.102 pkgsrc-2021Q3-base:1.2 pkgsrc-2021Q2:1.2.0.100 pkgsrc-2021Q2-base:1.2 pkgsrc-2021Q1:1.2.0.98 pkgsrc-2021Q1-base:1.2 pkgsrc-2020Q4:1.2.0.96 pkgsrc-2020Q4-base:1.2 pkgsrc-2020Q3:1.2.0.94 pkgsrc-2020Q3-base:1.2 pkgsrc-2020Q2:1.2.0.90 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.70 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.92 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.88 pkgsrc-2019Q3-base:1.2 pkgsrc-2019Q2:1.2.0.86 pkgsrc-2019Q2-base:1.2 pkgsrc-2019Q1:1.2.0.84 pkgsrc-2019Q1-base:1.2 pkgsrc-2018Q4:1.2.0.82 pkgsrc-2018Q4-base:1.2 pkgsrc-2018Q3:1.2.0.80 pkgsrc-2018Q3-base:1.2 pkgsrc-2018Q2:1.2.0.78 pkgsrc-2018Q2-base:1.2 pkgsrc-2018Q1:1.2.0.76 pkgsrc-2018Q1-base:1.2 pkgsrc-2017Q4:1.2.0.74 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.72 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.2.0.68 pkgsrc-2017Q2-base:1.2 pkgsrc-2017Q1:1.2.0.66 pkgsrc-2017Q1-base:1.2 pkgsrc-2016Q4:1.2.0.64 pkgsrc-2016Q4-base:1.2 pkgsrc-2016Q3:1.2.0.62 pkgsrc-2016Q3-base:1.2 pkgsrc-2016Q2:1.2.0.60 pkgsrc-2016Q2-base:1.2 pkgsrc-2016Q1:1.2.0.58 pkgsrc-2016Q1-base:1.2 pkgsrc-2015Q4:1.2.0.56 pkgsrc-2015Q4-base:1.2 pkgsrc-2015Q3:1.2.0.54 pkgsrc-2015Q3-base:1.2 pkgsrc-2015Q2:1.2.0.52 pkgsrc-2015Q2-base:1.2 pkgsrc-2015Q1:1.2.0.50 pkgsrc-2015Q1-base:1.2 pkgsrc-2014Q4:1.2.0.48 pkgsrc-2014Q4-base:1.2 pkgsrc-2014Q3:1.2.0.46 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.44 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.42 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.40 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.2.0.38 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.36 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.2.0.34 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.2.0.32 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.2.0.30 pkgsrc-2012Q3-base:1.2 pkgsrc-2012Q2:1.2.0.28 pkgsrc-2012Q2-base:1.2 pkgsrc-2012Q1:1.2.0.26 pkgsrc-2012Q1-base:1.2 pkgsrc-2011Q4:1.2.0.24 pkgsrc-2011Q4-base:1.2 pkgsrc-2011Q3:1.2.0.22 pkgsrc-2011Q3-base:1.2 pkgsrc-2011Q2:1.2.0.20 pkgsrc-2011Q2-base:1.2 pkgsrc-2011Q1:1.2.0.18 pkgsrc-2011Q1-base:1.2 pkgsrc-2010Q4:1.2.0.16 pkgsrc-2010Q4-base:1.2 pkgsrc-2010Q3:1.2.0.14 pkgsrc-2010Q3-base:1.2 pkgsrc-2010Q2:1.2.0.12 pkgsrc-2010Q2-base:1.2 pkgsrc-2010Q1:1.2.0.10 pkgsrc-2010Q1-base:1.2 pkgsrc-2009Q4:1.2.0.8 pkgsrc-2009Q4-base:1.2 pkgsrc-2009Q3:1.2.0.6 pkgsrc-2009Q3-base:1.2 pkgsrc-2009Q2:1.2.0.4 pkgsrc-2009Q2-base:1.2 pkgsrc-2009Q1:1.2.0.2 pkgsrc-2009Q1-base:1.2 pkgsrc-2008Q4:1.1.0.26 pkgsrc-2008Q4-base:1.1 pkgsrc-2008Q3:1.1.0.24 pkgsrc-2008Q3-base:1.1 cube-native-xorg:1.1.0.22 cube-native-xorg-base:1.1 pkgsrc-2008Q2:1.1.0.20 pkgsrc-2008Q2-base:1.1 cwrapper:1.1.0.18 pkgsrc-2008Q1:1.1.0.16 pkgsrc-2008Q1-base:1.1 pkgsrc-2007Q4:1.1.0.14 pkgsrc-2007Q4-base:1.1 pkgsrc-2007Q3:1.1.0.12 pkgsrc-2007Q3-base:1.1 pkgsrc-2007Q2:1.1.0.10 pkgsrc-2007Q2-base:1.1 pkgsrc-2007Q1:1.1.0.8 pkgsrc-2007Q1-base:1.1 pkgsrc-2006Q4:1.1.0.6 pkgsrc-2006Q4-base:1.1 pkgsrc-2006Q3:1.1.0.4 pkgsrc-2006Q3-base:1.1 pkgsrc-2006Q2:1.1.0.2 pkgsrc-2006Q2-base:1.1; locks; strict; comment @# @; 1.2 date 2009.02.11.08.06.17; author obache; state Exp; branches; next 1.1; 1.1 date 2006.03.30.13.51.29; author salo; state Exp; branches; next ; desc @@ 1.2 log @* detection of endian in bytesex.h is not enough, use result of byteorder.h. * replace hard coded user and mode for hping-suid option with SPECIAL_PERMS. * replace remaining of hard coded "man" with ${PKGMANDIR}. * add DESTDIR support. * merge patch-a{e,g}, both for same file. * patch to replace __sun__ with __sun for portability, pkglint(1) said. * also regen other patches with mkpatches(1). @ text @$NetBSD: patch-af,v 1.1 2006/03/30 13:51:29 salo Exp $ --- ars.c.orig 2003-07-28 09:00:54.000000000 +0000 +++ ars.c @@@@ -372,7 +372,7 @@@@ u_int16_t ars_cksum(void *vbuf, size_t n } if (nbytes == 1) { oddbyte = 0; - *((u_int16_t *) &oddbyte) = *(u_int8_t *) buf; + *((u_int8_t *) &oddbyte) = *((u_int8_t *) buf); sum += oddbyte; } sum = (sum >> 16) + (sum & 0xffff); @@@@ -381,6 +381,13 @@@@ u_int16_t ars_cksum(void *vbuf, size_t n } /* Multiple buffers checksum facility */ +/* + * Important facts about the checksum (sum = ~cksum, Ai are bytes): + * 1. sum(A0...A2i-1,A2i...A2n-1) = sum(A0...A2i-1) + sum(A2i...B2n-1), + * 2. sum(A0...A2i,A2i+1...A2n-1) = sum(A0...A2i,0) + sum(0,A2i+1...A2n-1) + * 3. sum(A0...A2n-1,A2n) = sum(A0...A2n-1,A2n,0) (ex definitiones) + * 4. sum(0,A0...Ak) = swap_bytes(sum(A0...Ak)) + */ u_int16_t ars_multi_cksum(struct mc_context *c, int op, void *vbuf, size_t nbytes) { @@@@ -394,38 +401,27 @@@@ u_int16_t ars_multi_cksum(struct mc_cont c->old = 0; return -ARS_OK; } else if (op == ARS_MC_UPDATE) { - if (c->oddbyte_flag) { - u_int8_t *x = (u_int8_t*)&oddbyte; - oddbyte = 0; - *((u_int16_t *) &oddbyte) = c->oddbyte << 8; - *((u_int16_t *) &oddbyte) |= *(u_int8_t *) buf; - oddbyte = (x[0] << 8) | x[1]; /* fix endianess */ - c->old += oddbyte; - nbytes--; - c->oddbyte_flag = 0; - /* We need to stay aligned -- bad slowdown, fix? */ - tmp = alloca(nbytes); - memcpy(tmp, vbuf+1, nbytes); - buf = tmp; - } - sum = c->old; + sum = 0; while (nbytes > 1) { sum += *buf++; nbytes -= 2; } - c->old = sum; if (nbytes == 1) { - c->oddbyte = *(u_int8_t*) buf; - c->oddbyte_flag++; + oddbyte = 0; + *((u_int8_t *) &oddbyte) = *((u_int8_t *) buf); + sum += oddbyte; + } + if (c->oddbyte_flag) { + /* reverse checksum endianness */ + sum = (sum >> 16) + (sum & 0xffff); + sum += (sum >> 16); + sum = ((sum & 0xff00) >> 8) | ((sum & 0xff) << 8); } + c->old += sum; + c->oddbyte_flag ^= (nbytes == 1 ? 1 : 0); return -ARS_OK; } else if (op == ARS_MC_FINAL) { sum = c->old; - if (c->oddbyte_flag == 1) { - oddbyte = 0; - *((u_int16_t *) &oddbyte) = c->oddbyte; - sum += oddbyte; - } sum = (sum >> 16) + (sum & 0xffff); sum += (sum >> 16); return (u_int16_t) ~sum; @ 1.1 log @Update to hping2, release candidate 3 Changes: - don't install hping suid root by default, add "hping-suid" option. - add bunch on patches from Pavel Kankovsky namely: add --flood and --tcp-mss options (self-explanatory), some checksum and interface binding fixes and warning fixes 2.0.0rc3: ======= FIX: Fix for interface guessing with aliases on BSD Thanks and FIX: fixed cksum.c. Bad outgoing packet checksum with some packet. Thanks to Brett Eldridge . ADD: scan mode (--scan) ADD: A rc4-based PRNG to use with --rand-source and --rand-dest FIX: Fix -I option for BSD/Apple ADD: Add support for BSDI and MacOSX (thanks Dennis Opacki and Jan-Hinrich Fessel ) ADD: A few useful ICMP options ADD: Add support for : WLAN (Fabian Melzow ) ATM (Debian bug #193436, thanks to Domenico Andreoli) Token Ring (jim.r.halfpenny@@britishairways.com) ADD: MacOSX patches (Hans-Joachim Knobloch ) FIX: --rand-source patches from Quentin Garnier . ensure randomness . do not stop on errors when using a E or D class address (BSD only?) @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 3 --- ars.c.orig 2003-07-28 11:00:54.000000000 +0200 +++ ars.c 2005-11-05 21:35:00.000000000 +0100 @@@@ -372,7 +372,7 @@@@ d14 1 a14 1 @@@@ -381,6 +381,13 @@@@ d28 1 a28 1 @@@@ -394,38 +401,27 @@@@ d59 1 a59 1 } d65 1 a65 1 + } @