diff options
Diffstat (limited to '')
| -rw-r--r-- | src/usr.bin/nc/netcat.c | 16 | 
1 files changed, 11 insertions, 5 deletions
| diff --git a/src/usr.bin/nc/netcat.c b/src/usr.bin/nc/netcat.c index 8bbd183e62..1b22308d5a 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.150 2016/01/04 02:18:31 bcook Exp $ */ | 1 | /* $OpenBSD: netcat.c,v 1.151 2016/05/28 19:39:16 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. | 
| @@ -133,7 +133,7 @@ int unix_listen(char *); | |||
| 133 | void set_common_sockopts(int, int); | 133 | void set_common_sockopts(int, int); | 
| 134 | int map_tos(char *, int *); | 134 | int map_tos(char *, int *); | 
| 135 | int map_tls(char *, int *); | 135 | int map_tls(char *, int *); | 
| 136 | void report_connect(const struct sockaddr *, socklen_t); | 136 | void report_connect(const struct sockaddr *, socklen_t, char *); | 
| 137 | void report_tls(struct tls *tls_ctx, char * host, char *tls_expectname); | 137 | void report_tls(struct tls *tls_ctx, char * host, char *tls_expectname); | 
| 138 | void usage(int); | 138 | void usage(int); | 
| 139 | ssize_t drainbuf(int, unsigned char *, size_t *, struct tls *); | 139 | ssize_t drainbuf(int, unsigned char *, size_t *, struct tls *); | 
| @@ -516,7 +516,7 @@ main(int argc, char *argv[]) | |||
| 516 | err(1, "connect"); | 516 | err(1, "connect"); | 
| 517 | 517 | ||
| 518 | if (vflag) | 518 | if (vflag) | 
| 519 | report_connect((struct sockaddr *)&z, len); | 519 | report_connect((struct sockaddr *)&z, len, NULL); | 
| 520 | 520 | ||
| 521 | readwrite(s, NULL); | 521 | readwrite(s, NULL); | 
| 522 | } else { | 522 | } else { | 
| @@ -528,7 +528,8 @@ main(int argc, char *argv[]) | |||
| 528 | err(1, "accept"); | 528 | err(1, "accept"); | 
| 529 | } | 529 | } | 
| 530 | if (vflag) | 530 | if (vflag) | 
| 531 | report_connect((struct sockaddr *)&cliaddr, len); | 531 | report_connect((struct sockaddr *)&cliaddr, len, | 
| 532 | family == AF_UNIX ? host : NULL); | ||
| 532 | if ((usetls) && | 533 | if ((usetls) && | 
| 533 | (tls_cctx = tls_setup_server(tls_ctx, connfd, host))) | 534 | (tls_cctx = tls_setup_server(tls_ctx, connfd, host))) | 
| 534 | readwrite(connfd, tls_cctx); | 535 | readwrite(connfd, tls_cctx); | 
| @@ -1487,13 +1488,18 @@ report_tls(struct tls * tls_ctx, char * host, char *tls_expectname) | |||
| 1487 | } | 1488 | } | 
| 1488 | 1489 | ||
| 1489 | void | 1490 | void | 
| 1490 | report_connect(const struct sockaddr *sa, socklen_t salen) | 1491 | report_connect(const struct sockaddr *sa, socklen_t salen, char *path) | 
| 1491 | { | 1492 | { | 
| 1492 | char remote_host[NI_MAXHOST]; | 1493 | char remote_host[NI_MAXHOST]; | 
| 1493 | char remote_port[NI_MAXSERV]; | 1494 | char remote_port[NI_MAXSERV]; | 
| 1494 | int herr; | 1495 | int herr; | 
| 1495 | int flags = NI_NUMERICSERV; | 1496 | int flags = NI_NUMERICSERV; | 
| 1496 | 1497 | ||
| 1498 | if (path != NULL) { | ||
| 1499 | fprintf(stderr, "Connection on %s received!\n", path); | ||
| 1500 | return; | ||
| 1501 | } | ||
| 1502 | |||
| 1497 | if (nflag) | 1503 | if (nflag) | 
| 1498 | flags |= NI_NUMERICHOST; | 1504 | flags |= NI_NUMERICHOST; | 
| 1499 | 1505 | ||
