pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/net/xfr
Module Name: pkgsrc
Committed By: pin
Date: Tue Feb 17 14:00:16 UTC 2026
Modified Files:
pkgsrc/net/xfr: Makefile cargo-depends.mk distinfo
Log Message:
net/xfr: update to 0.8.0
## [0.8.0] - 2026-02-12
### Added
- **Client source port pinning** (`--cport`) - pin the client's local port for firewall traversal (issue #16). Works with UDP and QUIC. Multi-stream UDP (`-P N`) assigns sequential ports starting
from the specified port (e.g., `--cport 5300 -P 4` uses ports 5300-5303). QUIC multiplexes all streams on the single specified port. TCP rejects `--cport` since single-port mode already handles
firewall traversal. Combines with `--bind` for full control (`--bind 10.0.0.1 --cport 5300`). Automatically matches the remote's address family so `--cport` works transparently with both IPv4 and
IPv6 targets.
### Fixed
- **`--bind` with IPv6 targets** — `--bind` with an unspecified IP (e.g., `0.0.0.0:0`) now auto-matches the remote's address family at socket creation time across TCP, UDP, and QUIC. Previously
failed when connecting to IPv6 targets from dual-stack clients.
- **UDP data_ports length validation** — server returning mismatched port count could panic on `stats.streams[i]`; now validates length before iterating, matching the existing TCP guard
## [0.7.1] - 2026-02-12
### Fixed
- **Server TUI `-0.0 Mbps` after test ends** (issue #20) - IEEE 754 negative zero now normalized via precision-aware `normalize_for_display()` helper across all throughput display paths
- **TCP RTT/retransmits not updating live** (issue #13) - per-interval retransmits now computed from TCP_INFO deltas instead of a dead atomic counter; client stores socket fds for local TCP_INFO
polling so sender-side metrics (upload/bidir) update live; download mode correctly uses server-reported metrics
- **Plain-text zero retransmits dropped** - `rtx: 0` was omitted in plain/JSON/CSV interval output when all streams reported zero retransmits; now preserved
- **`mbps_to_human()` unit-switch boundary** - `999.95 Mbps` displayed as `1000.0 Mbps` instead of `1.00 Gbps`; unit branch now uses rounded value
### Changed
- **Consolidated throughput formatting** - server TUI now uses shared `mbps_to_human()` instead of inline formatting; Gbps display changes from 1 to 2 decimal places for consistency
## [0.7.0] - 2026-02-11
### Added
- **Real pause/resume** (`p` key) - pressing `p` now pauses actual data transfer, not just the TUI display. Uses `Pause`/`Resume` protocol messages and a dedicated `watch` channel to stop/resume data
loops across TCP, UDP, and QUIC. Capability-gated via `pause_resume` in Hello messages: older servers without support fall back to display-only pause. TCP bitrate pacing resets its baseline on resume
to prevent catch-up bursts. UDP receiver resets its inactivity timer during pause to prevent false timeouts. Resolves issue #19.
## [0.6.1] - 2026-02-10
### Added
- **TCP bitrate pacing** (`-b` for TCP) - `-b` flag now works for TCP, not just UDP. Uses byte-budget sleep pacing with interruptible sleeps for responsive cancellation. Buffer size auto-caps to
prevent first-write burst at low bitrates. Resolves issue #14.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 pkgsrc/net/xfr/Makefile \
pkgsrc/net/xfr/cargo-depends.mk pkgsrc/net/xfr/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/net/xfr/Makefile
diff -u pkgsrc/net/xfr/Makefile:1.2 pkgsrc/net/xfr/Makefile:1.3
--- pkgsrc/net/xfr/Makefile:1.2 Mon Feb 9 20:36:29 2026
+++ pkgsrc/net/xfr/Makefile Tue Feb 17 14:00:16 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.2 2026/02/09 20:36:29 abs Exp $
+# $NetBSD: Makefile,v 1.3 2026/02/17 14:00:16 pin Exp $
-DISTNAME= xfr-0.6.0
+DISTNAME= xfr-0.8.0
CATEGORIES= net
MASTER_SITES= ${MASTER_SITE_GITHUB:=lance0/}
GITHUB_TAG= v${PKGVERSION_NOREV}
@@ -14,6 +14,8 @@ TOOL_DEPENDS+= cmake-[0-9]*:../../devel/
.include "cargo-depends.mk"
+RUST_REQ= 1.88.0
+
INSTALLATION_DIRS= ${PKGMANDIR}/man1 share/examples/xfr
post-install:
Index: pkgsrc/net/xfr/cargo-depends.mk
diff -u pkgsrc/net/xfr/cargo-depends.mk:1.2 pkgsrc/net/xfr/cargo-depends.mk:1.3
--- pkgsrc/net/xfr/cargo-depends.mk:1.2 Mon Feb 9 20:36:29 2026
+++ pkgsrc/net/xfr/cargo-depends.mk Tue Feb 17 14:00:16 2026
@@ -1,4 +1,4 @@
-# $NetBSD: cargo-depends.mk,v 1.2 2026/02/09 20:36:29 abs Exp $
+# $NetBSD: cargo-depends.mk,v 1.3 2026/02/17 14:00:16 pin Exp $
CARGO_CRATE_DEPENDS+= adler2-2.0.1
CARGO_CRATE_DEPENDS+= aho-corasick-1.1.4
@@ -11,7 +11,7 @@ CARGO_CRATE_DEPENDS+= anstyle-1.0.13
CARGO_CRATE_DEPENDS+= anstyle-parse-0.2.7
CARGO_CRATE_DEPENDS+= anstyle-query-1.1.5
CARGO_CRATE_DEPENDS+= anstyle-wincon-3.0.11
-CARGO_CRATE_DEPENDS+= anyhow-1.0.100
+CARGO_CRATE_DEPENDS+= anyhow-1.0.101
CARGO_CRATE_DEPENDS+= asn1-rs-0.7.1
CARGO_CRATE_DEPENDS+= asn1-rs-derive-0.6.0
CARGO_CRATE_DEPENDS+= asn1-rs-impl-0.2.0
@@ -38,8 +38,8 @@ CARGO_CRATE_DEPENDS+= chrono-0.4.43
CARGO_CRATE_DEPENDS+= ciborium-0.2.2
CARGO_CRATE_DEPENDS+= ciborium-io-0.2.2
CARGO_CRATE_DEPENDS+= ciborium-ll-0.2.2
-CARGO_CRATE_DEPENDS+= clap-4.5.56
-CARGO_CRATE_DEPENDS+= clap_builder-4.5.56
+CARGO_CRATE_DEPENDS+= clap-4.5.57
+CARGO_CRATE_DEPENDS+= clap_builder-4.5.57
CARGO_CRATE_DEPENDS+= clap_complete-4.5.65
CARGO_CRATE_DEPENDS+= clap_derive-4.5.55
CARGO_CRATE_DEPENDS+= clap_lex-0.7.7
@@ -53,8 +53,8 @@ CARGO_CRATE_DEPENDS+= core-foundation-0.
CARGO_CRATE_DEPENDS+= core-foundation-sys-0.8.7
CARGO_CRATE_DEPENDS+= cpufeatures-0.2.17
CARGO_CRATE_DEPENDS+= crc32fast-1.5.0
-CARGO_CRATE_DEPENDS+= criterion-0.8.1
-CARGO_CRATE_DEPENDS+= criterion-plot-0.8.1
+CARGO_CRATE_DEPENDS+= criterion-0.8.2
+CARGO_CRATE_DEPENDS+= criterion-plot-0.8.2
CARGO_CRATE_DEPENDS+= crossbeam-channel-0.5.15
CARGO_CRATE_DEPENDS+= crossbeam-deque-0.8.6
CARGO_CRATE_DEPENDS+= crossbeam-epoch-0.9.18
Index: pkgsrc/net/xfr/distinfo
diff -u pkgsrc/net/xfr/distinfo:1.2 pkgsrc/net/xfr/distinfo:1.3
--- pkgsrc/net/xfr/distinfo:1.2 Mon Feb 9 20:36:29 2026
+++ pkgsrc/net/xfr/distinfo Tue Feb 17 14:00:16 2026
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.2 2026/02/09 20:36:29 abs Exp $
+$NetBSD: distinfo,v 1.3 2026/02/17 14:00:16 pin Exp $
BLAKE2s (adler2-2.0.1.crate) = 4d391e0fcde91c7435ee9a5503fee4a5346f549f1b45e482ce3e1e151d90f8f5
SHA512 (adler2-2.0.1.crate) = 555b2b7ba6f8116acccd0bcd16ed34cc78162c81023cff31a8566ffcd456c03832089fca2d5b668ceaac4fe8f922d31aa9c487f226a36cace294ff4a219bd91d
@@ -33,9 +33,9 @@ Size (anstyle-query-1.1.5.crate) = 10264
BLAKE2s (anstyle-wincon-3.0.11.crate) = 071e18edcb1861915756f752dc9cee82ae2b70cb4836835fb8114fca1a5ffa8c
SHA512 (anstyle-wincon-3.0.11.crate) = 09c3215dc6cef75d6282078e68c5dbd51580b6c8db79a77932d2e74a51d29cb0ef23c31b8a73a71896a45eb5dc5f94aee209bd8f6e5df4c675dabe3cd304a96b
Size (anstyle-wincon-3.0.11.crate) = 12638 bytes
-BLAKE2s (anyhow-1.0.100.crate) = 57b092c11db49087e69a7d8909c7d46f0da77932bf39f1aa9b24fb91886f248c
-SHA512 (anyhow-1.0.100.crate) = 1f0c072aab9490d68db3783f078c6f8a4d96360908fc6ee3e971b02fb72b9dd5e689dd385f0e93388a87e0dfbd8cff0e14a280b40d55f87646f3c0e558e779ca
-Size (anyhow-1.0.100.crate) = 54059 bytes
+BLAKE2s (anyhow-1.0.101.crate) = 2bb46992d979841401bc5c43aadb04987f8f45e5c0d29419e6aa07b4c12f19c1
+SHA512 (anyhow-1.0.101.crate) = a062eea355a23cc505d7a116dcfd135a905210065069efc6917b520b292f248f6189f58c8ac1392be57f25d8e44613c351901990adaeefeb2d0ba8a612ed8496
+Size (anyhow-1.0.101.crate) = 52315 bytes
BLAKE2s (asn1-rs-0.7.1.crate) = a0d1423059e4df6a4112c571fe86d5fa625df656d03e08c74693f17f1932b6da
SHA512 (asn1-rs-0.7.1.crate) = 3ed1312c2bbca601706d6783e785c5149d589aba37fe6346d828715ca7270db71cade2a5a1842cf2f595c02efc4d2732f0eb39ffc25080b7438b0c914c0a080c
Size (asn1-rs-0.7.1.crate) = 92118 bytes
@@ -114,12 +114,12 @@ Size (ciborium-io-0.2.2.crate) = 6697 by
BLAKE2s (ciborium-ll-0.2.2.crate) = 62616920a5b3603cdedda2d9f1ff7a13e0e652131622a0cd26ea686e3ffb1cd3
SHA512 (ciborium-ll-0.2.2.crate) = 2f7ef6ad8bf5a862e8b9daa64bc6d8184c87a22c264b10dbb35c00c9effcd5712f354b4ca6c2eb8e6795d4b99d7cb88fa2acf01f3ad6fb28caf81708a500549a
Size (ciborium-ll-0.2.2.crate) = 14695 bytes
-BLAKE2s (clap-4.5.56.crate) = ddcbd6ce2902a85078b9f42dbc68a3476c2657bbb8e59e8f06268896d12cbfb0
-SHA512 (clap-4.5.56.crate) = 2131f188f73ad990d3062b2f67ee7aaf4d760d8eff315c3c3417dfe210aad08ebdf030d3b1307a08e2df6486411b4c6ef3a52d8701e221fd3a41be25cef651d0
-Size (clap-4.5.56.crate) = 61996 bytes
-BLAKE2s (clap_builder-4.5.56.crate) = f3683c30ed3827a0b80e33ecdb71da00c6b7f19b8e1006f14ff0696e5b47e8c2
-SHA512 (clap_builder-4.5.56.crate) = 5886061fd6d2e0c1f21a9d30785f1f704df8912b2f254fb2342e9c1bd7dbeda91c8191559e27960d9fa9e535561c19a6eb16f9fec19c98b7546e872263e3b735
-Size (clap_builder-4.5.56.crate) = 170945 bytes
+BLAKE2s (clap-4.5.57.crate) = 5463dcb3a1dac1d1c8b937d75dbe15ebae99ec6d29161558819cc4100e97c7a9
+SHA512 (clap-4.5.57.crate) = d95518404298fc2fa17a1ff9ab36590790022d82546e14d82674e3d43f83abc44aa3a9788d145014adea692c5a5d143ac9a32ac5e44d86a1ffc356889e0ee78d
+Size (clap-4.5.57.crate) = 61999 bytes
+BLAKE2s (clap_builder-4.5.57.crate) = bb8f6beca910dae4b6b39337bad12b8f2d3254bd3f5e8a4b4974175884873d65
+SHA512 (clap_builder-4.5.57.crate) = a2f48375ce0e431ca495f7c65bcc5ac7388854198eed23fcdd61d9a01c3a41589798c684dfc571d9841ccd2ed6e1020511ca40813c29d35b8b1e1d4fa7ccf4c4
+Size (clap_builder-4.5.57.crate) = 170948 bytes
BLAKE2s (clap_complete-4.5.65.crate) = 248bbae0e9a2b850a24289d5359114d523d71b150522a2c13ff13937f748c06c
SHA512 (clap_complete-4.5.65.crate) = 150e549ec78504e6bc39df7a8d380aab135d69588664956d2fcea2173492a45fc7441f4961682b332c752386eb71bb2baca6ed615bdf6cda006568bbecec1f40
Size (clap_complete-4.5.65.crate) = 49394 bytes
@@ -159,12 +159,12 @@ Size (cpufeatures-0.2.17.crate) = 13466
BLAKE2s (crc32fast-1.5.0.crate) = 6e59f675b6404c35e422facb545e38c3e519f2a1268066914b7111ffc2ed6409
SHA512 (crc32fast-1.5.0.crate) = 80d473960f004148e14e5fe2f23aa0d1b8c36e96237f49a6765ef713030e8326dbc0250a561afcfc49d8733f5a6d4f9f4677451cc13e2426ffed61f8c00cd81e
Size (crc32fast-1.5.0.crate) = 40723 bytes
-BLAKE2s (criterion-0.8.1.crate) = 6af0fd801113e6a432af0a1052831e5ff2f9f558b4c8c8556da671bd8ec031ce
-SHA512 (criterion-0.8.1.crate) = 4ca2b0e49737ccdd6a0cf3de4cf7dd89fd4c24ff70d0f23d3904b93de4d611aa976f5f74260c4205c737d1cf9ef52724bc36973b2a5c344463e666ca1626d5ee
-Size (criterion-0.8.1.crate) = 122380 bytes
-BLAKE2s (criterion-plot-0.8.1.crate) = ba0de4a0373fbbdebf821b57630bf27825e7a931647de014ca9ce29ce9eab43b
-SHA512 (criterion-plot-0.8.1.crate) = dbd8532b38a741571efad87d0af1fe87288178ac0ab02d976a9ac7ef4a1dc19a4fface1e37e1dc4eca49528691e2e1a5ba74db4ab227a464a8111490b0f2fab6
-Size (criterion-plot-0.8.1.crate) = 24771 bytes
+BLAKE2s (criterion-0.8.2.crate) = 6a608e1f3dda19014eb873cbb6f568d03c7262a68fff9d3b7f78577151902e7c
+SHA512 (criterion-0.8.2.crate) = b0680ff7113c2bd149db62430b28998c956e11389a615c11eb42c24e234d12b2c3c87341200463ab9c3e94091a8891a2aede70320c40095d7dfbbe7f2c61b9f0
+Size (criterion-0.8.2.crate) = 122924 bytes
+BLAKE2s (criterion-plot-0.8.2.crate) = 471666300a2e51096ecfe03a2cf33f523835a0aae13026d84c6bc7198575917f
+SHA512 (criterion-plot-0.8.2.crate) = 862d361721789871e93c0e9f0376e25e8d6d0ec1c34b43678c2a9ca7bec1cd5c38b517b2da0f22b5d39c4987caff3d9709f986e2a0e6bfe4bf671c5f8b7edc1c
+Size (criterion-plot-0.8.2.crate) = 24800 bytes
BLAKE2s (crossbeam-channel-0.5.15.crate) = 3fd3c1657f5002717436a0e45e3a2053b12c27bf7beccd4391a476f975e084db
SHA512 (crossbeam-channel-0.5.15.crate) = b5174329fbdb2a742992b3450a6b11e4330e1d542132acd22d0aebaf49332aad8ceb6eb4e52ccaf8617eb02f191f881b011e5521098082919672f06ac70a4e5b
Size (crossbeam-channel-0.5.15.crate) = 92716 bytes
@@ -1224,9 +1224,9 @@ Size (writeable-0.6.2.crate) = 25181 byt
BLAKE2s (x509-parser-0.18.0.crate) = 0ef1fd945c07074bca147663afc5724df8974646b921184aadb5340df01f3554
SHA512 (x509-parser-0.18.0.crate) = dbdd5fe6b0b7aeda3390bc988ee2bfaa61d3969a421b248c8cc573c3d9be6b5de89650882af5490d9c132bee8d9b070efc6c21d6afc8a703d66efc35698dc752
Size (x509-parser-0.18.0.crate) = 102525 bytes
-BLAKE2s (xfr-0.6.0.tar.gz) = a6549a3ab6ea1282475a92b5207ae268d37baf1bdbde9201827430133ed3837c
-SHA512 (xfr-0.6.0.tar.gz) = 6b110b15f5755ad2196397efc786c5ee7d7f884e93ccfc7edbd6b98daf6943dd670ebf4370944d0a66595952b362ad9bd405029c1721324f4c658ed46eba878f
-Size (xfr-0.6.0.tar.gz) = 721462 bytes
+BLAKE2s (xfr-0.8.0.tar.gz) = 21eef343b937cc392e5579549001ea6ed5cad496623d45d080d7af3303b02275
+SHA512 (xfr-0.8.0.tar.gz) = 76b7b2f409f9e2c9ab51b718088dd10d7d3d717a84d454f9caf5820b24d9589b430c416d064a3be335fbf189bb3b852e7df128d8f7b1cfbbffc0b35dc5a938d9
+Size (xfr-0.8.0.tar.gz) = 731180 bytes
BLAKE2s (yasna-0.5.2.crate) = 25391034f1d4c9715add3175629a012024dc2a34fa85b4dc85c4dce2c100742a
SHA512 (yasna-0.5.2.crate) = 7532b6d06b34b0a5e2b769c5d2647f910bec481d98482bf9cea212f1bd1466336d7cb117d0c2e240e7673b2825f1d091619f79814bad836d25cf3a6ca2be63e5
Size (yasna-0.5.2.crate) = 34859 bytes
Home |
Main Index |
Thread Index |
Old Index