diff options
-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 | ||