I'm sponsoring this case for myself. The case qualifies for patch binding,
though I'm not planning on integrating it into an update.
The proposal is available in the case directory as proposal.txt, and the
mtr man page is in materials/mtr.8.
Danek
======================================================================
1. Summary
mtr[1], or "My Traceroute", is a network diagnostic tool akin to
traceroute, in that it detects round trip times from your local machine to
one given on the commandline. However, rather than making merely three
attempts to ping each machine along the route, it pings each machine
periodically until told to stop, presenting the accumulating data either in
a table of statistics or as a graph of times.
2. Specific Issues
2.1 Placement
Mtr is a highly useful tool for both system administrators and end-users,
and it is the opinion of the project team that it should be available in
/usr/bin instead of /usr/sbin.
2.2 Setuid
Like traceroute and ping, mtr uses raw sockets to send ICMP echo requests,
and this requires privilege. Because the program is useful not only to
system administrators but to normal users, it is highly convenient to
install this setuid root so as to be able to gain that privilege, and this
project proposes to do so. Mtr grabs itself a raw socket first thing on
startup and immediately drops all privileges, calling setuid(getuid()), as
it won't need that privilege again.
2.3 Graphical UI vs Terminal UI
Mtr can operate in a terminal with a curses UI, or it can throw up a window
using GTK+. Because the GUI code uses GTK+ 1.x and is less functional than
the curses UI, we propose to not compile this in. Should these problems
ever be corrected, a future project may enable the GUI.
3. Exported Interfaces
/usr/bin/mtr Uncommitted Executable location
Uncommitted Commandline options
Uncommitted "Raw" and "split"
output formats.
SUNWmtr Uncommitted Package name
4. References
[1] http://mtr.bitwizard.nl/mtr/