summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>1999-06-05 17:04:59 +0000
committerderaadt <deraadt@openbsd.org>1999-06-05 17:04:59 +0000
commitb59e3d11c34d4a632a33a4bc3bf3378855fe9c88 (patch)
treeda47ed54af79285cd27280c93684d1ad4849ea5a
parentmore .Os cleanup, remove some trailing whitespace, cleanse some .Nm (diff)
downloadwireguard-openbsd-b59e3d11c34d4a632a33a4bc3bf3378855fe9c88.tar.xz
wireguard-openbsd-b59e3d11c34d4a632a33a4bc3bf3378855fe9c88.zip
use inet_aton()
-rw-r--r--sbin/ipsecadm/ipsecadm.c37
-rw-r--r--usr.bin/w/w.c11
2 files changed, 36 insertions, 12 deletions
diff --git a/sbin/ipsecadm/ipsecadm.c b/sbin/ipsecadm/ipsecadm.c
index 21615834926..8e9af4c7191 100644
--- a/sbin/ipsecadm/ipsecadm.c
+++ b/sbin/ipsecadm/ipsecadm.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ipsecadm.c,v 1.17 1999/04/18 15:06:58 provos Exp $ */
+/* $OpenBSD: ipsecadm.c,v 1.18 1999/06/05 17:05:34 deraadt Exp $ */
/*
* The authors of this code are John Ioannidis (ji@tla.org),
* Angelos D. Keromytis (kermit@csd.uch.gr) and
@@ -511,7 +511,12 @@ main(int argc, char **argv)
{
proxy.sin.sin_family = AF_INET;
proxy.sin.sin_len = sizeof(struct sockaddr_in);
- proxy.sin.sin_addr.s_addr = inet_addr(argv[i + 1]);
+ if (!inet_aton(argv[i + 1], &proxy.sin.sin_addr)) {
+ fprintf(stderr,
+ "%s: Warning: proxy address %s is not valid\n",
+ argv[i + 1]);
+ exit(1);
+ }
sad3.sadb_address_exttype = SADB_EXT_ADDRESS_PROXY;
sad3.sadb_address_len = 1 + sizeof(struct sockaddr_in) / 8;
i++;
@@ -589,10 +594,30 @@ main(int argc, char **argv)
osmask.sin.sin_len = sizeof(struct sockaddr_in);
odmask.sin.sin_len = sizeof(struct sockaddr_in);
- osrc.sin.sin_addr.s_addr = inet_addr(argv[i + 1]); i++;
- osmask.sin.sin_addr.s_addr = inet_addr(argv[i + 1]); i++;
- odst.sin.sin_addr.s_addr = inet_addr(argv[i + 1]); i++;
- odmask.sin.sin_addr.s_addr = inet_addr(argv[i + 1]); i++;
+ if (!inet_aton(argv[i + 1], &osrc.sin.sin_addr)) {
+ fprintf(stderr, "%s: source address %s is not valid\n", argv[0],
+ argv[i + 1]);
+ exit(1);
+ }
+ i++;
+ if (!inet_aton(argv[i + 1], &osmask.sin.sin_addr)) {
+ fprintf(stderr, "%s: source netmask %s is not valid\n", argv[0],
+ argv[i + 1]);
+ exit(1);
+ }
+ i++;
+ if (!inet_aton(argv[i + 1], &odst.sin.sin_addr)) {
+ fprintf(stderr, "%s: destination address %s is not valid\n", argv[0],
+ argv[i + 1]);
+ exit(1);
+ }
+ i++;
+ if (!inet_aton(argv[i + 1], &odmask.sin.sin_addr)) {
+ fprintf(stderr, "%s: destination netmask %s is not valid\n", argv[0],
+ argv[i + 1]);
+ exit(1);
+ }
+ i++;
continue;
}
diff --git a/usr.bin/w/w.c b/usr.bin/w/w.c
index 57988ec5c09..5c8f4252d56 100644
--- a/usr.bin/w/w.c
+++ b/usr.bin/w/w.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: w.c,v 1.26 1999/04/25 00:33:56 millert Exp $ */
+/* $OpenBSD: w.c,v 1.27 1999/06/05 17:04:59 deraadt Exp $ */
/*-
* Copyright (c) 1980, 1991, 1993, 1994
@@ -43,7 +43,7 @@ static char copyright[] =
#if 0
static char sccsid[] = "@(#)w.c 8.4 (Berkeley) 4/16/94";
#else
-static char *rcsid = "$OpenBSD: w.c,v 1.26 1999/04/25 00:33:56 millert Exp $";
+static char *rcsid = "$OpenBSD: w.c,v 1.27 1999/06/05 17:04:59 deraadt Exp $";
#endif
#endif /* not lint */
@@ -127,7 +127,7 @@ main(argc, argv)
struct hostent *hp;
struct stat *stp;
FILE *ut;
- u_long l;
+ struct in_addr addr;
int ch, i, nentries, nusers, wcmd;
char *memf, *nlistf, *p, *x;
char buf[MAXHOSTNAMELEN], errbuf[_POSIX2_LINE_MAX];
@@ -319,9 +319,8 @@ main(argc, argv)
*x++ = '\0';
break;
}
- if (!nflag && isdigit(*p) &&
- (long)(l = inet_addr(p)) != -1 &&
- (hp = gethostbyaddr((char *)&l, sizeof(l), AF_INET))) {
+ if (!nflag && inet_aton(p, &addr) &&
+ (hp = gethostbyaddr((char *)&addr, sizeof(addr), AF_INET))) {
if (domain[0] != '\0') {
p = hp->h_name;
p += strlen(hp->h_name);