Michael C. Toren on Sat, 11 May 2002 01:19:06 -0400

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

[tcptra-dev] tcptraceroute-1.3beta7

tcptraceroute-1.3beta7 is now available on the beta website,

Since the last beta release, I discovered that versions of libpcap prior
to 0.6 had been taking precautions to ensure that the payload section of
linklayer frames lifted off the wire were properly aligned, while newer
versions of libpcap make no such assurances.  This causes problems on
architectures which don't allow unaligned memory access, such as sparc.
As a workaround, tcptraceroute now malloc()s new space, which is
guaranteed to be properly aligned, and copies the packet data there prior
to casting a packet header struct against it.  If anyone has a better
suggestion, please let me know.

Other significant changes since the last release include an undocumented
--no-select command line argument, which disables calls to select().  It
seems that on some BSD systems (FreeBSD?), select() will never indicate
data is ready to be read on a BPF socket.  If I receive more reports that
tcptraceroute on FreeBSD doesn't work without --no-select, I'll make it a
compile-time default for that platform.  Also, I rewrote the command line
argument handling again so that it's now using getopt(), as suggested by
Scott Fenton <scott@matts-books.com> some time ago.  A pass over the
command line is first made by hand to process and remove long options,
then the remainder of the options are passed to getopt().

As these represent a number of fairly significant change, most especially
the ones affecting the memory alignment issues, feedback from beta testers
is very much appreciated.   tcptraceroute-1.2 is currently unusable on
sparc with newer libpcap versions, so I'm very anxious to release quickly.

Thank you for your support!

tcptraceroute-dev mailing list