i'm leaning towards "probably not important enough" (and i had a
previous diff for 3.21 in my tree which i didn't commit so i guess there
must have been a problem with it), so doing this post unlock, unless
anyone wants to try and change my mind

https://github.com/esnet/iperf/blob/master/RELNOTES.md


Index: Makefile
===================================================================
RCS file: /cvs/ports/net/iperf3/Makefile,v
diff -u -p -r1.25 Makefile
--- Makefile    14 Mar 2026 10:31:26 -0000      1.25
+++ Makefile    30 Sep 2026 10:01:48 -0000
@@ -1,10 +1,10 @@
 COMMENT=       tool to measure maximum achievable bandwidth on IP networks
 
-V=             3.20
+V=             3.22
 DISTNAME=      iperf-${V}
 PKGNAME=       iperf3-${V}
 
-SHARED_LIBS += iperf                6.0      # 0.0
+SHARED_LIBS += iperf                7.0      # unknown
 
 CATEGORIES=    net
 
@@ -23,6 +23,7 @@ SITES=                https://downloads.es.net/pub/ipe
 
 CONFIGURE_STYLE= gnu
 CONFIGURE_ARGS=         --with-openssl=no
+FAKE_FLAGS=    LDCONFIG=:
 
 DEBUG_PACKAGES=        ${BUILD_PACKAGES}
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/iperf3/distinfo,v
diff -u -p -r1.15 distinfo
--- distinfo    14 Mar 2026 10:31:26 -0000      1.15
+++ distinfo    30 Sep 2026 10:01:48 -0000
@@ -1,2 +1,2 @@
-SHA256 (iperf-3.20.tar.gz) = OsxXLR7MpOCyA1nHvwEy3cgNmC7+7iDIb2cmqaYJQ4g=
-SIZE (iperf-3.20.tar.gz) = 698649
+SHA256 (iperf-3.22.tar.gz) = HA0PsCxSYmER1uEy24Dt+/J7uv+L2SRd8qNx3LCzWpI=
+SIZE (iperf-3.22.tar.gz) = 849295
Index: patches/patch-src_iperf_api_c
===================================================================
RCS file: /cvs/ports/net/iperf3/patches/patch-src_iperf_api_c,v
diff -u -p -r1.15 patch-src_iperf_api_c
--- patches/patch-src_iperf_api_c       14 Mar 2026 10:31:26 -0000      1.15
+++ patches/patch-src_iperf_api_c       30 Sep 2026 10:01:48 -0000
@@ -1,74 +1,9 @@
-- Pass a copy of argv[] to prevent changes by strtok(3),
-  otherwise rc.subr(8) pexp might not match and cause rcctl failure.
-  Pending https://github.com/esnet/iperf/pull/1960 (with extra NULL check)
-
 - Default to IPv4.
 
 Index: src/iperf_api.c
 --- src/iperf_api.c.orig
 +++ src/iperf_api.c
-@@ -1289,7 +1289,7 @@ iperf_parse_arguments(struct iperf_test *test, int arg
-                 }
-               iperf_set_test_role(test, 's');
-                 break;
--            case 'c':
-+            case 'c': {
-                 if (test->role == 's') {
-                     i_errno = IESERVCLIENT;
-                     return -1;
-@@ -1297,7 +1297,12 @@ iperf_parse_arguments(struct iperf_test *test, int arg
-               iperf_set_test_role(test, 'c');
-               iperf_set_test_server_hostname(test, optarg);
- 
--                if (iperf_parse_hostname(test, optarg, &p, &p1)) {
-+                char *arg = strdup(optarg);
-+                if (arg == NULL) {
-+                    i_errno = -1;
-+                    return -1;
-+                }
-+                if (iperf_parse_hostname(test, arg, &p, &p1)) {
- #if defined(HAVE_SO_BINDTODEVICE)
-                     /* Get rid of the hostname we saved earlier. */
-                     free(iperf_get_test_server_hostname(test));
-@@ -1308,7 +1313,9 @@ iperf_parse_arguments(struct iperf_test *test, int arg
-                     return -1;
- #endif /* HAVE_SO_BINDTODEVICE */
-                 }
-+                free(arg);
-                 break;
-+            }
-             case 'u':
-                 set_protocol(test, Pudp);
-               client_flag = 1;
-@@ -1441,10 +1448,15 @@ iperf_parse_arguments(struct iperf_test *test, int arg
-               client_flag = 1;
-                 break;
- 
--            case 'B':
-+            case 'B': {
-                 iperf_set_test_bind_address(test, optarg);
- 
--                if (iperf_parse_hostname(test, optarg, &p, &p1)) {
-+                char *arg = strdup(optarg);
-+                if (arg == NULL) {
-+                    i_errno = -1;
-+                    return -1;
-+                }
-+                if (iperf_parse_hostname(test, arg, &p, &p1)) {
- #if defined(HAVE_SO_BINDTODEVICE)
-                     /* Get rid of the hostname we saved earlier. */
-                     free(iperf_get_test_bind_address(test));
-@@ -1455,7 +1467,9 @@ iperf_parse_arguments(struct iperf_test *test, int arg
-                     return -1;
- #endif /* HAVE_SO_BINDTODEVICE */
-                 }
-+                free(arg);
-                 break;
-+            }
- #if defined (HAVE_SO_BINDTODEVICE)
-             case OPT_BIND_DEV:
-                 iperf_set_test_bind_dev(test, optarg);
-@@ -3221,7 +3235,7 @@ iperf_defaults(struct iperf_test *testp)
+@@ -3458,7 +3458,7 @@ iperf_defaults(struct iperf_test *testp)
      testp->stats_interval = testp->reporter_interval = 1;
      testp->num_streams = 1;
  
Index: patches/patch-src_iperf_api_h
===================================================================
RCS file: patches/patch-src_iperf_api_h
diff -N patches/patch-src_iperf_api_h
--- patches/patch-src_iperf_api_h       14 Mar 2026 10:31:26 -0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-Match include used in .c file to fix
-./iperf_api.h:395:77: error: unknown type name 'va_list'; did you mean 
'__va_list'?
-
-Index: src/iperf_api.h
---- src/iperf_api.h.orig
-+++ src/iperf_api.h
-@@ -33,6 +33,7 @@
- #include <stdarg.h>
- #include <stdio.h>
- #include <stdint.h>
-+#include <stdarg.h>
- #ifdef __cplusplus
- extern "C" { /* open extern "C" */
- #endif
Index: patches/patch-src_iperf_util_c
===================================================================
RCS file: /cvs/ports/net/iperf3/patches/patch-src_iperf_util_c,v
diff -u -p -r1.2 patch-src_iperf_util_c
--- patches/patch-src_iperf_util_c      26 Dec 2024 18:12:38 -0000      1.2
+++ patches/patch-src_iperf_util_c      30 Sep 2026 10:01:48 -0000
@@ -10,13 +10,13 @@ Index: src/iperf_util.c
 +#if defined(__OpenBSD__)
 +    arc4random_buf(out, outsize);
 +#else
-     static FILE *frandom;
+     FILE *frandom;
      static const char rndfile[] = "/dev/urandom";
- 
-@@ -75,6 +78,7 @@ int readentropy(void *out, size_t outsize)
-                       rndfile,
-                       feof(frandom) ? "EOF" : strerror(errno));
+     int is_eof = 0;
+@@ -77,6 +80,7 @@ int readentropy(void *out, size_t outsize)
+                       is_eof ? "EOF" : strerror(errno));
      }
+     fclose(frandom);
 +#endif
      return 0;
  }

Reply via email to