diff --git a/patches/netcat.c.patch b/patches/netcat.c.patch index 71a1507..cf10de5 100644 --- a/patches/netcat.c.patch +++ b/patches/netcat.c.patch @@ -1,17 +1,6 @@ --- apps/nc/netcat.c.orig Wed Jun 29 21:28:27 2016 -+++ apps/nc/netcat.c Thu Jun 30 05:32:31 2016 -@@ -57,6 +57,10 @@ - #include - #include "atomicio.h" - -+#ifndef IPV6_TCLASS -+#define IPV6_TCLASS -1 -+#endif -+ - #define PORT_MAX 65535 - #define UNIX_DG_TMP_SOCKET_SIZE 19 - -@@ -65,7 +69,9 @@ ++++ apps/nc/netcat.c Thu Jun 30 08:16:42 2016 +@@ -65,7 +65,9 @@ #define POLL_NETIN 2 #define POLL_STDOUT 3 #define BUFSIZE 16384 @@ -21,7 +10,7 @@ #define TLS_LEGACY (1 << 1) #define TLS_NOVERIFY (1 << 2) -@@ -92,9 +98,13 @@ +@@ -92,9 +94,13 @@ int Dflag; /* sodebug */ int Iflag; /* TCP receive buffer size */ int Oflag; /* TCP send buffer size */ @@ -35,7 +24,7 @@ int usetls; /* use TLS */ char *Cflag; /* Public cert file */ -@@ -152,7 +162,7 @@ +@@ -152,7 +158,7 @@ struct servent *sv; socklen_t len; struct sockaddr_storage cliaddr; @@ -44,7 +33,7 @@ const char *errstr, *proxyhost = "", *proxyport = NULL; struct addrinfo proxyhints; char unix_dg_tmp_socket_buf[UNIX_DG_TMP_SOCKET_SIZE]; -@@ -262,12 +272,14 @@ +@@ -262,12 +268,14 @@ case 'u': uflag = 1; break; @@ -59,7 +48,7 @@ case 'v': vflag = 1; break; -@@ -300,9 +312,11 @@ +@@ -300,9 +308,11 @@ errx(1, "TCP send window %s: %s", errstr, optarg); break; @@ -71,7 +60,7 @@ case 'T': errstr = NULL; errno = 0; -@@ -326,9 +340,11 @@ +@@ -326,9 +336,11 @@ argc -= optind; argv += optind; @@ -83,7 +72,7 @@ if (family == AF_UNIX) { if (pledge("stdio rpath wpath cpath tmppath unix", NULL) == -1) -@@ -480,7 +496,10 @@ +@@ -480,7 +492,10 @@ errx(1, "-H and -T noverify may not be used" "together"); tls_config_insecure_noverifycert(tls_cfg); @@ -95,7 +84,7 @@ } if (lflag) { struct tls *tls_cctx = NULL; -@@ -832,7 +851,10 @@ +@@ -832,7 +847,10 @@ remote_connect(const char *host, const char *port, struct addrinfo hints) { struct addrinfo *res, *res0; @@ -107,7 +96,7 @@ if ((error = getaddrinfo(host, port, &hints, &res))) errx(1, "getaddrinfo: %s", gai_strerror(error)); -@@ -847,8 +869,10 @@ +@@ -847,8 +865,10 @@ if (sflag || pflag) { struct addrinfo ahints, *ares; @@ -118,7 +107,7 @@ memset(&ahints, 0, sizeof(struct addrinfo)); ahints.ai_family = res0->ai_family; ahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM; -@@ -919,7 +943,10 @@ +@@ -919,7 +939,10 @@ local_listen(char *host, char *port, struct addrinfo hints) { struct addrinfo *res, *res0; @@ -130,7 +119,7 @@ int error; /* Allow nodename to be null. */ -@@ -941,9 +968,11 @@ +@@ -941,9 +964,11 @@ res0->ai_protocol)) < 0) continue; @@ -142,7 +131,7 @@ set_common_sockopts(s, res0->ai_family); -@@ -1401,29 +1430,26 @@ +@@ -1401,29 +1426,28 @@ { int x = 1; @@ -174,13 +163,15 @@ + IP_TOS, &Tflag, sizeof(Tflag)) == -1) err(1, "set IP ToS"); + -+ else if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6, ++#ifdef IPV6_TCLASS ++ if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6, + IPV6_TCLASS, &Tflag, sizeof(Tflag)) == -1) -+ err(1, "set IPv6 Traffic Class"); ++ err(1, "set IPv6 traffic class"); ++#endif } if (Iflag) { if (setsockopt(s, SOL_SOCKET, SO_RCVBUF, -@@ -1435,29 +1461,28 @@ +@@ -1435,29 +1459,30 @@ &Oflag, sizeof(Oflag)) == -1) err(1, "set TCP send buffer size"); } @@ -209,23 +200,25 @@ + + if (ttl != -1) { + if (af == AF_INET && setsockopt(s, IPPROTO_IP, -+ IP_TTL, &ttl, sizeof(ttl))) -+ err(1, "setsockopt IP_TTL"); ++ IP_TTL, &ttl, sizeof(ttl))) ++ err(1, "set IP TTL"); + -+ else if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6, ++ if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6, + IPV6_UNICAST_HOPS, &ttl, sizeof(ttl))) -+ err(1, "setsockopt IPV6_UNICAST_HOPS"); ++ err(1, "set IPv6 unicast hops"); } + + if (minttl != -1) { ++#ifdef IP_MINTTL + if (af == AF_INET && setsockopt(s, IPPROTO_IP, -+ IP_MINTTL, &minttl, sizeof(minttl))) -+ err(1, "setsockopt IP_MINTTL"); ++ IP_MINTTL, &minttl, sizeof(minttl)) == -1) ++ err(1, "set IP min TTL"); ++#endif + +#ifdef IPV6_MINHOPCOUNT -+ else if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6, -+ IPV6_MINHOPCOUNT, &minttl, sizeof(minttl))) -+ err(1, "setsockopt IPV6_MINHOPCOUNT"); ++ if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6, ++ IPV6_MINHOPCOUNT, &minttl, sizeof(minttl)) == -1) ++ err(1, "set IPv6 min hop count"); +#endif + } }