head 1.5; access; symbols pkgsrc-2026Q1:1.5.0.116 pkgsrc-2026Q1-base:1.5 pkgsrc-2025Q4:1.5.0.114 pkgsrc-2025Q4-base:1.5 pkgsrc-2025Q3:1.5.0.112 pkgsrc-2025Q3-base:1.5 pkgsrc-2025Q2:1.5.0.110 pkgsrc-2025Q2-base:1.5 pkgsrc-2025Q1:1.5.0.108 pkgsrc-2025Q1-base:1.5 pkgsrc-2024Q4:1.5.0.106 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.5.0.104 pkgsrc-2024Q3-base:1.5 pkgsrc-2024Q2:1.5.0.102 pkgsrc-2024Q2-base:1.5 pkgsrc-2024Q1:1.5.0.100 pkgsrc-2024Q1-base:1.5 pkgsrc-2023Q4:1.5.0.98 pkgsrc-2023Q4-base:1.5 pkgsrc-2023Q3:1.5.0.96 pkgsrc-2023Q3-base:1.5 pkgsrc-2023Q2:1.5.0.94 pkgsrc-2023Q2-base:1.5 pkgsrc-2023Q1:1.5.0.92 pkgsrc-2023Q1-base:1.5 pkgsrc-2022Q4:1.5.0.90 pkgsrc-2022Q4-base:1.5 pkgsrc-2022Q3:1.5.0.88 pkgsrc-2022Q3-base:1.5 pkgsrc-2022Q2:1.5.0.86 pkgsrc-2022Q2-base:1.5 pkgsrc-2022Q1:1.5.0.84 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.82 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.5.0.80 pkgsrc-2021Q3-base:1.5 pkgsrc-2021Q2:1.5.0.78 pkgsrc-2021Q2-base:1.5 pkgsrc-2021Q1:1.5.0.76 pkgsrc-2021Q1-base:1.5 pkgsrc-2020Q4:1.5.0.74 pkgsrc-2020Q4-base:1.5 pkgsrc-2020Q3:1.5.0.72 pkgsrc-2020Q3-base:1.5 pkgsrc-2020Q2:1.5.0.68 pkgsrc-2020Q2-base:1.5 pkgsrc-2020Q1:1.5.0.48 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.70 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.66 pkgsrc-2019Q3-base:1.5 pkgsrc-2019Q2:1.5.0.64 pkgsrc-2019Q2-base:1.5 pkgsrc-2019Q1:1.5.0.62 pkgsrc-2019Q1-base:1.5 pkgsrc-2018Q4:1.5.0.60 pkgsrc-2018Q4-base:1.5 pkgsrc-2018Q3:1.5.0.58 pkgsrc-2018Q3-base:1.5 pkgsrc-2018Q2:1.5.0.56 pkgsrc-2018Q2-base:1.5 pkgsrc-2018Q1:1.5.0.54 pkgsrc-2018Q1-base:1.5 pkgsrc-2017Q4:1.5.0.52 pkgsrc-2017Q4-base:1.5 pkgsrc-2017Q3:1.5.0.50 pkgsrc-2017Q3-base:1.5 pkgsrc-2017Q2:1.5.0.46 pkgsrc-2017Q2-base:1.5 pkgsrc-2017Q1:1.5.0.44 pkgsrc-2017Q1-base:1.5 pkgsrc-2016Q4:1.5.0.42 pkgsrc-2016Q4-base:1.5 pkgsrc-2016Q3:1.5.0.40 pkgsrc-2016Q3-base:1.5 pkgsrc-2016Q2:1.5.0.38 pkgsrc-2016Q2-base:1.5 pkgsrc-2016Q1:1.5.0.36 pkgsrc-2016Q1-base:1.5 pkgsrc-2015Q4:1.5.0.34 pkgsrc-2015Q4-base:1.5 pkgsrc-2015Q3:1.5.0.32 pkgsrc-2015Q3-base:1.5 pkgsrc-2015Q2:1.5.0.30 pkgsrc-2015Q2-base:1.5 pkgsrc-2015Q1:1.5.0.28 pkgsrc-2015Q1-base:1.5 pkgsrc-2014Q4:1.5.0.26 pkgsrc-2014Q4-base:1.5 pkgsrc-2014Q3:1.5.0.24 pkgsrc-2014Q3-base:1.5 pkgsrc-2014Q2:1.5.0.22 pkgsrc-2014Q2-base:1.5 pkgsrc-2014Q1:1.5.0.20 pkgsrc-2014Q1-base:1.5 pkgsrc-2013Q4:1.5.0.18 pkgsrc-2013Q4-base:1.5 pkgsrc-2013Q3:1.5.0.16 pkgsrc-2013Q3-base:1.5 pkgsrc-2013Q2:1.5.0.14 pkgsrc-2013Q2-base:1.5 pkgsrc-2013Q1:1.5.0.12 pkgsrc-2013Q1-base:1.5 pkgsrc-2012Q4:1.5.0.10 pkgsrc-2012Q4-base:1.5 pkgsrc-2012Q3:1.5.0.8 pkgsrc-2012Q3-base:1.5 pkgsrc-2012Q2:1.5.0.6 pkgsrc-2012Q2-base:1.5 pkgsrc-2012Q1:1.5.0.4 pkgsrc-2012Q1-base:1.5 pkgsrc-2011Q4:1.5.0.2 pkgsrc-2011Q4-base:1.5 pkgsrc-2011Q3:1.4.0.50 pkgsrc-2011Q3-base:1.4 pkgsrc-2011Q2:1.4.0.48 pkgsrc-2011Q2-base:1.4 pkgsrc-2011Q1:1.4.0.46 pkgsrc-2011Q1-base:1.4 pkgsrc-2010Q4:1.4.0.44 pkgsrc-2010Q4-base:1.4 pkgsrc-2010Q3:1.4.0.42 pkgsrc-2010Q3-base:1.4 pkgsrc-2010Q2:1.4.0.40 pkgsrc-2010Q2-base:1.4 pkgsrc-2010Q1:1.4.0.38 pkgsrc-2010Q1-base:1.4 pkgsrc-2009Q4:1.4.0.36 pkgsrc-2009Q4-base:1.4 pkgsrc-2009Q3:1.4.0.34 pkgsrc-2009Q3-base:1.4 pkgsrc-2009Q2:1.4.0.32 pkgsrc-2009Q2-base:1.4 pkgsrc-2009Q1:1.4.0.30 pkgsrc-2009Q1-base:1.4 pkgsrc-2008Q4:1.4.0.28 pkgsrc-2008Q4-base:1.4 pkgsrc-2008Q3:1.4.0.26 pkgsrc-2008Q3-base:1.4 cube-native-xorg:1.4.0.24 cube-native-xorg-base:1.4 pkgsrc-2008Q2:1.4.0.22 pkgsrc-2008Q2-base:1.4 cwrapper:1.4.0.20 pkgsrc-2008Q1:1.4.0.18 pkgsrc-2008Q1-base:1.4 pkgsrc-2007Q4:1.4.0.16 pkgsrc-2007Q4-base:1.4 pkgsrc-2007Q3:1.4.0.14 pkgsrc-2007Q3-base:1.4 pkgsrc-2007Q2:1.4.0.12 pkgsrc-2007Q2-base:1.4 pkgsrc-2007Q1:1.4.0.10 pkgsrc-2007Q1-base:1.4 pkgsrc-2006Q4:1.4.0.8 pkgsrc-2006Q4-base:1.4 pkgsrc-2006Q3:1.4.0.6 pkgsrc-2006Q3-base:1.4 pkgsrc-2006Q2:1.4.0.4 pkgsrc-2006Q2-base:1.4 pkgsrc-2006Q1:1.4.0.2 pkgsrc-2006Q1-base:1.4 pkgsrc-2005Q4:1.3.0.12 pkgsrc-2005Q4-base:1.3 pkgsrc-2005Q3:1.3.0.10 pkgsrc-2005Q3-base:1.3 pkgsrc-2005Q2:1.3.0.8 pkgsrc-2005Q2-base:1.3 pkgsrc-2005Q1:1.3.0.6 pkgsrc-2005Q1-base:1.3 pkgsrc-2004Q4:1.3.0.4 pkgsrc-2004Q4-base:1.3 pkgsrc-2004Q3:1.3.0.2 pkgsrc-2004Q3-base:1.3 pkgsrc-2004Q2:1.2.0.4 pkgsrc-2004Q2-base:1.2 pkgsrc-2004Q1:1.2.0.2 pkgsrc-2004Q1-base:1.2 pkgsrc-2003Q4:1.1.1.1.0.2 pkgsrc-2003Q4-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.5 date 2011.12.22.19.06.23; author is; state Exp; branches; next 1.4; 1.4 date 2006.03.23.13.50.12; author joerg; state Exp; branches; next 1.3; 1.3 date 2004.09.19.21.38.21; author kim; state Exp; branches; next 1.2; 1.2 date 2003.12.28.06.33.26; author kim; state Exp; branches; next 1.1; 1.1 date 2003.07.21.22.26.53; author kim; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2003.07.21.22.26.53; author kim; state Exp; branches; next ; desc @@ 1.5 log @Surprise, surprise: there are architectures where in_addr_t is not u_long. Without this fix, tcptraceroute would try to reach or source 0.0.0.0 always on big-endian LP64 architectures. @ text @$NetBSD$ --- tcptraceroute.c.orig 2002-07-30 21:51:27.000000000 +0000 +++ tcptraceroute.c @@@@ -209,7 +209,7 @@@@ Updates are available from http://michae #define AF_LINK AF_INET /* BSD defines some AF_INET network interfaces as AF_LINK */ #endif -#if defined (__OpenBSD__) || defined(__FreeBSD__) || defined(__bsdi__) +#if defined (__OpenBSD__) || defined(__FreeBSD__) || defined(__bsdi__) || defined(__NetBSD__) #define HASSALEN /* Awful, awful hack to make subinterfaces work on BSD. */ #endif @@@@ -306,7 +306,7 @@@@ struct datalinktype { }; /* Various globals */ -u_long dst_ip, src_ip; +in_addr_t dst_ip, src_ip; u_short src_prt, dst_prt; char *device, *name, *dst, *src; char dst_name[TEXTSIZE], dst_prt_name[TEXTSIZE], filter[TEXTSIZE]; @@@@ -322,7 +322,7 @@@@ int o_minttl, o_maxttl, o_timeout, o_deb /* interface linked list, built later by getinterfaces() */ struct interface_entry { char *name; - u_long addr; + in_addr_t addr; struct interface_entry *next; } *interfaces; @@@@ -332,7 +332,7 @@@@ typedef struct { u_short id, src_prt; struct timeval timestamp; double delta; - u_long addr; + in_addr_t addr; char *state; char *string; } proberecord; @@@@ -340,7 +340,6 @@@@ typedef struct { extern char *optarg; extern int optind, opterr, optopt; extern char pcap_version[]; -extern int errno; /* * fatal() and pfatal() are useful stdarg functions from @@@@ -391,10 +390,10 @@@@ void pfatal(char *err) void usage(void) { printf("\n%s\n%s\n", VERSION, BANNER); - fatal("Usage: %s [-nNFSAE] [-i ] [-f ] - [-l ] [-q ] [-t ] - [-m ] [-pP] ] [-s ] - [-w ] [destination port] [packet length]\n\n", name); + fatal("Usage: %s [-nNFSAE] [-i ] [-f ]\n" +" [-l ] [-q ] [-t ]\n" +" [-m ] [-pP] ] [-s ]\n" +" [-w ] [destination port] [packet length]\n\n", name); } void about(void) @@@@ -563,7 +562,7 @@@@ int tvsign(struct timeval *tv) */ #define IPTOSBUFFERS 12 -char *iptos(u_long in) +char *iptos(in_addr_t in) { static char output[IPTOSBUFFERS][3*4+3+1]; static short which; @@@@ -580,7 +579,7 @@@@ char *iptos(u_long in) * RFC1918 space. */ -char *iptohost(u_long in) +char *iptohost(in_addr_t in) { u_char *p = (u_char *)∈ @@@@ -635,7 +634,7 @@@@ void getinterfaces(void) struct ifconf ifc; struct ifreq *ifrp, ifr; int numreqs, i, s; - u_long addr; + in_addr_t addr; int salen; char *x; @@@@ -724,8 +723,7 @@@@ void getinterfaces(void) } #endif - if (ifrp->ifr_addr.sa_family != AF_INET && - ifrp->ifr_addr.sa_family != AF_LINK) + if (ifrp->ifr_addr.sa_family != AF_INET) { debug("Ignoring non-AF_INET address on interface %s\n", sprintable(ifr.ifr_name)); @@@@ -772,7 +770,7 @@@@ void getinterfaces(void) * given destination address. */ -u_long findsrc(u_long dest) +in_addr_t findsrc(in_addr_t dest) { struct sockaddr_in sinsrc, sindest; int s, size; @@@@ -808,7 +806,7 @@@@ u_long findsrc(u_long dest) * interface exists with an address of 127.0.0.1. */ -char *finddev(u_long with_src) +char *finddev(in_addr_t with_src) { struct interface_entry *p; char *device = NULL; @@@@ -905,7 +903,7 @@@@ void showprobe(proberecord *record) /* Variables to keep state between calls */ static char laststate[TEXTSIZE]; static int lastttl; - static u_long lastaddr; + static in_addr_t lastaddr; static int everprint; int printflag = 0; @@@@ -1053,7 +1051,7 @@@@ void debugoptions(void) void defaults(void) { struct servent *serv; - u_long recommended_src; + in_addr_t recommended_src; getinterfaces(); @@@@ -1182,9 +1180,9 @@@@ void initcapture(void) if (! (pcap = pcap_open_live(device, offset + SNAPLEN, 0, 10, errbuf))) fatal("pcap_open_live failed: %s", errbuf); - safe_snprintf(filter, TEXTSIZE, " - (tcp and src host %s and src port %d and dst host %s) - or ((icmp[0] == 11 or icmp[0] == 3) and dst host %s)", + safe_snprintf(filter, TEXTSIZE, + "(tcp and src host %s and src port %d and dst host %s)" + " or ((icmp[0] == 11 or icmp[0] == 3) and dst host %s)", iptos(dst_ip), dst_prt, iptos(src_ip), iptos(src_ip)); if (o_nofilter) @@@@ -1783,9 +1781,14 @@@@ int main(int argc, char **argv) o_dontfrag = 0; o_timeout = 3; o_nofilter = 0; - o_noselect = 0; o_nogetinterfaces = 0; +#if defined(__NetBSD__) + o_noselect = 1; +#else + o_noselect = 0; +#endif + #if defined (__SVR4) && defined (__sun) o_trackport = 1; /* --track-port should be the default for Solaris */ #else @@@@ -2003,6 +2006,6 @@@@ int main(int argc, char **argv) defaults(); initcapture(); - seteuid(getuid()); + setuid(getuid()); return trace(); } @ 1.4 log @Fix errno. @ text @d14 27 d64 27 d101 36 @ 1.3 log @Apply a security patch to correctly drop privileges. No vulnerability exists because of this, but I think it is best to have this applied. (However, no entry in the vulnerabilities file will be added.) @ text @d3 3 a5 3 --- tcptraceroute.c.orig 2002-07-30 17:51:27.000000000 -0400 +++ tcptraceroute.c 2004-09-19 17:34:05.000000000 -0400 @@@@ -209,7 +209,7 @@@@ d14 9 a22 1 @@@@ -391,10 +391,10 @@@@ d37 1 a37 1 @@@@ -724,8 +724,7 @@@@ d47 1 a47 1 @@@@ -1182,9 +1181,9 @@@@ d60 1 a60 1 @@@@ -1783,9 +1782,14 @@@@ d76 1 a76 1 @@@@ -2003,6 +2007,6 @@@@ @ 1.2 log @Fix multiline strings. @ text @d4 1 a4 1 +++ tcptraceroute.c 2003-12-28 00:58:09.000000000 -0500 d68 8 @ 1.1 log @Initial revision @ text @d3 2 a4 2 --- tcptraceroute.c.orig Tue Jul 30 17:51:27 2002 +++ tcptraceroute.c Mon Jul 21 18:14:11 2003 d14 15 d39 14 a52 1 @@@@ -1783,8 +1782,13 @@@@ d58 1 a58 1 + d64 1 a64 1 d67 1 @ 1.1.1.1 log @Add tcptraceroute-1.4 The widespread use of firewalls on the modern Internet, many of the packets that traceroute(8) sends out end up being filtered, making it impossible to completely trace the path to the destination. However, in many cases, these firewalls will permit inbound TCP packets to specific ports that hosts sitting behind the firewall are listening for connections on. By sending out TCP SYN packets instead of UDP or ICMP ECHO packets, tcptraceroute is able to bypass the most common firewall filters. @ text @@