Modify

Opened 7 years ago

Closed 7 years ago

Last modified 4 years ago

#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

Please report that at http://busybox.net/ .

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

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.