diff options
Diffstat (limited to 'network/netcat-openbsd/patches/0008-verbose-numeric-port.patch')
-rw-r--r-- | network/netcat-openbsd/patches/0008-verbose-numeric-port.patch | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/network/netcat-openbsd/patches/0008-verbose-numeric-port.patch b/network/netcat-openbsd/patches/0008-verbose-numeric-port.patch deleted file mode 100644 index fa1cf991a0..0000000000 --- a/network/netcat-openbsd/patches/0008-verbose-numeric-port.patch +++ /dev/null @@ -1,106 +0,0 @@ -From: Aron Xu <aron@debian.org> -Date: Mon, 13 Feb 2012 15:38:15 +0800 -Subject: verbose numeric port - ---- - netcat.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- - 1 file changed, 55 insertions(+), 4 deletions(-) - -diff --git a/netcat.c b/netcat.c -index baab909..eb3453e 100644 ---- a/netcat.c -+++ b/netcat.c -@@ -41,6 +41,7 @@ - #include <netinet/tcp.h> - #include <netinet/ip.h> - #include <arpa/telnet.h> -+#include <arpa/inet.h> - - #ifndef IPTOS_LOWDELAY - # define IPTOS_LOWDELAY 0x10 -@@ -424,6 +425,18 @@ main(int argc, char *argv[]) - s = local_listen(host, uport, hints); - if (s < 0) - err(1, NULL); -+ -+ char* local; -+ if (family == AF_INET6 -+ local = "0.0.0.0"; -+ else if (family == AF_INET) -+ local = ":::"; -+ else -+ local = "unknown" -+ fprintf(stderr, "Listening on [%s] (family %d, port %d)\n", -+ host ?: local, -+ family, -+ *uport); - /* - * For UDP, we will use recvfrom() initially - * to wait for a caller, then use the regular -@@ -432,16 +445,15 @@ main(int argc, char *argv[]) - if (uflag) { - int rv, plen; - char buf[16384]; -- struct sockaddr_storage z; - -- len = sizeof(z); -+ len = sizeof(cliaddr); - plen = jflag ? 16384 : 2048; - rv = recvfrom(s, buf, plen, MSG_PEEK, -- (struct sockaddr *)&z, &len); -+ (struct sockaddr *)&cliaddr, &len); - if (rv < 0) - err(1, "recvfrom"); - -- rv = connect(s, (struct sockaddr *)&z, len); -+ rv = connect(s, (struct sockaddr *)&cliaddr, len); - if (rv < 0) - err(1, "connect"); - -@@ -450,6 +462,45 @@ main(int argc, char *argv[]) - len = sizeof(cliaddr); - connfd = accept(s, (struct sockaddr *)&cliaddr, - &len); -+ if(vflag) { -+ /* Don't look up port if -n. */ -+ if (nflag) -+ sv = NULL; -+ else -+ sv = getservbyport(ntohs(atoi(uport)), -+ uflag ? "udp" : "tcp"); -+ -+ if (((struct sockaddr *)&cliaddr)->sa_family == AF_INET) { -+ char dst[INET_ADDRSTRLEN]; -+ inet_ntop(((struct sockaddr *)&cliaddr)->sa_family,&(((struct sockaddr_in *)&cliaddr)->sin_addr),dst,INET_ADDRSTRLEN); -+ fprintf(stderr, "Connection from [%s] port %s [%s/%s] accepted (family %d, sport %d)\n", -+ dst, -+ uport, -+ uflag ? "udp" : "tcp", -+ sv ? sv->s_name : "*", -+ ((struct sockaddr *)(&cliaddr))->sa_family, -+ ntohs(((struct sockaddr_in *)&cliaddr)->sin_port)); -+ } -+ else if(((struct sockaddr *)&cliaddr)->sa_family == AF_INET6) { -+ char dst[INET6_ADDRSTRLEN]; -+ inet_ntop(((struct sockaddr *)&cliaddr)->sa_family,&(((struct sockaddr_in6 *)&cliaddr)->sin6_addr),dst,INET6_ADDRSTRLEN); -+ fprintf(stderr, "Connection from [%s] port %s [%s/%s] accepted (family %d, sport %d)\n", -+ dst, -+ uport, -+ uflag ? "udp" : "tcp", -+ sv ? sv->s_name : "*", -+ ((struct sockaddr *)&cliaddr)->sa_family, -+ ntohs(((struct sockaddr_in6 *)&cliaddr)->sin6_port)); -+ } -+ else { -+ fprintf(stderr, "Connection from unknown port %s [%s/%s] accepted (family %d, sport %d)\n", -+ uport, -+ uflag ? "udp" : "tcp", -+ sv ? sv->s_name : "*", -+ ((struct sockaddr *)(&cliaddr))->sa_family, -+ ntohs(((struct sockaddr_in *)&cliaddr)->sin_port)); -+ } -+ } - readwrite(connfd); - close(connfd); - } --- |