#9228 closed defect (invalid)
traceroute usage doesn't reflect it's capabilities.
Reported by: | Gustav Schaffter <gustav.schaffter@…> | Owned by: | developers |
---|---|---|---|
Priority: | normal | Milestone: | Barrier Breaker 14.07 |
Component: | packages | Version: | Trunk |
Keywords: | Cc: |
Description
ATTITUDE ADJUSTMENT (bleeding edge, r26609)
I had opened (and requested the close of) another ticket concerning traceroute. /ticket/9212.html about traceroute's ability to use ICMP Echo. As said in ticket 9212, it works if traceroute is compiled with the correct configuration.
On the other hand, when traceroute is compiled without the
CONFIG_BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y
i.e. with
# CONFIG_BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
then it will still claim that it is capable of sending ICMP Echo messages.
Defect
# CONFIG_BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
When traceroute is executed without any command line options at all, it will print out it's usage.
# traceroute BusyBox v1.18.4 (2011-04-11 21:06:25 CEST) multi-call binary. Usage: traceroute [-FIldnrv] [-f 1ST_TTL] [-m MAXTTL] [-p PORT] [-q PROBES] [-s SRC_IP] [-t TOS] [-w WAIT_SEC] [-g GATEWAY] [-i IFACE] [-z PAUSE_MSEC] HOST [BYTES] Trace the route to HOST Options: -F Set the don't fragment bit -I Use ICMP ECHO instead of UDP datagrams -l Display the TTL value of the returned packet -d Set SO_DEBUG options to socket -n Print numeric addresses -r Bypass routing tables, send directly to HOST -v Verbose -m Max time-to-live (max number of hops) -p Base UDP port number used in probes (default 33434) -q Number of probes per TTL (default 3) -s IP address to use as the source address -t Type-of-service in probe packets (default 0) -w Time in seconds to wait for a response (default 3) -g Loose source route gateway (8 max)
So, traceroute will claim that it can send ICMP Echoes, even though it wasn't built to do it. (And will subsequently send ordinary UDP packages instead.)
Conclusion:
- Conditional build of traceroute with or without support for '-I' should be reflected in it's usage statement. This may be true for other conditional capabilities as well.
- traceroute should bark when it's given command line options that it cannot handle, and not silently choose to do something else which it wasn't asked to do.
Regards
GuS
Attachments (0)
Change History (2)
comment:1 Changed 7 years ago by jow
- Resolution set to invalid
- Status changed from new to closed
comment:2 Changed 4 years ago by jow
- Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07
Milestone Attitude Adjustment 12.09 deleted
Please report that at http://busybox.net/ .