summaryrefslogtreecommitdiffstats
path: root/usr.sbin/traceroute
diff options
context:
space:
mode:
authorbenno <benno@openbsd.org>2017-05-28 10:00:00 +0000
committerbenno <benno@openbsd.org>2017-05-28 10:00:00 +0000
commitf68d7b96f98f1f51cec302c35093e0ab39d57628 (patch)
tree220283e949b6d4061e44f751617d66dcea033470 /usr.sbin/traceroute
parentRemove unused flag IWM_FLAG_STOPPED. (diff)
downloadwireguard-openbsd-f68d7b96f98f1f51cec302c35093e0ab39d57628.tar.xz
wireguard-openbsd-f68d7b96f98f1f51cec302c35093e0ab39d57628.zip
move as many globals as possible into the main function - thats the
only place where they are used. Only exception: v6flags - make it an argument to usage() ok florian@
Diffstat (limited to 'usr.sbin/traceroute')
-rw-r--r--usr.sbin/traceroute/traceroute.c40
1 files changed, 22 insertions, 18 deletions
diff --git a/usr.sbin/traceroute/traceroute.c b/usr.sbin/traceroute/traceroute.c
index 6b0909fbd71..b664dd71fa2 100644
--- a/usr.sbin/traceroute/traceroute.c
+++ b/usr.sbin/traceroute/traceroute.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: traceroute.c,v 1.151 2017/01/24 14:07:41 florian Exp $ */
+/* $OpenBSD: traceroute.c,v 1.152 2017/05/28 10:00:00 benno Exp $ */
/* $NetBSD: traceroute.c,v 1.10 1995/05/21 15:50:45 mycroft Exp $ */
/*
@@ -270,26 +270,13 @@ u_char *outpacket; /* last inbound (icmp) packet */
int rcvsock; /* receive (icmp) socket file descriptor */
int sndsock; /* send (udp) socket file descriptor */
-static struct msghdr rcvmhdr;
-static struct iovec rcviov[2];
-
int rcvhlim;
struct in6_pktinfo *rcvpktinfo;
int datalen; /* How much data */
-static int headerlen; /* How long packet's header is */
char *hostname;
-static int nprobes = 3;
-static u_int8_t max_ttl = IPDEFTTL;
-static u_int8_t first_ttl = 1;
-
-static int options; /* socket options */
-static int xflag; /* show ICMP extension header */
-static int tflag; /* tos flag was set */
-static int v6flag;
-
u_short ident;
u_int16_t srcport;
u_int16_t port = 32768+666;/* start udp dest port # for probe packets */
@@ -302,7 +289,7 @@ int dump;
int Aflag; /* lookup ASN */
int last_tos;
-void usage(void);
+void usage(int);
#define TRACEROUTE_USER "_traceroute"
@@ -333,6 +320,23 @@ main(int argc, char *argv[])
u_int rtableid = 0;
socklen_t len;
+ int headerlen; /* How long packet's header is */
+
+ int nprobes = 3;
+ u_int8_t max_ttl = IPDEFTTL;
+ u_int8_t first_ttl = 1;
+
+ int options = 0; /* socket options */
+ int xflag = 0; /* show ICMP extension header */
+ int tflag = 0; /* tos flag was set */
+ int v6flag = 0;
+
+ struct msghdr rcvmhdr;
+ struct iovec rcviov[2];
+
+ memset(&rcvmhdr, 0, sizeof(rcvmhdr));
+ memset(&rcviov, 0, sizeof(rcviov));
+
rcvsock4 = rcvsock6 = sndsock4 = sndsock6 = -1;
v4sock_errno = v6sock_errno = 0;
@@ -541,13 +545,13 @@ main(int argc, char *argv[])
xflag = 1;
break;
default:
- usage();
+ usage(v6flag);
}
argc -= optind;
argv += optind;
if (argc < 1 || argc > 2)
- usage();
+ usage(v6flag);
setvbuf(stdout, NULL, _IOLBF, 0);
@@ -926,7 +930,7 @@ main(int argc, char *argv[])
}
void
-usage(void)
+usage(int v6flag)
{
if (v6flag) {
fprintf(stderr, "usage: traceroute6 [-AcDdIlnSv] [-f first_hop] "