diff options
Diffstat (limited to 'src/usr.bin/nc/netcat.c')
-rw-r--r-- | src/usr.bin/nc/netcat.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/usr.bin/nc/netcat.c b/src/usr.bin/nc/netcat.c index b71c0426dc..4a841fb96d 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.167 2016/11/04 05:13:13 beck Exp $ */ | 1 | /* $OpenBSD: netcat.c,v 1.168 2016/11/05 15:13:26 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. |
@@ -100,6 +100,7 @@ int rtableid = -1; | |||
100 | int usetls; /* use TLS */ | 100 | int usetls; /* use TLS */ |
101 | char *Cflag; /* Public cert file */ | 101 | char *Cflag; /* Public cert file */ |
102 | char *Kflag; /* Private key file */ | 102 | char *Kflag; /* Private key file */ |
103 | char *oflag; /* OCSP stapling file */ | ||
103 | char *Rflag = DEFAULT_CA_FILE; /* Root CA file */ | 104 | char *Rflag = DEFAULT_CA_FILE; /* Root CA file */ |
104 | int tls_cachanged; /* Using non-default CA file */ | 105 | int tls_cachanged; /* Using non-default CA file */ |
105 | int TLSopt; /* TLS options */ | 106 | int TLSopt; /* TLS options */ |
@@ -163,7 +164,7 @@ main(int argc, char *argv[]) | |||
163 | signal(SIGPIPE, SIG_IGN); | 164 | signal(SIGPIPE, SIG_IGN); |
164 | 165 | ||
165 | while ((ch = getopt(argc, argv, | 166 | while ((ch = getopt(argc, argv, |
166 | "46C:cDde:FH:hI:i:K:klM:m:NnO:P:p:R:rSs:T:tUuV:vw:X:x:z")) != -1) { | 167 | "46C:cDde:FH:hI:i:K:klM:m:NnO:o:P:p:R:rSs:T:tUuV:vw:X:x:z")) != -1) { |
167 | switch (ch) { | 168 | switch (ch) { |
168 | case '4': | 169 | case '4': |
169 | family = AF_INET; | 170 | family = AF_INET; |
@@ -295,6 +296,9 @@ main(int argc, char *argv[]) | |||
295 | errx(1, "TCP send window %s: %s", | 296 | errx(1, "TCP send window %s: %s", |
296 | errstr, optarg); | 297 | errstr, optarg); |
297 | break; | 298 | break; |
299 | case 'o': | ||
300 | oflag = optarg; | ||
301 | break; | ||
298 | case 'S': | 302 | case 'S': |
299 | Sflag = 1; | 303 | Sflag = 1; |
300 | break; | 304 | break; |
@@ -380,6 +384,8 @@ main(int argc, char *argv[]) | |||
380 | errx(1, "you must specify -c to use -C"); | 384 | errx(1, "you must specify -c to use -C"); |
381 | if (Kflag && !usetls) | 385 | if (Kflag && !usetls) |
382 | errx(1, "you must specify -c to use -K"); | 386 | errx(1, "you must specify -c to use -K"); |
387 | if (oflag && !Cflag) | ||
388 | errx(1, "you must specify -C to use -o"); | ||
383 | if (tls_cachanged && !usetls) | 389 | if (tls_cachanged && !usetls) |
384 | errx(1, "you must specify -c to use -R"); | 390 | errx(1, "you must specify -c to use -R"); |
385 | if (tls_expecthash && !usetls) | 391 | if (tls_expecthash && !usetls) |
@@ -455,6 +461,8 @@ main(int argc, char *argv[]) | |||
455 | errx(1, "%s", tls_config_error(tls_cfg)); | 461 | errx(1, "%s", tls_config_error(tls_cfg)); |
456 | if (Kflag && tls_config_set_key_file(tls_cfg, Kflag) == -1) | 462 | if (Kflag && tls_config_set_key_file(tls_cfg, Kflag) == -1) |
457 | errx(1, "%s", tls_config_error(tls_cfg)); | 463 | errx(1, "%s", tls_config_error(tls_cfg)); |
464 | if (oflag && tls_config_set_ocsp_staple_file(tls_cfg, oflag) == -1) | ||
465 | errx(1, "%s", tls_config_error(tls_cfg)); | ||
458 | if (TLSopt & TLS_LEGACY) { | 466 | if (TLSopt & TLS_LEGACY) { |
459 | tls_config_set_protocols(tls_cfg, TLS_PROTOCOLS_ALL); | 467 | tls_config_set_protocols(tls_cfg, TLS_PROTOCOLS_ALL); |
460 | tls_config_set_ciphers(tls_cfg, "all"); | 468 | tls_config_set_ciphers(tls_cfg, "all"); |