[BusyBox] Patch -- traceroute.c

Gyepi SAM gyepi at praxis-sw.com
Tue May 7 18:39:03 UTC 2002


Fixed up domain removal for local domains. GNU traceroute does not do this. I don't know why we do.
Fixed incorrect argument for reverse resolution.
Clean up cruft that appears when CONFIG_FEATURE_TRACEROUTE_VERBOSE is defined


Index: traceroute.c
===================================================================
RCS file: /var/cvs/busybox/networking/traceroute.c,v
retrieving revision 1.7
diff -B -u -b -r1.7 traceroute.c
--- traceroute.c	10 Nov 2001 11:22:43 -0000	1.7
+++ traceroute.c	8 May 2002 00:24:22 -0000
@@ -233,15 +233,12 @@
 
 	if (first && !nflag) {
 		first = 0;
-		if (gethostname(domain, MAXHOSTNAMELEN) == 0 &&
-		    (cp = strchr(domain, '.')))
-			(void) strcpy(domain, cp + 1);
-		else
+		if (getdomainname(domain, MAXHOSTNAMELEN) != 0)
 			domain[0] = 0;
 	}
 	cp = 0;
 	if (!nflag && from->sin_addr.s_addr != INADDR_ANY) {
-		if(INET_rresolve(name, sizeof(name), from, 0, 0xffffffff) >= 0) {
+		if(INET_rresolve(name, sizeof(name), from, 0x4000, 0xffffffff) >= 0) {
 			if ((cp = strchr(name, '.')) &&
 			    !strcmp(cp + 1, domain))
 				*cp = 0;
@@ -321,8 +318,7 @@
  * Convert an ICMP "type" field to a printable string.
  */
 static inline const char *
-pr_type(t)
-	u_char t;
+pr_type(u_char t)
 {
 	static const char * const ttab[] = {
 	"Echo Reply",   "ICMP 1",       "ICMP 2",       "Dest Unreachable",
@@ -546,12 +542,12 @@
 	if (setsockopt(sndsock, SOL_SOCKET, SO_SNDBUF, (char *)&datalen,
 		       sizeof(datalen)) < 0)
 		perror_msg_and_die("SO_SNDBUF");
-#endif SO_SNDBUF
+#endif
 #ifdef IP_HDRINCL
 	if (setsockopt(sndsock, IPPROTO_IP, IP_HDRINCL, (char *)&on,
 		       sizeof(on)) < 0)
 		perror_msg_and_die("IP_HDRINCL");
-#endif IP_HDRINCL
+#endif
 #ifdef CONFIG_FEATURE_TRACEROUTE_SO_DEBUG
 	if (options & SO_DEBUG)
 		(void) setsockopt(sndsock, SOL_SOCKET, SO_DEBUG,
@@ -571,7 +567,7 @@
 #ifndef IP_HDRINCL
 		if (bind(sndsock, (struct sockaddr *)&from, sizeof(from)) < 0)
 			perror_msg_and_die("bind");
-#endif IP_HDRINCL
+#endif
 	}
 
 	fprintf(stderr, "traceroute to %s (%s)", hostname,



More information about the busybox mailing list