Annotation of embedaddon/hping2/CHANGES, revision 1.1
1.1 ! misho 1: CHANGES LOG
! 2: $Id: CHANGES,v 1.33 2004/03/10 12:11:51 njombart Exp $
! 3:
! 4: Authors name abbreviation
! 5:
! 6: AZ Salvatore Sanfilippo 'antirez' <antirez@speedcom.it>
! 7: FX Alfonso De Gregorio 'fhex' <fhex@speedcom.it>
! 8: MK Mika <mika@qualys.com>
! 9: SA Stephane Aubert <Stephane.Aubert@hsc.fr>
! 10: NJ Nicolas Jombart <Nicolas.Jombart@hsc.fr>
! 11: DD Denis Ducamp <Denis.Ducamp@hsc.fr>
! 12: FP Francesco Potorti` <pot@gnu.org>
! 13: YB Yann Berthier <Yann.Berthier@hsc.fr>
! 14: BJ Brieuc Jeunhomme <bbp@via.ecp.fr>
! 15: HK Hans-Joachim Knobloch <knobloch@secorvo.de>
! 16: MM Minor contributor, see the change description for credits.
! 17: ?? If you edit this file put yourself here <your@email>
! 18:
! 19: AZ is the default if not specified.
! 20:
! 21: =======================================================
! 22: In order to find bugs fixed search the keyword 'FIX:'
! 23: for new supports and features search the keyword 'ADD:'
! 24: =======================================================
! 25:
! 26: TO FIX before ??:
! 27: * The problem with --rroute and the IP header length field on SunOS,
! 28: thanks to Graeme Hewson <graeme.hewson@oracle.com> for reporting it.
! 29:
! 30: MM FIX: Fix for interface guessing with aliases on BSD
! 31: Thanks <michel.gravey(@)orange.fr> and <cognet(@)freebsd.org>
! 32: MM FIX: fixed cksum.c. Bad outgoing packet checksum with some packet.
! 33: Thanks to Brett Eldridge <beldridg@pobox.com>.
! 34: AZ ADD: scan mode (--scan)
! 35: AZ ADD: A rc4-based PRNG to use with --rand-source and --rand-dest
! 36: NJ FIX: Fix -I option for BSD/Apple
! 37: NJ ADD: Add support for BSDI and MacOSX (thanks
! 38: Dennis Opacki <dopacki@adotout.com> and Jan-Hinrich Fessel
! 39: <Jan-Hinrich.Fessel@T-Mobile.de>)
! 40: HK ADD: A few useful ICMP options
! 41: NJ ADD: Add support for :
! 42: WLAN (Fabian Melzow <biop0b@web.de>)
! 43: ATM (Debian bug #193436, thanks to Domenico Andreoli)
! 44: Token Ring (jim.r.halfpenny@britishairways.com)
! 45: NJ ADD: MacOSX patches (Hans-Joachim Knobloch <knobloch@secorvo.de>)
! 46: NJ FIX: --rand-source patches from Quentin Garnier <hping@quatriemek.com>
! 47: . ensure randomness
! 48: . do not stop on errors when using a E or D class address (BSD only?)
! 49:
! 50: 20 Nov 2002 -- 2.0.0 stable -- candidate release 2
! 51: ---------------------------------------------------------------------------
! 52:
! 53: NJ FIX: The bug about port number printing in TCP mode than YB discovered.
! 54: NJ ADD: MTU value sanity check in option parsing.
! 55: NJ FIX: Fix the use of -W option
! 56: NJ ADD: strLcpy() function taken from OpenBSD
! 57: NJ FIX: Fix a bug when using BSD and a PPP link as a default route
! 58: Move code from routing sockets to get_output_if function.
! 59: BJ FIX/ADD: source routing and random bugfixes. Thanks BJ!
! 60: AZ ADD: --rand-source for random source addresses.
! 61: AZ FIX: all the atoi() call was replaced with strto[u]l().
! 62: MM FIX: seq/ack setting using strtoul() instead of atoi(), thanks
! 63: to Shachar Shemesh <sun@consumer.org.il>.
! 64: AZ ADD: --rand-dest for random destination addresses + manpage update.
! 65: AZ FIX/ADD: Major code rewrite.
! 66: AZ FIX: DF added to the icmp and udp output.
! 67: AZ FIX: --port ++<base> fixed with UDP and enhanced for TCP/UDP. Now the
! 68: packets matches only with a sport that is:
! 69: >= base_dest_port AND <= current_dest_port.
! 70: Thanks to David Bar <dbar@Checkpoint.com> for the original
! 71: report.
! 72:
! 73: 15 Aug 2001 -- 2.0.0 stable -- candidate release 1
! 74: ---------------------------------------------------------------------------
! 75:
! 76: AZ FIX: --fast now really sends 10packets/second, not 100. Thanks
! 77: to DD for the report.
! 78: AZ FIX: bzero/bcopy replaced with the sane memset/memcpy.
! 79: DG ADD: Solaris port, with the help of the patch contributed by
! 80: Steve Bleazard <steve@bleazard.com>
! 81: AZ ADD: Changed a bit the format (flags=S is now <S>) and add the string
! 82: DF if the don't fragment bit is on.
! 83: AZ FIX: waitpacket.c to take the data aligned. Now hping seems to
! 84: work without problems on linux/sparc.
! 85: AZ FIX: getifname.c, now even the linux version behaves better locking
! 86: for the interface address of the outgoing interface according
! 87: to the kernel routing table. getdefaultif.c removed, no loger used.
! 88: AZ FIX --tr-stop enhanced (now really exit when an expected packet that
! 89: was not an ICMP time exceeded was received)
! 90: AZ FIX: --stop-tr is now --tr-stop. All the traceroute mode options
! 91: starts with --tr.
! 92: AZ ADD: --tr-no-rtt to turn off RTT information in traceroute mode.
! 93: Thanks to Denis Ducamp for the idea.
! 94: AZ FIX: Now provide traceroute RTT information even with ICMP.
! 95: AZ ADD: --stop-tr stops hping in traceroute mode once the first non
! 96: ICMP packet is received. Thanks to Denis Ducamp for the idea.
! 97: AZ ADD: ICMP subnet address mask support. Not tested.
! 98: AZ ADD: TCP timestamp support with HZ and uptime guessing (--tcp-timestamp)
! 99: AZ ADD: ICMP timestamp support (--icmptype 13)
! 100: AZ FIX: Fixed getlhs.c under BSD to get the header length from the like type.
! 101: YB NH AZ FIX: ICMP ID handling on systems with 32 bit pids.
! 102: DD ADD: Man page update (not french one!)
! 103: AZ ADD: --traceroute now prints RTT information.
! 104: AZ ADD: --traceroute now implies --ttl 1 if no --ttl option is specified.
! 105: AZ ADD: --fast option that is an alias for -u i10000 (10 packets at second)
! 106: MM ADD: ets.* interface (thanks to Stefano Brandimarte.)
! 107: AZ FIX: compilation problem (NULL used without including stdlib.h in getusec.c)
! 108: AZ FIX: -H switch (alternative to --protoip) thanks to
! 109: "roy kozzer" <royk50@hotmail.com>
! 110: MM FIX: Man page grammatical mistakes, thanks to Jason Lunz <j@trellisinc.com>,
! 111: I applied the patch by hand, so maybe some mistake is still inside.
! 112: FP FIX: fixed rtt/sequence number handling, now hping2 can run for hours
! 113: keeping the right rtt calculation. Some sentence from the original
! 114: Francesco's email:
! 115:
! 116: I am using it to make long measurements of the response times of http
! 117: servers around the world, so hping2 keeps running for days. In fact, it
! 118: is apparently impossible to use hping2 this way, as the sequence number
! 119: wraps around (and this may be okay, in principle) and the program goes
! 120: astray.
! 121:
! 122: Precisely, the delay measurements are set to 0 after the wrap around.
! 123: Since hping2 is written so cleanly (thanks), I was able to quickly
! 124: correct the problem:
! 125: (strange, I think hping2 is very hugly code... I wrote it with
! 126: too little coding experience)
! 127:
! 128: BTW now the issue is fixed, MANY thanks to Francesco Portori'.
! 129:
! 130: DD FIX: -seqnum (endianess IIRC) fixed.
! 131: DD FIX: Random fix to manpage and code.
! 132: NJ FIX/ADD: BSD network interfaces related code.
! 133: DD ADD: French translation of the hping documentation, under docs/french/
! 134:
! 135: 6 July 2000 -- 2.0.0 beta54, raw IP mode, bug fixing, NetBSD support, ...
! 136: ---------------------------------------------------------------------------
! 137:
! 138: Solaris support still not present, a patch was provided by
! 139: Lorenzo Lazzieri but I did not have a solaris box to perform
! 140: some test, give me some solarix 2.[67] root account if you
! 141: need hping2 ported to solaris. Sorry, but my sparc S4 died
! 142: not long ago.
! 143:
! 144: FIX: the stupid nop.c no longer exist.
! 145: FIX: tcp sequence number and ack visualization bug for lacks of ntohl()!
! 146: FIX: minor coding bugs fixed, minor code cleanup
! 147: FIX: man pages path now is obtained from MANPATH
! 148: FIX: new *BSD ethernet under getlhs.c
! 149: ADD: NetBSD support (thanks to Yann Berthier)
! 150: ADD: settable checksum
! 151: ADD: now TCP sequence number and ack are settable.
! 152: SA ADD: bad checksum option (-b --badcksum).
! 153: ADD: settable fragment offset.
! 154: ADD: raw IP mode.
! 155: ADD: out of sequence packets counter (only with -r option).
! 156: ADD: documentation updated and a bit improved.
! 157:
! 158: 20 Nov 1999 -- 2.0.0 beta 53, important bug fixed
! 159: -------------------------------------------------
! 160:
! 161: Contrary to my hope this beta go out without Solaris support nor deep
! 162: testing under BSD systems. This because beta-53 FIX: some important bugs
! 163: so I think it's better to release it as soon as possible. I hope that
! 164: beta-54 will be more tested under BSD and will contain a first Solaris
! 165: support. Please, send me bug report/suggestions first beta-54 release, AZ
! 166:
! 167: AZ ADD: man page updated.
! 168: AZ FIX: a very dirty bug introduced in hping2-beta49, it was in waitpacket.c,
! 169: all offset was computed using the ip header length of the last packet, and
! 170: for the first incoming packet using uninitialized bytes. I suggest you
! 171: upgrade ASAP.
! 172: AZ ADD: enhanced configure and Makefile. Now "./configure; make" should
! 173: be enough at least under Linux, FreeBSD and OpenBSD. configure has options,
! 174: try ./configure --help. Also FIX: a `make clean' issue.
! 175: AZ FIX: a bug in rtt.c, in some circumstance it returned a negative rtt,
! 176: also ADD: an initial sanity check for faster problem tracing in rtt.c.
! 177: Now sent packets are registered into 'delay table' *before* of sending, I
! 178: think this isn't the better way to do a good timing, but since original ping
! 179: program use this way and it avoids some problem hping now use this solution.
! 180: AZ FIX: parseoptions.c, some parser fix and more limits for non root users.
! 181: AZ ADD: better hgetopt.c, now it's possible to combine short options like
! 182: -S -F etc in -SF. The same kind of bug seems still unfixed in gcc and ssh.
! 183: AZ if_promisc.c no longer compiled/linked since it isn't used by hping2.
! 184: I leave this file here for possible future new features. It will be needed
! 185: only for Linux since to set promiscuous mode with libpcap it is not useful.
! 186: AZ ADD:/FIX: getlhs.c updated, now system dependent, BSD ethernet names
! 187: updated thx to Rui Miguel Barbosa Machado <rmbm@rccn.net>,
! 188: FIX: BSD PPP link header size (I hope). Please send me a mail if you
! 189: successfully run hping2 under PPP interface on BSD.
! 190: AZ ADD: new `utils' directory added and the simple utility hex2bin
! 191: AZ ADD: distribution enhanced, CHANGES was extracted from TODO, MIRRORS contain
! 192: a mirrors list, BUGS the bug report form, others files added.
! 193:
! 194: 16 Nov 1999 -- 2.0.0 beta 52, first public 2.0.0
! 195: -------------------------------------------------
! 196:
! 197: AZ add W option for windoze byte ordering
! 198: AZ clearest var names
! 199: AZ fix incoming packet size computing
! 200: AZ add -V verbose mode
! 201: AZ add -D debug mode
! 202: AZ add support for 2.2.x kernel PF_PACKET socket
! 203: AZ fix (null) hostname problem
! 204: AZ add usec interval support for -i option
! 205: AZ fix -q option
! 206: AZ add -y (don't fragment) option
! 207: AZ better checksum algorithm from R. Stevens
! 208: AZ better icmp logging
! 209: AZ add capability of sending data besides header (-d)
! 210: AZ add fragmentation capability even with -d option
! 211: AZ add ICMP support
! 212: AZ get default routing interface from /proc
! 213: AZ add -k (keep still source port) option
! 214: AZ add UDP support
! 215: AZ all #define revisited for more cleanness
! 216: AZ recvto() incoming packet max size fixed
! 217: AZ data from file option
! 218: AZ hex dump of incoming packets
! 219: AZ incoming packets content dump (only printable)
! 220: AZ packet sign
! 221: AZ hgetopt.c, rewrite parse_options using hgetopt()
! 222: AZ GNU style options support
! 223: AZ target host argument recognized in any positions
! 224: AZ broadcast support, waittcp.c must be update (not for ICMP)
! 225: AZ fix some problem in hgetopt.c
! 226: AZ portability increased a bit
! 227: AZ byteorder.c, add ./configure, just for byte ordering check
! 228: AZ -9 | --listen <sign> listen mode for file transfers
! 229: AZ settable packets id
! 230: AZ fixed some problem in hgetopt.c/parseoption.c, assert() removed
! 231: AZ when suid don't allows a lot of options if uid != euid
! 232: AZ experimental traceroute mode (-T | --traceroute)
! 233: AZ HCMP (hping control message protocol) initial devel
! 234: AZ better HCMP support for safe protocol 'semi' implemented
! 235: AZ main.c clearness improved and reorder.
! 236: AZ HCMP for safe protocol works
! 237: AZ fix a bug when fragmentations is active (introduced with --id)
! 238: AZ settable tos, more than one --tos are ORed.
! 239: AZ strong code cleanup, three new files: rtt.c, relid.c, sendip_handler.c
! 240: AZ more portable includes, a bit more portable getifname.c
! 241: AZ enhanced ICMP support: rtt, (DUP), id.
! 242: AZ better ./configure and libpcap support predisposed.
! 243: AZ add round-trip min/avg/max statistics.
! 244: AZ get interface mtu, tunable fragments size, auto-activate
! 245: fragmentation if packet size > mtu
! 246: AZ --destport enhanced, now --destport +23 inc dest port
! 247: for each packet sent starting from 23.
! 248: AZ add libpcap support, Makefile and some .c updated
! 249: AZ fixed a bug introduced enhancing --destport option.
! 250: AZ if_mtu var name collision in BSD fixed, now h_if_mtu.
! 251: AZ better signal handling and minor internal changes.
! 252: FX save/restore errno in signal handlers.
! 253: FX add memory protection functions mem*.c in order to
! 254: prevent swap of sensitive memory areas.
! 255: AZ disable memory paging when --sign, --file, --listen used.
! 256: AZ Option -c wait after sending last packet
! 257: AZ ported on OpenBSD 2.3 (tested also on OpenBSD 2.5)
! 258: AZ enhanced ICMP support, now send type 8,0,3,4,5,11
! 259: AZ --traceroute default bind ttl to ctrl+z
! 260: MK Now waitpacket() handle ip options
! 261: MK Record route option support, and update IP related
! 262: functions to handle options. Also add ip_opt_build.c
! 263: and display_ipopt.c (ripped from ping)
! 264: AZ some bug fixed
! 265: AZ --tcpexitcode option that exit with last tcp->th_flags
! 266: AZ datafiller.c bug fix
! 267: AZ add -p ++port, as -p +port but that increments the destination
! 268: port even if no replies are received.
! 269: AZ fix getifname.c big problems with OpenBSD: it works only
! 270: for certain interface (now *seems* fixed)
! 271: AZ portable sendip.c raw socket ip fields byte ordering (N.B.
! 272: Linux and OpenBSD has all ip field in network byte order
! 273: so you may add right defines if you port hping2 to other OSs)
! 274: AZ compiles/works under FreeBSD 3.3
! 275:
! 276: 17 Dec 1998 -- 0.67 release
! 277: ---------------------------
! 278:
! 279: AZ add -a option
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>