270 lines
8.3 KiB
Plaintext
Executable File
270 lines
8.3 KiB
Plaintext
Executable File
2010-12-14 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.17
|
|
|
|
* Adapt code to make possible the use of Linux capabilities
|
|
(for raw sockets etc.) instead of superuser privileges only.
|
|
|
|
On modern systems the capabilities can be stored as
|
|
file attributes, ie.:
|
|
|
|
"setcap cap_net_raw=pe /usr/bin/traceroute"
|
|
|
|
|
|
2010-09-13 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.16
|
|
|
|
* A little work-around in the build system
|
|
for the new (buggy?) make 3.82
|
|
|
|
* Add `--fwmark=num' option for firewall mark (for kernel >= 2.6.25).
|
|
Idea comes from an anonymous SF patch #3042539
|
|
|
|
|
|
2010-07-14 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.15
|
|
|
|
* Use string routines more safely (fix SF bug #3029216)
|
|
|
|
* Provide help for lft wrapper
|
|
|
|
|
|
2010-04-21 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.14
|
|
|
|
* Fix support for IPv6's flow_labels and tclass.
|
|
Thanks to Peter Bieringer for testing
|
|
|
|
* Use route header "type 2" instead of deprecated "type 0"
|
|
for `-g' option for IPv6. The default value can be changed
|
|
by specifying a number in the place of the first `-g' address.
|
|
|
|
|
|
2009-11-02 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.13
|
|
|
|
* Check for first_hop is not zero value (vladz@devzero.fr)
|
|
|
|
* Always fill unresolved IP address by its numeric interpretation,
|
|
even if getnameinfo(3) leaves it untouched (as it does for ipv6
|
|
in some glibc versions, whereas always fills for ipv4)
|
|
|
|
* Cosmetic changes for man page (Andreas Mohr)
|
|
|
|
|
|
2008-09-15 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.12
|
|
|
|
* Use common recv_reply() routine for all modules which
|
|
do recvmsg(2) call. Method-specific things go to callbacks.
|
|
|
|
Pass to init methods pointer to datalen instead of the value.
|
|
|
|
* Implement ICMP Extension support (rfc4884), `-e' option.
|
|
Parse MPLS info (rfc4950) to be more readable (Kaj Niemi)
|
|
|
|
* Implement Path MTU Discovery (similar to tracepath(1)),
|
|
with `--mtu' option. Changed mtu is printed once in a form
|
|
of `F=NUM' at the first probe of a hop which requires
|
|
such mtu to be reached. (Actually, the correspond "frag needed"
|
|
icmp message is normally sent by the previous hop).
|
|
|
|
* Print the number of backward hops when it differs with forward,
|
|
by `--back' option. The backward hops is guessed by a technique
|
|
similar to tracepath(1), there is no reliable way to obtain
|
|
such info though.
|
|
|
|
* The optional second argument (packet_len) now is the full length
|
|
of the packet, including IP headers. (It is obvious enough due to
|
|
the nature of this feature, and this is the behaviour of the
|
|
original traceroute). Particular trace methods can ignore this
|
|
(fe. tcp), or increase it up to the minimal value (udp, icmp).
|
|
The actual packet's size is alvays reported in the output header.
|
|
|
|
* Add tracepath(1)/tracepath6(1) shell wrapper.
|
|
|
|
* Allow DEF_AF to be redefined at cmdline (Teran McKinney)
|
|
|
|
* Do not check the correctness of `sim_probes' value -- it is
|
|
unneeded at all. This also fixes a bug when a value of sim_probes
|
|
appears to be more than the total number of probes.
|
|
Reported by Milos Malik.
|
|
|
|
* Allow default UDP method to cross zero port boundary (Milos Malik).
|
|
It is a strange corner case, but traditional traceroute
|
|
behaves exactly so.
|
|
|
|
|
|
2008-04-25 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.11
|
|
|
|
* Use new pmtudisc value "probe" instead of "do" for `-F' option
|
|
(available since the kernel 2.6.22).
|
|
|
|
For kernels before 2.6.22, the `-F' (dontfragment) option
|
|
seems completely useless for IPv6 and partially useful
|
|
for IPv4 (when a user can flush routing caches some way).
|
|
|
|
* Fix installation in build system (Mike Frysinger)
|
|
|
|
* Don't compute checksum for ipv6 icmp packets ourselves,
|
|
the kernel overwrites it anyway by the proper values.
|
|
|
|
* Don't use explicit path to traceroute in wrapper scripts
|
|
|
|
|
|
2008-04-17 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.10
|
|
|
|
* raw_can_connect(): ipv6 connected raw sockets
|
|
receive MSG_ERRQUEUE properly only for kernels >= 2.6.25
|
|
|
|
* remove useless "host" parameter for init methods
|
|
|
|
* add probe_by_seq() and probe_by_sk() routines,
|
|
don't pass whole probes' pointer to recv_probe method
|
|
|
|
* collect all sends in do_send() routine
|
|
|
|
* Interpret ENOBUFS errors for send(2) as "can retry later".
|
|
|
|
Slow devices (like ppp) with small tx_queue_len can reject
|
|
the sending of too many packets simultaneously. To handle this,
|
|
do_send() now returns a negate value in a case of ENOBUFS
|
|
and similar (instead of program exit). The send_probe method
|
|
clears the probe and returns immediately in such cases.
|
|
Then, if there is an amount of time to wait for something,
|
|
the failed probe will be attempted again after that time expired.
|
|
If nothing to wait more, the program is exited.
|
|
|
|
|
|
2007-09-26 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.9
|
|
|
|
* Complete manual page.
|
|
|
|
* Edit manual page to sound more English, thanks to Chris Ward
|
|
|
|
|
|
2007-09-04 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.8
|
|
|
|
* Move all wrappers to special "wrappers/" dir.
|
|
Add lft(8) shell wrapper.
|
|
Add traceproto(8) shell wrapper.
|
|
Add traceroute-nanog(8) shell wrapper.
|
|
|
|
* Interpret first_hop as number, not index
|
|
|
|
* Build system is re-worked to match more the modern requirements
|
|
(Thanks to Mike Frysinger for testing).
|
|
|
|
* Check for kernel version >= 2.6.22.2 in raw_can_connect()
|
|
|
|
* Add generic "raw" method, "-P protonum" option.
|
|
New "one_per_time" flag for tr_module.
|
|
|
|
|
|
2007-07-31 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.7
|
|
|
|
* Fix revents checking typo
|
|
|
|
* Expect normal data reply from udp too.
|
|
|
|
* Implement udp to port (-U) and udplite (-UL) methods.
|
|
Both available for unprivileged users.
|
|
Add "coverage" option for udplite.
|
|
|
|
* Allow non-digit service names for `-p' and `--sport'
|
|
|
|
* Drop period at the end of "SEE ALSO" section, and
|
|
avoid specific distro names in the manual (Mike Frysinger)
|
|
|
|
* Explicitly mention that this program is licensed
|
|
as "GPL version 2 or any later version".
|
|
(Similar for libsupp subdir: LGPL version 2.1 or any later).
|
|
|
|
* Always check whether the dest and source port match in
|
|
received packets. Can decrease an amount of (hypothetical)
|
|
garbage received just after the bind() but before connect()
|
|
|
|
|
|
2007-07-19 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.6
|
|
|
|
* Rename tr_ops to tr_module
|
|
|
|
* Implement module-specific options (-O opt,...)
|
|
|
|
* Add TCP specific options (all the tcp header flags,
|
|
ecn, sack, timestamps, window_scaling, mss, sysctl)
|
|
Build tcp probe packet depending on them.
|
|
|
|
* Add "--sport" option for explicit source port selection.
|
|
Always cause "-N 1" when it is set.
|
|
|
|
* Add new routine bind_socket().
|
|
Always (auto)bind sockets in tune_socket().
|
|
|
|
* Add tcptraceroute(8) shell wrapper
|
|
|
|
|
|
2007-07-16 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.5
|
|
|
|
* Use MSG_ERRQUEUE for raw sockets too.
|
|
|
|
* raw_can_connect () work-around for kernel bug #8747
|
|
|
|
* random.c, csum.c: new separate files
|
|
|
|
* New implementation of tcp method ("-T"), using
|
|
half-open technique. The old implementation module
|
|
renamed to "tcpconn" ("-M tcpconn").
|
|
|
|
* Common parse_cmsg() routine
|
|
|
|
* put ee_info for parse_icmp_res() too,
|
|
handle ICMP6_PACKET_TOO_BIG for IPv6,
|
|
report "!F-num" when "frag needed" (legacy compatibility)
|
|
|
|
|
|
2007-07-11 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.4
|
|
|
|
* clear includes of unneeded headers
|
|
|
|
* move poll stuff to separate poll.c
|
|
|
|
* add module stuff (module.c), options etc.
|
|
Adapt udp/icmp/tcp for this.
|
|
|
|
* Add common routines use_recverr() and set_ttl()
|
|
|
|
|
|
2007-02-28 Dmitry Butskoy <Dmitry@Butskoy.name>
|
|
|
|
* fix variable type for getsockname (Mike Frysinger)
|
|
|
|
|
|
2007-01-09 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.3
|
|
|
|
* version 2.0.3
|
|
|
|
* allow option args without separator (add CLIF_MAY_JOIN_ARG flag),
|
|
for compatibility (Benjamin LaHaise)
|
|
|
|
* no more "tcptraceroute" symlink for rpm packages, because
|
|
it conflicts with the same-name old package anyway (James Ralston)
|
|
|
|
* fix compilation on glibc < 2.4 (Andy Shevchenko)
|
|
|
|
|
|
2006-10-30 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.2
|
|
|
|
* version 2.0.2
|
|
|
|
* More accurate check_expired() routine.
|
|
|
|
* Some minor fixes.
|
|
|
|
* Add NOTES section to manual
|
|
|
|
|
|
2006-10-20 Dmitry Butskoy <Dmitry@Butskoy.name> - 2.0.1
|
|
|
|
* version 2.0.1
|
|
|
|
* Now ops methods write send_time (as well as recv_time)
|
|
|
|
* Use SO_TIMESTAMP to obtain msecs precisely
|
|
|
|
* Complete manual
|
|
|