diff options
Diffstat (limited to 'patches/0030-nc-Portability-fixes-from-libressl-portable.patch')
-rw-r--r-- | patches/0030-nc-Portability-fixes-from-libressl-portable.patch | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/patches/0030-nc-Portability-fixes-from-libressl-portable.patch b/patches/0030-nc-Portability-fixes-from-libressl-portable.patch deleted file mode 100644 index 2c3cb23..0000000 --- a/patches/0030-nc-Portability-fixes-from-libressl-portable.patch +++ /dev/null @@ -1,194 +0,0 @@ -From 074f2b35512b16c9644c8bd878fa9ace208c17a6 Mon Sep 17 00:00:00 2001 -From: Michael Forney <mforney@mforney.org> -Date: Mon, 2 Dec 2019 21:11:04 -0800 -Subject: [PATCH] nc: Portability fixes from libressl-portable - ---- - usr.bin/nc/netcat.c | 55 +++++++++++++++++++++++++++++++++++++++------ - 1 file changed, 48 insertions(+), 7 deletions(-) - -diff --git a/usr.bin/nc/netcat.c b/usr.bin/nc/netcat.c -index 503095584ad..f052766213e 100644 ---- a/usr.bin/nc/netcat.c -+++ b/usr.bin/nc/netcat.c -@@ -93,9 +93,13 @@ int zflag; /* Port Scan Flag */ - int Dflag; /* sodebug */ - int Iflag; /* TCP receive buffer size */ - int Oflag; /* TCP send buffer size */ -+#ifdef TCP_MD5SIG - int Sflag; /* TCP MD5 signature option */ -+#endif - int Tflag = -1; /* IP Type of Service */ -+#ifdef SO_RTABLE - int rtableid = -1; -+#endif - - int usetls; /* use TLS */ - const char *Cflag; /* Public cert file */ -@@ -269,12 +273,14 @@ main(int argc, char *argv[]) - case 'u': - uflag = 1; - break; -+#ifdef SO_RTABLE - case 'V': - rtableid = (int)strtonum(optarg, 0, - RT_TABLEID_MAX, &errstr); - if (errstr) - errx(1, "rtable %s: %s", errstr, optarg); - break; -+#endif - case 'v': - vflag = 1; - break; -@@ -321,9 +327,11 @@ main(int argc, char *argv[]) - case 'o': - oflag = optarg; - break; -+#ifdef TCP_MD5SIG - case 'S': - Sflag = 1; - break; -+#endif - case 'T': - errstr = NULL; - errno = 0; -@@ -347,9 +355,11 @@ main(int argc, char *argv[]) - argc -= optind; - argv += optind; - -+#ifdef SO_RTABLE - if (rtableid >= 0) - if (setrtable(rtableid) == -1) - err(1, "setrtable"); -+#endif - - /* Cruft to make sure options are clean, and used properly. */ - if (argc == 1 && family == AF_UNIX) { -@@ -947,7 +957,10 @@ remote_connect(const char *host, const char *port, struct addrinfo hints, - char *ipaddr) - { - struct addrinfo *res, *res0; -- int s = -1, error, herr, on = 1, save_errno; -+ int s = -1, error, herr, save_errno; -+#ifdef SO_BINDANY -+ int on = 1; -+#endif - - if ((error = getaddrinfo(host, port, &hints, &res0))) - errx(1, "getaddrinfo for host \"%s\" port %s: %s", host, -@@ -962,8 +975,10 @@ remote_connect(const char *host, const char *port, struct addrinfo hints, - if (sflag || pflag) { - struct addrinfo ahints, *ares; - -+#ifdef SO_BINDANY - /* try SO_BINDANY, but don't insist */ - setsockopt(s, SOL_SOCKET, SO_BINDANY, &on, sizeof(on)); -+#endif - memset(&ahints, 0, sizeof(struct addrinfo)); - ahints.ai_family = res->ai_family; - ahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM; -@@ -1055,8 +1070,11 @@ int - local_listen(const char *host, const char *port, struct addrinfo hints) - { - struct addrinfo *res, *res0; -- int s = -1, ret, x = 1, save_errno; -+ int s = -1, save_errno; - int error; -+#ifdef SO_REUSEPORT -+ int ret, x = 1; -+#endif - - /* Allow nodename to be null. */ - hints.ai_flags |= AI_PASSIVE; -@@ -1076,9 +1094,11 @@ local_listen(const char *host, const char *port, struct addrinfo hints) - res->ai_protocol)) == -1) - continue; - -+#ifdef SO_REUSEPORT - ret = setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof(x)); - if (ret == -1) - err(1, NULL); -+#endif - - set_common_sockopts(s, res->ai_family); - -@@ -1548,11 +1568,13 @@ set_common_sockopts(int s, int af) - { - int x = 1; - -+#ifdef TCP_MD5SIG - if (Sflag) { - if (setsockopt(s, IPPROTO_TCP, TCP_MD5SIG, - &x, sizeof(x)) == -1) - err(1, NULL); - } -+#endif - if (Dflag) { - if (setsockopt(s, SOL_SOCKET, SO_DEBUG, - &x, sizeof(x)) == -1) -@@ -1563,9 +1585,16 @@ set_common_sockopts(int s, int af) - IP_TOS, &Tflag, sizeof(Tflag)) == -1) - err(1, "set IP ToS"); - -+#ifdef IPV6_TCLASS - else if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6, - IPV6_TCLASS, &Tflag, sizeof(Tflag)) == -1) - err(1, "set IPv6 traffic class"); -+#else -+ else if (af == AF_INET6) { -+ errno = ENOPROTOOPT; -+ err(1, "set IPv6 traffic class not supported"); -+ } -+#endif - } - if (Iflag) { - if (setsockopt(s, SOL_SOCKET, SO_RCVBUF, -@@ -1589,13 +1618,17 @@ set_common_sockopts(int s, int af) - } - - if (minttl != -1) { -+#ifdef IP_MINTTL - if (af == AF_INET && setsockopt(s, IPPROTO_IP, - IP_MINTTL, &minttl, sizeof(minttl))) - err(1, "set IP min TTL"); -+#endif - -- else if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6, -+#ifdef IPV6_MINHOPCOUNT -+ if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6, - IPV6_MINHOPCOUNT, &minttl, sizeof(minttl))) - err(1, "set IPv6 min hop count"); -+#endif - } - } - -@@ -1820,14 +1853,22 @@ help(void) - \t-P proxyuser\tUsername for proxy authentication\n\ - \t-p port\t Specify local port for remote connects\n\ - \t-R CAfile CA bundle\n\ -- \t-r Randomize remote ports\n\ -- \t-S Enable the TCP MD5 signature option\n\ -+ \t-r Randomize remote ports\n" -+#ifdef TCP_MD5SIG -+ "\ -+ \t-S Enable the TCP MD5 signature option\n" -+#endif -+ "\ - \t-s sourceaddr Local source address\n\ - \t-T keyword TOS value or TLS options\n\ - \t-t Answer TELNET negotiation\n\ - \t-U Use UNIX domain socket\n\ -- \t-u UDP mode\n\ -- \t-V rtable Specify alternate routing table\n\ -+ \t-u UDP mode\n" -+#ifdef SO_RTABLE -+ "\ -+ \t-V rtable Specify alternate routing table\n" -+#endif -+ "\ - \t-v Verbose\n\ - \t-W recvlimit Terminate after receiving a number of packets\n\ - \t-w timeout Timeout for connects and final net reads\n\ --- -2.26.2 - |