diff options
Diffstat (limited to '')
| -rw-r--r-- | src/usr.bin/nc/netcat.c | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/src/usr.bin/nc/netcat.c b/src/usr.bin/nc/netcat.c index fcc38897cd..e03199e528 100644 --- a/src/usr.bin/nc/netcat.c +++ b/src/usr.bin/nc/netcat.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: netcat.c,v 1.190 2018/03/19 16:35:29 jsing Exp $ */ | 1 | /* $OpenBSD: netcat.c,v 1.191 2018/04/27 15:17:53 beck Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> | 3 | * Copyright (c) 2001 Eric Jackson <ericj@monkey.org> |
| 4 | * Copyright (c) 2015 Bob Beck. All rights reserved. | 4 | * Copyright (c) 2015 Bob Beck. All rights reserved. |
| @@ -349,13 +349,28 @@ main(int argc, char *argv[]) | |||
| 349 | if (setrtable(rtableid) == -1) | 349 | if (setrtable(rtableid) == -1) |
| 350 | err(1, "setrtable"); | 350 | err(1, "setrtable"); |
| 351 | 351 | ||
| 352 | /* Cruft to make sure options are clean, and used properly. */ | ||
| 353 | if (argv[0] && !argv[1] && family == AF_UNIX) { | ||
| 354 | host = argv[0]; | ||
| 355 | uport = NULL; | ||
| 356 | } else if (argv[0] && !argv[1]) { | ||
| 357 | if (!lflag) | ||
| 358 | usage(1); | ||
| 359 | uport = argv[0]; | ||
| 360 | host = NULL; | ||
| 361 | } else if (argv[0] && argv[1]) { | ||
| 362 | host = argv[0]; | ||
| 363 | uport = argv[1]; | ||
| 364 | } else | ||
| 365 | usage(1); | ||
| 366 | |||
| 352 | if (family == AF_UNIX) { | 367 | if (family == AF_UNIX) { |
| 353 | if (pledge("stdio rpath wpath cpath tmppath unix", NULL) == -1) | 368 | if (pledge("stdio rpath wpath cpath tmppath unix", NULL) == -1) |
| 354 | err(1, "pledge"); | 369 | err(1, "pledge"); |
| 355 | } else if (Fflag && Pflag) { | 370 | } else if (Fflag && Pflag) { |
| 356 | if (pledge("stdio inet dns sendfd tty", NULL) == -1) | 371 | if (pledge("stdio inet dns sendfd tty", NULL) == -1) |
| 357 | err(1, "pledge"); | 372 | err(1, "pledge"); |
| 358 | } else if (Fflag) { | 373 | } else if (Fflag) { |
| 359 | if (pledge("stdio inet dns sendfd", NULL) == -1) | 374 | if (pledge("stdio inet dns sendfd", NULL) == -1) |
| 360 | err(1, "pledge"); | 375 | err(1, "pledge"); |
| 361 | } else if (Pflag && usetls) { | 376 | } else if (Pflag && usetls) { |
| @@ -370,21 +385,6 @@ main(int argc, char *argv[]) | |||
| 370 | } else if (pledge("stdio inet dns", NULL) == -1) | 385 | } else if (pledge("stdio inet dns", NULL) == -1) |
| 371 | err(1, "pledge"); | 386 | err(1, "pledge"); |
| 372 | 387 | ||
| 373 | /* Cruft to make sure options are clean, and used properly. */ | ||
| 374 | if (argv[0] && !argv[1] && family == AF_UNIX) { | ||
| 375 | host = argv[0]; | ||
| 376 | uport = NULL; | ||
| 377 | } else if (argv[0] && !argv[1]) { | ||
| 378 | if (!lflag) | ||
| 379 | usage(1); | ||
| 380 | uport = argv[0]; | ||
| 381 | host = NULL; | ||
| 382 | } else if (argv[0] && argv[1]) { | ||
| 383 | host = argv[0]; | ||
| 384 | uport = argv[1]; | ||
| 385 | } else | ||
| 386 | usage(1); | ||
| 387 | |||
| 388 | if (lflag && sflag) | 388 | if (lflag && sflag) |
| 389 | errx(1, "cannot use -s and -l"); | 389 | errx(1, "cannot use -s and -l"); |
| 390 | if (lflag && pflag) | 390 | if (lflag && pflag) |
