summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/Makefile4
-rw-r--r--net/akonadi-search/Makefile1
-rw-r--r--net/bird3/Makefile4
-rw-r--r--net/bird3/distinfo6
-rw-r--r--net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths38
-rw-r--r--net/bird3/files/patch-01-Table-not-feeding-twice39
-rw-r--r--net/bird3/files/patch-02-kernel-trace-the-final-result53
-rw-r--r--net/bird3/files/patch-03-BGP-fix-locking-order176
-rw-r--r--net/bird3/files/patch-04-BFD-Fix-session-locking-order400
-rw-r--r--net/bird3/files/patch-05-mainloop-dropped-old-socket86
-rw-r--r--net/bird3/files/patch-06-cli-allocate-tx-buffers134
-rw-r--r--net/bird3/files/patch-07-cli-flushing-tmp-linpool29
-rw-r--r--net/bird3/files/patch-08-kernel-feed-only-once274
-rw-r--r--net/bird3/files/patch-09-graceful-recovery311
-rw-r--r--net/bird3/files/patch-10-stonehenge116
-rw-r--r--net/bird3/files/patch-11-route-attribute-storage80
-rw-r--r--net/bird3/files/patch-12-BGP-tx-bucket-storage84
-rw-r--r--net/bird3/files/patch-13-allocate-normalization-buckets100
-rw-r--r--net/bird3/files/patch-14-BGP-fix-dislpay-name25
-rw-r--r--net/bird3/files/patch-15-BGP-fixed-deterministic-med-crashes65
-rw-r--r--net/bird3/files/patch-16-Table-old-best-route-refeed-fix87
-rw-r--r--net/bsdec2-image-upload/Makefile2
-rw-r--r--net/bsdec2-image-upload/distinfo6
-rw-r--r--net/deltachat-rpc-server/Makefile28
-rw-r--r--net/deltachat-rpc-server/Makefile.crates699
-rw-r--r--net/deltachat-rpc-server/distinfo1401
-rw-r--r--net/deltachat-rpc-server/files/patch-Cargo.lock142
-rw-r--r--net/deltachat-rpc-server/files/patch-Cargo.toml20
-rw-r--r--net/deltachat-rpc-server/pkg-descr4
-rw-r--r--net/dhcpcd/Makefile2
-rw-r--r--net/dhcpcd/distinfo6
-rw-r--r--net/dumbpipe/Makefile2
-rw-r--r--net/dumbpipe/Makefile.crates101
-rw-r--r--net/dumbpipe/distinfo196
-rw-r--r--net/freerdp3/Makefile6
-rw-r--r--net/freerdp3/distinfo6
-rw-r--r--net/gerbera/Makefile4
-rw-r--r--net/gerbera/distinfo4
-rw-r--r--net/gitlab-agent/Makefile2
-rw-r--r--net/gitlab-agent/distinfo10
-rw-r--r--net/google-cloud-sdk/Makefile2
-rw-r--r--net/google-cloud-sdk/distinfo6
-rw-r--r--net/jose/Makefile1
-rw-r--r--net/jose/files/patch-lib_meson.build11
-rw-r--r--net/libngtcp2-wolfssl/Makefile37
-rw-r--r--net/libngtcp2-wolfssl/distinfo3
-rw-r--r--net/libngtcp2-wolfssl/files/patch-Makefile.in13
-rw-r--r--net/libngtcp2-wolfssl/pkg-descr4
-rw-r--r--net/libngtcp2-wolfssl/pkg-plist5
-rw-r--r--net/miniupnpd/Makefile4
-rw-r--r--net/miniupnpd/distinfo4
-rw-r--r--net/netatalk4/Makefile4
-rw-r--r--net/netatalk4/distinfo6
-rw-r--r--net/p5-Net-Patricia/Makefile12
-rw-r--r--net/p5-Net-Patricia/pkg-plist2
-rw-r--r--net/pecl-radius/Makefile2
-rw-r--r--net/pecl-radius/files/patch-radlib.c10
-rw-r--r--net/py-aiostalk/Makefile4
-rw-r--r--net/py-aiostalk/distinfo6
-rw-r--r--net/py-greenstalk/Makefile5
-rw-r--r--net/py-greenstalk/distinfo6
-rw-r--r--net/py-msrplib/Makefile7
-rw-r--r--net/py-msrplib/distinfo6
-rw-r--r--net/py-msrplib/files/patch-2to369
-rw-r--r--net/py-pyzmq/Makefile2
-rw-r--r--net/py-s3transfer/Makefile2
-rw-r--r--net/py-s3transfer/distinfo6
-rw-r--r--net/py-urllib3-future/Makefile2
-rw-r--r--net/py-urllib3-future/distinfo6
-rw-r--r--net/rubygem-activestorage-gitlab/Makefile28
-rw-r--r--net/rubygem-activestorage-gitlab/distinfo3
-rw-r--r--net/rubygem-activestorage-gitlab/pkg-descr11
-rw-r--r--net/rubygem-amq-protocol/Makefile1
-rw-r--r--net/rubygem-apollo_upload_server/Makefile3
-rw-r--r--net/rubygem-connection_pool/Makefile2
-rw-r--r--net/rubygem-connection_pool/distinfo6
-rw-r--r--net/rubygem-devfile-gitlab/Makefile17
-rw-r--r--net/rubygem-devfile-gitlab/distinfo3
-rw-r--r--net/rubygem-devfile-gitlab/pkg-descr2
-rw-r--r--net/rubygem-fog-aws/Makefile2
-rw-r--r--net/rubygem-fog-aws/distinfo6
-rw-r--r--net/rubygem-fog-google/Makefile5
-rw-r--r--net/rubygem-fog-google/distinfo6
-rw-r--r--net/rubygem-fog-google/files/patch-gemspec11
-rw-r--r--net/rubygem-gitlab-kas-grpc/distinfo6
-rw-r--r--net/rubygem-google-cloud-bigtable-admin-v2/Makefile2
-rw-r--r--net/rubygem-google-cloud-bigtable-admin-v2/distinfo6
-rw-r--r--net/rubygem-google-cloud-pubsub-v1/Makefile2
-rw-r--r--net/rubygem-google-cloud-pubsub-v1/distinfo6
-rw-r--r--net/rubygem-google-cloud-storage/Makefile2
-rw-r--r--net/rubygem-google-cloud-storage/distinfo6
-rw-r--r--net/rubygem-grpc/Makefile2
-rw-r--r--net/rubygem-oauth2-gitlab/Makefile11
-rw-r--r--net/rubygem-oauth2-gitlab/distinfo6
-rw-r--r--net/rubygem-x/Makefile4
-rw-r--r--net/rubygem-x/distinfo6
-rw-r--r--net/sendme/Makefile2
-rw-r--r--net/sendme/Makefile.crates135
-rw-r--r--net/sendme/distinfo264
-rw-r--r--net/syncthing/Makefile28
-rw-r--r--net/zmap/Makefile19
101 files changed, 2897 insertions, 2716 deletions
diff --git a/net/Makefile b/net/Makefile
index ad7a7d673d57..4949a024b740 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -111,6 +111,7 @@
SUBDIR += datapipe
SUBDIR += dbeacon
SUBDIR += delegate
+ SUBDIR += deltachat-rpc-server
SUBDIR += deviceatlas-enterprise-c
SUBDIR += dgd
SUBDIR += dgd-kernel
@@ -404,6 +405,7 @@
SUBDIR += libnfs
SUBDIR += libngtcp2
SUBDIR += libngtcp2-gnutls
+ SUBDIR += libngtcp2-wolfssl
SUBDIR += libnids
SUBDIR += libnpupnp
SUBDIR += libnss-cache
@@ -1258,6 +1260,7 @@
SUBDIR += rtg
SUBDIR += rtpproxy
SUBDIR += rtptools
+ SUBDIR += rubygem-activestorage-gitlab
SUBDIR += rubygem-activestorage52
SUBDIR += rubygem-activestorage60
SUBDIR += rubygem-activestorage61
@@ -1281,7 +1284,6 @@
SUBDIR += rubygem-cloudflare
SUBDIR += rubygem-connection_pool
SUBDIR += rubygem-devfile
- SUBDIR += rubygem-devfile-gitlab
SUBDIR += rubygem-docker-api
SUBDIR += rubygem-dogapi
SUBDIR += rubygem-domain_name
diff --git a/net/akonadi-search/Makefile b/net/akonadi-search/Makefile
index adb3203e158c..9a85ca9bbf74 100644
--- a/net/akonadi-search/Makefile
+++ b/net/akonadi-search/Makefile
@@ -1,5 +1,6 @@
PORTNAME= akonadi-search
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
+PORTREVISION= 1
CATEGORIES= net kde kde-applications
MAINTAINER= kde@FreeBSD.org
diff --git a/net/bird3/Makefile b/net/bird3/Makefile
index 8c27bcafdc41..e2ab2236fc95 100644
--- a/net/bird3/Makefile
+++ b/net/bird3/Makefile
@@ -1,7 +1,7 @@
PORTNAME= bird
-DISTVERSION= 3.0.0
+DISTVERSION= 3.1.1
CATEGORIES= net
-MASTER_SITES= https://bird.network.cz/download/
+MASTER_SITES= https://bird.nic.cz/download/
PKGNAMESUFFIX= 3
MAINTAINER= olivier@FreeBSD.org
diff --git a/net/bird3/distinfo b/net/bird3/distinfo
index 66fda3f7d35c..afb1fadf1af4 100644
--- a/net/bird3/distinfo
+++ b/net/bird3/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734554961
-SHA256 (bird-3.0.0.tar.gz) = 8130440a2e273ba6456df2fb3acb43da7cb4d566f94a294a3a52a1b118f2512a
-SIZE (bird-3.0.0.tar.gz) = 2641569
+TIMESTAMP = 1747656270
+SHA256 (bird-3.1.1.tar.gz) = 297251974ff883e4ef03fccd6c912d116ed49ff2f1c63b66d1dba5f07094444a
+SIZE (bird-3.1.1.tar.gz) = 2725214
diff --git a/net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths b/net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths
deleted file mode 100644
index d008d4cf070c..000000000000
--- a/net/bird3/files/patch-00-kernel-Fix-crash-for-merge-paths
+++ /dev/null
@@ -1,38 +0,0 @@
-From b6caccfd45fb639b6dd3a8d140d3c5ba4cc79311 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Thu, 19 Dec 2024 11:00:15 +0100
-Subject: [PATCH] Kernel: Fix crash for merge paths on if no route is in BIRD
-
-There was a missing check for a NULL return value.
-Also fixed an indenting error.
-
-Thanks to Radu Anghel for reporting it:
-https://bird.network.cz/pipermail/bird-users/2024-December/017977.html
----
- nest/rt-table.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/nest/rt-table.c b/nest/rt-table.c
-index fd8bb50dd..05191d743 100644
---- nest/rt-table.c
-+++ nest/rt-table.c
-@@ -5265,14 +5265,14 @@ krt_export_net(struct channel *c, const net_addr *a, linpool *lp)
- if (c->ra_mode == RA_MERGED)
- {
- struct rt_export_feed *feed = rt_net_feed(c->table, a, NULL);
-- if (!feed->count_routes)
-+ if (!feed || !feed->count_routes)
- return NULL;
-
- if (!bmap_test(&c->export_accepted_map, feed->block[0].id))
- return NULL;
-
- return rt_export_merged(c, feed, lp, 1);
-- }
-+ }
-
- static _Thread_local rte best;
- best = rt_net_best(c->table, a);
---
-GitLab
-
diff --git a/net/bird3/files/patch-01-Table-not-feeding-twice b/net/bird3/files/patch-01-Table-not-feeding-twice
deleted file mode 100644
index 4fb40a644fb2..000000000000
--- a/net/bird3/files/patch-01-Table-not-feeding-twice
+++ /dev/null
@@ -1,39 +0,0 @@
-From 0a2f92ad205d96d0be0945ecf2bb740b68d5a3c1 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Thu, 19 Dec 2024 11:54:05 +0100
-Subject: [PATCH] Table: not feeding twice, once is enough
-
-If there is no feed pending, the requested one should be
-activated immediately, otherwise it is activated only after
-the full run, effectively running first a full feed and
-then the requested one.
----
- nest/rt-export.c | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/nest/rt-export.c b/nest/rt-export.c
-index 7368447de..7d51e54cf 100644
---- nest/rt-export.c
-+++ nest/rt-export.c
-@@ -357,8 +357,16 @@ rt_export_refeed_feeder(struct rt_export_feeder *f, struct rt_feeding_request *r
- if (!rfr)
- return;
-
-- rfr->next = f->feed_pending;
-- f->feed_pending = rfr;
-+ if (f->feeding)
-+ {
-+ rfr->next = f->feed_pending;
-+ f->feed_pending = rfr;
-+ }
-+ else
-+ {
-+ rfr->next = NULL;
-+ f->feeding = rfr;
-+ }
- }
-
- void rt_export_refeed_request(struct rt_export_request *rer, struct rt_feeding_request *rfr)
---
-GitLab
-
diff --git a/net/bird3/files/patch-02-kernel-trace-the-final-result b/net/bird3/files/patch-02-kernel-trace-the-final-result
deleted file mode 100644
index a3c97320f30e..000000000000
--- a/net/bird3/files/patch-02-kernel-trace-the-final-result
+++ /dev/null
@@ -1,53 +0,0 @@
-From ab74652f96c301dd2d2d2a831dd1a159ae1d5e02 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Thu, 19 Dec 2024 12:28:27 +0100
-Subject: [PATCH] Kernel: when channel traces, we have to trace the final
- result
-
-Otherwise it looks like we are sending too much traffic to netlink
-every other while, which is not true. Now we can disambiguate between
-in-kernel updates and ignored routes.
----
- sysdep/unix/krt.c | 14 +++++++++++---
- 1 file changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/sysdep/unix/krt.c b/sysdep/unix/krt.c
-index 2770b8be2..34882b88f 100644
---- sysdep/unix/krt.c
-+++ sysdep/unix/krt.c
-@@ -672,7 +672,7 @@ krt_preexport(struct channel *C, rte *e)
- }
-
- static void
--krt_rt_notify(struct proto *P, struct channel *ch UNUSED, const net_addr *net,
-+krt_rt_notify(struct proto *P, struct channel *ch, const net_addr *net,
- rte *new, const rte *old)
- {
- struct krt_proto *p = (struct krt_proto *) P;
-@@ -688,13 +688,21 @@ krt_rt_notify(struct proto *P, struct channel *ch UNUSED, const net_addr *net,
- case KPS_IDLE:
- case KPS_PRUNING:
- if (new && bmap_test(&p->seen_map, new->id))
-- /* Already installed and seen in the kernel dump */
-- return;
-+ if (ch->debug & D_ROUTES)
-+ {
-+ /* Already installed and seen in the kernel dump */
-+ log(L_TRACE "%s.%s: %N already in kernel",
-+ P->name, ch->name, net);
-+ return;
-+ }
-
- /* fall through */
- case KPS_SCANNING:
- /* Actually replace the route */
- krt_replace_rte(p, net, new, old);
-+ if (ch->debug & D_ROUTES)
-+ log(L_TRACE "%s.%s: %N %s kernel",
-+ P->name, ch->name, net, old ? "replaced in" : "added to");
- break;
-
- }
---
-GitLab
-
diff --git a/net/bird3/files/patch-03-BGP-fix-locking-order b/net/bird3/files/patch-03-BGP-fix-locking-order
deleted file mode 100644
index 51b73c26f8f8..000000000000
--- a/net/bird3/files/patch-03-BGP-fix-locking-order
+++ /dev/null
@@ -1,176 +0,0 @@
-From 6779e5da698feb9b9e02411859ad81885ba46c01 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Fri, 20 Dec 2024 11:28:00 +0100
-Subject: [PATCH] BGP: fix locking order error on dynamic protocol spawn
-
-We missed that the protocol spawner violates the prescribed
-locking order. When the rtable level is locked, no new protocol can be
-started, thus we need to:
-
-* create the protocol from a clean mainloop context
-* in protocol start hook, take the socket
-
-Testsuite: cf-bgp-autopeer
-Fixes: #136
-
-Thanks to Job Snijders <job@fastly.com> for reporting:
-https://trubka.network.cz/pipermail/bird-users/2024-December/017980.html
----
- nest/proto.c | 19 +++++++++++++++++++
- nest/protocol.h | 2 ++
- proto/bgp/bgp.c | 46 +++++++++++++++++++++++++++++++++++-----------
- 3 files changed, 56 insertions(+), 11 deletions(-)
-
-diff --git a/nest/proto.c b/nest/proto.c
-index dded84f51..678697d69 100644
---- nest/proto.c
-+++ nest/proto.c
-@@ -1867,6 +1867,25 @@ proto_spawn(struct proto_config *cf, uint disabled)
- return p;
- }
-
-+bool
-+proto_disable(struct proto *p)
-+{
-+ ASSERT_DIE(birdloop_inside(&main_birdloop));
-+ bool changed = !p->disabled;
-+ p->disabled = 1;
-+ proto_rethink_goal(p);
-+ return changed;
-+}
-+
-+bool
-+proto_enable(struct proto *p)
-+{
-+ ASSERT_DIE(birdloop_inside(&main_birdloop));
-+ bool changed = p->disabled;
-+ p->disabled = 0;
-+ proto_rethink_goal(p);
-+ return changed;
-+}
-
- /**
- * DOC: Graceful restart recovery
-diff --git a/nest/protocol.h b/nest/protocol.h
-index 25ed6f553..cf7ecb898 100644
---- nest/protocol.h
-+++ nest/protocol.h
-@@ -78,6 +78,8 @@ void proto_build(struct protocol *); /* Called from protocol to register itself
- void protos_preconfig(struct config *);
- void protos_commit(struct config *new, struct config *old, int type);
- struct proto * proto_spawn(struct proto_config *cf, uint disabled);
-+bool proto_disable(struct proto *p);
-+bool proto_enable(struct proto *p);
- void protos_dump_all(struct dump_request *);
-
- #define GA_UNKNOWN 0 /* Attribute not recognized */
-diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c
-index 5fc2b5fff..3170e3a42 100644
---- proto/bgp/bgp.c
-+++ proto/bgp/bgp.c
-@@ -378,8 +378,6 @@ bgp_startup(struct bgp_proto *p)
- if (p->postponed_sk)
- {
- /* Apply postponed incoming connection */
-- sk_reloop(p->postponed_sk, p->p.loop);
--
- bgp_setup_conn(p, &p->incoming_conn);
- bgp_setup_sk(&p->incoming_conn, p->postponed_sk);
- bgp_send_open(&p->incoming_conn);
-@@ -583,6 +581,9 @@ bgp_graceful_close_conn(struct bgp_conn *conn, int subcode, byte *data, uint len
- static void
- bgp_down(struct bgp_proto *p)
- {
-+ /* Check that the dynamic BGP socket has been picked up */
-+ ASSERT_DIE(p->postponed_sk == NULL);
-+
- if (bgp_start_state(p) > BSS_PREPARE)
- {
- bgp_setup_auth(p, 0);
-@@ -617,8 +618,8 @@ bgp_decision(void *vp)
- bgp_down(p);
- }
-
--static struct bgp_proto *
--bgp_spawn(struct bgp_proto *pp, ip_addr remote_ip)
-+static void
-+bgp_spawn(struct bgp_proto *pp, struct birdsock *sk)
- {
- struct symbol *sym;
- char fmt[SYM_MAX_LEN];
-@@ -635,9 +636,16 @@ bgp_spawn(struct bgp_proto *pp, ip_addr remote_ip)
- cfg_mem = NULL;
-
- /* Just pass remote_ip to bgp_init() */
-- ((struct bgp_config *) sym->proto)->remote_ip = remote_ip;
-+ ((struct bgp_config *) sym->proto)->remote_ip = sk->daddr;
-+
-+ /* Create the protocol disabled initially */
-+ SKIP_BACK_DECLARE(struct bgp_proto, p, p, proto_spawn(sym->proto, 1));
-
-- return (void *) proto_spawn(sym->proto, 0);
-+ /* Pass the socket */
-+ p->postponed_sk = sk;
-+
-+ /* And enable the protocol */
-+ proto_enable(&p->p);
- }
-
- void
-@@ -1489,10 +1497,15 @@ bgp_incoming_connection(sock *sk, uint dummy UNUSED)
- /* For dynamic BGP, spawn new instance and postpone the socket */
- if (bgp_is_dynamic(p))
- {
-- p = bgp_spawn(p, sk->daddr);
-- p->postponed_sk = sk;
-- rmove(sk, p->p.pool);
-- goto leave;
-+ UNLOCK_DOMAIN(rtable, bgp_listen_domain);
-+
-+ /* The dynamic protocol must be in the START state */
-+ ASSERT_DIE(p->p.proto_state == PS_START);
-+ birdloop_leave(p->p.loop);
-+
-+ /* Now we have a clean mainloop */
-+ bgp_spawn(p, sk);
-+ return 0;
- }
-
- rmove(sk, p->p.pool);
-@@ -1806,7 +1819,6 @@ bgp_start(struct proto *P)
- p->incoming_conn.state = BS_IDLE;
- p->neigh = NULL;
- p->bfd_req = NULL;
-- p->postponed_sk = NULL;
- p->gr_ready = 0;
- p->gr_active_num = 0;
-
-@@ -1848,6 +1860,16 @@ bgp_start(struct proto *P)
- channel_graceful_restart_lock(&c->c);
- }
-
-+ /* Now it's the last chance to move the postponed socket to this BGP,
-+ * as bgp_start is the only hook running from main loop. */
-+ if (p->postponed_sk)
-+ {
-+ LOCK_DOMAIN(rtable, bgp_listen_domain);
-+ rmove(p->postponed_sk, p->p.pool);
-+ sk_reloop(p->postponed_sk, p->p.loop);
-+ UNLOCK_DOMAIN(rtable, bgp_listen_domain);
-+ }
-+
- /*
- * Before attempting to create the connection, we need to lock the port,
- * so that we are the only instance attempting to talk with that neighbor.
-@@ -1999,6 +2021,8 @@ bgp_init(struct proto_config *CF)
- p->remote_ip = cf->remote_ip;
- p->remote_as = cf->remote_as;
-
-+ p->postponed_sk = NULL;
-+
- /* Hack: We use cf->remote_ip just to pass remote_ip from bgp_spawn() */
- if (cf->c.parent)
- cf->remote_ip = IPA_NONE;
---
-GitLab
-
diff --git a/net/bird3/files/patch-04-BFD-Fix-session-locking-order b/net/bird3/files/patch-04-BFD-Fix-session-locking-order
deleted file mode 100644
index 3f5500500691..000000000000
--- a/net/bird3/files/patch-04-BFD-Fix-session-locking-order
+++ /dev/null
@@ -1,400 +0,0 @@
-From 83495362789d961914c4bfaa590e31cb17370ed0 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Sat, 21 Dec 2024 19:02:22 +0100
-Subject: [PATCH] BFD: Fix session reconfiguration locking order
-
-The sessions have to be updated asynchronously to avoid
-cross-locking between protocols.
-
-Testsuite: cf-ibgp-bfd-switch, cf-ibgp-multi-bfd-auth
-Fixes: #139
-
-Thanks to Daniel Suchy <danny@danysek.cz> for reporting:
-https://trubka.network.cz/pipermail/bird-users/2024-December/017984.html
----
- nest/bfd.h | 7 ++-
- proto/bfd/bfd.c | 144 +++++++++++++++++++++++---------------------
- proto/bfd/bfd.h | 21 +------
- proto/bfd/config.Y | 42 +++++--------
- proto/bfd/packets.c | 4 +-
- 5 files changed, 98 insertions(+), 120 deletions(-)
-
-diff --git a/nest/bfd.h b/nest/bfd.h
-index 5dacff5d7..c046152f8 100644
---- nest/bfd.h
-+++ nest/bfd.h
-@@ -18,8 +18,11 @@ struct bfd_options {
- u32 min_tx_int;
- u32 idle_tx_int;
- u8 multiplier;
-- u8 passive;
-- u8 passive_set;
-+ PACKED enum bfd_opt_passive {
-+ BFD_OPT_PASSIVE_UNKNOWN = 0,
-+ BFD_OPT_PASSIVE,
-+ BFD_OPT_NOT_PASSIVE,
-+ } passive;
- u8 mode;
- u8 auth_type; /* Authentication type (BFD_AUTH_*) */
- list *passwords; /* Passwords for authentication */
-diff --git a/proto/bfd/bfd.c b/proto/bfd/bfd.c
-index 34f992b93..4997f803a 100644
---- proto/bfd/bfd.c
-+++ proto/bfd/bfd.c
-@@ -172,17 +172,17 @@ static void bfd_free_iface(struct bfd_iface *ifa);
- * BFD sessions
- */
-
--static inline struct bfd_session_config
--bfd_merge_options(const struct bfd_iface_config *cf, const struct bfd_options *opts)
-+static inline struct bfd_options
-+bfd_merge_options(const struct bfd_options *bottom, const struct bfd_options *top)
- {
-- return (struct bfd_session_config) {
-- .min_rx_int = opts->min_rx_int ?: cf->min_rx_int,
-- .min_tx_int = opts->min_tx_int ?: cf->min_tx_int,
-- .idle_tx_int = opts->idle_tx_int ?: cf->idle_tx_int,
-- .multiplier = opts->multiplier ?: cf->multiplier,
-- .passive = opts->passive_set ? opts->passive : cf->passive,
-- .auth_type = opts->auth_type ?: cf->auth_type,
-- .passwords = opts->passwords ?: cf->passwords,
-+ return (struct bfd_options) {
-+ .min_rx_int = top->min_rx_int ?: bottom->min_rx_int,
-+ .min_tx_int = top->min_tx_int ?: bottom->min_tx_int,
-+ .idle_tx_int = top->idle_tx_int ?: bottom->idle_tx_int,
-+ .multiplier = top->multiplier ?: bottom->multiplier,
-+ .passive = top->passive ?: bottom->passive,
-+ .auth_type = top->auth_type ?: bottom->auth_type,
-+ .passwords = top->passwords ?: bottom->passwords,
- };
- }
-
-@@ -478,7 +478,7 @@ bfd_add_session(struct bfd_proto *p, ip_addr addr, ip_addr local, struct iface *
- HASH_INSERT(p->session_hash_id, HASH_ID, s);
- HASH_INSERT(p->session_hash_ip, HASH_IP, s);
-
-- s->cf = bfd_merge_options(ifa->cf, opts);
-+ s->cf = bfd_merge_options(&ifa->cf->opts, opts);
-
- /* Initialization of state variables - see RFC 5880 6.8.1 */
- s->loc_state = BFD_STATE_DOWN;
-@@ -561,26 +561,58 @@ bfd_remove_session(struct bfd_proto *p, struct bfd_session *s)
- birdloop_leave(p->p.loop);
- }
-
-+struct bfd_reconfigure_sessions_deferred_call {
-+ struct deferred_call dc;
-+ struct bfd_proto *p;
-+ config_ref old_config;
-+};
-+
- static void
--bfd_reconfigure_session(struct bfd_proto *p, struct bfd_session *s)
-+bfd_reconfigure_sessions(struct deferred_call *dc)
- {
-- if (EMPTY_LIST(s->request_list))
-- return;
-+ SKIP_BACK_DECLARE(struct bfd_reconfigure_sessions_deferred_call,
-+ brsdc, dc, dc);
-
-- ASSERT_DIE(birdloop_inside(p->p.loop));
-+ struct bfd_proto *p = brsdc->p;
-+ birdloop_enter(p->p.loop);
-
-- SKIP_BACK_DECLARE(struct bfd_request, req, n, HEAD(s->request_list));
-- s->cf = bfd_merge_options(s->ifa->cf, &req->opts);
-+ HASH_WALK(p->session_hash_id, next_id, s)
-+ {
-+ if (!EMPTY_LIST(s->request_list))
-+ {
-+ SKIP_BACK_DECLARE(struct bfd_request, req, n, HEAD(s->request_list));
-+ struct bfd_options opts = bfd_merge_options(&s->ifa->cf->opts, &req->opts);
-
-- u32 tx = (s->loc_state == BFD_STATE_UP) ? s->cf.min_tx_int : s->cf.idle_tx_int;
-- bfd_session_set_min_tx(s, tx);
-- bfd_session_set_min_rx(s, s->cf.min_rx_int);
-- s->detect_mult = s->cf.multiplier;
-- s->passive = s->cf.passive;
-+#define CHK(x) (opts.x != s->cf.x) ||
-+ bool reload = MACRO_FOREACH(CHK,
-+ min_rx_int,
-+ min_tx_int,
-+ idle_tx_int,
-+ multiplier,
-+ passive) false; /* terminating the || chain */
-+#undef CHK
-
-- bfd_session_control_tx_timer(s, 0);
-+ s->cf = opts;
-+
-+ if (reload)
-+ {
-+ u32 tx = (s->loc_state == BFD_STATE_UP) ? s->cf.min_tx_int : s->cf.idle_tx_int;
-+ bfd_session_set_min_tx(s, tx);
-+ bfd_session_set_min_rx(s, s->cf.min_rx_int);
-+ s->detect_mult = s->cf.multiplier;
-+ s->passive = s->cf.passive;
-+
-+ bfd_session_control_tx_timer(s, 0);
-+
-+ TRACE(D_EVENTS, "Session to %I reconfigured", s->addr);
-+ }
-+ }
-+ }
-+ HASH_WALK_END;
-+ birdloop_leave(p->p.loop);
-
-- TRACE(D_EVENTS, "Session to %I reconfigured", s->addr);
-+ /* Now the config is clean */
-+ OBSREF_CLEAR(brsdc->old_config);
- }
-
-
-@@ -589,10 +621,12 @@ bfd_reconfigure_session(struct bfd_proto *p, struct bfd_session *s)
- */
-
- static struct bfd_iface_config bfd_default_iface = {
-- .min_rx_int = BFD_DEFAULT_MIN_RX_INT,
-- .min_tx_int = BFD_DEFAULT_MIN_TX_INT,
-- .idle_tx_int = BFD_DEFAULT_IDLE_TX_INT,
-- .multiplier = BFD_DEFAULT_MULTIPLIER,
-+ .opts = {
-+ .min_rx_int = BFD_DEFAULT_MIN_RX_INT,
-+ .min_tx_int = BFD_DEFAULT_MIN_TX_INT,
-+ .idle_tx_int = BFD_DEFAULT_IDLE_TX_INT,
-+ .multiplier = BFD_DEFAULT_MULTIPLIER,
-+ },
- };
-
- static inline struct bfd_iface_config *
-@@ -650,24 +684,6 @@ bfd_free_iface(struct bfd_iface *ifa)
- mb_free(ifa);
- }
-
--static void
--bfd_reconfigure_iface(struct bfd_proto *p UNUSED, struct bfd_iface *ifa, struct bfd_config *nc)
--{
-- struct bfd_iface_config *new = bfd_find_iface_config(nc, ifa->iface);
-- struct bfd_iface_config *old = ifa->cf;
--
-- /* Check options that are handled in bfd_reconfigure_session() */
-- ifa->changed =
-- (new->min_rx_int != old->min_rx_int) ||
-- (new->min_tx_int != old->min_tx_int) ||
-- (new->idle_tx_int != old->idle_tx_int) ||
-- (new->multiplier != old->multiplier) ||
-- (new->passive != old->passive);
--
-- /* This should be probably changed to not access ifa->cf from the BFD thread */
-- ifa->cf = new;
--}
--
-
- /*
- * BFD requests
-@@ -900,20 +916,7 @@ bfd_request_session(pool *p, ip_addr addr, ip_addr local,
- void
- bfd_update_request(struct bfd_request *req, const struct bfd_options *opts)
- {
-- struct bfd_session *s = req->session;
--
-- if (!memcmp(opts, &req->opts, sizeof(const struct bfd_options)))
-- return;
--
- req->opts = *opts;
--
-- if (s)
-- {
-- struct bfd_proto *p = s->ifa->bfd;
-- birdloop_enter(p->p.loop);
-- bfd_reconfigure_session(p, s);
-- birdloop_leave(p->p.loop);
-- }
- }
-
- static void
-@@ -1193,21 +1196,22 @@ bfd_reconfigure(struct proto *P, struct proto_config *c)
- (new->zero_udp6_checksum_rx != old->zero_udp6_checksum_rx))
- return 0;
-
-- birdloop_mask_wakeups(p->p.loop);
--
- WALK_LIST(ifa, p->iface_list)
-- bfd_reconfigure_iface(p, ifa, new);
--
-- HASH_WALK(p->session_hash_id, next_id, s)
-- {
-- if (s->ifa->changed)
-- bfd_reconfigure_session(p, s);
-- }
-- HASH_WALK_END;
-+ ifa->cf = bfd_find_iface_config(new, ifa->iface);
-
- bfd_reconfigure_neighbors(p, new);
-
-- birdloop_unmask_wakeups(p->p.loop);
-+ /* Sessions get reconfigured after all the config is applied */
-+ struct bfd_reconfigure_sessions_deferred_call brsdc = {
-+ .dc.hook = bfd_reconfigure_sessions,
-+ .p = p,
-+ };
-+ SKIP_BACK_DECLARE(struct bfd_reconfigure_sessions_deferred_call,
-+ brsdcp, dc, defer_call(&brsdc.dc, sizeof brsdc));
-+
-+ /* We need to keep the old config alive until all the sessions get
-+ * reconfigured */
-+ OBSREF_SET(brsdcp->old_config, P->cf->global);
-
- return 1;
- }
-diff --git a/proto/bfd/bfd.h b/proto/bfd/bfd.h
-index 578ce8755..107829b72 100644
---- proto/bfd/bfd.h
-+++ proto/bfd/bfd.h
-@@ -54,24 +54,7 @@ struct bfd_config
- struct bfd_iface_config
- {
- struct iface_patt i;
-- u32 min_rx_int;
-- u32 min_tx_int;
-- u32 idle_tx_int;
-- u8 multiplier;
-- u8 passive;
-- u8 auth_type; /* Authentication type (BFD_AUTH_*) */
-- list *passwords; /* Passwords for authentication */
--};
--
--struct bfd_session_config
--{
-- u32 min_rx_int;
-- u32 min_tx_int;
-- u32 idle_tx_int;
-- u8 multiplier;
-- u8 passive;
-- u8 auth_type; /* Authentication type (BFD_AUTH_*) */
-- list *passwords; /* Passwords for authentication */
-+ struct bfd_options opts;
- };
-
- struct bfd_neighbor
-@@ -146,7 +129,7 @@ struct bfd_session
- u32 loc_id; /* Local session ID (local discriminator) */
- u32 rem_id; /* Remote session ID (remote discriminator) */
-
-- struct bfd_session_config cf; /* Static configuration parameters */
-+ struct bfd_options cf; /* Static configuration parameters */
-
- u32 des_min_tx_int; /* Desired min rx interval, local option */
- u32 des_min_tx_new; /* Used for des_min_tx_int change */
-diff --git a/proto/bfd/config.Y b/proto/bfd/config.Y
-index 9e9919c4e..56d1ffac4 100644
---- proto/bfd/config.Y
-+++ proto/bfd/config.Y
-@@ -86,44 +86,37 @@ bfd_iface_start:
- add_tail(&BFD_CFG->patt_list, NODE this_ipatt);
- init_list(&this_ipatt->ipn_list);
-
-- BFD_IFACE->min_rx_int = BFD_DEFAULT_MIN_RX_INT;
-- BFD_IFACE->min_tx_int = BFD_DEFAULT_MIN_TX_INT;
-- BFD_IFACE->idle_tx_int = BFD_DEFAULT_IDLE_TX_INT;
-- BFD_IFACE->multiplier = BFD_DEFAULT_MULTIPLIER;
-+ this_bfd_opts = &BFD_IFACE->opts;
-+
-+ this_bfd_opts->min_rx_int = BFD_DEFAULT_MIN_RX_INT;
-+ this_bfd_opts->min_tx_int = BFD_DEFAULT_MIN_TX_INT;
-+ this_bfd_opts->idle_tx_int = BFD_DEFAULT_IDLE_TX_INT;
-+ this_bfd_opts->multiplier = BFD_DEFAULT_MULTIPLIER;
-
- reset_passwords();
- };
-
- bfd_iface_finish:
- {
-- BFD_IFACE->passwords = get_passwords();
-+ this_bfd_opts->passwords = get_passwords();
-
-- if (!BFD_IFACE->auth_type != !BFD_IFACE->passwords)
-+ if (!this_bfd_opts->auth_type != !this_bfd_opts->passwords)
- cf_warn("Authentication and password options should be used together");
-
-- if (BFD_IFACE->passwords)
-+ if (this_bfd_opts->passwords)
- {
- struct password_item *pass;
-- WALK_LIST(pass, *BFD_IFACE->passwords)
-+ WALK_LIST(pass, *this_bfd_opts->passwords)
- {
- if (pass->alg)
- cf_error("Password algorithm option not available in BFD protocol");
-
-- pass->alg = bfd_auth_type_to_hash_alg[BFD_IFACE->auth_type];
-+ pass->alg = bfd_auth_type_to_hash_alg[this_bfd_opts->auth_type];
- }
- }
--};
-
--bfd_iface_item:
-- INTERVAL expr_us { BFD_IFACE->min_rx_int = BFD_IFACE->min_tx_int = $2; }
-- | MIN RX INTERVAL expr_us { BFD_IFACE->min_rx_int = $4; }
-- | MIN TX INTERVAL expr_us { BFD_IFACE->min_tx_int = $4; }
-- | IDLE TX INTERVAL expr_us { BFD_IFACE->idle_tx_int = $4; }
-- | MULTIPLIER expr { BFD_IFACE->multiplier = $2; }
-- | PASSIVE bool { BFD_IFACE->passive = $2; }
-- | AUTHENTICATION bfd_auth_type { BFD_IFACE->auth_type = $2; }
-- | password_list {}
-- ;
-+ this_bfd_opts = NULL;
-+};
-
- bfd_auth_type:
- NONE { $$ = BFD_AUTH_NONE; }
-@@ -134,14 +127,9 @@ bfd_auth_type:
- | METICULOUS KEYED SHA1 { $$ = BFD_AUTH_METICULOUS_KEYED_SHA1; }
- ;
-
--bfd_iface_opts:
-- /* empty */
-- | bfd_iface_opts bfd_iface_item ';'
-- ;
--
- bfd_iface_opt_list:
- /* empty */
-- | '{' bfd_iface_opts '}'
-+ | '{' bfd_items '}'
- ;
-
- bfd_iface:
-@@ -194,7 +182,7 @@ bfd_item:
- | MIN TX INTERVAL expr_us { this_bfd_opts->min_tx_int = $4; }
- | IDLE TX INTERVAL expr_us { this_bfd_opts->idle_tx_int = $4; }
- | MULTIPLIER expr { this_bfd_opts->multiplier = $2; }
-- | PASSIVE bool { this_bfd_opts->passive = $2; this_bfd_opts->passive_set = 1; }
-+ | PASSIVE bool { this_bfd_opts->passive = $2 ? BFD_OPT_PASSIVE : BFD_OPT_NOT_PASSIVE; }
- | GRACEFUL { this_bfd_opts->mode = BGP_BFD_GRACEFUL; }
- | AUTHENTICATION bfd_auth_type { this_bfd_opts->auth_type = $2; }
- | password_list {}
-diff --git a/proto/bfd/packets.c b/proto/bfd/packets.c
-index 1ceb470c1..f8bd63d73 100644
---- proto/bfd/packets.c
-+++ proto/bfd/packets.c
-@@ -109,7 +109,7 @@ const u8 bfd_auth_type_to_hash_alg[] = {
- static void
- bfd_fill_authentication(struct bfd_proto *p, struct bfd_session *s, struct bfd_ctl_packet *pkt)
- {
-- struct bfd_session_config *cf = &s->cf;
-+ struct bfd_options *cf = &s->cf;
- struct password_item *pass = password_find(cf->passwords, 0);
- uint meticulous = 0;
-
-@@ -179,7 +179,7 @@ bfd_fill_authentication(struct bfd_proto *p, struct bfd_session *s, struct bfd_c
- static int
- bfd_check_authentication(struct bfd_proto *p, struct bfd_session *s, struct bfd_ctl_packet *pkt)
- {
-- struct bfd_session_config *cf = &s->cf;
-+ struct bfd_options *cf = &s->cf;
- const char *err_dsc = NULL;
- uint err_val = 0;
- uint auth_type = 0;
---
-GitLab
-
diff --git a/net/bird3/files/patch-05-mainloop-dropped-old-socket b/net/bird3/files/patch-05-mainloop-dropped-old-socket
deleted file mode 100644
index eea4d1d26af2..000000000000
--- a/net/bird3/files/patch-05-mainloop-dropped-old-socket
+++ /dev/null
@@ -1,86 +0,0 @@
-From 3d1f19e335f55c8cfa3cb7ca9d7b88ca03173d8e Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Sun, 22 Dec 2024 21:32:28 +0100
-Subject: [PATCH] Mainloop: Dropped old socket prioritization magic
-
-This is now done in worker threads and the mainloop needs to do other things,
-most notably kernel and CLI, with less overhead of repeatedly checking poll.
----
- sysdep/unix/io-loop.c | 2 +-
- sysdep/unix/io.c | 21 +++++++--------------
- 2 files changed, 8 insertions(+), 15 deletions(-)
-
-diff --git a/sysdep/unix/io-loop.c b/sysdep/unix/io-loop.c
-index f69189e06..a72c69a03 100644
---- sysdep/unix/io-loop.c
-+++ sysdep/unix/io-loop.c
-@@ -1403,7 +1403,7 @@ bool task_still_in_limit(void)
- {
- static u64 main_counter = 0;
- if (this_birdloop == &main_birdloop)
-- return (++main_counter % 2048); /* This is a hack because of no accounting in mainloop */
-+ return (++main_counter % 512); /* This is a hack because of no accounting in mainloop */
- else
- return ns_now() < account_last + this_thread->max_loop_time_ns;
- }
-diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c
-index f9785c074..51395e1e9 100644
---- sysdep/unix/io.c
-+++ sysdep/unix/io.c
-@@ -53,14 +53,15 @@
-
- /* Maximum number of calls of tx handler for one socket in one
- * poll iteration. Should be small enough to not monopolize CPU by
-- * one protocol instance.
-+ * one protocol instance. But as most of the problems are now offloaded
-+ * to worker threads, too low values may actually bring problems with
-+ * latency.
- */
--#define MAX_STEPS 4
-+#define MAX_STEPS 2048
-
- /* Maximum number of calls of rx handler for all sockets in one poll
-- iteration. RX callbacks are often much more costly so we limit
-- this to gen small latencies */
--#define MAX_RX_STEPS 4
-+ iteration. RX callbacks are often a little bit more costly. */
-+#define MAX_RX_STEPS 512
-
-
- /*
-@@ -2581,8 +2582,6 @@ io_init(void)
- srandom((uint) (now ^ (now >> 32)));
- }
-
--static int short_loops = 0;
--#define SHORT_LOOP_MAX 10
- #define WORK_EVENTS_MAX 10
-
- sock *stored_sock;
-@@ -2670,10 +2669,9 @@ io_loop(void)
- {
- if (pfd.pfd.data[0].revents & POLLIN)
- {
-- /* IO loop reload requested */
-+ /* Somebody sent an event to mainloop */
- pipe_drain(&main_birdloop.thread->wakeup);
- atomic_fetch_and_explicit(&main_birdloop.thread_transition, ~LTT_PING, memory_order_acq_rel);
-- continue;
- }
-
- times_update();
-@@ -2719,11 +2717,6 @@ io_loop(void)
- main_birdloop.sock_active = sk_next(s);
- }
-
-- short_loops++;
-- if (events && (short_loops < SHORT_LOOP_MAX))
-- continue;
-- short_loops = 0;
--
- int count = 0;
- main_birdloop.sock_active = stored_sock;
- if (main_birdloop.sock_active == NULL)
---
-GitLab
-
diff --git a/net/bird3/files/patch-06-cli-allocate-tx-buffers b/net/bird3/files/patch-06-cli-allocate-tx-buffers
deleted file mode 100644
index 0e9af5de5d63..000000000000
--- a/net/bird3/files/patch-06-cli-allocate-tx-buffers
+++ /dev/null
@@ -1,134 +0,0 @@
-From de9dbee796876f5b621e40e0082612aad746cac1 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Sun, 22 Dec 2024 22:10:38 +0100
-Subject: [PATCH] CLI: allocate TX buffers as pages, not by malloc
-
-Every malloc risks heap bloating and these blocks are already
-the same size as pages.
----
- nest/cli.c | 59 ++++++++++++++++++++++++++++++++++++++++++------------
- nest/cli.h | 2 +-
- 2 files changed, 47 insertions(+), 14 deletions(-)
-
-diff --git a/nest/cli.c b/nest/cli.c
-index 3b8e6f468..b33ffd437 100644
---- nest/cli.c
-+++ nest/cli.c
-@@ -81,13 +81,14 @@ cli_alloc_out(cli *c, int size)
- o = c->tx_buf;
- else
- {
-- o = mb_alloc(c->pool, sizeof(struct cli_out) + CLI_TX_BUF_SIZE);
-+ o = alloc_page();
-+ c->tx_pending_count++;
- if (c->tx_write)
- c->tx_write->next = o;
- else
- c->tx_buf = o;
- o->wpos = o->outpos = o->buf;
-- o->end = o->buf + CLI_TX_BUF_SIZE;
-+ o->end = (void *) o + page_size;
- }
- c->tx_write = o;
- if (!c->tx_pos)
-@@ -167,19 +168,18 @@ cli_hello(cli *c)
- static void
- cli_free_out(cli *c)
- {
-- struct cli_out *o, *p;
-+ for (struct cli_out *o = c->tx_buf, *n; o; o = n)
-+ {
-+ n = o->next;
-+ free_page(o);
-+ c->tx_pending_count--;
-+ }
-
-- if (o = c->tx_buf)
-- {
-- o->wpos = o->outpos = o->buf;
-- while (p = o->next)
-- {
-- o->next = p->next;
-- mb_free(p);
-- }
-- }
-+ c->tx_buf = NULL;
- c->tx_write = c->tx_pos = NULL;
- c->async_msg_size = 0;
-+
-+ ASSERT_DIE(c->tx_pending_count == 0);
- }
-
- void
-@@ -189,6 +189,38 @@ cli_written(cli *c)
- ev_schedule(c->event);
- }
-
-+/* A dummy resource to show and free memory pages allocated for pending TX */
-+struct cli_tx_resource {
-+ resource r;
-+ struct cli *c;
-+};
-+
-+static void
-+cli_tx_resource_free(resource *r)
-+{
-+ cli_free_out(SKIP_BACK(struct cli_tx_resource, r, r)->c);
-+}
-+
-+static void
-+cli_tx_resource_dump(struct dump_request *dreq UNUSED, resource *r UNUSED) {}
-+
-+static struct resmem
-+cli_tx_resource_memsize(resource *r)
-+{
-+ return (struct resmem) {
-+ .effective = SKIP_BACK(struct cli_tx_resource, r, r)->c->tx_pending_count * page_size,
-+ .overhead = sizeof(struct cli_tx_resource),
-+ };
-+}
-+
-+static struct resclass cli_tx_resource_class = {
-+ .name = "CLI TX buffers",
-+ .size = sizeof (struct cli_tx_resource),
-+ .free = cli_tx_resource_free,
-+ .dump = cli_tx_resource_dump,
-+ .memsize = cli_tx_resource_memsize,
-+};
-+
-
- static byte *cli_rh_pos;
- static uint cli_rh_len;
-@@ -272,7 +304,8 @@ cli *
- cli_new(struct birdsock *sock, struct cli_config *cf)
- {
- pool *p = rp_new(cli_pool, the_bird_domain.the_bird, "CLI");
-- cli *c = mb_alloc(p, sizeof(cli));
-+ struct cli_tx_resource *ctr = ralloc(p, &cli_tx_resource_class);
-+ cli *c = ctr->c = mb_alloc(p, sizeof(cli));
-
- bzero(c, sizeof(cli));
- c->pool = p;
-diff --git a/nest/cli.h b/nest/cli.h
-index d86ec3801..671be04d8 100644
---- nest/cli.h
-+++ nest/cli.h
-@@ -17,7 +17,6 @@
- #include "conf/conf.h"
-
- #define CLI_RX_BUF_SIZE 4096
--#define CLI_TX_BUF_SIZE 4096
- #define CLI_MAX_ASYNC_QUEUE 4096
-
- #define CLI_MSG_SIZE 500
-@@ -49,6 +48,7 @@ typedef struct cli {
- uint log_mask; /* Mask of allowed message levels */
- uint log_threshold; /* When free < log_threshold, store only important messages */
- uint async_msg_size; /* Total size of async messages queued in tx_buf */
-+ uint tx_pending_count; /* How many blocks are pending */
- } cli;
-
- struct cli_config {
---
-GitLab
-
diff --git a/net/bird3/files/patch-07-cli-flushing-tmp-linpool b/net/bird3/files/patch-07-cli-flushing-tmp-linpool
deleted file mode 100644
index c05321812dac..000000000000
--- a/net/bird3/files/patch-07-cli-flushing-tmp-linpool
+++ /dev/null
@@ -1,29 +0,0 @@
-From 5fd0fd77e293328f354e7f6ed22632ba6ff96593 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Sun, 22 Dec 2024 22:26:44 +0100
-Subject: [PATCH] CLI: Flushing tmp_linpool after every shown net.
-
-There is no reason to keep the allocated objects through multiple nets.
----
- nest/rt-show.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/nest/rt-show.c b/nest/rt-show.c
-index 3986da83d..aa9209ca5 100644
---- nest/rt-show.c
-+++ nest/rt-show.c
-@@ -282,8 +282,9 @@ rt_show_cont(struct cli *c)
- rt_show_table(d);
-
- RT_FEED_WALK(&d->tab->req, f)
-- if (f->count_routes)
-- rt_show_net(d, f);
-+ TMP_SAVED
-+ if (f->count_routes)
-+ rt_show_net(d, f);
-
- if (rt_export_feed_active(&d->tab->req))
- rt_feeder_unsubscribe(&d->tab->req);
---
-GitLab
-
diff --git a/net/bird3/files/patch-08-kernel-feed-only-once b/net/bird3/files/patch-08-kernel-feed-only-once
deleted file mode 100644
index 33a98cbc4795..000000000000
--- a/net/bird3/files/patch-08-kernel-feed-only-once
+++ /dev/null
@@ -1,274 +0,0 @@
-From 0fa80d7c79428e5370740a2eba5605b65131ebd6 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Mon, 23 Dec 2024 11:58:05 +0100
-Subject: [PATCH] Kernel: feed only once during startup
-
-There was an inefficiency in the initial scan state machine,
-causing routes to be fed several times instead of just once.
-Now the export startup is postponed until first krt_scan()
-finishes and we actually can do the pruning with full information.
----
- nest/proto.c | 4 ++-
- nest/protocol.h | 2 ++
- sysdep/unix/krt.c | 69 ++++++++++++++++++++++++++++-------------------
- sysdep/unix/krt.h | 5 ++--
- 4 files changed, 48 insertions(+), 32 deletions(-)
-
-diff --git a/nest/proto.c b/nest/proto.c
-index 678697d69..6fa74e9f1 100644
---- nest/proto.c
-+++ nest/proto.c
-@@ -676,9 +676,11 @@ void channel_notify_basic(void *);
- void channel_notify_accepted(void *);
- void channel_notify_merged(void *);
-
--static void
-+void
- channel_start_export(struct channel *c)
- {
-+ ASSERT_DIE(birdloop_inside(c->proto->loop));
-+
- if (rt_export_get_state(&c->out_req) != TES_DOWN)
- bug("%s.%s: Attempted to start channel's already started export", c->proto->name, c->name);
-
-diff --git a/nest/protocol.h b/nest/protocol.h
-index cf7ecb898..2bfa1628a 100644
---- nest/protocol.h
-+++ nest/protocol.h
-@@ -747,6 +747,8 @@ int proto_configure_channel(struct proto *p, struct channel **c, struct channel_
-
- void channel_set_state(struct channel *c, uint state);
-
-+void channel_start_export(struct channel *c);
-+
- void channel_add_obstacle(struct channel *c);
- void channel_del_obstacle(struct channel *c);
-
-diff --git a/sysdep/unix/krt.c b/sysdep/unix/krt.c
-index 34882b88f..1658dd6fe 100644
---- sysdep/unix/krt.c
-+++ sysdep/unix/krt.c
-@@ -342,6 +342,8 @@ krt_learn_async(struct krt_proto *p, rte *e, int new)
- /* Hook defined in nest/rt-table.c ... to be refactored away later */
- rte *krt_export_net(struct channel *c, const net_addr *a, linpool *lp);
-
-+static void krt_rt_notify(struct proto *P, struct channel *ch, const net_addr *net, rte *new, const rte *old);
-+
- static int
- krt_same_dest(rte *k, rte *e)
- {
-@@ -361,6 +363,11 @@ krt_same_dest(rte *k, rte *e)
- void
- krt_got_route(struct krt_proto *p, rte *e, s8 src)
- {
-+ /* If we happen to get an asynchronous route notification
-+ * before initialization, we wait for the scan. */
-+ if (p->sync_state == KPS_INIT)
-+ return;
-+
- rte *new = NULL;
- e->pflags = 0;
-
-@@ -391,10 +398,6 @@ krt_got_route(struct krt_proto *p, rte *e, s8 src)
-
- /* The rest is for KRT_SRC_BIRD (or KRT_SRC_UNKNOWN) */
-
-- /* We wait for the initial feed to have correct installed state */
-- if (!p->ready)
-- goto ignore;
--
- /* Get the exported version */
- new = krt_export_net(p->p.main_channel, e->net, krt_filter_lp);
-
-@@ -423,10 +426,6 @@ aseen:
- krt_trace_in(p, e, "already seen");
- goto done;
-
--ignore:
-- krt_trace_in(p, e, "ignored");
-- goto done;
--
- update:
- krt_trace_in(p, new, "updating");
- krt_replace_rte(p, e->net, new, e);
-@@ -447,12 +446,21 @@ krt_init_scan(struct krt_proto *p)
- {
- switch (p->sync_state)
- {
-+ case KPS_INIT:
-+ /* Allow exports now */
-+ p->p.rt_notify = krt_rt_notify;
-+ channel_start_export(p->p.main_channel);
-+ rt_refresh_begin(&p->p.main_channel->in_req);
-+ p->sync_state = KPS_FIRST_SCAN;
-+ return 1;
-+
- case KPS_IDLE:
- rt_refresh_begin(&p->p.main_channel->in_req);
- bmap_reset(&p->seen_map, 1024);
- p->sync_state = KPS_SCANNING;
- return 1;
-
-+ case KPS_FIRST_SCAN:
- case KPS_SCANNING:
- bug("Kernel scan double-init");
-
-@@ -470,14 +478,17 @@ krt_prune(struct krt_proto *p)
- {
- switch (p->sync_state)
- {
-+ case KPS_INIT:
- case KPS_IDLE:
- bug("Kernel scan prune without scan");
-
- case KPS_SCANNING:
-+ channel_request_full_refeed(p->p.main_channel);
-+ /* fall through */
-+ case KPS_FIRST_SCAN:
- p->sync_state = KPS_PRUNING;
- KRT_TRACE(p, D_EVENTS, "Pruning table %s", p->p.main_channel->table->name);
- rt_refresh_end(&p->p.main_channel->in_req);
-- channel_request_full_refeed(p->p.main_channel);
- break;
-
- case KPS_PRUNING:
-@@ -549,7 +560,7 @@ krt_scan_all(timer *t UNUSED)
- krt_do_scan(NULL);
-
- WALK_LIST2(p, n, krt_proto_list, krt_node)
-- if (p->sync_state == KPS_SCANNING)
-+ if ((p->sync_state == KPS_SCANNING) || (p->sync_state == KPS_FIRST_SCAN))
- krt_prune(p);
- }
-
-@@ -644,6 +655,9 @@ krt_scan_timer_kick(struct krt_proto *p)
- static int
- krt_preexport(struct channel *C, rte *e)
- {
-+ /* The export should not start before proper sync */
-+ ASSERT_DIE(SKIP_BACK(struct krt_proto, p, C->proto)->sync_state != KPS_INIT);
-+
- if (e->src->owner == &C->proto->sources)
- #ifdef CONFIG_SINGLE_ROUTE
- return 1;
-@@ -659,15 +673,6 @@ krt_preexport(struct channel *C, rte *e)
- return -1;
- }
-
-- /* Before first scan we don't touch the routes */
-- if (!SKIP_BACK(struct krt_proto, p, C->proto)->ready)
-- {
-- if (C->debug & D_ROUTES)
-- log(L_TRACE "%s.%s not ready yet to accept route for %N",
-- C->proto->name, C->name, e->net);
-- return -1;
-- }
--
- return 0;
- }
-
-@@ -685,18 +690,24 @@ krt_rt_notify(struct proto *P, struct channel *ch, const net_addr *net,
-
- switch (p->sync_state)
- {
-+ case KPS_INIT:
-+ bug("Routes in init state should have been rejected by preexport.");
-+
- case KPS_IDLE:
- case KPS_PRUNING:
- if (new && bmap_test(&p->seen_map, new->id))
-+ {
- if (ch->debug & D_ROUTES)
- {
- /* Already installed and seen in the kernel dump */
- log(L_TRACE "%s.%s: %N already in kernel",
- P->name, ch->name, net);
-- return;
- }
-+ return;
-+ }
-
- /* fall through */
-+ case KPS_FIRST_SCAN:
- case KPS_SCANNING:
- /* Actually replace the route */
- krt_replace_rte(p, net, new, old);
-@@ -732,7 +743,6 @@ krt_reload_routes(struct channel *C, struct rt_feeding_request *rfr)
-
- if (KRT_CF->learn)
- {
-- p->reload = 1;
- krt_scan_timer_kick(p);
- }
-
-@@ -749,15 +759,18 @@ krt_export_fed(struct channel *C)
- {
- struct krt_proto *p = (void *) C->proto;
-
-- p->ready = 1;
-- p->initialized = 1;
--
- switch (p->sync_state)
- {
-+ case KPS_INIT:
-+ bug("KRT export started before scan");
-+
- case KPS_IDLE:
- krt_scan_timer_kick(p);
- break;
-
-+ case KPS_FIRST_SCAN:
-+ bug("KRT export done before first scan");
-+
- case KPS_SCANNING:
- break;
-
-@@ -831,7 +844,8 @@ krt_init(struct proto_config *CF)
- p->p.main_channel = proto_add_channel(&p->p, proto_cf_main_channel(CF));
-
- p->p.preexport = krt_preexport;
-- p->p.rt_notify = krt_rt_notify;
-+ /* Not setting rt_notify here to not start exports, must wait for the first scan
-+ * and then we can start exports manually */
- p->p.iface_sub.if_notify = krt_if_notify;
- p->p.reload_routes = krt_reload_routes;
- p->p.export_fed = krt_export_fed;
-@@ -887,7 +901,7 @@ krt_shutdown(struct proto *P)
- return PS_FLUSH;
-
- /* FIXME we should flush routes even when persist during reconfiguration */
-- if (p->initialized && !KRT_CF->persist && (P->down_code != PDC_CMD_GR_DOWN))
-+ if ((p->sync_state != KPS_INIT) && !KRT_CF->persist && (P->down_code != PDC_CMD_GR_DOWN))
- {
- struct rt_export_feeder req = (struct rt_export_feeder)
- {
-@@ -922,8 +936,7 @@ krt_shutdown(struct proto *P)
- static void
- krt_cleanup(struct krt_proto *p)
- {
-- p->ready = 0;
-- p->initialized = 0;
-+ p->sync_state = KPS_INIT;
-
- krt_sys_shutdown(p);
- rem_node(&p->krt_node);
-diff --git a/sysdep/unix/krt.h b/sysdep/unix/krt.h
-index 394e74010..14be715f8 100644
---- sysdep/unix/krt.h
-+++ sysdep/unix/krt.h
-@@ -59,10 +59,9 @@ struct krt_proto {
- struct bmap seen_map; /* Routes seen during last periodic scan */
- node krt_node; /* Node in krt_proto_list */
- byte af; /* Kernel address family (AF_*) */
-- byte ready; /* Initial feed has been finished */
-- byte initialized; /* First scan has been finished */
-- byte reload; /* Next scan is doing reload */
- PACKED enum krt_prune_state {
-+ KPS_INIT,
-+ KPS_FIRST_SCAN,
- KPS_IDLE,
- KPS_SCANNING,
- KPS_PRUNING,
---
-GitLab
-
diff --git a/net/bird3/files/patch-09-graceful-recovery b/net/bird3/files/patch-09-graceful-recovery
deleted file mode 100644
index d576f80ebc42..000000000000
--- a/net/bird3/files/patch-09-graceful-recovery
+++ /dev/null
@@ -1,311 +0,0 @@
-From f7639a9fafa7411ebd1f2af56c270b970ac09f3d Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Mon, 23 Dec 2024 21:06:26 +0100
-Subject: [PATCH] Graceful recovery: converted to obstacles
-
-Yet another refcounting mechanism had a locking collision.
----
- nest/proto.c | 178 ++++++++++++++++++++++++++----------------------
- nest/protocol.h | 14 +++-
- 2 files changed, 110 insertions(+), 82 deletions(-)
-
-diff --git a/nest/proto.c b/nest/proto.c
-index 6fa74e9f1..caf99829b 100644
---- nest/proto.c
-+++ nest/proto.c
-@@ -31,15 +31,8 @@ static list STATIC_LIST_INIT(protocol_list);
- #define CD(c, msg, args...) ({ if (c->debug & D_STATES) log(L_TRACE "%s.%s: " msg, c->proto->name, c->name ?: "?", ## args); })
- #define PD(p, msg, args...) ({ if (p->debug & D_STATES) log(L_TRACE "%s: " msg, p->name, ## args); })
-
--static timer *gr_wait_timer;
--
--#define GRS_NONE 0
--#define GRS_INIT 1
--#define GRS_ACTIVE 2
--#define GRS_DONE 3
--
--static int graceful_restart_state;
--static u32 graceful_restart_locks;
-+static struct graceful_recovery_context _graceful_recovery_context;
-+OBSREF(struct graceful_recovery_context) graceful_recovery_context;
-
- static char *p_states[] = { "DOWN", "START", "UP", "STOP" };
- static char *c_states[] = { "DOWN", "START", "UP", "STOP", "RESTART" };
-@@ -912,7 +905,7 @@ channel_do_stop(struct channel *c)
- ev_postpone(&c->reimport_event);
-
- c->gr_wait = 0;
-- if (c->gr_lock)
-+ if (OBSREF_GET(c->gr_lock))
- channel_graceful_restart_unlock(c);
-
- CALL(c->class->shutdown, c);
-@@ -1407,7 +1400,7 @@ proto_start(struct proto *p)
- DBG("Kicking %s up\n", p->name);
- PD(p, "Starting");
-
-- if (graceful_restart_state == GRS_INIT)
-+ if (OBSREF_GET(graceful_recovery_context))
- p->gr_recovery = 1;
-
- if (p->cf->loop_order != DOMAIN_ORDER(the_bird))
-@@ -1921,7 +1914,45 @@ proto_enable(struct proto *p)
- *
- */
-
--static void graceful_restart_done(timer *t);
-+/**
-+ * graceful_restart_done - finalize graceful restart
-+ * @t: unused
-+ *
-+ * When there are no locks on graceful restart, the functions finalizes the
-+ * graceful restart recovery. Protocols postponing route export until the end of
-+ * the recovery are awakened and the export to them is enabled.
-+ */
-+static void
-+graceful_recovery_done(struct callback *_ UNUSED)
-+{
-+ ASSERT_DIE(birdloop_inside(&main_birdloop));
-+ ASSERT_DIE(_graceful_recovery_context.grc_state == GRS_ACTIVE);
-+
-+ tm_stop(&_graceful_recovery_context.wait_timer);
-+ log(L_INFO "Graceful recovery done");
-+
-+ WALK_TLIST(proto, p, &global_proto_list)
-+ PROTO_LOCKED_FROM_MAIN(p)
-+ {
-+ p->gr_recovery = 0;
-+
-+ struct channel *c;
-+ WALK_LIST(c, p->channels)
-+ {
-+ ASSERT_DIE(!OBSREF_GET(c->gr_lock));
-+
-+ /* Resume postponed export of routes */
-+ if ((c->channel_state == CS_UP) && c->gr_wait && p->rt_notify)
-+ channel_start_export(c);
-+
-+ /* Cleanup */
-+ c->gr_wait = 0;
-+ }
-+ }
-+
-+ _graceful_recovery_context.grc_state = GRS_DONE;
-+}
-+
-
- /**
- * graceful_restart_recovery - request initial graceful restart recovery
-@@ -1933,7 +1964,30 @@ static void graceful_restart_done(timer *t);
- void
- graceful_restart_recovery(void)
- {
-- graceful_restart_state = GRS_INIT;
-+ obstacle_target_init(
-+ &_graceful_recovery_context.obstacles,
-+ &_graceful_recovery_context.obstacles_cleared,
-+ &root_pool, "Graceful recovery");
-+
-+ OBSREF_SET(graceful_recovery_context, &_graceful_recovery_context);
-+ _graceful_recovery_context.grc_state = GRS_INIT;
-+}
-+
-+static void
-+graceful_recovery_timeout(timer *t UNUSED)
-+{
-+ log(L_INFO "Graceful recovery timeout");
-+ WALK_TLIST(proto, p, &global_proto_list)
-+ PROTO_LOCKED_FROM_MAIN(p)
-+ {
-+ struct channel *c;
-+ WALK_LIST(c, p->channels)
-+ if (OBSREF_GET(c->gr_lock))
-+ {
-+ log(L_INFO "Graceful recovery: Not waiting for %s.%s", p->name, c->name);
-+ OBSREF_CLEAR(c->gr_lock);
-+ }
-+ }
- }
-
- /**
-@@ -1946,73 +2000,35 @@ graceful_restart_recovery(void)
- void
- graceful_restart_init(void)
- {
-- if (!graceful_restart_state)
-+ if (!OBSREF_GET(graceful_recovery_context))
- return;
-
-- log(L_INFO "Graceful restart started");
-+ log(L_INFO "Graceful recovery started");
-
-- if (!graceful_restart_locks)
-- {
-- graceful_restart_done(NULL);
-- return;
-- }
-+ _graceful_recovery_context.grc_state = GRS_ACTIVE;
-
-- graceful_restart_state = GRS_ACTIVE;
-- gr_wait_timer = tm_new_init(proto_pool, graceful_restart_done, NULL, 0, 0);
-+ _graceful_recovery_context.wait_timer = (timer) { .hook = graceful_recovery_timeout };
- u32 gr_wait = atomic_load_explicit(&global_runtime, memory_order_relaxed)->gr_wait;
-- tm_start(gr_wait_timer, gr_wait S);
--}
--
--/**
-- * graceful_restart_done - finalize graceful restart
-- * @t: unused
-- *
-- * When there are no locks on graceful restart, the functions finalizes the
-- * graceful restart recovery. Protocols postponing route export until the end of
-- * the recovery are awakened and the export to them is enabled. All other
-- * related state is cleared. The function is also called when the graceful
-- * restart wait timer fires (but there are still some locks).
-- */
--static void
--graceful_restart_done(timer *t)
--{
-- log(L_INFO "Graceful restart done");
-- graceful_restart_state = GRS_DONE;
--
-- WALK_TLIST(proto, p, &global_proto_list)
-- {
-- if (!p->gr_recovery)
-- continue;
--
-- struct channel *c;
-- WALK_LIST(c, p->channels)
-- {
-- /* Resume postponed export of routes */
-- if ((c->channel_state == CS_UP) && c->gr_wait && p->rt_notify)
-- channel_start_export(c);
-+ tm_start(&_graceful_recovery_context.wait_timer, gr_wait S);
-
-- /* Cleanup */
-- c->gr_wait = 0;
-- c->gr_lock = 0;
-- }
--
-- p->gr_recovery = 0;
-- }
-+ callback_init(&_graceful_recovery_context.obstacles_cleared, graceful_recovery_done, &main_birdloop);
-
-- graceful_restart_locks = 0;
--
-- rfree(t);
-+ /* The last clearing of obstacle reference will cause
-+ * the graceful recovery finish immediately. */
-+ OBSREF_CLEAR(graceful_recovery_context);
- }
-
- void
- graceful_restart_show_status(void)
- {
-- if (graceful_restart_state != GRS_ACTIVE)
-+ if (_graceful_recovery_context.grc_state != GRS_ACTIVE)
- return;
-
- cli_msg(-24, "Graceful restart recovery in progress");
-- cli_msg(-24, " Waiting for %d channels to recover", graceful_restart_locks);
-- cli_msg(-24, " Wait timer is %t/%u", tm_remains(gr_wait_timer),
-+ cli_msg(-24, " Waiting for %u channels to recover",
-+ obstacle_target_count(&_graceful_recovery_context.obstacles));
-+ cli_msg(-24, " Wait timer is %t/%u",
-+ tm_remains(&_graceful_recovery_context.wait_timer),
- atomic_load_explicit(&global_runtime, memory_order_relaxed)->gr_wait);
- }
-
-@@ -2032,14 +2048,22 @@ graceful_restart_show_status(void)
- void
- channel_graceful_restart_lock(struct channel *c)
- {
-- ASSERT(graceful_restart_state == GRS_INIT);
-- ASSERT(c->proto->gr_recovery);
-+ ASSERT_DIE(birdloop_inside(&main_birdloop));
-
-- if (c->gr_lock)
-+ if (OBSREF_GET(c->gr_lock))
- return;
-
-- c->gr_lock = 1;
-- graceful_restart_locks++;
-+ switch (_graceful_recovery_context.grc_state)
-+ {
-+ case GRS_INIT:
-+ case GRS_ACTIVE:
-+ OBSREF_SET(c->gr_lock, &_graceful_recovery_context);
-+ break;
-+
-+ case GRS_NONE:
-+ case GRS_DONE:
-+ break;
-+ }
- }
-
- /**
-@@ -2052,18 +2076,10 @@ channel_graceful_restart_lock(struct channel *c)
- void
- channel_graceful_restart_unlock(struct channel *c)
- {
-- if (!c->gr_lock)
-- return;
--
-- c->gr_lock = 0;
-- graceful_restart_locks--;
--
-- if ((graceful_restart_state == GRS_ACTIVE) && !graceful_restart_locks)
-- tm_start(gr_wait_timer, 0);
-+ OBSREF_CLEAR(c->gr_lock);
- }
-
-
--
- /**
- * protos_dump_all - dump status of all protocols
- *
-@@ -2615,9 +2631,9 @@ channel_show_info(struct channel *c)
- cli_msg(-1006, " Input filter: %s", filter_name(c->in_filter));
- cli_msg(-1006, " Output filter: %s", filter_name(c->out_filter));
-
-- if (graceful_restart_state == GRS_ACTIVE)
-+ if (_graceful_recovery_context.grc_state == GRS_ACTIVE)
- cli_msg(-1006, " GR recovery: %s%s",
-- c->gr_lock ? " pending" : "",
-+ OBSREF_GET(c->gr_lock) ? " pending" : "",
- c->gr_wait ? " waiting" : "");
-
- channel_show_limit(&c->rx_limit, "Receive limit:", c->limit_active & (1 << PLD_RX), c->limit_actions[PLD_RX]);
-diff --git a/nest/protocol.h b/nest/protocol.h
-index 2bfa1628a..ec561b263 100644
---- nest/protocol.h
-+++ nest/protocol.h
-@@ -659,7 +659,7 @@ struct channel {
-
- u8 channel_state;
- u8 reloadable; /* Hook reload_routes() is allowed on the channel */
-- u8 gr_lock; /* Graceful restart mechanism should wait for this channel */
-+ OBSREF(struct graceful_recovery_context) gr_lock; /* Graceful restart mechanism should wait for this channel */
- u8 gr_wait; /* Route export to channel is postponed until graceful restart */
-
- u32 obstacles; /* External obstacles remaining before cleanup */
-@@ -763,4 +763,16 @@ void *channel_config_new(const struct channel_class *cc, const char *name, uint
- void *channel_config_get(const struct channel_class *cc, const char *name, uint net_type, struct proto_config *proto);
- int channel_reconfigure(struct channel *c, struct channel_config *cf);
-
-+struct graceful_recovery_context {
-+ struct obstacle_target obstacles;
-+ struct callback obstacles_cleared;
-+ enum {
-+ GRS_NONE,
-+ GRS_INIT,
-+ GRS_ACTIVE,
-+ GRS_DONE,
-+ } grc_state;
-+ timer wait_timer;
-+};
-+
- #endif
---
-GitLab
-
diff --git a/net/bird3/files/patch-10-stonehenge b/net/bird3/files/patch-10-stonehenge
deleted file mode 100644
index a640442dae8d..000000000000
--- a/net/bird3/files/patch-10-stonehenge
+++ /dev/null
@@ -1,116 +0,0 @@
-From f6ef8b5b58c674dd270b40aa57d20d2d638c48e9 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Tue, 24 Dec 2024 12:18:39 +0100
-Subject: [PATCH] Stonehenge: multi-slab allocator
-
-To mid-term allocate and free lots of small blocks in a fast pace,
-mb_alloc is too slow and causes heap bloating. We can already allocate
-blocks from slabs, and if we allow for a little bit of inefficiency,
-we can just use multiple slabs with stepped sizes.
-
-This technique is already used in ea_list allocation which is gonna be
-converted to Stonehenge.
----
- lib/resource.h | 14 ++++++++++++
- lib/slab.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 76 insertions(+)
-
-diff --git a/lib/resource.h b/lib/resource.h
-index 48bf1f9ba..12b788510 100644
---- lib/resource.h
-+++ lib/resource.h
-@@ -139,6 +139,20 @@ void *sl_allocz(slab *);
- void sl_free(void *);
- void sl_delete(slab *);
-
-+/* A whole stonehenge of slabs */
-+
-+typedef struct stonehenge stonehenge;
-+typedef struct sth_block {
-+ void *block;
-+ bool large;
-+} sth_block;
-+
-+stonehenge *sth_new(pool *);
-+sth_block sth_alloc(stonehenge *, uint size);
-+sth_block sth_allocz(stonehenge *, uint size);
-+void sth_free(sth_block);
-+void sth_delete(stonehenge *);
-+
- /*
- * Low-level memory allocation functions, please don't use
- * outside resource manager and possibly sysdep code.
-diff --git a/lib/slab.c b/lib/slab.c
-index ca971f9fb..d68bfef1e 100644
---- lib/slab.c
-+++ lib/slab.c
-@@ -469,4 +469,66 @@ slab_lookup(resource *r, unsigned long a)
- return NULL;
- }
-
-+static const uint stonehenge_sizes[] = { 56, 112, 168, 288, 448, 800, 1344 };
-+
-+struct stonehenge {
-+ pool *p;
-+ slab *s[ARRAY_SIZE(stonehenge_sizes)];
-+};
-+
-+sth_block
-+sth_alloc(stonehenge *sth, uint size)
-+{
-+ for (uint i=0; i<ARRAY_SIZE(stonehenge_sizes); i++)
-+ if (size <= stonehenge_sizes[i])
-+ {
-+ if (!sth->s[i])
-+ sth->s[i] = sl_new(sth->p, stonehenge_sizes[i]);
-+
-+ return (sth_block) { .block = sl_alloc(sth->s[i]), };
-+ }
-+
-+ return (sth_block) {
-+ .block = mb_alloc(sth->p, size),
-+ .large = 1,
-+ };
-+}
-+
-+sth_block
-+sth_allocz(stonehenge *sth, uint size)
-+{
-+ sth_block b = sth_alloc(sth, size);
-+ bzero(b.block, size);
-+ return b;
-+}
-+
-+void
-+sth_free(sth_block b)
-+{
-+ if (b.large)
-+ mb_free(b.block);
-+ else
-+ sl_free(b.block);
-+}
-+
-+stonehenge *
-+sth_new(pool *pp)
-+{
-+ stonehenge tmps = {
-+ .p = rp_new(pp, pp->domain, "Stonehenge"),
-+ };
-+
-+ stonehenge *s = sth_alloc(&tmps, sizeof(stonehenge)).block;
-+ *s = tmps;
-+ return s;
-+}
-+
-+void sth_delete(stonehenge *s)
-+{
-+ pool *p = s->p;
-+ sth_free((sth_block) { s });
-+ rp_free(p);
-+}
-+
-+
- #endif
---
-GitLab
-
diff --git a/net/bird3/files/patch-11-route-attribute-storage b/net/bird3/files/patch-11-route-attribute-storage
deleted file mode 100644
index 5097846203eb..000000000000
--- a/net/bird3/files/patch-11-route-attribute-storage
+++ /dev/null
@@ -1,80 +0,0 @@
-From 8b389a503ef56aa69aa456fabebd562abe247119 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Tue, 24 Dec 2024 13:12:58 +0100
-Subject: [PATCH] Route attribute storage moved to Stonehenge
-
----
- nest/rt-attr.c | 29 ++++++++---------------------
- 1 file changed, 8 insertions(+), 21 deletions(-)
-
-diff --git a/nest/rt-attr.c b/nest/rt-attr.c
-index a0f7d5718..8d651efb2 100644
---- nest/rt-attr.c
-+++ nest/rt-attr.c
-@@ -204,9 +204,7 @@ DOMAIN(attrs) attrs_domain;
-
- pool *rta_pool;
-
--/* Assuming page size of 4096, these are magic values for slab allocation */
--static const uint ea_slab_sizes[] = { 56, 112, 168, 288, 448, 800, 1344 };
--static slab *ea_slab[ARRAY_SIZE(ea_slab_sizes)];
-+static stonehenge *ea_sth;
-
- static slab *rte_src_slab;
-
-@@ -1583,24 +1581,18 @@ ea_lookup_slow(ea_list *o, u32 squash_upto, enum ea_stored oid)
- return rr;
- }
-
-- struct ea_storage *r = NULL;
- uint elen = ea_list_size(o);
- uint sz = elen + sizeof(struct ea_storage);
-- for (uint i=0; i<ARRAY_SIZE(ea_slab_sizes); i++)
-- if (sz <= ea_slab_sizes[i])
-- {
-- r = sl_alloc(ea_slab[i]);
-- break;
-- }
-+ sth_block b = sth_alloc(ea_sth, sz);
-
-- int huge = r ? 0 : EALF_HUGE;;
-- if (huge)
-- r = mb_alloc(rta_pool, sz);
-+ struct ea_storage *r = b.block;
-
- ea_list_copy(r->l, o, elen);
- ea_list_ref(r->l);
-
-- r->l->flags |= huge;
-+ if (b.large)
-+ r->l->flags |= EALF_HUGE;
-+
- r->l->stored = oid;
- r->hash_key = h;
- atomic_store_explicit(&r->uc, 1, memory_order_release);
-@@ -1668,10 +1660,7 @@ ea_free_deferred(struct deferred_call *dc)
-
- /* And now we can free the object, finally */
- ea_list_unref(r->l);
-- if (r->l->flags & EALF_HUGE)
-- mb_free(r);
-- else
-- sl_free(r);
-+ sth_free((sth_block) { r, !!(r->l->flags & EALF_HUGE) });
-
- RTA_UNLOCK;
- }
-@@ -1722,9 +1711,7 @@ rta_init(void)
- RTA_LOCK;
- rta_pool = rp_new(&root_pool, attrs_domain.attrs, "Attributes");
-
-- for (uint i=0; i<ARRAY_SIZE(ea_slab_sizes); i++)
-- ea_slab[i] = sl_new(rta_pool, ea_slab_sizes[i]);
--
-+ ea_sth = sth_new(rta_pool);
- SPINHASH_INIT(rta_hash_table, RTAH, rta_pool, &global_work_list);
-
- rte_src_init();
---
-GitLab
-
diff --git a/net/bird3/files/patch-12-BGP-tx-bucket-storage b/net/bird3/files/patch-12-BGP-tx-bucket-storage
deleted file mode 100644
index 513824f86769..000000000000
--- a/net/bird3/files/patch-12-BGP-tx-bucket-storage
+++ /dev/null
@@ -1,84 +0,0 @@
-From fdb5c4920b45139fb3c37e1144643c0f756364b6 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Tue, 24 Dec 2024 13:22:56 +0100
-Subject: [PATCH] BGP: TX bucket storage moved to Stonehenge
-
----
- proto/bgp/attrs.c | 11 +++++++----
- proto/bgp/bgp.h | 4 ++--
- 2 files changed, 9 insertions(+), 6 deletions(-)
-
-diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c
-index a2feaef53..725c469ff 100644
---- proto/bgp/attrs.c
-+++ proto/bgp/attrs.c
-@@ -1734,13 +1734,16 @@ bgp_get_bucket(struct bgp_ptx_private *c, ea_list *new)
- uint size = sizeof(struct bgp_bucket) + ea_size;
-
- /* Allocate the bucket */
-- b = mb_alloc(c->pool, size);
-+ sth_block blk = sth_alloc(c->sth, size);
-+ b = blk.block;
- *b = (struct bgp_bucket) { };
- init_list(&b->prefixes);
- b->hash = hash;
-
- /* Copy the ea_list */
- ea_list_copy(b->eattrs, new, ea_size);
-+ if (blk.large)
-+ b->eattrs->flags |= EALF_HUGE;
-
- /* Insert the bucket to bucket hash */
- HASH_INSERT2(c->bucket_hash, RBH, c->pool, b);
-@@ -1764,7 +1767,7 @@ static void
- bgp_free_bucket(struct bgp_ptx_private *c, struct bgp_bucket *b)
- {
- HASH_REMOVE2(c->bucket_hash, RBH, c->pool, b);
-- mb_free(b);
-+ sth_free((sth_block) { b, !!(b->eattrs->flags & EALF_HUGE) });
- }
-
- int
-@@ -2086,6 +2089,7 @@ bgp_init_pending_tx(struct bgp_channel *c)
-
- bpp->lock = dom;
- bpp->pool = p;
-+ bpp->sth = sth_new(p);
- bpp->c = c;
-
- bgp_init_bucket_table(bpp);
-@@ -2160,8 +2164,7 @@ bgp_free_pending_tx(struct bgp_channel *bc)
- HASH_WALK_END;
-
- HASH_FREE(c->bucket_hash);
-- sl_delete(c->bucket_slab);
-- c->bucket_slab = NULL;
-+ sth_delete(c->sth);
-
- rp_free(c->pool);
-
-diff --git a/proto/bgp/bgp.h b/proto/bgp/bgp.h
-index 202e78ba3..dac6e84ea 100644
---- proto/bgp/bgp.h
-+++ proto/bgp/bgp.h
-@@ -452,7 +452,8 @@ struct bgp_ptx_private {
- struct { BGP_PTX_PUBLIC; };
- struct bgp_ptx_private **locked_at;
-
-- pool *pool; /* Resource pool for TX related allocations */
-+ pool *pool; /* Pool for infrequent long-term blocks */
-+ stonehenge *sth; /* Bucket allocator */
-
- HASH(struct bgp_bucket) bucket_hash; /* Hash table of route buckets */
- struct bgp_bucket *withdraw_bucket; /* Withdrawn routes */
-@@ -461,7 +462,6 @@ struct bgp_ptx_private {
- HASH(struct bgp_prefix) prefix_hash; /* Hash table of pending prefices */
-
- slab *prefix_slab; /* Slab holding prefix nodes */
-- slab *bucket_slab; /* Slab holding buckets to send */
-
- char bmp; /* This is a fake ptx for BMP encoding */
- };
---
-GitLab
-
diff --git a/net/bird3/files/patch-13-allocate-normalization-buckets b/net/bird3/files/patch-13-allocate-normalization-buckets
deleted file mode 100644
index 60ff582d71c5..000000000000
--- a/net/bird3/files/patch-13-allocate-normalization-buckets
+++ /dev/null
@@ -1,100 +0,0 @@
-From c3c12e1b4ff908211b156a182a5027f2b11b0709 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Tue, 24 Dec 2024 16:16:55 +0100
-Subject: [PATCH] Allocate the normalization buckets on stack
-
-Even though allocating from tmp_linpool is quite cheap,
-it isn't cheap when the block is larger than a page, which is the case here.
-Instead, we now allocate just the result which typically fits in a page,
-avoiding a necessity of a malloc().
----
- nest/rt-attr.c | 37 ++++++++++++++++++++++++-------------
- 1 file changed, 24 insertions(+), 13 deletions(-)
-
-diff --git a/nest/rt-attr.c b/nest/rt-attr.c
-index 8d651efb2..9d5e10980 100644
---- nest/rt-attr.c
-+++ nest/rt-attr.c
-@@ -967,8 +967,8 @@ ea_list_size(ea_list *o)
- * and creates the final structure useful for storage or fast searching.
- * The method is a bucket sort.
- *
-- * Returns the final ea_list with some excess memory at the end,
-- * allocated from the tmp_linpool. The adata is linked from the original places.
-+ * Returns the final ea_list allocated from the tmp_linpool.
-+ * The adata is linked from the original places.
- */
- ea_list *
- ea_normalize(ea_list *e, u32 upto)
-@@ -976,21 +976,17 @@ ea_normalize(ea_list *e, u32 upto)
- /* We expect some work to be actually needed. */
- ASSERT_DIE(!BIT32_TEST(&upto, e->stored));
-
-- /* Allocate the output */
-- ea_list *out = tmp_allocz(ea_class_max * sizeof(eattr) + sizeof(ea_list));
-- *out = (ea_list) {
-- .flags = EALF_SORTED,
-- };
--
-+ /* Allocate the buckets locally */
-+ eattr *buckets = allocz(ea_class_max * sizeof(eattr));
- uint min_id = ~0, max_id = 0;
-
-- eattr *buckets = out->attrs;
-+ ea_list *next = NULL;
-
- /* Walk the attribute lists, one after another. */
- for (; e; e = e->next)
- {
-- if (!out->next && BIT32_TEST(&upto, e->stored))
-- out->next = e;
-+ if (!next && BIT32_TEST(&upto, e->stored))
-+ next = e;
-
- for (int i = 0; i < e->count; i++)
- {
-@@ -1000,7 +996,7 @@ ea_normalize(ea_list *e, u32 upto)
- if (id < min_id)
- min_id = id;
-
-- if (out->next)
-+ if (next)
- {
- /* Underlay: check whether the value is duplicate */
- if (buckets[id].id && buckets[id].fresh)
-@@ -1026,6 +1022,18 @@ ea_normalize(ea_list *e, u32 upto)
- }
- }
-
-+ /* Find out how big the output actually is. */
-+ uint len = 0;
-+ for (uint id = min_id; id <= max_id; id++)
-+ if (buckets[id].id && !(buckets[id].undef && buckets[id].fresh))
-+ len++;
-+
-+ ea_list *out = tmp_alloc(sizeof(ea_list) + len * sizeof(eattr));
-+ *out = (ea_list) {
-+ .flags = EALF_SORTED,
-+ .next = next,
-+ };
-+
- /* And now we just walk the list from beginning to end and collect
- * everything to the beginning of the list.
- * Walking just that part which is inhabited for sure. */
-@@ -1044,9 +1052,12 @@ ea_normalize(ea_list *e, u32 upto)
-
- /* Move the attribute to the beginning */
- ASSERT_DIE(out->count < id);
-- buckets[out->count++] = buckets[id];
-+ ASSERT_DIE(out->count < len);
-+ out->attrs[out->count++] = buckets[id];
- }
-
-+ ASSERT_DIE(out->count == len);
-+
- /* We want to bisect only if the list is long enough */
- if (out->count > 5)
- out->flags |= EALF_BISECT;
---
-GitLab
-
diff --git a/net/bird3/files/patch-14-BGP-fix-dislpay-name b/net/bird3/files/patch-14-BGP-fix-dislpay-name
deleted file mode 100644
index faf53ec128ef..000000000000
--- a/net/bird3/files/patch-14-BGP-fix-dislpay-name
+++ /dev/null
@@ -1,25 +0,0 @@
-From b58bfcad683f46da9470ad87e8c78e423e04ff97 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Fri, 27 Dec 2024 16:22:59 +0100
-Subject: [PATCH] BGP: fix display name of bgp_otc attribute
-
----
- proto/bgp/attrs.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c
-index 725c469ff..5dc06be51 100644
---- proto/bgp/attrs.c
-+++ proto/bgp/attrs.c
-@@ -1192,7 +1192,7 @@ static union bgp_attr_desc bgp_attr_table[BGP_ATTR_MAX] = {
- .decode = bgp_decode_large_community,
- },
- [BA_ONLY_TO_CUSTOMER] = {
-- .name = "otc",
-+ .name = "bgp_otc",
- .type = T_INT,
- .flags = BAF_OPTIONAL | BAF_TRANSITIVE,
- .encode = bgp_encode_u32,
---
-GitLab
-
diff --git a/net/bird3/files/patch-15-BGP-fixed-deterministic-med-crashes b/net/bird3/files/patch-15-BGP-fixed-deterministic-med-crashes
deleted file mode 100644
index 15f3fac00287..000000000000
--- a/net/bird3/files/patch-15-BGP-fixed-deterministic-med-crashes
+++ /dev/null
@@ -1,65 +0,0 @@
-From c5b07695ce810e4345ed1811eadfce935c83b324 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Tue, 7 Jan 2025 11:08:04 +0100
-Subject: [PATCH] BGP: fixed deterministic med crashes
-
-There were several places of forgotten NULL checks.
-
-Thanks to Alarig Le Lay <alarig@swordarmor.fr> for reporting:
-https://trubka.network.cz/pipermail/bird-users/2024-December/017990.html
----
- nest/rt-table.c | 14 ++++++++++++--
- proto/bgp/attrs.c | 8 ++++----
- 2 files changed, 16 insertions(+), 6 deletions(-)
-
-diff --git a/nest/rt-table.c b/nest/rt-table.c
-index 05191d743..fc6d0d4e0 100644
---- nest/rt-table.c
-+++ nest/rt-table.c
-@@ -2024,12 +2024,22 @@ rte_recalculate(struct rtable_private *table, struct rt_import_hook *c, struct n
- do_recalculate:
- /* Add the new route to the list right behind the old one */
- if (new_stored)
-+ {
-+ /* There is the same piece of code several lines farther. Needs refactoring.
-+ * The old_stored check is needed because of the possible jump from deterministic med */
-+ if (old_stored)
- {
- atomic_store_explicit(&new_stored->next, atomic_load_explicit(&old_stored->next, memory_order_relaxed), memory_order_release);
- atomic_store_explicit(&old_stored->next, new_stored, memory_order_release);
--
-- table->rt_count++;
- }
-+ else
-+ {
-+ atomic_store_explicit(&new_stored->next, NULL, memory_order_release);
-+ atomic_store_explicit(last_ptr, new_stored, memory_order_release);
-+ }
-+
-+ table->rt_count++;
-+ }
-
- /* Find a new optimal route (if there is any) */
- struct rte_storage * _Atomic *bp = &local_sentinel.next;
-diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c
-index 5dc06be51..db6542343 100644
---- proto/bgp/attrs.c
-+++ proto/bgp/attrs.c
-@@ -2689,10 +2689,10 @@ bgp_rte_recalculate(struct rtable_private *table, net *net,
- struct rte_storage *new_stored, struct rte_storage *old_stored, struct rte_storage *old_best_stored)
- {
- struct rte_storage *key_stored = new_stored ? new_stored : old_stored;
-- const struct rte *new = &new_stored->rte,
-- *old = &old_stored->rte,
-- *old_best = &old_best_stored->rte,
-- *key = &key_stored->rte;
-+ const struct rte *new = RTE_OR_NULL(new_stored),
-+ *old = RTE_OR_NULL(old_stored),
-+ *old_best = RTE_OR_NULL(old_best_stored),
-+ *key = RTE_OR_NULL(key_stored);
-
- u32 lpref = rt_get_preference(key);
- u32 lasn = bgp_get_neighbor(key);
---
-GitLab
-
diff --git a/net/bird3/files/patch-16-Table-old-best-route-refeed-fix b/net/bird3/files/patch-16-Table-old-best-route-refeed-fix
deleted file mode 100644
index 60dc7cece2a2..000000000000
--- a/net/bird3/files/patch-16-Table-old-best-route-refeed-fix
+++ /dev/null
@@ -1,87 +0,0 @@
-From 2e14832d36c83b2ab5b7fb28b701de554fa5fdd9 Mon Sep 17 00:00:00 2001
-From: Maria Matejka <mq@ucw.cz>
-Date: Tue, 7 Jan 2025 12:13:57 +0100
-Subject: [PATCH] Table: old best route refeed fix
-
-When refeeding with RA_OPTIMAL, the old best routes weren't announced,
-leading to weird behavior of protocols, mostly kernel. Fixed.
----
- nest/rt-table.c | 30 ++++++++++++++++++++++++++----
- 1 file changed, 26 insertions(+), 4 deletions(-)
-
-diff --git a/nest/rt-table.c b/nest/rt-table.c
-index fc6d0d4e0..18a445a62 100644
---- nest/rt-table.c
-+++ nest/rt-table.c
-@@ -1485,11 +1485,18 @@ channel_notify_basic(void *_channel)
- rte *new = &u->feed->block[i];
- rte *old = NULL;
- for (uint o = oldpos; o < u->feed->count_routes; o++)
-- if (new->src == u->feed->block[o].src)
-+ if ((c->ra_mode == RA_ANY) && (new->src == u->feed->block[o].src))
- {
- old = &u->feed->block[o];
- break;
- }
-+ else if ((c->ra_mode == RA_OPTIMAL) && (
-+ bmap_test(&c->export_accepted_map, u->feed->block[o].id) ||
-+ bmap_test(&c->export_rejected_map, u->feed->block[o].id)))
-+ {
-+ ASSERT_DIE(!old);
-+ old = &u->feed->block[o];
-+ }
-
- rt_notify_basic(c, new, old);
-
-@@ -2542,10 +2549,14 @@ rt_feed_net_best(struct rt_exporter *e, struct rcu_unwinder *u, u32 index, bool
- last_in_net = atomic_load_explicit(&n->best.last, memory_order_acquire);
- first = rt_net_feed_validate_first(tr, first_in_net, last_in_net, first);
-
-- uint ecnt = 0;
-+ uint ecnt = 0, ocnt = 0;
- for (const struct rt_pending_export *rpe = first; rpe;
- rpe = atomic_load_explicit(&rpe->next, memory_order_acquire))
-+ {
- ecnt++;
-+ if (rpe->it.old)
-+ ocnt++;
-+ }
-
- if (ecnt) {
- const net_addr *a = (first->it.new ?: first->it.old)->net;
-@@ -2558,10 +2569,11 @@ rt_feed_net_best(struct rt_exporter *e, struct rcu_unwinder *u, u32 index, bool
- if (!ecnt && (!best || prefilter && !prefilter(f, best->rte.net)))
- return NULL;
-
-- struct rt_export_feed *feed = rt_alloc_feed(!!best, ecnt);
-+ struct rt_export_feed *feed = rt_alloc_feed(!!best + ocnt, ecnt);
-+ uint bpos = 0;
- if (best)
- {
-- feed->block[0] = best->rte;
-+ feed->block[bpos++] = best->rte;
- feed->ni = NET_TO_INDEX(best->rte.net);
- }
- else
-@@ -2575,8 +2587,18 @@ rt_feed_net_best(struct rt_exporter *e, struct rcu_unwinder *u, u32 index, bool
- if (e >= ecnt)
- RT_READ_RETRY(tr);
- else
-+ {
- feed->exports[e++] = rpe->it.seq;
-+ if (rpe->it.old)
-+ {
-+ ASSERT_DIE(bpos < !!best + ocnt);
-+ feed->block[bpos] = *rpe->it.old;
-+ feed->block[bpos].flags |= REF_OBSOLETE;
-+ bpos++;
-+ }
-+ }
-
-+ ASSERT_DIE(bpos == !!best + ocnt);
- ASSERT_DIE(e == ecnt);
- }
-
---
-GitLab
-
diff --git a/net/bsdec2-image-upload/Makefile b/net/bsdec2-image-upload/Makefile
index 121249644ed2..e3e3e932cfd9 100644
--- a/net/bsdec2-image-upload/Makefile
+++ b/net/bsdec2-image-upload/Makefile
@@ -1,5 +1,5 @@
PORTNAME= bsdec2-image-upload
-PORTVERSION= 1.4.8
+PORTVERSION= 1.4.9
CATEGORIES= net
MASTER_SITES= http://freebsd-ec2-dist.s3.amazonaws.com/
diff --git a/net/bsdec2-image-upload/distinfo b/net/bsdec2-image-upload/distinfo
index c6f736c2b8ee..6b5f2ee5e78e 100644
--- a/net/bsdec2-image-upload/distinfo
+++ b/net/bsdec2-image-upload/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1714092095
-SHA256 (bsdec2-image-upload-1.4.8.tgz) = bedf6b3218663d47006ca1abc66151a732c73268cc9a48dbead29e05394096ac
-SIZE (bsdec2-image-upload-1.4.8.tgz) = 34713
+TIMESTAMP = 1747257402
+SHA256 (bsdec2-image-upload-1.4.9.tgz) = 96b96b26c84405321cb97ae582359cdbdf30a0f2cb87c3cabeddbad569286c85
+SIZE (bsdec2-image-upload-1.4.9.tgz) = 35072
diff --git a/net/deltachat-rpc-server/Makefile b/net/deltachat-rpc-server/Makefile
new file mode 100644
index 000000000000..f62fbf01cea7
--- /dev/null
+++ b/net/deltachat-rpc-server/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= deltachat-rpc-server
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.159.3
+CATEGORIES= net
+
+MAINTAINER= feld@FreeBSD.org
+COMMENT= JSON-RPC server for DeltaChat
+WWW= https://github.com/chatmail/core
+
+LICENSE= MPL20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cargo gmake perl5 ssl
+
+USE_PERL5= build
+
+USE_GITHUB= yes
+GH_ACCOUNT= chatmail
+GH_PROJECT= core
+
+CARGO_BUILD_ARGS+= --locked -p ${PORTNAME}
+
+PLIST_FILES= bin/${PORTNAME}
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKDIR}/target/release/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
+
+.include <bsd.port.mk>
diff --git a/net/deltachat-rpc-server/Makefile.crates b/net/deltachat-rpc-server/Makefile.crates
new file mode 100644
index 000000000000..85a97bc209a7
--- /dev/null
+++ b/net/deltachat-rpc-server/Makefile.crates
@@ -0,0 +1,699 @@
+CARGO_CRATES= addr2line-0.22.0 \
+ adler-1.0.2 \
+ aead-0.5.2 \
+ aes-0.8.4 \
+ aes-gcm-0.10.3 \
+ aes-kw-0.2.1 \
+ ahash-0.8.11 \
+ aho-corasick-1.1.3 \
+ alloc-no-stdlib-2.0.4 \
+ alloc-stdlib-0.2.2 \
+ allocator-api2-0.2.21 \
+ android-tzdata-0.1.1 \
+ android_system_properties-0.1.5 \
+ anes-0.1.6 \
+ anstyle-1.0.6 \
+ anyhow-1.0.97 \
+ argon2-0.5.3 \
+ arrayref-0.3.9 \
+ arrayvec-0.7.6 \
+ asn1-rs-0.6.2 \
+ asn1-rs-derive-0.5.1 \
+ asn1-rs-impl-0.2.0 \
+ async-broadcast-0.7.2 \
+ async-channel-1.9.0 \
+ async-channel-2.3.1 \
+ async-compression-0.4.21 \
+ async-imap-0.10.4 \
+ async-lock-3.4.0 \
+ async-native-tls-0.5.0 \
+ async-recursion-1.1.1 \
+ async-smtp-0.10.1 \
+ async-trait-0.1.86 \
+ async_zip-0.0.17 \
+ atomic-waker-1.1.2 \
+ attohttpc-0.24.1 \
+ autocfg-1.4.0 \
+ backoff-0.4.0 \
+ backtrace-0.3.73 \
+ base16ct-0.2.0 \
+ base64-0.22.1 \
+ base64ct-1.6.0 \
+ bitfield-0.17.0 \
+ bitflags-1.3.2 \
+ bitflags-2.8.0 \
+ blake2-0.10.6 \
+ blake3-1.8.0 \
+ block-buffer-0.10.4 \
+ block-padding-0.3.3 \
+ blowfish-0.9.1 \
+ bolero-0.8.0 \
+ bolero-afl-0.8.0 \
+ bolero-engine-0.8.1 \
+ bolero-generator-0.8.0 \
+ bolero-generator-derive-0.8.0 \
+ bolero-honggfuzz-0.8.0 \
+ bolero-kani-0.8.0 \
+ bolero-libfuzzer-0.8.0 \
+ bounded-integer-0.5.8 \
+ brotli-7.0.0 \
+ brotli-decompressor-4.0.2 \
+ bstr-1.11.3 \
+ buffer-redux-1.0.2 \
+ bumpalo-3.17.0 \
+ byte_string-1.0.0 \
+ bytemuck-1.21.0 \
+ byteorder-1.5.0 \
+ byteorder-lite-0.1.0 \
+ bytes-1.10.1 \
+ camellia-0.1.0 \
+ camino-1.1.9 \
+ cargo-platform-0.1.8 \
+ cargo_metadata-0.14.2 \
+ cast-0.3.0 \
+ cast5-0.11.1 \
+ cc-1.2.14 \
+ cesu8-1.1.0 \
+ cfb-mode-0.8.2 \
+ cfg-if-1.0.0 \
+ cfg_aliases-0.2.1 \
+ chacha20-0.9.1 \
+ chacha20poly1305-0.10.1 \
+ charset-0.1.5 \
+ chrono-0.4.40 \
+ ciborium-0.2.2 \
+ ciborium-io-0.2.2 \
+ ciborium-ll-0.2.2 \
+ cipher-0.4.4 \
+ clap-4.5.13 \
+ clap_builder-4.5.13 \
+ clap_lex-0.7.4 \
+ clipboard-win-5.4.0 \
+ cmac-0.7.2 \
+ cobs-0.2.3 \
+ color_quant-1.1.0 \
+ combine-4.6.7 \
+ concurrent-queue-2.5.0 \
+ const-oid-0.9.6 \
+ constant_time_eq-0.3.1 \
+ convert_case-0.5.0 \
+ cordyceps-0.3.2 \
+ core-foundation-0.9.4 \
+ core-foundation-0.10.0 \
+ core-foundation-sys-0.8.7 \
+ cpufeatures-0.2.17 \
+ crc-3.2.1 \
+ crc-catalog-2.4.0 \
+ crc24-0.1.6 \
+ crc32fast-1.4.2 \
+ criterion-0.5.1 \
+ criterion-plot-0.5.0 \
+ crossbeam-channel-0.5.15 \
+ crossbeam-deque-0.8.6 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.21 \
+ crossterm-0.28.1 \
+ crossterm_winapi-0.9.1 \
+ crunchy-0.2.3 \
+ crypto-bigint-0.5.5 \
+ crypto-common-0.1.6 \
+ crypto_box-0.9.1 \
+ crypto_secretbox-0.1.1 \
+ ctr-0.9.2 \
+ curve25519-dalek-4.1.3 \
+ curve25519-dalek-derive-0.1.1 \
+ darling-0.20.10 \
+ darling_core-0.20.10 \
+ darling_macro-0.20.10 \
+ data-encoding-2.8.0 \
+ dbl-0.3.2 \
+ der-0.7.9 \
+ der-parser-9.0.0 \
+ der_derive-0.7.3 \
+ deranged-0.3.11 \
+ derive_builder-0.20.2 \
+ derive_builder_core-0.20.2 \
+ derive_builder_macro-0.20.2 \
+ derive_more-1.0.0 \
+ derive_more-impl-1.0.0 \
+ des-0.8.1 \
+ diatomic-waker-0.2.3 \
+ diff-0.1.13 \
+ digest-0.10.7 \
+ dirs-6.0.0 \
+ dirs-sys-0.5.0 \
+ displaydoc-0.2.4 \
+ dlopen2-0.5.0 \
+ document-features-0.2.11 \
+ dsa-0.6.3 \
+ dyn-clone-1.0.18 \
+ dynosaur-0.2.0 \
+ dynosaur_derive-0.2.0 \
+ eax-0.5.0 \
+ ecdsa-0.16.9 \
+ ed25519-2.2.3 \
+ ed25519-dalek-2.1.1 \
+ either-1.13.0 \
+ elliptic-curve-0.13.8 \
+ embedded-io-0.4.0 \
+ embedded-io-0.6.1 \
+ encoding_rs-0.8.35 \
+ endian-type-0.1.2 \
+ entities-1.0.1 \
+ enum-as-inner-0.6.0 \
+ enumflags2-0.7.11 \
+ enumflags2_derive-0.7.11 \
+ equivalent-1.0.2 \
+ erased-serde-0.3.31 \
+ erased_set-0.8.0 \
+ errno-0.3.10 \
+ error-code-3.3.1 \
+ escaper-0.1.1 \
+ event-listener-2.5.3 \
+ event-listener-5.4.0 \
+ event-listener-strategy-0.5.3 \
+ fallible-iterator-0.3.0 \
+ fallible-streaming-iterator-0.1.9 \
+ fast-socks5-0.10.0 \
+ fastrand-2.3.0 \
+ fd-lock-4.0.4 \
+ fdeflate-0.3.7 \
+ ff-0.13.0 \
+ fiat-crypto-0.2.9 \
+ filetime-0.2.23 \
+ fixedbitset-0.5.7 \
+ flate2-1.0.28 \
+ flume-0.11.1 \
+ fnv-1.0.7 \
+ foreign-types-0.3.2 \
+ foreign-types-shared-0.1.1 \
+ form_urlencoded-1.2.1 \
+ futures-0.3.31 \
+ futures-buffered-0.2.9 \
+ futures-channel-0.3.31 \
+ futures-concurrency-7.6.3 \
+ futures-core-0.3.31 \
+ futures-executor-0.3.31 \
+ futures-io-0.3.31 \
+ futures-lite-2.6.0 \
+ futures-macro-0.3.31 \
+ futures-sink-0.3.31 \
+ futures-task-0.3.31 \
+ futures-util-0.3.31 \
+ generator-0.7.5 \
+ generator-0.8.4 \
+ generic-array-0.14.7 \
+ getrandom-0.2.12 \
+ getrandom-0.3.1 \
+ ghash-0.5.1 \
+ gif-0.13.1 \
+ gimli-0.29.0 \
+ glob-0.3.2 \
+ group-0.13.0 \
+ h2-0.4.7 \
+ half-2.4.0 \
+ hashbrown-0.14.5 \
+ hashlink-0.9.1 \
+ heck-0.4.1 \
+ heck-0.5.0 \
+ hermit-abi-0.3.9 \
+ hex-0.4.3 \
+ hickory-proto-0.25.0-alpha.5 \
+ hickory-resolver-0.25.0-alpha.5 \
+ hkdf-0.12.4 \
+ hmac-0.12.1 \
+ hmac-sha1-0.2.2 \
+ hmac-sha256-1.1.8 \
+ home-0.5.11 \
+ hostname-0.4.0 \
+ hostname-validator-1.1.1 \
+ http-0.2.12 \
+ http-1.1.0 \
+ http-body-1.0.1 \
+ http-body-util-0.1.3 \
+ httparse-1.10.0 \
+ httpdate-1.0.3 \
+ human-panic-2.0.2 \
+ humansize-2.1.3 \
+ hyper-1.6.0 \
+ hyper-rustls-0.27.5 \
+ hyper-util-0.1.11 \
+ iana-time-zone-0.1.61 \
+ iana-time-zone-haiku-0.1.2 \
+ icu_collections-1.5.0 \
+ icu_locid-1.5.0 \
+ icu_locid_transform-1.5.0 \
+ icu_locid_transform_data-1.5.0 \
+ icu_normalizer-1.5.0 \
+ icu_normalizer_data-1.5.0 \
+ icu_properties-1.5.1 \
+ icu_properties_data-1.5.0 \
+ icu_provider-1.5.0 \
+ icu_provider_macros-1.5.0 \
+ idea-0.5.1 \
+ ident_case-1.0.1 \
+ idna-1.0.3 \
+ idna_adapter-1.2.0 \
+ igd-next-0.15.1 \
+ image-0.25.6 \
+ image-webp-0.2.1 \
+ imap-proto-0.16.5 \
+ indexmap-2.2.5 \
+ inout-0.1.3 \
+ instant-0.1.13 \
+ ipconfig-0.3.2 \
+ ipnet-2.11.0 \
+ iroh-0.33.0 \
+ iroh-base-0.33.0 \
+ iroh-blake3-1.4.5 \
+ iroh-gossip-0.33.0 \
+ iroh-metrics-0.31.0 \
+ iroh-net-report-0.33.0 \
+ iroh-quinn-0.13.0 \
+ iroh-quinn-proto-0.13.0 \
+ iroh-quinn-udp-0.5.7 \
+ iroh-relay-0.33.0 \
+ is-terminal-0.4.12 \
+ iter-read-1.1.0 \
+ itertools-0.10.5 \
+ itoa-1.0.10 \
+ jni-0.21.1 \
+ jni-sys-0.3.0 \
+ js-sys-0.3.77 \
+ k256-0.13.4 \
+ kamadak-exif-0.6.1 \
+ keccak-0.1.5 \
+ lazy_static-1.5.0 \
+ libc-0.2.171 \
+ libm-0.2.11 \
+ libredox-0.1.3 \
+ libsqlite3-sys-0.30.1 \
+ linux-raw-sys-0.4.14 \
+ linux-raw-sys-0.9.3 \
+ litemap-0.7.4 \
+ litrs-0.4.1 \
+ lock_api-0.4.12 \
+ log-0.4.27 \
+ loom-0.5.6 \
+ loom-0.7.2 \
+ lru-0.12.3 \
+ lru_time_cache-0.11.11 \
+ mail-builder-0.4.2 \
+ mailparse-0.16.1 \
+ matchers-0.1.0 \
+ md-5-0.10.6 \
+ md5-0.7.0 \
+ memchr-2.7.4 \
+ mime-0.3.17 \
+ minimal-lexical-0.2.1 \
+ miniz_oxide-0.7.4 \
+ mio-1.0.3 \
+ moka-0.12.10 \
+ mutate_once-0.1.1 \
+ n0-future-0.1.2 \
+ nanorand-0.7.0 \
+ native-tls-0.2.14 \
+ netdev-0.31.0 \
+ netlink-packet-core-0.7.0 \
+ netlink-packet-route-0.17.1 \
+ netlink-packet-route-0.19.0 \
+ netlink-packet-utils-0.5.2 \
+ netlink-proto-0.11.5 \
+ netlink-sys-0.8.7 \
+ netwatch-0.3.0 \
+ nibble_vec-0.1.0 \
+ nix-0.26.4 \
+ nix-0.27.1 \
+ nix-0.29.0 \
+ no-std-net-0.6.0 \
+ nom-7.1.3 \
+ ntapi-0.4.1 \
+ nu-ansi-term-0.46.0 \
+ num-bigint-0.4.6 \
+ num-bigint-dig-0.8.4 \
+ num-conv-0.1.0 \
+ num-derive-0.4.2 \
+ num-integer-0.1.46 \
+ num-iter-0.1.45 \
+ num-traits-0.2.19 \
+ num_cpus-1.16.0 \
+ num_enum-0.7.3 \
+ num_enum_derive-0.7.3 \
+ object-0.36.7 \
+ ocb3-0.1.0 \
+ oid-registry-0.7.1 \
+ once_cell-1.21.3 \
+ oorandom-11.1.4 \
+ opaque-debug-0.3.1 \
+ openssl-0.10.72 \
+ openssl-macros-0.1.1 \
+ openssl-probe-0.1.6 \
+ openssl-sys-0.9.107 \
+ option-ext-0.2.0 \
+ os_info-3.10.0 \
+ overload-0.1.1 \
+ p256-0.13.2 \
+ p384-0.13.1 \
+ p521-0.13.3 \
+ parking-2.2.1 \
+ parking_lot-0.12.3 \
+ parking_lot_core-0.9.9 \
+ password-hash-0.5.0 \
+ paste-1.0.15 \
+ pem-3.0.4 \
+ pem-rfc7468-0.7.0 \
+ percent-encoding-2.3.1 \
+ pest-2.7.15 \
+ pest_derive-2.7.10 \
+ pest_generator-2.7.10 \
+ pest_meta-2.7.15 \
+ pgp-0.15.0 \
+ pin-project-1.1.10 \
+ pin-project-internal-1.1.10 \
+ pin-project-lite-0.2.16 \
+ pin-utils-0.1.0 \
+ pkarr-2.2.1 \
+ pkcs1-0.7.5 \
+ pkcs8-0.10.2 \
+ pkg-config-0.3.31 \
+ plotters-0.3.7 \
+ plotters-backend-0.3.7 \
+ plotters-svg-0.3.7 \
+ pnet_base-0.34.0 \
+ pnet_macros-0.34.0 \
+ pnet_macros_support-0.34.0 \
+ pnet_packet-0.34.0 \
+ png-0.17.13 \
+ poly1305-0.8.0 \
+ polyval-0.6.2 \
+ portable-atomic-1.10.0 \
+ portmapper-0.3.1 \
+ postcard-1.1.1 \
+ postcard-derive-0.1.2 \
+ powerfmt-0.2.0 \
+ ppv-lite86-0.2.20 \
+ precis-core-0.1.9 \
+ precis-profiles-0.1.10 \
+ precis-tools-0.1.8 \
+ pretty-hex-0.3.0 \
+ pretty_assertions-1.4.1 \
+ primeorder-0.13.6 \
+ proc-macro-crate-3.2.0 \
+ proc-macro-error-attr2-2.0.0 \
+ proc-macro-error2-2.0.1 \
+ proc-macro2-1.0.93 \
+ proptest-1.6.0 \
+ qr2term-0.3.3 \
+ qrcode-0.14.1 \
+ qrcodegen-1.8.0 \
+ quick-error-2.0.1 \
+ quick-xml-0.37.4 \
+ quinn-0.11.6 \
+ quinn-proto-0.11.9 \
+ quinn-udp-0.5.10 \
+ quote-1.0.40 \
+ quoted-string-parser-0.1.0 \
+ quoted_printable-0.5.1 \
+ radix_trie-0.2.1 \
+ rand-0.8.5 \
+ rand-0.9.0 \
+ rand_chacha-0.3.1 \
+ rand_chacha-0.9.0 \
+ rand_core-0.6.4 \
+ rand_core-0.9.3 \
+ rand_xorshift-0.3.0 \
+ rayon-1.10.0 \
+ rayon-core-1.12.1 \
+ rcgen-0.13.2 \
+ redox_syscall-0.3.5 \
+ redox_syscall-0.4.1 \
+ redox_users-0.5.0 \
+ regex-1.10.6 \
+ regex-automata-0.1.10 \
+ regex-automata-0.4.6 \
+ regex-lite-0.1.6 \
+ regex-syntax-0.6.29 \
+ regex-syntax-0.8.2 \
+ reqwest-0.12.9 \
+ resolv-conf-0.7.1 \
+ rfc6979-0.4.0 \
+ ring-0.17.13 \
+ ring-compat-0.8.0 \
+ ripemd-0.1.3 \
+ rsa-0.9.7 \
+ rtnetlink-0.13.1 \
+ rtnetlink-0.14.1 \
+ rusqlite-0.32.1 \
+ rust-hsluv-0.1.4 \
+ rustc-demangle-0.1.24 \
+ rustc-hash-2.1.1 \
+ rustc_version-0.4.1 \
+ rusticata-macros-4.1.0 \
+ rustix-0.38.44 \
+ rustix-1.0.5 \
+ rustls-0.23.23 \
+ rustls-native-certs-0.8.1 \
+ rustls-pemfile-2.2.0 \
+ rustls-pki-types-1.11.0 \
+ rustls-platform-verifier-0.5.0 \
+ rustls-platform-verifier-android-0.1.1 \
+ rustls-webpki-0.102.8 \
+ rustversion-1.0.14 \
+ rustyline-15.0.0 \
+ ryu-1.0.19 \
+ salsa20-0.10.2 \
+ same-file-1.0.6 \
+ sanitize-filename-0.5.0 \
+ schannel-0.1.27 \
+ schemars-0.8.22 \
+ schemars_derive-0.8.22 \
+ scoped-tls-1.0.1 \
+ scopeguard-1.2.0 \
+ sec1-0.7.3 \
+ security-framework-2.11.1 \
+ security-framework-3.2.0 \
+ security-framework-sys-2.14.0 \
+ self_cell-1.1.0 \
+ semver-1.0.25 \
+ send_wrapper-0.6.0 \
+ sendfd-0.4.3 \
+ serde-1.0.219 \
+ serde-error-0.1.3 \
+ serde_derive-1.0.219 \
+ serde_derive_internals-0.29.0 \
+ serde_json-1.0.140 \
+ serde_spanned-0.6.7 \
+ serde_urlencoded-0.7.1 \
+ serdect-0.2.0 \
+ sha-1-0.10.1 \
+ sha1-0.10.6 \
+ sha1-checked-0.10.0 \
+ sha2-0.10.8 \
+ sha3-0.10.8 \
+ shadowsocks-1.23.1 \
+ shadowsocks-crypto-0.6.1 \
+ sharded-slab-0.1.7 \
+ shlex-1.3.0 \
+ signal-hook-registry-1.4.2 \
+ signature-2.2.0 \
+ simd-adler32-0.3.7 \
+ simple-dns-0.6.2 \
+ slab-0.4.9 \
+ smallvec-1.14.0 \
+ smawk-0.3.2 \
+ socket2-0.5.9 \
+ spin-0.9.8 \
+ spin-0.10.0 \
+ spki-0.7.3 \
+ stable_deref_trait-1.2.0 \
+ stop-token-0.7.0 \
+ strsim-0.11.1 \
+ struct_iterable-0.1.1 \
+ struct_iterable_derive-0.1.0 \
+ struct_iterable_internal-0.1.1 \
+ strum-0.26.2 \
+ strum-0.27.1 \
+ strum_macros-0.26.2 \
+ strum_macros-0.27.1 \
+ stun-rs-0.1.9 \
+ subtle-2.6.1 \
+ surge-ping-0.8.1 \
+ syn-1.0.109 \
+ syn-2.0.100 \
+ sync_wrapper-1.0.0 \
+ synstructure-0.13.1 \
+ sysinfo-0.26.9 \
+ system-configuration-0.6.1 \
+ system-configuration-sys-0.6.0 \
+ tagger-4.3.5 \
+ tagptr-0.2.0 \
+ tempfile-3.19.1 \
+ testdir-0.9.3 \
+ textwrap-0.16.2 \
+ thiserror-1.0.69 \
+ thiserror-2.0.12 \
+ thiserror-impl-1.0.69 \
+ thiserror-impl-2.0.12 \
+ thread_local-1.1.8 \
+ time-0.3.37 \
+ time-core-0.1.2 \
+ time-macros-0.2.19 \
+ tinystr-0.7.6 \
+ tinytemplate-1.2.1 \
+ tinyvec-1.6.0 \
+ tinyvec_macros-0.1.1 \
+ tokio-1.44.2 \
+ tokio-io-timeout-1.2.0 \
+ tokio-macros-2.5.0 \
+ tokio-rustls-0.26.2 \
+ tokio-stream-0.1.17 \
+ tokio-tar-0.3.1 \
+ tokio-tfo-0.3.1 \
+ tokio-tungstenite-0.24.0 \
+ tokio-tungstenite-wasm-0.4.0 \
+ tokio-util-0.7.14 \
+ toml-0.8.19 \
+ toml_datetime-0.6.8 \
+ toml_edit-0.22.20 \
+ tower-service-0.3.3 \
+ tracing-0.1.41 \
+ tracing-attributes-0.1.28 \
+ tracing-core-0.1.33 \
+ tracing-log-0.2.0 \
+ tracing-subscriber-0.3.19 \
+ trait-variant-0.1.2 \
+ try-lock-0.2.5 \
+ tungstenite-0.24.0 \
+ twofish-0.7.1 \
+ typenum-1.18.0 \
+ typescript-type-def-0.5.13 \
+ typescript-type-def-derive-0.5.13 \
+ ucd-parse-0.1.13 \
+ ucd-trie-0.1.6 \
+ unarray-0.1.4 \
+ unicode-ident-1.0.12 \
+ unicode-linebreak-0.1.5 \
+ unicode-normalization-0.1.24 \
+ unicode-segmentation-1.11.0 \
+ unicode-width-0.2.0 \
+ unicode-xid-0.2.4 \
+ universal-hash-0.5.1 \
+ untrusted-0.9.0 \
+ ureq-2.10.0 \
+ url-2.5.4 \
+ utf-8-0.7.6 \
+ utf16_iter-1.0.5 \
+ utf8_iter-1.0.4 \
+ utf8parse-0.2.2 \
+ uuid-1.16.0 \
+ valuable-0.1.1 \
+ vcpkg-0.2.15 \
+ version_check-0.9.5 \
+ walkdir-2.5.0 \
+ want-0.3.1 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasi-0.13.3+wasi-0.2.2 \
+ wasite-0.1.0 \
+ wasm-bindgen-0.2.100 \
+ wasm-bindgen-backend-0.2.100 \
+ wasm-bindgen-futures-0.4.42 \
+ wasm-bindgen-macro-0.2.100 \
+ wasm-bindgen-macro-support-0.2.100 \
+ wasm-bindgen-shared-0.2.100 \
+ wasm-streams-0.4.1 \
+ web-sys-0.3.69 \
+ web-time-1.1.0 \
+ webpki-root-certs-0.26.8 \
+ webpki-roots-0.26.8 \
+ weezl-0.1.8 \
+ whoami-1.5.0 \
+ widestring-1.0.2 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.6 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-0.48.0 \
+ windows-0.52.0 \
+ windows-0.58.0 \
+ windows-0.59.0 \
+ windows-core-0.52.0 \
+ windows-core-0.58.0 \
+ windows-core-0.59.0 \
+ windows-implement-0.58.0 \
+ windows-implement-0.59.0 \
+ windows-interface-0.58.0 \
+ windows-interface-0.59.0 \
+ windows-link-0.1.0 \
+ windows-registry-0.2.0 \
+ windows-result-0.2.0 \
+ windows-result-0.3.0 \
+ windows-strings-0.1.0 \
+ windows-strings-0.3.0 \
+ windows-sys-0.45.0 \
+ windows-sys-0.48.0 \
+ windows-sys-0.52.0 \
+ windows-sys-0.59.0 \
+ windows-targets-0.42.2 \
+ windows-targets-0.48.5 \
+ windows-targets-0.52.6 \
+ windows-targets-0.53.0 \
+ windows_aarch64_gnullvm-0.42.2 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_gnullvm-0.52.6 \
+ windows_aarch64_gnullvm-0.53.0 \
+ windows_aarch64_msvc-0.42.2 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_aarch64_msvc-0.52.6 \
+ windows_aarch64_msvc-0.53.0 \
+ windows_i686_gnu-0.42.2 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnu-0.53.0 \
+ windows_i686_gnullvm-0.52.6 \
+ windows_i686_gnullvm-0.53.0 \
+ windows_i686_msvc-0.42.2 \
+ windows_i686_msvc-0.48.5 \
+ windows_i686_msvc-0.52.6 \
+ windows_i686_msvc-0.53.0 \
+ windows_x86_64_gnu-0.42.2 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnu-0.52.6 \
+ windows_x86_64_gnu-0.53.0 \
+ windows_x86_64_gnullvm-0.42.2 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_gnullvm-0.52.6 \
+ windows_x86_64_gnullvm-0.53.0 \
+ windows_x86_64_msvc-0.42.2 \
+ windows_x86_64_msvc-0.48.5 \
+ windows_x86_64_msvc-0.52.6 \
+ windows_x86_64_msvc-0.53.0 \
+ winnow-0.6.26 \
+ winreg-0.50.0 \
+ wit-bindgen-rt-0.33.0 \
+ wmi-0.14.5 \
+ write16-1.0.0 \
+ writeable-0.5.5 \
+ x25519-dalek-2.0.1 \
+ x509-parser-0.16.0 \
+ xattr-1.4.0 \
+ xml-rs-0.8.25 \
+ xmltree-0.10.3 \
+ yansi-1.0.1 \
+ yasna-0.5.2 \
+ yerpc-0.6.4 \
+ yerpc_derive-0.6.3 \
+ yoke-0.7.5 \
+ yoke-derive-0.7.5 \
+ z32-1.3.0 \
+ zerocopy-0.7.32 \
+ zerocopy-0.8.23 \
+ zerocopy-derive-0.7.32 \
+ zerocopy-derive-0.8.23 \
+ zerofrom-0.1.5 \
+ zerofrom-derive-0.1.5 \
+ zeroize-1.8.1 \
+ zeroize_derive-1.4.2 \
+ zerovec-0.10.4 \
+ zerovec-derive-0.10.3 \
+ zune-core-0.4.12 \
+ zune-jpeg-0.4.14
diff --git a/net/deltachat-rpc-server/distinfo b/net/deltachat-rpc-server/distinfo
new file mode 100644
index 000000000000..aa0a2384c96f
--- /dev/null
+++ b/net/deltachat-rpc-server/distinfo
@@ -0,0 +1,1401 @@
+TIMESTAMP = 1746574812
+SHA256 (rust/crates/addr2line-0.22.0.crate) = 6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678
+SIZE (rust/crates/addr2line-0.22.0.crate) = 39156
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/aead-0.5.2.crate) = d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0
+SIZE (rust/crates/aead-0.5.2.crate) = 15509
+SHA256 (rust/crates/aes-0.8.4.crate) = b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0
+SIZE (rust/crates/aes-0.8.4.crate) = 124812
+SHA256 (rust/crates/aes-gcm-0.10.3.crate) = 831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1
+SIZE (rust/crates/aes-gcm-0.10.3.crate) = 148991
+SHA256 (rust/crates/aes-kw-0.2.1.crate) = 69fa2b352dcefb5f7f3a5fb840e02665d311d878955380515e4fd50095dd3d8c
+SIZE (rust/crates/aes-kw-0.2.1.crate) = 14088
+SHA256 (rust/crates/ahash-0.8.11.crate) = e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011
+SIZE (rust/crates/ahash-0.8.11.crate) = 43607
+SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/alloc-no-stdlib-2.0.4.crate) = cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3
+SIZE (rust/crates/alloc-no-stdlib-2.0.4.crate) = 10105
+SHA256 (rust/crates/alloc-stdlib-0.2.2.crate) = 94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece
+SIZE (rust/crates/alloc-stdlib-0.2.2.crate) = 6693
+SHA256 (rust/crates/allocator-api2-0.2.21.crate) = 683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923
+SIZE (rust/crates/allocator-api2-0.2.21.crate) = 63622
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
+SIZE (rust/crates/anes-0.1.6.crate) = 23857
+SHA256 (rust/crates/anstyle-1.0.6.crate) = 8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc
+SIZE (rust/crates/anstyle-1.0.6.crate) = 14604
+SHA256 (rust/crates/anyhow-1.0.97.crate) = dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f
+SIZE (rust/crates/anyhow-1.0.97.crate) = 52221
+SHA256 (rust/crates/argon2-0.5.3.crate) = 3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072
+SIZE (rust/crates/argon2-0.5.3.crate) = 28795
+SHA256 (rust/crates/arrayref-0.3.9.crate) = 76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb
+SIZE (rust/crates/arrayref-0.3.9.crate) = 9186
+SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
+SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
+SHA256 (rust/crates/asn1-rs-0.6.2.crate) = 5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048
+SIZE (rust/crates/asn1-rs-0.6.2.crate) = 90647
+SHA256 (rust/crates/asn1-rs-derive-0.5.1.crate) = 965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490
+SIZE (rust/crates/asn1-rs-derive-0.5.1.crate) = 9692
+SHA256 (rust/crates/asn1-rs-impl-0.2.0.crate) = 7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7
+SIZE (rust/crates/asn1-rs-impl-0.2.0.crate) = 2261
+SHA256 (rust/crates/async-broadcast-0.7.2.crate) = 435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532
+SIZE (rust/crates/async-broadcast-0.7.2.crate) = 22746
+SHA256 (rust/crates/async-channel-1.9.0.crate) = 81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35
+SIZE (rust/crates/async-channel-1.9.0.crate) = 13664
+SHA256 (rust/crates/async-channel-2.3.1.crate) = 89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a
+SIZE (rust/crates/async-channel-2.3.1.crate) = 14576
+SHA256 (rust/crates/async-compression-0.4.21.crate) = c0cf008e5e1a9e9e22a7d3c9a4992e21a350290069e36d8fb72304ed17e8f2d2
+SIZE (rust/crates/async-compression-0.4.21.crate) = 112809
+SHA256 (rust/crates/async-imap-0.10.4.crate) = ca726c61b73c471f531b65e83e161776ba62c2b6ba4ec73d51fad357009ed00a
+SIZE (rust/crates/async-imap-0.10.4.crate) = 63331
+SHA256 (rust/crates/async-lock-3.4.0.crate) = ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18
+SIZE (rust/crates/async-lock-3.4.0.crate) = 34446
+SHA256 (rust/crates/async-native-tls-0.5.0.crate) = 9343dc5acf07e79ff82d0c37899f079db3534d99f189a1837c8e549c99405bec
+SIZE (rust/crates/async-native-tls-0.5.0.crate) = 24719
+SHA256 (rust/crates/async-recursion-1.1.1.crate) = 3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11
+SIZE (rust/crates/async-recursion-1.1.1.crate) = 14874
+SHA256 (rust/crates/async-smtp-0.10.1.crate) = 7c2d87bfab790b8b5b718a65bbcca6187f0d091270ea21f8c12fa03ce3823aba
+SIZE (rust/crates/async-smtp-0.10.1.crate) = 31295
+SHA256 (rust/crates/async-trait-0.1.86.crate) = 644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d
+SIZE (rust/crates/async-trait-0.1.86.crate) = 31946
+SHA256 (rust/crates/async_zip-0.0.17.crate) = 00b9f7252833d5ed4b00aa9604b563529dd5e11de9c23615de2dcdf91eb87b52
+SIZE (rust/crates/async_zip-0.0.17.crate) = 109081
+SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0
+SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422
+SHA256 (rust/crates/attohttpc-0.24.1.crate) = 8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2
+SIZE (rust/crates/attohttpc-0.24.1.crate) = 60895
+SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
+SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
+SHA256 (rust/crates/backoff-0.4.0.crate) = b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1
+SIZE (rust/crates/backoff-0.4.0.crate) = 26738
+SHA256 (rust/crates/backtrace-0.3.73.crate) = 5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a
+SIZE (rust/crates/backtrace-0.3.73.crate) = 87617
+SHA256 (rust/crates/base16ct-0.2.0.crate) = 4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf
+SIZE (rust/crates/base16ct-0.2.0.crate) = 10240
+SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
+SIZE (rust/crates/base64-0.22.1.crate) = 81597
+SHA256 (rust/crates/base64ct-1.6.0.crate) = 8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b
+SIZE (rust/crates/base64ct-1.6.0.crate) = 28870
+SHA256 (rust/crates/bitfield-0.17.0.crate) = f798d2d157e547aa99aab0967df39edd0b70307312b6f8bd2848e6abe40896e0
+SIZE (rust/crates/bitfield-0.17.0.crate) = 19883
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.8.0.crate) = 8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36
+SIZE (rust/crates/bitflags-2.8.0.crate) = 47482
+SHA256 (rust/crates/blake2-0.10.6.crate) = 46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe
+SIZE (rust/crates/blake2-0.10.6.crate) = 47234
+SHA256 (rust/crates/blake3-1.8.0.crate) = 34a796731680be7931955498a16a10b2270c7762963d5d570fdbfe02dcbf314f
+SIZE (rust/crates/blake3-1.8.0.crate) = 205397
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/block-padding-0.3.3.crate) = a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93
+SIZE (rust/crates/block-padding-0.3.3.crate) = 8504
+SHA256 (rust/crates/blowfish-0.9.1.crate) = e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7
+SIZE (rust/crates/blowfish-0.9.1.crate) = 16734
+SHA256 (rust/crates/bolero-0.8.0.crate) = 3387d308f66ed222bdbb19c6ba06b1517168c4e45dc64051c5f1b4845db2901c
+SIZE (rust/crates/bolero-0.8.0.crate) = 6447
+SHA256 (rust/crates/bolero-afl-0.8.0.crate) = 973bc6341b6a865dee93f17b78de4a100551014a527798ff1d7265d3bc0f7d89
+SIZE (rust/crates/bolero-afl-0.8.0.crate) = 107085
+SHA256 (rust/crates/bolero-engine-0.8.1.crate) = 5c506a476cea9e95f58c264b343ee279c353d93ceaebe98cbfb16e74bfaee2e2
+SIZE (rust/crates/bolero-engine-0.8.1.crate) = 10915
+SHA256 (rust/crates/bolero-generator-0.8.0.crate) = 48d52eca8714d110e581cf17eeacf0d1a0d409d38a9e9ce07efeda6125f7febb
+SIZE (rust/crates/bolero-generator-0.8.0.crate) = 17190
+SHA256 (rust/crates/bolero-generator-derive-0.8.0.crate) = 3b3c57c2a0967ad1a09ba4c2bf8f1c6b6db2f71e8c0db4fa280c65a0f6c249c3
+SIZE (rust/crates/bolero-generator-derive-0.8.0.crate) = 3952
+SHA256 (rust/crates/bolero-honggfuzz-0.8.0.crate) = 7996a3fa8d93652358b9b3b805233807168f49740a8bf91a531cd61e4da65355
+SIZE (rust/crates/bolero-honggfuzz-0.8.0.crate) = 615662
+SHA256 (rust/crates/bolero-kani-0.8.0.crate) = 206879993fffa1cf2c703b1ef93b0febfa76bae85a0a5d4ae0ee6d99a2e3b74e
+SIZE (rust/crates/bolero-kani-0.8.0.crate) = 2111
+SHA256 (rust/crates/bolero-libfuzzer-0.8.0.crate) = cdc5547411b84703d9020914f15a7d709cfb738c72b5e0f5a499fe56b8465c98
+SIZE (rust/crates/bolero-libfuzzer-0.8.0.crate) = 120566
+SHA256 (rust/crates/bounded-integer-0.5.8.crate) = 102dbef1187b1893e6dfe05a774e79fd52265f49f214f6879c8ff49f52c8188b
+SIZE (rust/crates/bounded-integer-0.5.8.crate) = 15878
+SHA256 (rust/crates/brotli-7.0.0.crate) = cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd
+SIZE (rust/crates/brotli-7.0.0.crate) = 1356970
+SHA256 (rust/crates/brotli-decompressor-4.0.2.crate) = 74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37
+SIZE (rust/crates/brotli-decompressor-4.0.2.crate) = 193388
+SHA256 (rust/crates/bstr-1.11.3.crate) = 531a9155a481e2ee699d4f98f43c0ca4ff8ee1bfd55c31e9e98fb29d2b176fe0
+SIZE (rust/crates/bstr-1.11.3.crate) = 351536
+SHA256 (rust/crates/buffer-redux-1.0.2.crate) = 4e8acf87c5b9f5897cd3ebb9a327f420e0cae9dd4e5c1d2e36f2c84c571a58f1
+SIZE (rust/crates/buffer-redux-1.0.2.crate) = 26604
+SHA256 (rust/crates/bumpalo-3.17.0.crate) = 1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf
+SIZE (rust/crates/bumpalo-3.17.0.crate) = 91975
+SHA256 (rust/crates/byte_string-1.0.0.crate) = 11aade7a05aa8c3a351cedc44c3fc45806430543382fcc4743a9b757a2a0b4ed
+SIZE (rust/crates/byte_string-1.0.0.crate) = 8678
+SHA256 (rust/crates/bytemuck-1.21.0.crate) = ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3
+SIZE (rust/crates/bytemuck-1.21.0.crate) = 51553
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495
+SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909
+SHA256 (rust/crates/bytes-1.10.1.crate) = d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a
+SIZE (rust/crates/bytes-1.10.1.crate) = 76779
+SHA256 (rust/crates/camellia-0.1.0.crate) = 3264e2574e9ef2b53ce6f536dea83a69ac0bc600b762d1523ff83fe07230ce30
+SIZE (rust/crates/camellia-0.1.0.crate) = 89085
+SHA256 (rust/crates/camino-1.1.9.crate) = 8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3
+SIZE (rust/crates/camino-1.1.9.crate) = 37552
+SHA256 (rust/crates/cargo-platform-0.1.8.crate) = 24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc
+SIZE (rust/crates/cargo-platform-0.1.8.crate) = 11813
+SHA256 (rust/crates/cargo_metadata-0.14.2.crate) = 4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa
+SIZE (rust/crates/cargo_metadata-0.14.2.crate) = 17469
+SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
+SIZE (rust/crates/cast-0.3.0.crate) = 11452
+SHA256 (rust/crates/cast5-0.11.1.crate) = 26b07d673db1ccf000e90f54b819db9e75a8348d6eb056e9b8ab53231b7a9911
+SIZE (rust/crates/cast5-0.11.1.crate) = 37018
+SHA256 (rust/crates/cc-1.2.14.crate) = 0c3d1b2e905a3a7b00a6141adb0e4c0bb941d11caf55349d863942a1cc44e3c9
+SIZE (rust/crates/cc-1.2.14.crate) = 103164
+SHA256 (rust/crates/cesu8-1.1.0.crate) = 6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c
+SIZE (rust/crates/cesu8-1.1.0.crate) = 10555
+SHA256 (rust/crates/cfb-mode-0.8.2.crate) = 738b8d467867f80a71351933f70461f5b56f24d5c93e0cf216e59229c968d330
+SIZE (rust/crates/cfb-mode-0.8.2.crate) = 25334
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724
+SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355
+SHA256 (rust/crates/chacha20-0.9.1.crate) = c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818
+SIZE (rust/crates/chacha20-0.9.1.crate) = 23424
+SHA256 (rust/crates/chacha20poly1305-0.10.1.crate) = 10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35
+SIZE (rust/crates/chacha20poly1305-0.10.1.crate) = 68485
+SHA256 (rust/crates/charset-0.1.5.crate) = f1f927b07c74ba84c7e5fe4db2baeb3e996ab2688992e39ac68ce3220a677c7e
+SIZE (rust/crates/charset-0.1.5.crate) = 15918
+SHA256 (rust/crates/chrono-0.4.40.crate) = 1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c
+SIZE (rust/crates/chrono-0.4.40.crate) = 229824
+SHA256 (rust/crates/ciborium-0.2.2.crate) = 42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e
+SIZE (rust/crates/ciborium-0.2.2.crate) = 35611
+SHA256 (rust/crates/ciborium-io-0.2.2.crate) = 05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757
+SIZE (rust/crates/ciborium-io-0.2.2.crate) = 6697
+SHA256 (rust/crates/ciborium-ll-0.2.2.crate) = 57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9
+SIZE (rust/crates/ciborium-ll-0.2.2.crate) = 14695
+SHA256 (rust/crates/cipher-0.4.4.crate) = 773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad
+SIZE (rust/crates/cipher-0.4.4.crate) = 19073
+SHA256 (rust/crates/clap-4.5.13.crate) = 0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc
+SIZE (rust/crates/clap-4.5.13.crate) = 56267
+SHA256 (rust/crates/clap_builder-4.5.13.crate) = 64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99
+SIZE (rust/crates/clap_builder-4.5.13.crate) = 164093
+SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
+SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858
+SHA256 (rust/crates/clipboard-win-5.4.0.crate) = 15efe7a882b08f34e38556b14f2fb3daa98769d06c7f0c1b076dfd0d983bc892
+SIZE (rust/crates/clipboard-win-5.4.0.crate) = 20559
+SHA256 (rust/crates/cmac-0.7.2.crate) = 8543454e3c3f5126effff9cd44d562af4e31fb8ce1cc0d3dcd8f084515dbc1aa
+SIZE (rust/crates/cmac-0.7.2.crate) = 44847
+SHA256 (rust/crates/cobs-0.2.3.crate) = 67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15
+SIZE (rust/crates/cobs-0.2.3.crate) = 12576
+SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
+SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
+SHA256 (rust/crates/combine-4.6.7.crate) = ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd
+SIZE (rust/crates/combine-4.6.7.crate) = 134808
+SHA256 (rust/crates/concurrent-queue-2.5.0.crate) = 4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973
+SIZE (rust/crates/concurrent-queue-2.5.0.crate) = 22654
+SHA256 (rust/crates/const-oid-0.9.6.crate) = c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8
+SIZE (rust/crates/const-oid-0.9.6.crate) = 45382
+SHA256 (rust/crates/constant_time_eq-0.3.1.crate) = 7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6
+SIZE (rust/crates/constant_time_eq-0.3.1.crate) = 11561
+SHA256 (rust/crates/convert_case-0.5.0.crate) = fb4a24b1aaf0fd0ce8b45161144d6f42cd91677fd5940fd431183eb023b3a2b8
+SIZE (rust/crates/convert_case-0.5.0.crate) = 17902
+SHA256 (rust/crates/cordyceps-0.3.2.crate) = ec10f0a762d93c4498d2e97a333805cb6250d60bead623f71d8034f9a4152ba3
+SIZE (rust/crates/cordyceps-0.3.2.crate) = 49791
+SHA256 (rust/crates/core-foundation-0.9.4.crate) = 91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f
+SIZE (rust/crates/core-foundation-0.9.4.crate) = 27743
+SHA256 (rust/crates/core-foundation-0.10.0.crate) = b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63
+SIZE (rust/crates/core-foundation-0.10.0.crate) = 27023
+SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
+SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
+SHA256 (rust/crates/cpufeatures-0.2.17.crate) = 59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280
+SIZE (rust/crates/cpufeatures-0.2.17.crate) = 13466
+SHA256 (rust/crates/crc-3.2.1.crate) = 69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636
+SIZE (rust/crates/crc-3.2.1.crate) = 15070
+SHA256 (rust/crates/crc-catalog-2.4.0.crate) = 19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5
+SIZE (rust/crates/crc-catalog-2.4.0.crate) = 10155
+SHA256 (rust/crates/crc24-0.1.6.crate) = fd121741cf3eb82c08dd3023eb55bf2665e5f60ec20f89760cf836ae4562e6a0
+SIZE (rust/crates/crc24-0.1.6.crate) = 2378
+SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
+SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
+SHA256 (rust/crates/criterion-0.5.1.crate) = f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f
+SIZE (rust/crates/criterion-0.5.1.crate) = 110088
+SHA256 (rust/crates/criterion-plot-0.5.0.crate) = 6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1
+SIZE (rust/crates/criterion-plot-0.5.0.crate) = 22706
+SHA256 (rust/crates/crossbeam-channel-0.5.15.crate) = 82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2
+SIZE (rust/crates/crossbeam-channel-0.5.15.crate) = 92716
+SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
+SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.21.crate) = d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28
+SIZE (rust/crates/crossbeam-utils-0.8.21.crate) = 42691
+SHA256 (rust/crates/crossterm-0.28.1.crate) = 829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6
+SIZE (rust/crates/crossterm-0.28.1.crate) = 132275
+SHA256 (rust/crates/crossterm_winapi-0.9.1.crate) = acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b
+SIZE (rust/crates/crossterm_winapi-0.9.1.crate) = 16027
+SHA256 (rust/crates/crunchy-0.2.3.crate) = 43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929
+SIZE (rust/crates/crunchy-0.2.3.crate) = 3775
+SHA256 (rust/crates/crypto-bigint-0.5.5.crate) = 0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76
+SIZE (rust/crates/crypto-bigint-0.5.5.crate) = 83384
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/crypto_box-0.9.1.crate) = 16182b4f39a82ec8a6851155cc4c0cda3065bb1db33651726a29e1951de0f009
+SIZE (rust/crates/crypto_box-0.9.1.crate) = 16702
+SHA256 (rust/crates/crypto_secretbox-0.1.1.crate) = b9d6cf87adf719ddf43a805e92c6870a531aedda35ff640442cbaf8674e141e1
+SIZE (rust/crates/crypto_secretbox-0.1.1.crate) = 11377
+SHA256 (rust/crates/ctr-0.9.2.crate) = 0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835
+SIZE (rust/crates/ctr-0.9.2.crate) = 18344
+SHA256 (rust/crates/curve25519-dalek-4.1.3.crate) = 97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be
+SIZE (rust/crates/curve25519-dalek-4.1.3.crate) = 306017
+SHA256 (rust/crates/curve25519-dalek-derive-0.1.1.crate) = f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3
+SIZE (rust/crates/curve25519-dalek-derive-0.1.1.crate) = 11723
+SHA256 (rust/crates/darling-0.20.10.crate) = 6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989
+SIZE (rust/crates/darling-0.20.10.crate) = 32031
+SHA256 (rust/crates/darling_core-0.20.10.crate) = 95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5
+SIZE (rust/crates/darling_core-0.20.10.crate) = 65015
+SHA256 (rust/crates/darling_macro-0.20.10.crate) = d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806
+SIZE (rust/crates/darling_macro-0.20.10.crate) = 1874
+SHA256 (rust/crates/data-encoding-2.8.0.crate) = 575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010
+SIZE (rust/crates/data-encoding-2.8.0.crate) = 21394
+SHA256 (rust/crates/dbl-0.3.2.crate) = bd2735a791158376708f9347fe8faba9667589d82427ef3aed6794a8981de3d9
+SIZE (rust/crates/dbl-0.3.2.crate) = 6336
+SHA256 (rust/crates/der-0.7.9.crate) = f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0
+SIZE (rust/crates/der-0.7.9.crate) = 85173
+SHA256 (rust/crates/der-parser-9.0.0.crate) = 5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553
+SIZE (rust/crates/der-parser-9.0.0.crate) = 63191
+SHA256 (rust/crates/der_derive-0.7.3.crate) = 8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18
+SIZE (rust/crates/der_derive-0.7.3.crate) = 24657
+SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4
+SIZE (rust/crates/deranged-0.3.11.crate) = 18043
+SHA256 (rust/crates/derive_builder-0.20.2.crate) = 507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947
+SIZE (rust/crates/derive_builder-0.20.2.crate) = 36661
+SHA256 (rust/crates/derive_builder_core-0.20.2.crate) = 2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8
+SIZE (rust/crates/derive_builder_core-0.20.2.crate) = 31397
+SHA256 (rust/crates/derive_builder_macro-0.20.2.crate) = ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c
+SIZE (rust/crates/derive_builder_macro-0.20.2.crate) = 6360
+SHA256 (rust/crates/derive_more-1.0.0.crate) = 4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05
+SIZE (rust/crates/derive_more-1.0.0.crate) = 64854
+SHA256 (rust/crates/derive_more-impl-1.0.0.crate) = cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22
+SIZE (rust/crates/derive_more-impl-1.0.0.crate) = 76182
+SHA256 (rust/crates/des-0.8.1.crate) = ffdd80ce8ce993de27e9f063a444a4d53ce8e8db4c1f00cc03af5ad5a9867a1e
+SIZE (rust/crates/des-0.8.1.crate) = 38783
+SHA256 (rust/crates/diatomic-waker-0.2.3.crate) = ab03c107fafeb3ee9f5925686dbb7a73bc76e3932abb0d2b365cb64b169cf04c
+SIZE (rust/crates/diatomic-waker-0.2.3.crate) = 18221
+SHA256 (rust/crates/diff-0.1.13.crate) = 56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8
+SIZE (rust/crates/diff-0.1.13.crate) = 46216
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/dirs-6.0.0.crate) = c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e
+SIZE (rust/crates/dirs-6.0.0.crate) = 14190
+SHA256 (rust/crates/dirs-sys-0.5.0.crate) = e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab
+SIZE (rust/crates/dirs-sys-0.5.0.crate) = 10157
+SHA256 (rust/crates/displaydoc-0.2.4.crate) = 487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d
+SIZE (rust/crates/displaydoc-0.2.4.crate) = 23200
+SHA256 (rust/crates/dlopen2-0.5.0.crate) = 09b4f5f101177ff01b8ec4ecc81eead416a8aa42819a2869311b3420fa114ffa
+SIZE (rust/crates/dlopen2-0.5.0.crate) = 28703
+SHA256 (rust/crates/document-features-0.2.11.crate) = 95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d
+SIZE (rust/crates/document-features-0.2.11.crate) = 14640
+SHA256 (rust/crates/dsa-0.6.3.crate) = 48bc224a9084ad760195584ce5abb3c2c34a225fa312a128ad245a6b412b7689
+SIZE (rust/crates/dsa-0.6.3.crate) = 25991
+SHA256 (rust/crates/dyn-clone-1.0.18.crate) = feeef44e73baff3a26d371801df019877a9866a8c493d315ab00177843314f35
+SIZE (rust/crates/dyn-clone-1.0.18.crate) = 12871
+SHA256 (rust/crates/dynosaur-0.2.0.crate) = 277b2cb52d2df4acece06bb16bc0bb0a006970c7bf504eac2d310927a6f65890
+SIZE (rust/crates/dynosaur-0.2.0.crate) = 12914
+SHA256 (rust/crates/dynosaur_derive-0.2.0.crate) = 7a4102713839a8c01c77c165bc38ef2e83948f6397fa1e1dcfacec0f07b149d3
+SIZE (rust/crates/dynosaur_derive-0.2.0.crate) = 14719
+SHA256 (rust/crates/eax-0.5.0.crate) = 9954fabd903b82b9d7a68f65f97dc96dd9ad368e40ccc907a7c19d53e6bfac28
+SIZE (rust/crates/eax-0.5.0.crate) = 14882
+SHA256 (rust/crates/ecdsa-0.16.9.crate) = ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca
+SIZE (rust/crates/ecdsa-0.16.9.crate) = 31406
+SHA256 (rust/crates/ed25519-2.2.3.crate) = 115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53
+SIZE (rust/crates/ed25519-2.2.3.crate) = 17802
+SHA256 (rust/crates/ed25519-dalek-2.1.1.crate) = 4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871
+SIZE (rust/crates/ed25519-dalek-2.1.1.crate) = 85736
+SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0
+SIZE (rust/crates/either-1.13.0.crate) = 19169
+SHA256 (rust/crates/elliptic-curve-0.13.8.crate) = b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47
+SIZE (rust/crates/elliptic-curve-0.13.8.crate) = 63198
+SHA256 (rust/crates/embedded-io-0.4.0.crate) = ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced
+SIZE (rust/crates/embedded-io-0.4.0.crate) = 12901
+SHA256 (rust/crates/embedded-io-0.6.1.crate) = edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d
+SIZE (rust/crates/embedded-io-0.6.1.crate) = 13133
+SHA256 (rust/crates/encoding_rs-0.8.35.crate) = 75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3
+SIZE (rust/crates/encoding_rs-0.8.35.crate) = 1381050
+SHA256 (rust/crates/endian-type-0.1.2.crate) = c34f04666d835ff5d62e058c3995147c06f42fe86ff053337632bca83e42702d
+SIZE (rust/crates/endian-type-0.1.2.crate) = 2340
+SHA256 (rust/crates/entities-1.0.1.crate) = b5320ae4c3782150d900b79807611a59a99fc9a1d61d686faafc24b93fc8d7ca
+SIZE (rust/crates/entities-1.0.1.crate) = 24795
+SHA256 (rust/crates/enum-as-inner-0.6.0.crate) = 5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a
+SIZE (rust/crates/enum-as-inner-0.6.0.crate) = 12079
+SHA256 (rust/crates/enumflags2-0.7.11.crate) = ba2f4b465f5318854c6f8dd686ede6c0a9dc67d4b1ac241cf0eb51521a309147
+SIZE (rust/crates/enumflags2-0.7.11.crate) = 17500
+SHA256 (rust/crates/enumflags2_derive-0.7.11.crate) = fc4caf64a58d7a6d65ab00639b046ff54399a39f5f2554728895ace4b297cd79
+SIZE (rust/crates/enumflags2_derive-0.7.11.crate) = 8524
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
+SHA256 (rust/crates/erased-serde-0.3.31.crate) = 6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c
+SIZE (rust/crates/erased-serde-0.3.31.crate) = 24182
+SHA256 (rust/crates/erased_set-0.8.0.crate) = a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5
+SIZE (rust/crates/erased_set-0.8.0.crate) = 4501
+SHA256 (rust/crates/errno-0.3.10.crate) = 33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d
+SIZE (rust/crates/errno-0.3.10.crate) = 11824
+SHA256 (rust/crates/error-code-3.3.1.crate) = a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f
+SIZE (rust/crates/error-code-3.3.1.crate) = 7646
+SHA256 (rust/crates/escaper-0.1.1.crate) = a53eb97b7349ba1bdb31839eceafe9aaae8f1d8d944dc589b67fb0b26e1c1666
+SIZE (rust/crates/escaper-0.1.1.crate) = 56475
+SHA256 (rust/crates/event-listener-2.5.3.crate) = 0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0
+SIZE (rust/crates/event-listener-2.5.3.crate) = 15392
+SHA256 (rust/crates/event-listener-5.4.0.crate) = 3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae
+SIZE (rust/crates/event-listener-5.4.0.crate) = 43452
+SHA256 (rust/crates/event-listener-strategy-0.5.3.crate) = 3c3e4e0dd3673c1139bf041f3008816d9cf2946bbfac2945c09e523b8d7b05b2
+SIZE (rust/crates/event-listener-strategy-0.5.3.crate) = 10920
+SHA256 (rust/crates/fallible-iterator-0.3.0.crate) = 2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649
+SIZE (rust/crates/fallible-iterator-0.3.0.crate) = 19639
+SHA256 (rust/crates/fallible-streaming-iterator-0.1.9.crate) = 7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a
+SIZE (rust/crates/fallible-streaming-iterator-0.1.9.crate) = 9249
+SHA256 (rust/crates/fast-socks5-0.10.0.crate) = d09fe4a491909a716088083eeb5bcc25427330fdbcd4ecd3dfa5469b3da795df
+SIZE (rust/crates/fast-socks5-0.10.0.crate) = 35324
+SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
+SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
+SHA256 (rust/crates/fd-lock-4.0.4.crate) = 0ce92ff622d6dadf7349484f42c93271a0d49b7cc4d466a936405bacbe10aa78
+SIZE (rust/crates/fd-lock-4.0.4.crate) = 15522
+SHA256 (rust/crates/fdeflate-0.3.7.crate) = 1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c
+SIZE (rust/crates/fdeflate-0.3.7.crate) = 27188
+SHA256 (rust/crates/ff-0.13.0.crate) = ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449
+SIZE (rust/crates/ff-0.13.0.crate) = 17688
+SHA256 (rust/crates/fiat-crypto-0.2.9.crate) = 28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d
+SIZE (rust/crates/fiat-crypto-0.2.9.crate) = 495390
+SHA256 (rust/crates/filetime-0.2.23.crate) = 1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd
+SIZE (rust/crates/filetime-0.2.23.crate) = 14942
+SHA256 (rust/crates/fixedbitset-0.5.7.crate) = 1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99
+SIZE (rust/crates/fixedbitset-0.5.7.crate) = 26537
+SHA256 (rust/crates/flate2-1.0.28.crate) = 46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e
+SIZE (rust/crates/flate2-1.0.28.crate) = 73690
+SHA256 (rust/crates/flume-0.11.1.crate) = da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095
+SIZE (rust/crates/flume-0.11.1.crate) = 67947
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
+SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504
+SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
+SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/futures-0.3.31.crate) = 65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876
+SIZE (rust/crates/futures-0.3.31.crate) = 54953
+SHA256 (rust/crates/futures-buffered-0.2.9.crate) = 34acda8ae8b63fbe0b2195c998b180cff89a8212fb2622a78b572a9f1c6f7684
+SIZE (rust/crates/futures-buffered-0.2.9.crate) = 30905
+SHA256 (rust/crates/futures-channel-0.3.31.crate) = 2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10
+SIZE (rust/crates/futures-channel-0.3.31.crate) = 31971
+SHA256 (rust/crates/futures-concurrency-7.6.3.crate) = 0eb68017df91f2e477ed4bea586c59eaecaa47ed885a770d0444e21e62572cd2
+SIZE (rust/crates/futures-concurrency-7.6.3.crate) = 79990
+SHA256 (rust/crates/futures-core-0.3.31.crate) = 05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e
+SIZE (rust/crates/futures-core-0.3.31.crate) = 14318
+SHA256 (rust/crates/futures-executor-0.3.31.crate) = 1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f
+SIZE (rust/crates/futures-executor-0.3.31.crate) = 17965
+SHA256 (rust/crates/futures-io-0.3.31.crate) = 9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6
+SIZE (rust/crates/futures-io-0.3.31.crate) = 9047
+SHA256 (rust/crates/futures-lite-2.6.0.crate) = f5edaec856126859abb19ed65f39e90fea3a9574b9707f13539acf4abf7eb532
+SIZE (rust/crates/futures-lite-2.6.0.crate) = 45157
+SHA256 (rust/crates/futures-macro-0.3.31.crate) = 162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650
+SIZE (rust/crates/futures-macro-0.3.31.crate) = 11341
+SHA256 (rust/crates/futures-sink-0.3.31.crate) = e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7
+SIZE (rust/crates/futures-sink-0.3.31.crate) = 7958
+SHA256 (rust/crates/futures-task-0.3.31.crate) = f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988
+SIZE (rust/crates/futures-task-0.3.31.crate) = 11217
+SHA256 (rust/crates/futures-util-0.3.31.crate) = 9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81
+SIZE (rust/crates/futures-util-0.3.31.crate) = 162124
+SHA256 (rust/crates/generator-0.7.5.crate) = 5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e
+SIZE (rust/crates/generator-0.7.5.crate) = 29947
+SHA256 (rust/crates/generator-0.8.4.crate) = cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd
+SIZE (rust/crates/generator-0.8.4.crate) = 34400
+SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
+SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
+SHA256 (rust/crates/getrandom-0.2.12.crate) = 190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5
+SIZE (rust/crates/getrandom-0.2.12.crate) = 36163
+SHA256 (rust/crates/getrandom-0.3.1.crate) = 43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8
+SIZE (rust/crates/getrandom-0.3.1.crate) = 42449
+SHA256 (rust/crates/ghash-0.5.1.crate) = f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1
+SIZE (rust/crates/ghash-0.5.1.crate) = 9482
+SHA256 (rust/crates/gif-0.13.1.crate) = 3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2
+SIZE (rust/crates/gif-0.13.1.crate) = 36408
+SHA256 (rust/crates/gimli-0.29.0.crate) = 40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd
+SIZE (rust/crates/gimli-0.29.0.crate) = 275756
+SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2
+SIZE (rust/crates/glob-0.3.2.crate) = 22359
+SHA256 (rust/crates/group-0.13.0.crate) = f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63
+SIZE (rust/crates/group-0.13.0.crate) = 16526
+SHA256 (rust/crates/h2-0.4.7.crate) = ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e
+SIZE (rust/crates/h2-0.4.7.crate) = 174114
+SHA256 (rust/crates/half-2.4.0.crate) = b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e
+SIZE (rust/crates/half-2.4.0.crate) = 50666
+SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1
+SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498
+SHA256 (rust/crates/hashlink-0.9.1.crate) = 6ba4ff7128dee98c7dc9794b6a411377e1404dba1c97deb8d1a55297bd25d8af
+SIZE (rust/crates/hashlink-0.9.1.crate) = 28928
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024
+SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165
+SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/hickory-proto-0.25.0-alpha.5.crate) = 1d00147af6310f4392a31680db52a3ed45a2e0f68eb18e8c3fe5537ecc96d9e2
+SIZE (rust/crates/hickory-proto-0.25.0-alpha.5.crate) = 405101
+SHA256 (rust/crates/hickory-resolver-0.25.0-alpha.5.crate) = 5762f69ebdbd4ddb2e975cd24690bf21fe6b2604039189c26acddbc427f12887
+SIZE (rust/crates/hickory-resolver-0.25.0-alpha.5.crate) = 89327
+SHA256 (rust/crates/hkdf-0.12.4.crate) = 7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7
+SIZE (rust/crates/hkdf-0.12.4.crate) = 171163
+SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e
+SIZE (rust/crates/hmac-0.12.1.crate) = 42657
+SHA256 (rust/crates/hmac-sha1-0.2.2.crate) = 6b05da5b9e5d4720bfb691eebb2b9d42da3570745da71eac8a1f5bb7e59aab88
+SIZE (rust/crates/hmac-sha1-0.2.2.crate) = 3234
+SHA256 (rust/crates/hmac-sha256-1.1.8.crate) = 4a8575493d277c9092b988c780c94737fb9fd8651a1001e16bee3eccfc1baedb
+SIZE (rust/crates/hmac-sha256-1.1.8.crate) = 6332
+SHA256 (rust/crates/home-0.5.11.crate) = 589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf
+SIZE (rust/crates/home-0.5.11.crate) = 9926
+SHA256 (rust/crates/hostname-0.4.0.crate) = f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba
+SIZE (rust/crates/hostname-0.4.0.crate) = 10632
+SHA256 (rust/crates/hostname-validator-1.1.1.crate) = f558a64ac9af88b5ba400d99b579451af0d39c6d360980045b91aac966d705e2
+SIZE (rust/crates/hostname-validator-1.1.1.crate) = 2377
+SHA256 (rust/crates/http-0.2.12.crate) = 601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1
+SIZE (rust/crates/http-0.2.12.crate) = 101964
+SHA256 (rust/crates/http-1.1.0.crate) = 21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258
+SIZE (rust/crates/http-1.1.0.crate) = 103144
+SHA256 (rust/crates/http-body-1.0.1.crate) = 1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184
+SIZE (rust/crates/http-body-1.0.1.crate) = 6125
+SHA256 (rust/crates/http-body-util-0.1.3.crate) = b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a
+SIZE (rust/crates/http-body-util-0.1.3.crate) = 16975
+SHA256 (rust/crates/httparse-1.10.0.crate) = f2d708df4e7140240a16cd6ab0ab65c972d7433ab77819ea693fde9c43811e2a
+SIZE (rust/crates/httparse-1.10.0.crate) = 44882
+SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9
+SIZE (rust/crates/httpdate-1.0.3.crate) = 10639
+SHA256 (rust/crates/human-panic-2.0.2.crate) = 80b84a66a325082740043a6c28bbea400c129eac0d3a27673a1de971e44bf1f7
+SIZE (rust/crates/human-panic-2.0.2.crate) = 12620
+SHA256 (rust/crates/humansize-2.1.3.crate) = 6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7
+SIZE (rust/crates/humansize-2.1.3.crate) = 11953
+SHA256 (rust/crates/hyper-1.6.0.crate) = cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80
+SIZE (rust/crates/hyper-1.6.0.crate) = 153923
+SHA256 (rust/crates/hyper-rustls-0.27.5.crate) = 2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2
+SIZE (rust/crates/hyper-rustls-0.27.5.crate) = 34660
+SHA256 (rust/crates/hyper-util-0.1.11.crate) = 497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2
+SIZE (rust/crates/hyper-util-0.1.11.crate) = 75973
+SHA256 (rust/crates/iana-time-zone-0.1.61.crate) = 235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220
+SIZE (rust/crates/iana-time-zone-0.1.61.crate) = 27685
+SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
+SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
+SHA256 (rust/crates/icu_collections-1.5.0.crate) = db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526
+SIZE (rust/crates/icu_collections-1.5.0.crate) = 82762
+SHA256 (rust/crates/icu_locid-1.5.0.crate) = 13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637
+SIZE (rust/crates/icu_locid-1.5.0.crate) = 55131
+SHA256 (rust/crates/icu_locid_transform-1.5.0.crate) = 01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e
+SIZE (rust/crates/icu_locid_transform-1.5.0.crate) = 29094
+SHA256 (rust/crates/icu_locid_transform_data-1.5.0.crate) = fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e
+SIZE (rust/crates/icu_locid_transform_data-1.5.0.crate) = 44727
+SHA256 (rust/crates/icu_normalizer-1.5.0.crate) = 19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f
+SIZE (rust/crates/icu_normalizer-1.5.0.crate) = 53113
+SHA256 (rust/crates/icu_normalizer_data-1.5.0.crate) = f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516
+SIZE (rust/crates/icu_normalizer_data-1.5.0.crate) = 50561
+SHA256 (rust/crates/icu_properties-1.5.1.crate) = 93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5
+SIZE (rust/crates/icu_properties-1.5.1.crate) = 64479
+SHA256 (rust/crates/icu_properties_data-1.5.0.crate) = 67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569
+SIZE (rust/crates/icu_properties_data-1.5.0.crate) = 227993
+SHA256 (rust/crates/icu_provider-1.5.0.crate) = 6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9
+SIZE (rust/crates/icu_provider-1.5.0.crate) = 52722
+SHA256 (rust/crates/icu_provider_macros-1.5.0.crate) = 1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6
+SIZE (rust/crates/icu_provider_macros-1.5.0.crate) = 6436
+SHA256 (rust/crates/idea-0.5.1.crate) = 075557004419d7f2031b8bb7f44bb43e55a83ca7b63076a8fb8fe75753836477
+SIZE (rust/crates/idea-0.5.1.crate) = 23243
+SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
+SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
+SHA256 (rust/crates/idna-1.0.3.crate) = 686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e
+SIZE (rust/crates/idna-1.0.3.crate) = 142515
+SHA256 (rust/crates/idna_adapter-1.2.0.crate) = daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71
+SIZE (rust/crates/idna_adapter-1.2.0.crate) = 8206
+SHA256 (rust/crates/igd-next-0.15.1.crate) = 76b0d7d4541def58a37bf8efc559683f21edce7c82f0d866c93ac21f7e098f93
+SIZE (rust/crates/igd-next-0.15.1.crate) = 36501
+SHA256 (rust/crates/image-0.25.6.crate) = db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a
+SIZE (rust/crates/image-0.25.6.crate) = 242367
+SHA256 (rust/crates/image-webp-0.2.1.crate) = b77d01e822461baa8409e156015a1d91735549f0f2c17691bd2d996bef238f7f
+SIZE (rust/crates/image-webp-0.2.1.crate) = 60662
+SHA256 (rust/crates/imap-proto-0.16.5.crate) = de555d9526462b6f9ece826a26fb7c67eca9a0245bd9ff84fa91972a5d5d8856
+SIZE (rust/crates/imap-proto-0.16.5.crate) = 35791
+SHA256 (rust/crates/indexmap-2.2.5.crate) = 7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4
+SIZE (rust/crates/indexmap-2.2.5.crate) = 81498
+SHA256 (rust/crates/inout-0.1.3.crate) = a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5
+SIZE (rust/crates/inout-0.1.3.crate) = 10743
+SHA256 (rust/crates/instant-0.1.13.crate) = e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222
+SIZE (rust/crates/instant-0.1.13.crate) = 6305
+SHA256 (rust/crates/ipconfig-0.3.2.crate) = b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f
+SIZE (rust/crates/ipconfig-0.3.2.crate) = 24468
+SHA256 (rust/crates/ipnet-2.11.0.crate) = 469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130
+SIZE (rust/crates/ipnet-2.11.0.crate) = 29718
+SHA256 (rust/crates/iroh-0.33.0.crate) = a4ffd6af2e000f04972068c0318e0d8fa90ee9cfcb2bc6124db38591500e0278
+SIZE (rust/crates/iroh-0.33.0.crate) = 218327
+SHA256 (rust/crates/iroh-base-0.33.0.crate) = 011d271a95b41218d22bdaf3352f29ef1dd7d6be644ca8543941655bec5f3d35
+SIZE (rust/crates/iroh-base-0.33.0.crate) = 18409
+SHA256 (rust/crates/iroh-blake3-1.4.5.crate) = efbba31f40a650f58fa28dd585a8ca76d8ae3ba63aacab4c8269004a0c803930
+SIZE (rust/crates/iroh-blake3-1.4.5.crate) = 164941
+SHA256 (rust/crates/iroh-gossip-0.33.0.crate) = b3d4c7e330bf3d29576d443003e31a2d30d97b29ee13521af2634926d831c01d
+SIZE (rust/crates/iroh-gossip-0.33.0.crate) = 105725
+SHA256 (rust/crates/iroh-metrics-0.31.0.crate) = 571d177e20f0848a643a2c0f662be0e08968f8743b0776941f83a2152b87a180
+SIZE (rust/crates/iroh-metrics-0.31.0.crate) = 24424
+SHA256 (rust/crates/iroh-net-report-0.33.0.crate) = 7d2652f42eadc63458e36c0a422569f338639dc0b5bb469db0eb4a382b4e295c
+SIZE (rust/crates/iroh-net-report-0.33.0.crate) = 72109
+SHA256 (rust/crates/iroh-quinn-0.13.0.crate) = 76c6245c9ed906506ab9185e8d7f64857129aee4f935e899f398a3bd3b70338d
+SIZE (rust/crates/iroh-quinn-0.13.0.crate) = 78548
+SHA256 (rust/crates/iroh-quinn-proto-0.13.0.crate) = 929d5d8fa77d5c304d3ee7cae9aede31f13908bd049f9de8c7c0094ad6f7c535
+SIZE (rust/crates/iroh-quinn-proto-0.13.0.crate) = 224474
+SHA256 (rust/crates/iroh-quinn-udp-0.5.7.crate) = c53afaa1049f7c83ea1331f5ebb9e6ebc5fdd69c468b7a22dd598b02c9bcc973
+SIZE (rust/crates/iroh-quinn-udp-0.5.7.crate) = 25601
+SHA256 (rust/crates/iroh-relay-0.33.0.crate) = c930ccc4dfd0196b531344e3d0f83a0f82c45b170406e04a2491cba571faec5b
+SIZE (rust/crates/iroh-relay-0.33.0.crate) = 110778
+SHA256 (rust/crates/is-terminal-0.4.12.crate) = f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b
+SIZE (rust/crates/is-terminal-0.4.12.crate) = 7470
+SHA256 (rust/crates/iter-read-1.1.0.crate) = 071ed4cc1afd86650602c7b11aa2e1ce30762a1c27193201cb5cee9c6ebb1294
+SIZE (rust/crates/iter-read-1.1.0.crate) = 9173
+SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
+SIZE (rust/crates/itertools-0.10.5.crate) = 115354
+SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c
+SIZE (rust/crates/itoa-1.0.10.crate) = 10534
+SHA256 (rust/crates/jni-0.21.1.crate) = 1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97
+SIZE (rust/crates/jni-0.21.1.crate) = 105028
+SHA256 (rust/crates/jni-sys-0.3.0.crate) = 8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130
+SIZE (rust/crates/jni-sys-0.3.0.crate) = 10232
+SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f
+SIZE (rust/crates/js-sys-0.3.77.crate) = 55538
+SHA256 (rust/crates/k256-0.13.4.crate) = f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b
+SIZE (rust/crates/k256-0.13.4.crate) = 93562
+SHA256 (rust/crates/kamadak-exif-0.6.1.crate) = 1130d80c7374efad55a117d715a3af9368f0fa7a2c54573afc15a188cd984837
+SIZE (rust/crates/kamadak-exif-0.6.1.crate) = 57852
+SHA256 (rust/crates/keccak-0.1.5.crate) = ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654
+SIZE (rust/crates/keccak-0.1.5.crate) = 13120
+SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
+SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
+SHA256 (rust/crates/libc-0.2.171.crate) = c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6
+SIZE (rust/crates/libc-0.2.171.crate) = 785246
+SHA256 (rust/crates/libm-0.2.11.crate) = 8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa
+SIZE (rust/crates/libm-0.2.11.crate) = 111477
+SHA256 (rust/crates/libredox-0.1.3.crate) = c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d
+SIZE (rust/crates/libredox-0.1.3.crate) = 6068
+SHA256 (rust/crates/libsqlite3-sys-0.30.1.crate) = 2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149
+SIZE (rust/crates/libsqlite3-sys-0.30.1.crate) = 5122296
+SHA256 (rust/crates/linux-raw-sys-0.4.14.crate) = 78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89
+SIZE (rust/crates/linux-raw-sys-0.4.14.crate) = 1826665
+SHA256 (rust/crates/linux-raw-sys-0.9.3.crate) = fe7db12097d22ec582439daf8618b8fdd1a7bef6270e9af3b1ebcd30893cf413
+SIZE (rust/crates/linux-raw-sys-0.9.3.crate) = 2311047
+SHA256 (rust/crates/litemap-0.7.4.crate) = 4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104
+SIZE (rust/crates/litemap-0.7.4.crate) = 28257
+SHA256 (rust/crates/litrs-0.4.1.crate) = b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5
+SIZE (rust/crates/litrs-0.4.1.crate) = 42603
+SHA256 (rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17
+SIZE (rust/crates/lock_api-0.4.12.crate) = 27591
+SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
+SIZE (rust/crates/log-0.4.27.crate) = 48120
+SHA256 (rust/crates/loom-0.5.6.crate) = ff50ecb28bb86013e935fb6683ab1f6d3a20016f123c76fd4c27470076ac30f5
+SIZE (rust/crates/loom-0.5.6.crate) = 72186
+SHA256 (rust/crates/loom-0.7.2.crate) = 419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca
+SIZE (rust/crates/loom-0.7.2.crate) = 73989
+SHA256 (rust/crates/lru-0.12.3.crate) = d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc
+SIZE (rust/crates/lru-0.12.3.crate) = 15009
+SHA256 (rust/crates/lru_time_cache-0.11.11.crate) = 9106e1d747ffd48e6be5bb2d97fa706ed25b144fbee4d5c02eae110cd8d6badd
+SIZE (rust/crates/lru_time_cache-0.11.11.crate) = 15051
+SHA256 (rust/crates/mail-builder-0.4.2.crate) = 5666db60ccc742381c715c8daf303e60d266f1d1c8b123ab3fe78b590edaf564
+SIZE (rust/crates/mail-builder-0.4.2.crate) = 23296
+SHA256 (rust/crates/mailparse-0.16.1.crate) = 60819a97ddcb831a5614eb3b0174f3620e793e97e09195a395bfa948fd68ed2f
+SIZE (rust/crates/mailparse-0.16.1.crate) = 37588
+SHA256 (rust/crates/matchers-0.1.0.crate) = 8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558
+SIZE (rust/crates/matchers-0.1.0.crate) = 6948
+SHA256 (rust/crates/md-5-0.10.6.crate) = d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf
+SIZE (rust/crates/md-5-0.10.6.crate) = 16161
+SHA256 (rust/crates/md5-0.7.0.crate) = 490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771
+SIZE (rust/crates/md5-0.7.0.crate) = 6671
+SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3
+SIZE (rust/crates/memchr-2.7.4.crate) = 96670
+SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a
+SIZE (rust/crates/mime-0.3.17.crate) = 15712
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/miniz_oxide-0.7.4.crate) = b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08
+SIZE (rust/crates/miniz_oxide-0.7.4.crate) = 56119
+SHA256 (rust/crates/mio-1.0.3.crate) = 2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd
+SIZE (rust/crates/mio-1.0.3.crate) = 103703
+SHA256 (rust/crates/moka-0.12.10.crate) = a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926
+SIZE (rust/crates/moka-0.12.10.crate) = 253622
+SHA256 (rust/crates/mutate_once-0.1.1.crate) = 16cf681a23b4d0a43fc35024c176437f9dcd818db34e0f42ab456a0ee5ad497b
+SIZE (rust/crates/mutate_once-0.1.1.crate) = 4276
+SHA256 (rust/crates/n0-future-0.1.2.crate) = 399e11dc3b0e8d9d65b27170d22f5d779d52d9bed888db70d7e0c2c7ce3dfc52
+SIZE (rust/crates/n0-future-0.1.2.crate) = 16947
+SHA256 (rust/crates/nanorand-0.7.0.crate) = 6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3
+SIZE (rust/crates/nanorand-0.7.0.crate) = 18437
+SHA256 (rust/crates/native-tls-0.2.14.crate) = 87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e
+SIZE (rust/crates/native-tls-0.2.14.crate) = 29385
+SHA256 (rust/crates/netdev-0.31.0.crate) = f901362e84cd407be6f8cd9d3a46bccf09136b095792785401ea7d283c79b91d
+SIZE (rust/crates/netdev-0.31.0.crate) = 27896
+SHA256 (rust/crates/netlink-packet-core-0.7.0.crate) = 72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4
+SIZE (rust/crates/netlink-packet-core-0.7.0.crate) = 16718
+SHA256 (rust/crates/netlink-packet-route-0.17.1.crate) = 053998cea5a306971f88580d0829e90f270f940befd7cf928da179d4187a5a66
+SIZE (rust/crates/netlink-packet-route-0.17.1.crate) = 115709
+SHA256 (rust/crates/netlink-packet-route-0.19.0.crate) = 74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4
+SIZE (rust/crates/netlink-packet-route-0.19.0.crate) = 137468
+SHA256 (rust/crates/netlink-packet-utils-0.5.2.crate) = 0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34
+SIZE (rust/crates/netlink-packet-utils-0.5.2.crate) = 7970
+SHA256 (rust/crates/netlink-proto-0.11.5.crate) = 72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60
+SIZE (rust/crates/netlink-proto-0.11.5.crate) = 23793
+SHA256 (rust/crates/netlink-sys-0.8.7.crate) = 16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23
+SIZE (rust/crates/netlink-sys-0.8.7.crate) = 23701
+SHA256 (rust/crates/netwatch-0.3.0.crate) = 64da82edf903649e6cb6a77b5a6f7fe01387d8865065d411d139018510880302
+SIZE (rust/crates/netwatch-0.3.0.crate) = 39256
+SHA256 (rust/crates/nibble_vec-0.1.0.crate) = 77a5d83df9f36fe23f0c3648c6bbb8b0298bb5f1939c8f2704431371f4b84d43
+SIZE (rust/crates/nibble_vec-0.1.0.crate) = 11796
+SHA256 (rust/crates/nix-0.26.4.crate) = 598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b
+SIZE (rust/crates/nix-0.26.4.crate) = 279099
+SHA256 (rust/crates/nix-0.27.1.crate) = 2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053
+SIZE (rust/crates/nix-0.27.1.crate) = 286494
+SHA256 (rust/crates/nix-0.29.0.crate) = 71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46
+SIZE (rust/crates/nix-0.29.0.crate) = 318248
+SHA256 (rust/crates/no-std-net-0.6.0.crate) = 43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65
+SIZE (rust/crates/no-std-net-0.6.0.crate) = 30191
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/ntapi-0.4.1.crate) = e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4
+SIZE (rust/crates/ntapi-0.4.1.crate) = 126552
+SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84
+SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311
+SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
+SIZE (rust/crates/num-bigint-0.4.6.crate) = 102801
+SHA256 (rust/crates/num-bigint-dig-0.8.4.crate) = dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151
+SIZE (rust/crates/num-bigint-dig-0.8.4.crate) = 123825
+SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
+SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
+SHA256 (rust/crates/num-derive-0.4.2.crate) = ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202
+SIZE (rust/crates/num-derive-0.4.2.crate) = 14709
+SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f
+SIZE (rust/crates/num-integer-0.1.46.crate) = 22331
+SHA256 (rust/crates/num-iter-0.1.45.crate) = 1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf
+SIZE (rust/crates/num-iter-0.1.45.crate) = 10320
+SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
+SIZE (rust/crates/num-traits-0.2.19.crate) = 51631
+SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43
+SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713
+SHA256 (rust/crates/num_enum-0.7.3.crate) = 4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179
+SIZE (rust/crates/num_enum-0.7.3.crate) = 18603
+SHA256 (rust/crates/num_enum_derive-0.7.3.crate) = af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56
+SIZE (rust/crates/num_enum_derive-0.7.3.crate) = 17092
+SHA256 (rust/crates/object-0.36.7.crate) = 62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87
+SIZE (rust/crates/object-0.36.7.crate) = 329938
+SHA256 (rust/crates/ocb3-0.1.0.crate) = c196e0276c471c843dd5777e7543a36a298a4be942a2a688d8111cd43390dedb
+SIZE (rust/crates/ocb3-0.1.0.crate) = 14025
+SHA256 (rust/crates/oid-registry-0.7.1.crate) = a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9
+SIZE (rust/crates/oid-registry-0.7.1.crate) = 15220
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
+SHA256 (rust/crates/oorandom-11.1.4.crate) = b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9
+SIZE (rust/crates/oorandom-11.1.4.crate) = 10201
+SHA256 (rust/crates/opaque-debug-0.3.1.crate) = c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381
+SIZE (rust/crates/opaque-debug-0.3.1.crate) = 7066
+SHA256 (rust/crates/openssl-0.10.72.crate) = fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da
+SIZE (rust/crates/openssl-0.10.72.crate) = 283852
+SHA256 (rust/crates/openssl-macros-0.1.1.crate) = a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c
+SIZE (rust/crates/openssl-macros-0.1.1.crate) = 5601
+SHA256 (rust/crates/openssl-probe-0.1.6.crate) = d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e
+SIZE (rust/crates/openssl-probe-0.1.6.crate) = 8128
+SHA256 (rust/crates/openssl-sys-0.9.107.crate) = 8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07
+SIZE (rust/crates/openssl-sys-0.9.107.crate) = 78156
+SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
+SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
+SHA256 (rust/crates/os_info-3.10.0.crate) = 2a604e53c24761286860eba4e2c8b23a0161526476b1de520139d69cdb85a6b5
+SIZE (rust/crates/os_info-3.10.0.crate) = 22971
+SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39
+SIZE (rust/crates/overload-0.1.1.crate) = 24439
+SHA256 (rust/crates/p256-0.13.2.crate) = c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b
+SIZE (rust/crates/p256-0.13.2.crate) = 63434
+SHA256 (rust/crates/p384-0.13.1.crate) = fe42f1670a52a47d448f14b6a5c61dd78fce51856e68edaa38f7ae3a46b8d6b6
+SIZE (rust/crates/p384-0.13.1.crate) = 193022
+SHA256 (rust/crates/p521-0.13.3.crate) = 0fc9e2161f1f215afdfce23677034ae137bbd45016a880c2eb3ba8eb95f085b2
+SIZE (rust/crates/p521-0.13.3.crate) = 138499
+SHA256 (rust/crates/parking-2.2.1.crate) = f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba
+SIZE (rust/crates/parking-2.2.1.crate) = 10685
+SHA256 (rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27
+SIZE (rust/crates/parking_lot-0.12.3.crate) = 41860
+SHA256 (rust/crates/parking_lot_core-0.9.9.crate) = 4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e
+SIZE (rust/crates/parking_lot_core-0.9.9.crate) = 32445
+SHA256 (rust/crates/password-hash-0.5.0.crate) = 346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166
+SIZE (rust/crates/password-hash-0.5.0.crate) = 26884
+SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a
+SIZE (rust/crates/paste-1.0.15.crate) = 18374
+SHA256 (rust/crates/pem-3.0.4.crate) = 8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae
+SIZE (rust/crates/pem-3.0.4.crate) = 13040
+SHA256 (rust/crates/pem-rfc7468-0.7.0.crate) = 88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412
+SIZE (rust/crates/pem-rfc7468-0.7.0.crate) = 24159
+SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
+SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/pest-2.7.15.crate) = 8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc
+SIZE (rust/crates/pest-2.7.15.crate) = 127895
+SHA256 (rust/crates/pest_derive-2.7.10.crate) = 26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459
+SIZE (rust/crates/pest_derive-2.7.10.crate) = 36221
+SHA256 (rust/crates/pest_generator-2.7.10.crate) = 3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687
+SIZE (rust/crates/pest_generator-2.7.10.crate) = 18411
+SHA256 (rust/crates/pest_meta-2.7.15.crate) = e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea
+SIZE (rust/crates/pest_meta-2.7.15.crate) = 42121
+SHA256 (rust/crates/pgp-0.15.0.crate) = 30249ac8a98b356b473b04bc5358c75a260aa96a295d0743ce752fe7b173f235
+SIZE (rust/crates/pgp-0.15.0.crate) = 1636971
+SHA256 (rust/crates/pin-project-1.1.10.crate) = 677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a
+SIZE (rust/crates/pin-project-1.1.10.crate) = 56348
+SHA256 (rust/crates/pin-project-internal-1.1.10.crate) = 6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861
+SIZE (rust/crates/pin-project-internal-1.1.10.crate) = 29162
+SHA256 (rust/crates/pin-project-lite-0.2.16.crate) = 3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b
+SIZE (rust/crates/pin-project-lite-0.2.16.crate) = 30504
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/pkarr-2.2.1.crate) = 9d2197a648cb1c6d2d062d6456a6273ee82272b7d838da75e4a9a1232dfc4699
+SIZE (rust/crates/pkarr-2.2.1.crate) = 34076
+SHA256 (rust/crates/pkcs1-0.7.5.crate) = c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f
+SIZE (rust/crates/pkcs1-0.7.5.crate) = 35790
+SHA256 (rust/crates/pkcs8-0.10.2.crate) = f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7
+SIZE (rust/crates/pkcs8-0.10.2.crate) = 26360
+SHA256 (rust/crates/pkg-config-0.3.31.crate) = 953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2
+SIZE (rust/crates/pkg-config-0.3.31.crate) = 20880
+SHA256 (rust/crates/plotters-0.3.7.crate) = 5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747
+SIZE (rust/crates/plotters-0.3.7.crate) = 149031
+SHA256 (rust/crates/plotters-backend-0.3.7.crate) = df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a
+SIZE (rust/crates/plotters-backend-0.3.7.crate) = 13709
+SHA256 (rust/crates/plotters-svg-0.3.7.crate) = 51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670
+SIZE (rust/crates/plotters-svg-0.3.7.crate) = 6715
+SHA256 (rust/crates/pnet_base-0.34.0.crate) = fe4cf6fb3ab38b68d01ab2aea03ed3d1132b4868fa4e06285f29f16da01c5f4c
+SIZE (rust/crates/pnet_base-0.34.0.crate) = 10239
+SHA256 (rust/crates/pnet_macros-0.34.0.crate) = 688b17499eee04a0408aca0aa5cba5fc86401d7216de8a63fdf7a4c227871804
+SIZE (rust/crates/pnet_macros-0.34.0.crate) = 29179
+SHA256 (rust/crates/pnet_macros_support-0.34.0.crate) = eea925b72f4bd37f8eab0f221bbe4c78b63498350c983ffa9dd4bcde7e030f56
+SIZE (rust/crates/pnet_macros_support-0.34.0.crate) = 10735
+SHA256 (rust/crates/pnet_packet-0.34.0.crate) = a9a005825396b7fe7a38a8e288dbc342d5034dac80c15212436424fef8ea90ba
+SIZE (rust/crates/pnet_packet-0.34.0.crate) = 33979
+SHA256 (rust/crates/png-0.17.13.crate) = 06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1
+SIZE (rust/crates/png-0.17.13.crate) = 103176
+SHA256 (rust/crates/poly1305-0.8.0.crate) = 8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf
+SIZE (rust/crates/poly1305-0.8.0.crate) = 32633
+SHA256 (rust/crates/polyval-0.6.2.crate) = 9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25
+SIZE (rust/crates/polyval-0.6.2.crate) = 18425
+SHA256 (rust/crates/portable-atomic-1.10.0.crate) = 280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6
+SIZE (rust/crates/portable-atomic-1.10.0.crate) = 174760
+SHA256 (rust/crates/portmapper-0.3.1.crate) = 5469b29e6ce2a27bfc9382720b5f0768993afec9e53b133d8248c8b09406156a
+SIZE (rust/crates/portmapper-0.3.1.crate) = 37123
+SHA256 (rust/crates/postcard-1.1.1.crate) = 170a2601f67cc9dba8edd8c4870b15f71a6a2dc196daec8c83f72b59dff628a8
+SIZE (rust/crates/postcard-1.1.1.crate) = 35639
+SHA256 (rust/crates/postcard-derive-0.1.2.crate) = 0239fa9c1d225d4b7eb69925c25c5e082307a141e470573fbbe3a817ce6a7a37
+SIZE (rust/crates/postcard-derive-0.1.2.crate) = 4650
+SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
+SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
+SHA256 (rust/crates/ppv-lite86-0.2.20.crate) = 77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04
+SIZE (rust/crates/ppv-lite86-0.2.20.crate) = 22478
+SHA256 (rust/crates/precis-core-0.1.9.crate) = d73e9dd26361c32e7cd13d1032bb01c4e26a23287274e8a4e2f228cf2c9ff77b
+SIZE (rust/crates/precis-core-0.1.9.crate) = 455170
+SHA256 (rust/crates/precis-profiles-0.1.10.crate) = bde4bd6624c60cb0abe2bea1dbdbb9085f629a853861e64df4abb099f8076ad4
+SIZE (rust/crates/precis-profiles-0.1.10.crate) = 284559
+SHA256 (rust/crates/precis-tools-0.1.8.crate) = 016da884bc4c2c4670211641abef402d15fa2b06c6e9088ff270dac93675aee2
+SIZE (rust/crates/precis-tools-0.1.8.crate) = 18278
+SHA256 (rust/crates/pretty-hex-0.3.0.crate) = c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5
+SIZE (rust/crates/pretty-hex-0.3.0.crate) = 6677
+SHA256 (rust/crates/pretty_assertions-1.4.1.crate) = 3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d
+SIZE (rust/crates/pretty_assertions-1.4.1.crate) = 78952
+SHA256 (rust/crates/primeorder-0.13.6.crate) = 353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6
+SIZE (rust/crates/primeorder-0.13.6.crate) = 21296
+SHA256 (rust/crates/proc-macro-crate-3.2.0.crate) = 8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b
+SIZE (rust/crates/proc-macro-crate-3.2.0.crate) = 11164
+SHA256 (rust/crates/proc-macro-error-attr2-2.0.0.crate) = 96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5
+SIZE (rust/crates/proc-macro-error-attr2-2.0.0.crate) = 7745
+SHA256 (rust/crates/proc-macro-error2-2.0.1.crate) = 11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802
+SIZE (rust/crates/proc-macro-error2-2.0.1.crate) = 24807
+SHA256 (rust/crates/proc-macro2-1.0.93.crate) = 60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99
+SIZE (rust/crates/proc-macro2-1.0.93.crate) = 52388
+SHA256 (rust/crates/proptest-1.6.0.crate) = 14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50
+SIZE (rust/crates/proptest-1.6.0.crate) = 203276
+SHA256 (rust/crates/qr2term-0.3.3.crate) = 6867c60b38e9747a079a19614dbb5981a53f21b9a56c265f3bfdf6011a50a957
+SIZE (rust/crates/qr2term-0.3.3.crate) = 43409
+SHA256 (rust/crates/qrcode-0.14.1.crate) = d68782463e408eb1e668cf6152704bd856c78c5b6417adaee3203d8f4c1fc9ec
+SIZE (rust/crates/qrcode-0.14.1.crate) = 66224
+SHA256 (rust/crates/qrcodegen-1.8.0.crate) = 4339fc7a1021c9c1621d87f5e3505f2805c8c105420ba2f2a4df86814590c142
+SIZE (rust/crates/qrcodegen-1.8.0.crate) = 15014
+SHA256 (rust/crates/quick-error-2.0.1.crate) = a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3
+SIZE (rust/crates/quick-error-2.0.1.crate) = 14265
+SHA256 (rust/crates/quick-xml-0.37.4.crate) = a4ce8c88de324ff838700f36fb6ab86c96df0e3c4ab6ef3a9b2044465cce1369
+SIZE (rust/crates/quick-xml-0.37.4.crate) = 190389
+SHA256 (rust/crates/quinn-0.11.6.crate) = 62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef
+SIZE (rust/crates/quinn-0.11.6.crate) = 78222
+SHA256 (rust/crates/quinn-proto-0.11.9.crate) = a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d
+SIZE (rust/crates/quinn-proto-0.11.9.crate) = 209286
+SHA256 (rust/crates/quinn-udp-0.5.10.crate) = e46f3055866785f6b92bc6164b76be02ca8f2eb4b002c0354b28cf4c119e5944
+SIZE (rust/crates/quinn-udp-0.5.10.crate) = 30920
+SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d
+SIZE (rust/crates/quote-1.0.40.crate) = 31063
+SHA256 (rust/crates/quoted-string-parser-0.1.0.crate) = 0dc75379cdb451d001f1cb667a9f74e8b355e9df84cc5193513cbe62b96fc5e9
+SIZE (rust/crates/quoted-string-parser-0.1.0.crate) = 3623
+SHA256 (rust/crates/quoted_printable-0.5.1.crate) = 640c9bd8497b02465aeef5375144c26062e0dcd5939dfcbb0f5db76cb8c17c73
+SIZE (rust/crates/quoted_printable-0.5.1.crate) = 8322
+SHA256 (rust/crates/radix_trie-0.2.1.crate) = c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd
+SIZE (rust/crates/radix_trie-0.2.1.crate) = 251366
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand-0.9.0.crate) = 3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94
+SIZE (rust/crates/rand-0.9.0.crate) = 97798
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_chacha-0.9.0.crate) = d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb
+SIZE (rust/crates/rand_chacha-0.9.0.crate) = 18258
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rand_core-0.9.3.crate) = 99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38
+SIZE (rust/crates/rand_core-0.9.3.crate) = 24543
+SHA256 (rust/crates/rand_xorshift-0.3.0.crate) = d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f
+SIZE (rust/crates/rand_xorshift-0.3.0.crate) = 9121
+SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa
+SIZE (rust/crates/rayon-1.10.0.crate) = 180155
+SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2
+SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701
+SHA256 (rust/crates/rcgen-0.13.2.crate) = 75e669e5202259b5314d1ea5397316ad400819437857b90861765f24c4cf80a2
+SIZE (rust/crates/rcgen-0.13.2.crate) = 77836
+SHA256 (rust/crates/redox_syscall-0.3.5.crate) = 567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29
+SIZE (rust/crates/redox_syscall-0.3.5.crate) = 23404
+SHA256 (rust/crates/redox_syscall-0.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa
+SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858
+SHA256 (rust/crates/redox_users-0.5.0.crate) = dd6f9d3d47bdd2ad6945c5015a226ec6155d0bcdfd8f7cd29f86b71f8de99d2b
+SIZE (rust/crates/redox_users-0.5.0.crate) = 15586
+SHA256 (rust/crates/regex-1.10.6.crate) = 4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619
+SIZE (rust/crates/regex-1.10.6.crate) = 253894
+SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132
+SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533
+SHA256 (rust/crates/regex-automata-0.4.6.crate) = 86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea
+SIZE (rust/crates/regex-automata-0.4.6.crate) = 617565
+SHA256 (rust/crates/regex-lite-0.1.6.crate) = 53a49587ad06b26609c52e423de037e7f57f20d53535d66e08c695f347df952a
+SIZE (rust/crates/regex-lite-0.1.6.crate) = 95278
+SHA256 (rust/crates/regex-syntax-0.6.29.crate) = f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1
+SIZE (rust/crates/regex-syntax-0.6.29.crate) = 299752
+SHA256 (rust/crates/regex-syntax-0.8.2.crate) = c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f
+SIZE (rust/crates/regex-syntax-0.8.2.crate) = 347228
+SHA256 (rust/crates/reqwest-0.12.9.crate) = a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f
+SIZE (rust/crates/reqwest-0.12.9.crate) = 179807
+SHA256 (rust/crates/resolv-conf-0.7.1.crate) = 48375394603e3dd4b2d64371f7148fd8c7baa2680e28741f2cb8d23b59e3d4c4
+SIZE (rust/crates/resolv-conf-0.7.1.crate) = 17501
+SHA256 (rust/crates/rfc6979-0.4.0.crate) = f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2
+SIZE (rust/crates/rfc6979-0.4.0.crate) = 9140
+SHA256 (rust/crates/ring-0.17.13.crate) = 70ac5d832aa16abd7d1def883a8545280c20a60f523a370aa3a9617c2b8550ee
+SIZE (rust/crates/ring-0.17.13.crate) = 1501917
+SHA256 (rust/crates/ring-compat-0.8.0.crate) = ccce7bae150b815f0811db41b8312fcb74bffa4cab9cee5429ee00f356dd5bd4
+SIZE (rust/crates/ring-compat-0.8.0.crate) = 180681
+SHA256 (rust/crates/ripemd-0.1.3.crate) = bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f
+SIZE (rust/crates/ripemd-0.1.3.crate) = 16601
+SHA256 (rust/crates/rsa-0.9.7.crate) = 47c75d7c5c6b673e58bf54d8544a9f432e3a925b0e80f7cd3602ab5c50c55519
+SIZE (rust/crates/rsa-0.9.7.crate) = 80231
+SHA256 (rust/crates/rtnetlink-0.13.1.crate) = 7a552eb82d19f38c3beed3f786bd23aa434ceb9ac43ab44419ca6d67a7e186c0
+SIZE (rust/crates/rtnetlink-0.13.1.crate) = 42517
+SHA256 (rust/crates/rtnetlink-0.14.1.crate) = b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5
+SIZE (rust/crates/rtnetlink-0.14.1.crate) = 45416
+SHA256 (rust/crates/rusqlite-0.32.1.crate) = 7753b721174eb8ff87a9a0e799e2d7bc3749323e773db92e0984debb00019d6e
+SIZE (rust/crates/rusqlite-0.32.1.crate) = 155563
+SHA256 (rust/crates/rust-hsluv-0.1.4.crate) = efe2374f2385cdd8755a446f80b2a646de603c9d8539ca38734879b5c71e378b
+SIZE (rust/crates/rust-hsluv-0.1.4.crate) = 1075873
+SHA256 (rust/crates/rustc-demangle-0.1.24.crate) = 719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f
+SIZE (rust/crates/rustc-demangle-0.1.24.crate) = 29047
+SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
+SIZE (rust/crates/rustc-hash-2.1.1.crate) = 14154
+SHA256 (rust/crates/rustc_version-0.4.1.crate) = cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92
+SIZE (rust/crates/rustc_version-0.4.1.crate) = 12245
+SHA256 (rust/crates/rusticata-macros-4.1.0.crate) = faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632
+SIZE (rust/crates/rusticata-macros-4.1.0.crate) = 11746
+SHA256 (rust/crates/rustix-0.38.44.crate) = fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154
+SIZE (rust/crates/rustix-0.38.44.crate) = 379347
+SHA256 (rust/crates/rustix-1.0.5.crate) = d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf
+SIZE (rust/crates/rustix-1.0.5.crate) = 414160
+SHA256 (rust/crates/rustls-0.23.23.crate) = 47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395
+SIZE (rust/crates/rustls-0.23.23.crate) = 342561
+SHA256 (rust/crates/rustls-native-certs-0.8.1.crate) = 7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3
+SIZE (rust/crates/rustls-native-certs-0.8.1.crate) = 31129
+SHA256 (rust/crates/rustls-pemfile-2.2.0.crate) = dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50
+SIZE (rust/crates/rustls-pemfile-2.2.0.crate) = 25849
+SHA256 (rust/crates/rustls-pki-types-1.11.0.crate) = 917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c
+SIZE (rust/crates/rustls-pki-types-1.11.0.crate) = 63933
+SHA256 (rust/crates/rustls-platform-verifier-0.5.0.crate) = e012c45844a1790332c9386ed4ca3a06def221092eda277e6f079728f8ea99da
+SIZE (rust/crates/rustls-platform-verifier-0.5.0.crate) = 56761
+SHA256 (rust/crates/rustls-platform-verifier-android-0.1.1.crate) = f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f
+SIZE (rust/crates/rustls-platform-verifier-android-0.1.1.crate) = 13919
+SHA256 (rust/crates/rustls-webpki-0.102.8.crate) = 64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9
+SIZE (rust/crates/rustls-webpki-0.102.8.crate) = 204327
+SHA256 (rust/crates/rustversion-1.0.14.crate) = 7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4
+SIZE (rust/crates/rustversion-1.0.14.crate) = 17261
+SHA256 (rust/crates/rustyline-15.0.0.crate) = 2ee1e066dc922e513bda599c6ccb5f3bb2b0ea5870a579448f2622993f0a9a2f
+SIZE (rust/crates/rustyline-15.0.0.crate) = 116346
+SHA256 (rust/crates/ryu-1.0.19.crate) = 6ea1a2d0a644769cc99faa24c3ad26b379b786fe7c36fd3c546254801650e6dd
+SIZE (rust/crates/ryu-1.0.19.crate) = 48770
+SHA256 (rust/crates/salsa20-0.10.2.crate) = 97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213
+SIZE (rust/crates/salsa20-0.10.2.crate) = 12780
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/sanitize-filename-0.5.0.crate) = 2ed72fbaf78e6f2d41744923916966c4fbe3d7c74e3037a8ee482f1115572603
+SIZE (rust/crates/sanitize-filename-0.5.0.crate) = 4043
+SHA256 (rust/crates/schannel-0.1.27.crate) = 1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d
+SIZE (rust/crates/schannel-0.1.27.crate) = 42772
+SHA256 (rust/crates/schemars-0.8.22.crate) = 3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615
+SIZE (rust/crates/schemars-0.8.22.crate) = 59214
+SHA256 (rust/crates/schemars_derive-0.8.22.crate) = 32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d
+SIZE (rust/crates/schemars_derive-0.8.22.crate) = 19542
+SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294
+SIZE (rust/crates/scoped-tls-1.0.1.crate) = 8202
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/sec1-0.7.3.crate) = d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc
+SIZE (rust/crates/sec1-0.7.3.crate) = 17979
+SHA256 (rust/crates/security-framework-2.11.1.crate) = 897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02
+SIZE (rust/crates/security-framework-2.11.1.crate) = 80188
+SHA256 (rust/crates/security-framework-3.2.0.crate) = 271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316
+SIZE (rust/crates/security-framework-3.2.0.crate) = 86095
+SHA256 (rust/crates/security-framework-sys-2.14.0.crate) = 49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32
+SIZE (rust/crates/security-framework-sys-2.14.0.crate) = 20537
+SHA256 (rust/crates/self_cell-1.1.0.crate) = c2fdfc24bc566f839a2da4c4295b82db7d25a24253867d5c64355abb5799bdbe
+SIZE (rust/crates/self_cell-1.1.0.crate) = 16636
+SHA256 (rust/crates/semver-1.0.25.crate) = f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03
+SIZE (rust/crates/semver-1.0.25.crate) = 31291
+SHA256 (rust/crates/send_wrapper-0.6.0.crate) = cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73
+SIZE (rust/crates/send_wrapper-0.6.0.crate) = 10519
+SHA256 (rust/crates/sendfd-0.4.3.crate) = 604b71b8fc267e13bb3023a2c901126c8f349393666a6d98ac1ae5729b701798
+SIZE (rust/crates/sendfd-0.4.3.crate) = 11120
+SHA256 (rust/crates/serde-1.0.219.crate) = 5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6
+SIZE (rust/crates/serde-1.0.219.crate) = 78983
+SHA256 (rust/crates/serde-error-0.1.3.crate) = 342110fb7a5d801060c885da03bf91bfa7c7ca936deafcc64bb6706375605d47
+SIZE (rust/crates/serde-error-0.1.3.crate) = 2771
+SHA256 (rust/crates/serde_derive-1.0.219.crate) = 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00
+SIZE (rust/crates/serde_derive-1.0.219.crate) = 57798
+SHA256 (rust/crates/serde_derive_internals-0.29.0.crate) = 330f01ce65a3a5fe59a60c82f3c9a024b573b8a6e875bd233fe5f934e71d54e3
+SIZE (rust/crates/serde_derive_internals-0.29.0.crate) = 26065
+SHA256 (rust/crates/serde_json-1.0.140.crate) = 20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373
+SIZE (rust/crates/serde_json-1.0.140.crate) = 154852
+SHA256 (rust/crates/serde_spanned-0.6.7.crate) = eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d
+SIZE (rust/crates/serde_spanned-0.6.7.crate) = 9164
+SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd
+SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822
+SHA256 (rust/crates/serdect-0.2.0.crate) = a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177
+SIZE (rust/crates/serdect-0.2.0.crate) = 11691
+SHA256 (rust/crates/sha-1-0.10.1.crate) = f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c
+SIZE (rust/crates/sha-1-0.10.1.crate) = 12018
+SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba
+SIZE (rust/crates/sha1-0.10.6.crate) = 13517
+SHA256 (rust/crates/sha1-checked-0.10.0.crate) = 89f599ac0c323ebb1c6082821a54962b839832b03984598375bff3975b804423
+SIZE (rust/crates/sha1-checked-0.10.0.crate) = 783840
+SHA256 (rust/crates/sha2-0.10.8.crate) = 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8
+SIZE (rust/crates/sha2-0.10.8.crate) = 26357
+SHA256 (rust/crates/sha3-0.10.8.crate) = 75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60
+SIZE (rust/crates/sha3-0.10.8.crate) = 858216
+SHA256 (rust/crates/shadowsocks-1.23.1.crate) = e78db9c9912c90ea7487f49bc149b329b535806bfa12b740fbade73f573a3d9f
+SIZE (rust/crates/shadowsocks-1.23.1.crate) = 100151
+SHA256 (rust/crates/shadowsocks-crypto-0.6.1.crate) = bda401a0ad32c82981d8862f2795713618de9bbf9768f03c17d9d145c6d805df
+SIZE (rust/crates/shadowsocks-crypto-0.6.1.crate) = 32665
+SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6
+SIZE (rust/crates/sharded-slab-0.1.7.crate) = 58227
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/signal-hook-registry-1.4.2.crate) = a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1
+SIZE (rust/crates/signal-hook-registry-1.4.2.crate) = 18064
+SHA256 (rust/crates/signature-2.2.0.crate) = 77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de
+SIZE (rust/crates/signature-2.2.0.crate) = 15531
+SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
+SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
+SHA256 (rust/crates/simple-dns-0.6.2.crate) = 01607fe2e61894468c6dc0b26103abb073fb08b79a3d9e4b6d76a1a341549958
+SIZE (rust/crates/simple-dns-0.6.2.crate) = 38285
+SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
+SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/smallvec-1.14.0.crate) = 7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd
+SIZE (rust/crates/smallvec-1.14.0.crate) = 35561
+SHA256 (rust/crates/smawk-0.3.2.crate) = b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c
+SIZE (rust/crates/smawk-0.3.2.crate) = 13831
+SHA256 (rust/crates/socket2-0.5.9.crate) = 4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef
+SIZE (rust/crates/socket2-0.5.9.crate) = 57432
+SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
+SIZE (rust/crates/spin-0.9.8.crate) = 38958
+SHA256 (rust/crates/spin-0.10.0.crate) = d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591
+SIZE (rust/crates/spin-0.10.0.crate) = 39654
+SHA256 (rust/crates/spki-0.7.3.crate) = d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d
+SIZE (rust/crates/spki-0.7.3.crate) = 16409
+SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
+SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
+SHA256 (rust/crates/stop-token-0.7.0.crate) = af91f480ee899ab2d9f8435bfdfc14d08a5754bd9d3fef1f1a1c23336aad6c8b
+SIZE (rust/crates/stop-token-0.7.0.crate) = 6883
+SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
+SIZE (rust/crates/strsim-0.11.1.crate) = 14266
+SHA256 (rust/crates/struct_iterable-0.1.1.crate) = 849a064c6470a650b72e41fa6c057879b68f804d113af92900f27574828e7712
+SIZE (rust/crates/struct_iterable-0.1.1.crate) = 3233
+SHA256 (rust/crates/struct_iterable_derive-0.1.0.crate) = 8bb939ce88a43ea4e9d012f2f6b4cc789deb2db9d47bad697952a85d6978662c
+SIZE (rust/crates/struct_iterable_derive-0.1.0.crate) = 2045
+SHA256 (rust/crates/struct_iterable_internal-0.1.1.crate) = e9426b2a0c03e6cc2ea8dbc0168dbbf943f88755e409fb91bcb8f6a268305f4a
+SIZE (rust/crates/struct_iterable_internal-0.1.1.crate) = 1625
+SHA256 (rust/crates/strum-0.26.2.crate) = 5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29
+SIZE (rust/crates/strum-0.26.2.crate) = 7189
+SHA256 (rust/crates/strum-0.27.1.crate) = f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32
+SIZE (rust/crates/strum-0.27.1.crate) = 7467
+SHA256 (rust/crates/strum_macros-0.26.2.crate) = c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946
+SIZE (rust/crates/strum_macros-0.26.2.crate) = 27056
+SHA256 (rust/crates/strum_macros-0.27.1.crate) = c77a8c5abcaf0f9ce05d62342b7d298c346515365c36b673df4ebe3ced01fde8
+SIZE (rust/crates/strum_macros-0.27.1.crate) = 29670
+SHA256 (rust/crates/stun-rs-0.1.9.crate) = b79cc624c9a747353810310af44f1f03f71eb4561284a894acc0396e6d0de76e
+SIZE (rust/crates/stun-rs-0.1.9.crate) = 69481
+SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292
+SIZE (rust/crates/subtle-2.6.1.crate) = 14562
+SHA256 (rust/crates/surge-ping-0.8.1.crate) = efbf95ce4c7c5b311d2ce3f088af2b93edef0f09727fa50fbe03c7a979afce77
+SIZE (rust/crates/surge-ping-0.8.1.crate) = 21311
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.100.crate) = b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0
+SIZE (rust/crates/syn-2.0.100.crate) = 297947
+SHA256 (rust/crates/sync_wrapper-1.0.0.crate) = 384595c11a4e2969895cad5a8c4029115f5ab956a9e5ef4de79d11a426e5f20c
+SIZE (rust/crates/sync_wrapper-1.0.0.crate) = 6912
+SHA256 (rust/crates/synstructure-0.13.1.crate) = c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971
+SIZE (rust/crates/synstructure-0.13.1.crate) = 18327
+SHA256 (rust/crates/sysinfo-0.26.9.crate) = 5c18a6156d1f27a9592ee18c1a846ca8dd5c258b7179fc193ae87c74ebb666f5
+SIZE (rust/crates/sysinfo-0.26.9.crate) = 137194
+SHA256 (rust/crates/system-configuration-0.6.1.crate) = 3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b
+SIZE (rust/crates/system-configuration-0.6.1.crate) = 17935
+SHA256 (rust/crates/system-configuration-sys-0.6.0.crate) = 8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4
+SIZE (rust/crates/system-configuration-sys-0.6.0.crate) = 11090
+SHA256 (rust/crates/tagger-4.3.5.crate) = 094c9f64d6de9a8506b1e49b63a29333b37ed9e821ee04be694d431b3264c3c5
+SIZE (rust/crates/tagger-4.3.5.crate) = 5054
+SHA256 (rust/crates/tagptr-0.2.0.crate) = 7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417
+SIZE (rust/crates/tagptr-0.2.0.crate) = 13320
+SHA256 (rust/crates/tempfile-3.19.1.crate) = 7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf
+SIZE (rust/crates/tempfile-3.19.1.crate) = 39634
+SHA256 (rust/crates/testdir-0.9.3.crate) = c9ffa013be124f7e8e648876190de818e3a87088ed97ccd414a398b403aec8c8
+SIZE (rust/crates/testdir-0.9.3.crate) = 18881
+SHA256 (rust/crates/textwrap-0.16.2.crate) = c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057
+SIZE (rust/crates/textwrap-0.16.2.crate) = 57077
+SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
+SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
+SHA256 (rust/crates/thiserror-2.0.12.crate) = 567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708
+SIZE (rust/crates/thiserror-2.0.12.crate) = 28693
+SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1
+SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365
+SHA256 (rust/crates/thiserror-impl-2.0.12.crate) = 7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d
+SIZE (rust/crates/thiserror-impl-2.0.12.crate) = 21141
+SHA256 (rust/crates/thread_local-1.1.8.crate) = 8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c
+SIZE (rust/crates/thread_local-1.1.8.crate) = 13962
+SHA256 (rust/crates/time-0.3.37.crate) = 35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21
+SIZE (rust/crates/time-0.3.37.crate) = 123257
+SHA256 (rust/crates/time-core-0.1.2.crate) = ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3
+SIZE (rust/crates/time-core-0.1.2.crate) = 7191
+SHA256 (rust/crates/time-macros-0.2.19.crate) = 2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de
+SIZE (rust/crates/time-macros-0.2.19.crate) = 24268
+SHA256 (rust/crates/tinystr-0.7.6.crate) = 9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f
+SIZE (rust/crates/tinystr-0.7.6.crate) = 16971
+SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc
+SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/tokio-1.44.2.crate) = e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48
+SIZE (rust/crates/tokio-1.44.2.crate) = 841618
+SHA256 (rust/crates/tokio-io-timeout-1.2.0.crate) = 30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf
+SIZE (rust/crates/tokio-io-timeout-1.2.0.crate) = 8993
+SHA256 (rust/crates/tokio-macros-2.5.0.crate) = 6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8
+SIZE (rust/crates/tokio-macros-2.5.0.crate) = 12617
+SHA256 (rust/crates/tokio-rustls-0.26.2.crate) = 8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b
+SIZE (rust/crates/tokio-rustls-0.26.2.crate) = 31655
+SHA256 (rust/crates/tokio-stream-0.1.17.crate) = eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047
+SIZE (rust/crates/tokio-stream-0.1.17.crate) = 38477
+SHA256 (rust/crates/tokio-tar-0.3.1.crate) = 9d5714c010ca3e5c27114c1cdeb9d14641ace49874aa5626d7149e47aedace75
+SIZE (rust/crates/tokio-tar-0.3.1.crate) = 49485
+SHA256 (rust/crates/tokio-tfo-0.3.1.crate) = 3fb4382c6371e29365853d2b71e915d5398df46312a2158097d8bb3f54d0f1b4
+SIZE (rust/crates/tokio-tfo-0.3.1.crate) = 17188
+SHA256 (rust/crates/tokio-tungstenite-0.24.0.crate) = edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9
+SIZE (rust/crates/tokio-tungstenite-0.24.0.crate) = 28904
+SHA256 (rust/crates/tokio-tungstenite-wasm-0.4.0.crate) = e21a5c399399c3db9f08d8297ac12b500e86bca82e930253fdc62eaf9c0de6ae
+SIZE (rust/crates/tokio-tungstenite-wasm-0.4.0.crate) = 22252
+SHA256 (rust/crates/tokio-util-0.7.14.crate) = 6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034
+SIZE (rust/crates/tokio-util-0.7.14.crate) = 118861
+SHA256 (rust/crates/toml-0.8.19.crate) = a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e
+SIZE (rust/crates/toml-0.8.19.crate) = 50974
+SHA256 (rust/crates/toml_datetime-0.6.8.crate) = 0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41
+SIZE (rust/crates/toml_datetime-0.6.8.crate) = 12028
+SHA256 (rust/crates/toml_edit-0.22.20.crate) = 583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d
+SIZE (rust/crates/toml_edit-0.22.20.crate) = 106726
+SHA256 (rust/crates/tower-service-0.3.3.crate) = 8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3
+SIZE (rust/crates/tower-service-0.3.3.crate) = 6950
+SHA256 (rust/crates/tracing-0.1.41.crate) = 784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0
+SIZE (rust/crates/tracing-0.1.41.crate) = 82448
+SHA256 (rust/crates/tracing-attributes-0.1.28.crate) = 395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d
+SIZE (rust/crates/tracing-attributes-0.1.28.crate) = 33280
+SHA256 (rust/crates/tracing-core-0.1.33.crate) = e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c
+SIZE (rust/crates/tracing-core-0.1.33.crate) = 63434
+SHA256 (rust/crates/tracing-log-0.2.0.crate) = ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3
+SIZE (rust/crates/tracing-log-0.2.0.crate) = 17561
+SHA256 (rust/crates/tracing-subscriber-0.3.19.crate) = e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008
+SIZE (rust/crates/tracing-subscriber-0.3.19.crate) = 198345
+SHA256 (rust/crates/trait-variant-0.1.2.crate) = 70977707304198400eb4835a78f6a9f928bf41bba420deb8fdb175cd965d77a7
+SIZE (rust/crates/trait-variant-0.1.2.crate) = 6008
+SHA256 (rust/crates/try-lock-0.2.5.crate) = e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b
+SIZE (rust/crates/try-lock-0.2.5.crate) = 4314
+SHA256 (rust/crates/tungstenite-0.24.0.crate) = 18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a
+SIZE (rust/crates/tungstenite-0.24.0.crate) = 61527
+SHA256 (rust/crates/twofish-0.7.1.crate) = a78e83a30223c757c3947cd144a31014ff04298d8719ae10d03c31c0448c8013
+SIZE (rust/crates/twofish-0.7.1.crate) = 12156
+SHA256 (rust/crates/typenum-1.18.0.crate) = 1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f
+SIZE (rust/crates/typenum-1.18.0.crate) = 74871
+SHA256 (rust/crates/typescript-type-def-0.5.13.crate) = 233ee5e596f41dbaf8c3e48a60b128eadf89395ee9e45fcedc3281c077c5a014
+SIZE (rust/crates/typescript-type-def-0.5.13.crate) = 20176
+SHA256 (rust/crates/typescript-type-def-derive-0.5.13.crate) = 912e6d6fed61bac90cd957093b11b5330d756ad4e7b8f309f71ae04b546a8513
+SIZE (rust/crates/typescript-type-def-derive-0.5.13.crate) = 7281
+SHA256 (rust/crates/ucd-parse-0.1.13.crate) = c06ff81122fcbf4df4c1660b15f7e3336058e7aec14437c9f85c6b31a0f279b9
+SIZE (rust/crates/ucd-parse-0.1.13.crate) = 29550
+SHA256 (rust/crates/ucd-trie-0.1.6.crate) = ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9
+SIZE (rust/crates/ucd-trie-0.1.6.crate) = 45790
+SHA256 (rust/crates/unarray-0.1.4.crate) = eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94
+SIZE (rust/crates/unarray-0.1.4.crate) = 12895
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unicode-linebreak-0.1.5.crate) = 3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f
+SIZE (rust/crates/unicode-linebreak-0.1.5.crate) = 15324
+SHA256 (rust/crates/unicode-normalization-0.1.24.crate) = 5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956
+SIZE (rust/crates/unicode-normalization-0.1.24.crate) = 126536
+SHA256 (rust/crates/unicode-segmentation-1.11.0.crate) = d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202
+SIZE (rust/crates/unicode-segmentation-1.11.0.crate) = 102740
+SHA256 (rust/crates/unicode-width-0.2.0.crate) = 1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd
+SIZE (rust/crates/unicode-width-0.2.0.crate) = 271509
+SHA256 (rust/crates/unicode-xid-0.2.4.crate) = f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c
+SIZE (rust/crates/unicode-xid-0.2.4.crate) = 15352
+SHA256 (rust/crates/universal-hash-0.5.1.crate) = fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea
+SIZE (rust/crates/universal-hash-0.5.1.crate) = 9146
+SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1
+SIZE (rust/crates/untrusted-0.9.0.crate) = 14447
+SHA256 (rust/crates/ureq-2.10.0.crate) = 72139d247e5f97a3eff96229a7ae85ead5328a39efe76f8bf5a06313d505b6ea
+SIZE (rust/crates/ureq-2.10.0.crate) = 112894
+SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60
+SIZE (rust/crates/url-2.5.4.crate) = 81097
+SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9
+SIZE (rust/crates/utf-8-0.7.6.crate) = 10422
+SHA256 (rust/crates/utf16_iter-1.0.5.crate) = c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246
+SIZE (rust/crates/utf16_iter-1.0.5.crate) = 9736
+SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
+SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437
+SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821
+SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499
+SHA256 (rust/crates/uuid-1.16.0.crate) = 458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9
+SIZE (rust/crates/uuid-1.16.0.crate) = 58549
+SHA256 (rust/crates/valuable-0.1.1.crate) = ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65
+SIZE (rust/crates/valuable-0.1.1.crate) = 28679
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
+SIZE (rust/crates/version_check-0.9.5.crate) = 15554
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e
+SIZE (rust/crates/want-0.3.1.crate) = 6398
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2
+SIZE (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 136754
+SHA256 (rust/crates/wasite-0.1.0.crate) = b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b
+SIZE (rust/crates/wasite-0.1.0.crate) = 2346
+SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5
+SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6
+SIZE (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 32111
+SHA256 (rust/crates/wasm-bindgen-futures-0.4.42.crate) = 76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0
+SIZE (rust/crates/wasm-bindgen-futures-0.4.42.crate) = 15380
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407
+SIZE (rust/crates/wasm-bindgen-macro-0.2.100.crate) = 9663
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.100.crate) = 26243
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d
+SIZE (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 8570
+SHA256 (rust/crates/wasm-streams-0.4.1.crate) = 4e072d4e72f700fb3443d8fe94a39315df013eef1104903cdb0a2abd322bbecd
+SIZE (rust/crates/wasm-streams-0.4.1.crate) = 36513
+SHA256 (rust/crates/web-sys-0.3.69.crate) = 77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef
+SIZE (rust/crates/web-sys-0.3.69.crate) = 728877
+SHA256 (rust/crates/web-time-1.1.0.crate) = 5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb
+SIZE (rust/crates/web-time-1.1.0.crate) = 18026
+SHA256 (rust/crates/webpki-root-certs-0.26.8.crate) = 09aed61f5e8d2c18344b3faa33a4c837855fe56642757754775548fee21386c4
+SIZE (rust/crates/webpki-root-certs-0.26.8.crate) = 177483
+SHA256 (rust/crates/webpki-roots-0.26.8.crate) = 2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9
+SIZE (rust/crates/webpki-roots-0.26.8.crate) = 257981
+SHA256 (rust/crates/weezl-0.1.8.crate) = 53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082
+SIZE (rust/crates/weezl-0.1.8.crate) = 42175
+SHA256 (rust/crates/whoami-1.5.0.crate) = 0fec781d48b41f8163426ed18e8fc2864c12937df9ce54c88ede7bd47270893e
+SIZE (rust/crates/whoami-1.5.0.crate) = 24008
+SHA256 (rust/crates/widestring-1.0.2.crate) = 653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8
+SIZE (rust/crates/widestring-1.0.2.crate) = 79706
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.6.crate) = f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596
+SIZE (rust/crates/winapi-util-0.1.6.crate) = 12234
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-0.48.0.crate) = e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f
+SIZE (rust/crates/windows-0.48.0.crate) = 11864177
+SHA256 (rust/crates/windows-0.52.0.crate) = e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be
+SIZE (rust/crates/windows-0.52.0.crate) = 11843715
+SHA256 (rust/crates/windows-0.58.0.crate) = dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6
+SIZE (rust/crates/windows-0.58.0.crate) = 9744521
+SHA256 (rust/crates/windows-0.59.0.crate) = 7f919aee0a93304be7f62e8e5027811bbba96bcb1de84d6618be56e43f8a32a1
+SIZE (rust/crates/windows-0.59.0.crate) = 9429988
+SHA256 (rust/crates/windows-core-0.52.0.crate) = 33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9
+SIZE (rust/crates/windows-core-0.52.0.crate) = 42154
+SHA256 (rust/crates/windows-core-0.58.0.crate) = 6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99
+SIZE (rust/crates/windows-core-0.58.0.crate) = 41022
+SHA256 (rust/crates/windows-core-0.59.0.crate) = 810ce18ed2112484b0d4e15d022e5f598113e220c53e373fb31e67e21670c1ce
+SIZE (rust/crates/windows-core-0.59.0.crate) = 37073
+SHA256 (rust/crates/windows-implement-0.58.0.crate) = 2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b
+SIZE (rust/crates/windows-implement-0.58.0.crate) = 10491
+SHA256 (rust/crates/windows-implement-0.59.0.crate) = 83577b051e2f49a058c308f17f273b570a6a758386fc291b5f6a934dd84e48c1
+SIZE (rust/crates/windows-implement-0.59.0.crate) = 11373
+SHA256 (rust/crates/windows-interface-0.58.0.crate) = 053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515
+SIZE (rust/crates/windows-interface-0.58.0.crate) = 11246
+SHA256 (rust/crates/windows-interface-0.59.0.crate) = cb26fd936d991781ea39e87c3a27285081e3c0da5ca0fcbc02d368cc6f52ff01
+SIZE (rust/crates/windows-interface-0.59.0.crate) = 11751
+SHA256 (rust/crates/windows-link-0.1.0.crate) = 6dccfd733ce2b1753b03b6d3c65edf020262ea35e20ccdf3e288043e6dd620e3
+SIZE (rust/crates/windows-link-0.1.0.crate) = 6153
+SHA256 (rust/crates/windows-registry-0.2.0.crate) = e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0
+SIZE (rust/crates/windows-registry-0.2.0.crate) = 10470
+SHA256 (rust/crates/windows-result-0.2.0.crate) = 1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e
+SIZE (rust/crates/windows-result-0.2.0.crate) = 12756
+SHA256 (rust/crates/windows-result-0.3.0.crate) = d08106ce80268c4067c0571ca55a9b4e9516518eaa1a1fe9b37ca403ae1d1a34
+SIZE (rust/crates/windows-result-0.3.0.crate) = 13536
+SHA256 (rust/crates/windows-strings-0.1.0.crate) = 4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10
+SIZE (rust/crates/windows-strings-0.1.0.crate) = 13832
+SHA256 (rust/crates/windows-strings-0.3.0.crate) = b888f919960b42ea4e11c2f408fadb55f78a9f236d5eef084103c8ce52893491
+SIZE (rust/crates/windows-strings-0.3.0.crate) = 14464
+SHA256 (rust/crates/windows-sys-0.45.0.crate) = 75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0
+SIZE (rust/crates/windows-sys-0.45.0.crate) = 2568659
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
+SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
+SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071
+SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
+SHA256 (rust/crates/windows-targets-0.53.0.crate) = b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b
+SIZE (rust/crates/windows-targets-0.53.0.crate) = 7020
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764
+SIZE (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 782443
+SHA256 (rust/crates/windows_aarch64_msvc-0.42.2.crate) = e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43
+SIZE (rust/crates/windows_aarch64_msvc-0.42.2.crate) = 666981
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
+SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
+SHA256 (rust/crates/windows_aarch64_msvc-0.53.0.crate) = c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c
+SIZE (rust/crates/windows_aarch64_msvc-0.53.0.crate) = 834446
+SHA256 (rust/crates/windows_i686_gnu-0.42.2.crate) = c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f
+SIZE (rust/crates/windows_i686_gnu-0.42.2.crate) = 736236
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
+SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402
+SHA256 (rust/crates/windows_i686_gnu-0.53.0.crate) = c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3
+SIZE (rust/crates/windows_i686_gnu-0.53.0.crate) = 936973
+SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
+SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
+SHA256 (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11
+SIZE (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 854056
+SHA256 (rust/crates/windows_i686_msvc-0.42.2.crate) = 44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060
+SIZE (rust/crates/windows_i686_msvc-0.42.2.crate) = 724951
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
+SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
+SHA256 (rust/crates/windows_i686_msvc-0.53.0.crate) = 581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d
+SIZE (rust/crates/windows_i686_msvc-0.53.0.crate) = 903450
+SHA256 (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36
+SIZE (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 699373
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
+SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
+SHA256 (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba
+SIZE (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 902585
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3
+SIZE (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 364068
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57
+SIZE (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 782434
+SHA256 (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0
+SIZE (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 666936
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
+SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
+SHA256 (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486
+SIZE (rust/crates/windows_x86_64_msvc-0.53.0.crate) = 834400
+SHA256 (rust/crates/winnow-0.6.26.crate) = 1e90edd2ac1aa278a5c4599b1d89cf03074b610800f866d4026dc199d7929a28
+SIZE (rust/crates/winnow-0.6.26.crate) = 167349
+SHA256 (rust/crates/winreg-0.50.0.crate) = 524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1
+SIZE (rust/crates/winreg-0.50.0.crate) = 29703
+SHA256 (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c
+SIZE (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3357
+SHA256 (rust/crates/wmi-0.14.5.crate) = 7787dacdd8e71cbc104658aade4009300777f9b5fda6a75f19145fedb8a18e71
+SIZE (rust/crates/wmi-0.14.5.crate) = 59683
+SHA256 (rust/crates/write16-1.0.0.crate) = d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936
+SIZE (rust/crates/write16-1.0.0.crate) = 7218
+SHA256 (rust/crates/writeable-0.5.5.crate) = 1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51
+SIZE (rust/crates/writeable-0.5.5.crate) = 22354
+SHA256 (rust/crates/x25519-dalek-2.0.1.crate) = c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277
+SIZE (rust/crates/x25519-dalek-2.0.1.crate) = 87820
+SHA256 (rust/crates/x509-parser-0.16.0.crate) = fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69
+SIZE (rust/crates/x509-parser-0.16.0.crate) = 92925
+SHA256 (rust/crates/xattr-1.4.0.crate) = e105d177a3871454f754b33bb0ee637ecaaac997446375fd3e5d43a2ed00c909
+SIZE (rust/crates/xattr-1.4.0.crate) = 12995
+SHA256 (rust/crates/xml-rs-0.8.25.crate) = c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4
+SIZE (rust/crates/xml-rs-0.8.25.crate) = 54947
+SHA256 (rust/crates/xmltree-0.10.3.crate) = d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb
+SIZE (rust/crates/xmltree-0.10.3.crate) = 9219
+SHA256 (rust/crates/yansi-1.0.1.crate) = cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049
+SIZE (rust/crates/yansi-1.0.1.crate) = 75497
+SHA256 (rust/crates/yasna-0.5.2.crate) = e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd
+SIZE (rust/crates/yasna-0.5.2.crate) = 34859
+SHA256 (rust/crates/yerpc-0.6.4.crate) = 1dc24983fbe850227bfc1de89bf8cbfb3e2463afc322e0de2f155c4c23d06445
+SIZE (rust/crates/yerpc-0.6.4.crate) = 22067
+SHA256 (rust/crates/yerpc_derive-0.6.3.crate) = 4d8560d021437420316370db865e44c000bf86380b47cf05e49be9d652042bf5
+SIZE (rust/crates/yerpc_derive-0.6.3.crate) = 8197
+SHA256 (rust/crates/yoke-0.7.5.crate) = 120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40
+SIZE (rust/crates/yoke-0.7.5.crate) = 29673
+SHA256 (rust/crates/yoke-derive-0.7.5.crate) = 2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154
+SIZE (rust/crates/yoke-derive-0.7.5.crate) = 7525
+SHA256 (rust/crates/z32-1.3.0.crate) = 2164e798d9e3d84ee2c91139ace54638059a3b23e361f5c11781c2c6459bde0f
+SIZE (rust/crates/z32-1.3.0.crate) = 3996
+SHA256 (rust/crates/zerocopy-0.7.32.crate) = 74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be
+SIZE (rust/crates/zerocopy-0.7.32.crate) = 151096
+SHA256 (rust/crates/zerocopy-0.8.23.crate) = fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6
+SIZE (rust/crates/zerocopy-0.8.23.crate) = 239977
+SHA256 (rust/crates/zerocopy-derive-0.7.32.crate) = 9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6
+SIZE (rust/crates/zerocopy-derive-0.7.32.crate) = 37623
+SHA256 (rust/crates/zerocopy-derive-0.8.23.crate) = 6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154
+SIZE (rust/crates/zerocopy-derive-0.8.23.crate) = 83885
+SHA256 (rust/crates/zerofrom-0.1.5.crate) = cff3ee08c995dee1859d998dea82f7374f2826091dd9cd47def953cae446cd2e
+SIZE (rust/crates/zerofrom-0.1.5.crate) = 5091
+SHA256 (rust/crates/zerofrom-derive-0.1.5.crate) = 595eed982f7d355beb85837f651fa22e90b3c044842dc7f2c2842c086f295808
+SIZE (rust/crates/zerofrom-derive-0.1.5.crate) = 8285
+SHA256 (rust/crates/zeroize-1.8.1.crate) = ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde
+SIZE (rust/crates/zeroize-1.8.1.crate) = 20029
+SHA256 (rust/crates/zeroize_derive-1.4.2.crate) = ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69
+SIZE (rust/crates/zeroize_derive-1.4.2.crate) = 11141
+SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079
+SIZE (rust/crates/zerovec-0.10.4.crate) = 126398
+SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6
+SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438
+SHA256 (rust/crates/zune-core-0.4.12.crate) = 3f423a2c17029964870cfaabb1f13dfab7d092a62a29a89264f4d36990ca414a
+SIZE (rust/crates/zune-core-0.4.12.crate) = 17355
+SHA256 (rust/crates/zune-jpeg-0.4.14.crate) = 99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028
+SIZE (rust/crates/zune-jpeg-0.4.14.crate) = 63388
+SHA256 (chatmail-core-v1.159.3_GH0.tar.gz) = 260e38f439b245af9b6698181cc1926d7e6bbfe8e5b6daddabfdf78f63915267
+SIZE (chatmail-core-v1.159.3_GH0.tar.gz) = 3235834
diff --git a/net/deltachat-rpc-server/files/patch-Cargo.lock b/net/deltachat-rpc-server/files/patch-Cargo.lock
new file mode 100644
index 000000000000..a31abbe2e7df
--- /dev/null
+++ b/net/deltachat-rpc-server/files/patch-Cargo.lock
@@ -0,0 +1,142 @@
+--- Cargo.lock.orig 2025-05-06 23:38:45 UTC
++++ Cargo.lock
+@@ -1653,9 +1653,9 @@ name = "dynosaur"
+
+ [[package]]
+ name = "dynosaur"
+-version = "0.1.3"
++version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b1b7ff6b5c4d1df9f75c6bcce5cebfa480a448d298b0c83a07b3f5bb318ad10f"
++checksum = "277b2cb52d2df4acece06bb16bc0bb0a006970c7bf504eac2d310927a6f65890"
+ dependencies = [
+ "dynosaur_derive",
+ "trait-variant",
+@@ -1663,9 +1663,9 @@ name = "dynosaur_derive"
+
+ [[package]]
+ name = "dynosaur_derive"
+-version = "0.1.3"
++version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a600ac649c596084163b9bcde422e9973a321dd190b9d8b15dde23986e53f425"
++checksum = "7a4102713839a8c01c77c165bc38ef2e83948f6397fa1e1dcfacec0f07b149d3"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -1995,7 +1995,7 @@ dependencies = [
+ "futures-core",
+ "futures-sink",
+ "nanorand",
+- "spin",
++ "spin 0.9.8",
+ ]
+
+ [[package]]
+@@ -3229,7 +3229,7 @@ dependencies = [
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
+ dependencies = [
+- "spin",
++ "spin 0.9.8",
+ ]
+
+ [[package]]
+@@ -3261,7 +3261,6 @@ dependencies = [
+ checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149"
+ dependencies = [
+ "cc",
+- "openssl-sys",
+ "pkg-config",
+ "vcpkg",
+ ]
+@@ -3893,15 +3892,6 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00
+ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
+
+ [[package]]
+-name = "openssl-src"
+-version = "300.4.2+3.4.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "168ce4e058f975fe43e89d9ccf78ca668601887ae736090aacc23ae353c298e2"
+-dependencies = [
+- "cc",
+-]
+-
+-[[package]]
+ name = "openssl-sys"
+ version = "0.9.107"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -3909,7 +3899,6 @@ dependencies = [
+ dependencies = [
+ "cc",
+ "libc",
+- "openssl-src",
+ "pkg-config",
+ "vcpkg",
+ ]
+@@ -5491,9 +5480,9 @@ name = "shadowsocks"
+
+ [[package]]
+ name = "shadowsocks"
+-version = "1.22.0"
++version = "1.23.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1678a9acd37add020f89bfe05d45b9b8a6e8ad5d09f54ac2af3e0dcf0557b481"
++checksum = "e78db9c9912c90ea7487f49bc149b329b535806bfa12b740fbade73f573a3d9f"
+ dependencies = [
+ "aes",
+ "base64",
+@@ -5509,14 +5498,14 @@ dependencies = [
+ "once_cell",
+ "percent-encoding",
+ "pin-project",
+- "rand 0.8.5",
++ "rand 0.9.0",
+ "sendfd",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "shadowsocks-crypto",
+ "socket2",
+- "spin",
++ "spin 0.10.0",
+ "thiserror 2.0.12",
+ "tokio",
+ "tokio-tfo",
+@@ -5527,9 +5516,9 @@ name = "shadowsocks-crypto"
+
+ [[package]]
+ name = "shadowsocks-crypto"
+-version = "0.5.8"
++version = "0.6.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "bc77ecb3a97509d22751b76665894fcffad2d10df8758f4e3f20c92ccde6bf4f"
++checksum = "bda401a0ad32c82981d8862f2795713618de9bbf9768f03c17d9d145c6d805df"
+ dependencies = [
+ "aes",
+ "aes-gcm",
+@@ -5539,7 +5528,7 @@ dependencies = [
+ "chacha20poly1305",
+ "hkdf",
+ "md-5",
+- "rand 0.8.5",
++ "rand 0.9.0",
+ "ring-compat",
+ "sha1",
+ ]
+@@ -5629,6 +5618,15 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98
+ version = "0.9.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
++dependencies = [
++ "lock_api",
++]
++
++[[package]]
++name = "spin"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591"
+ dependencies = [
+ "lock_api",
+ ]
diff --git a/net/deltachat-rpc-server/files/patch-Cargo.toml b/net/deltachat-rpc-server/files/patch-Cargo.toml
new file mode 100644
index 000000000000..c9a8c5af7b23
--- /dev/null
+++ b/net/deltachat-rpc-server/files/patch-Cargo.toml
@@ -0,0 +1,20 @@
+--- Cargo.toml.orig 2025-04-24 13:44:06 UTC
++++ Cargo.toml
+@@ -91,7 +91,7 @@ sha2 = "0.10"
+ serde = { workspace = true, features = ["derive"] }
+ sha-1 = "0.10"
+ sha2 = "0.10"
+-shadowsocks = { version = "1.22.0", default-features = false, features = ["aead-cipher", "aead-cipher-2022"] }
++shadowsocks = { version = "1.23.1", default-features = false, features = ["aead-cipher", "aead-cipher-2022"] }
+ smallvec = "1.14.0"
+ strum = "0.27"
+ strum_macros = "0.27"
+@@ -201,7 +201,7 @@ vendored = [
+ default = ["vendored"]
+ internals = []
+ vendored = [
+- "rusqlite/bundled-sqlcipher-vendored-openssl"
++ "rusqlite/bundled-sqlcipher"
+ ]
+
+ [lints.rust]
diff --git a/net/deltachat-rpc-server/pkg-descr b/net/deltachat-rpc-server/pkg-descr
new file mode 100644
index 000000000000..5145f109426c
--- /dev/null
+++ b/net/deltachat-rpc-server/pkg-descr
@@ -0,0 +1,4 @@
+deltachat-rpc-server provides the core functionality of DeltaChat as a
+JSON-RPC service that can be interacted with using stdio. This
+service is useful for building custom bots or integrations for the
+DeltaChat platform.
diff --git a/net/dhcpcd/Makefile b/net/dhcpcd/Makefile
index a055b445c774..34649b0cbc36 100644
--- a/net/dhcpcd/Makefile
+++ b/net/dhcpcd/Makefile
@@ -1,5 +1,5 @@
PORTNAME= dhcpcd
-DISTVERSION= 10.2.2
+DISTVERSION= 10.2.3
CATEGORIES= net
MASTER_SITES= https://github.com/NetworkConfiguration/${PORTNAME}/releases/download/v${DISTVERSION}/
diff --git a/net/dhcpcd/distinfo b/net/dhcpcd/distinfo
index 66b2435f6931..232bfeb2f81b 100644
--- a/net/dhcpcd/distinfo
+++ b/net/dhcpcd/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1740499857
-SHA256 (dhcpcd-10.2.2.tar.xz) = 5f257b02f874b3b8cb031e5be79c99cf9cbd4f65eae2a50c9b1beddafb3f51bc
-SIZE (dhcpcd-10.2.2.tar.xz) = 275700
+TIMESTAMP = 1747631204
+SHA256 (dhcpcd-10.2.3.tar.xz) = 4137a382d1a203bffdf8e757bbdfd0032433d06e5c69a3785b88b83251f89616
+SIZE (dhcpcd-10.2.3.tar.xz) = 276216
diff --git a/net/dumbpipe/Makefile b/net/dumbpipe/Makefile
index 80bc58013d11..94ae37689993 100644
--- a/net/dumbpipe/Makefile
+++ b/net/dumbpipe/Makefile
@@ -1,6 +1,6 @@
PORTNAME= dumbpipe
DISTVERSIONPREFIX= v
-DISTVERSION= 0.26.0
+DISTVERSION= 0.27.0
CATEGORIES= net
MAINTAINER= feld@FreeBSD.org
diff --git a/net/dumbpipe/Makefile.crates b/net/dumbpipe/Makefile.crates
index 5f3da0239d55..d17b17479b54 100644
--- a/net/dumbpipe/Makefile.crates
+++ b/net/dumbpipe/Makefile.crates
@@ -1,3 +1,9 @@
+===> License MIT accepted by the user
+===> dumbpipe-0.27.0 depends on file: /usr/local/sbin/pkg - found
+===> Fetching all distfiles required by dumbpipe-0.27.0 for building
+===> Extracting for dumbpipe-0.27.0
+=> SHA256 Checksum OK for n0-computer-dumbpipe-v0.27.0_GH0.tar.gz.
+===> Moving crates to /usr/local/poudriere/ports/default/net/dumbpipe/work/dumbpipe-0.27.0/cargo-crates
CARGO_CRATES= addr2line-0.24.2 \
adler2-2.0.0 \
aead-0.5.2 \
@@ -14,14 +20,16 @@ CARGO_CRATES= addr2line-0.24.2 \
asn1-rs-0.6.2 \
asn1-rs-derive-0.5.1 \
asn1-rs-impl-0.2.0 \
- async-recursion-1.1.1 \
+ async-compat-0.2.4 \
async-trait-0.1.86 \
+ async_io_stream-0.3.3 \
atomic-waker-1.1.2 \
attohttpc-0.24.1 \
autocfg-1.4.0 \
backon-1.4.0 \
backtrace-0.3.74 \
base16ct-0.2.0 \
+ base32-0.5.1 \
base64-0.22.1 \
base64ct-1.6.0 \
bitflags-1.3.2 \
@@ -54,6 +62,7 @@ CARGO_CRATES= addr2line-0.24.2 \
cpufeatures-0.2.17 \
crc-3.2.1 \
crc-catalog-2.4.0 \
+ critical-section-1.2.0 \
crossbeam-channel-0.5.14 \
crossbeam-epoch-0.9.18 \
crossbeam-utils-0.8.21 \
@@ -75,6 +84,7 @@ CARGO_CRATES= addr2line-0.24.2 \
dlopen2-0.5.0 \
document-features-0.2.10 \
duct-0.13.7 \
+ dyn-clone-1.0.19 \
ed25519-2.2.3 \
ed25519-dalek-2.1.1 \
embedded-io-0.4.0 \
@@ -83,17 +93,14 @@ CARGO_CRATES= addr2line-0.24.2 \
enumflags2-0.7.11 \
enumflags2_derive-0.7.11 \
equivalent-1.0.2 \
- erased-serde-0.3.31 \
- erased_set-0.8.0 \
fallible-iterator-0.3.0 \
fastrand-2.3.0 \
fiat-crypto-0.2.9 \
- flume-0.11.1 \
fnv-1.0.7 \
foldhash-0.1.4 \
form_urlencoded-1.2.1 \
futures-0.3.31 \
- futures-buffered-0.2.9 \
+ futures-buffered-0.2.11 \
futures-channel-0.3.31 \
futures-core-0.3.31 \
futures-executor-0.3.31 \
@@ -107,17 +114,16 @@ CARGO_CRATES= addr2line-0.24.2 \
generator-0.8.4 \
generic-array-0.14.7 \
getrandom-0.2.15 \
- getrandom-0.3.1 \
+ getrandom-0.3.3 \
gimli-0.31.1 \
glob-0.3.2 \
gloo-timers-0.3.0 \
h2-0.4.7 \
- hashbrown-0.14.5 \
hashbrown-0.15.2 \
heck-0.5.0 \
hex-0.4.3 \
- hickory-proto-0.25.0-alpha.5 \
- hickory-resolver-0.25.0-alpha.5 \
+ hickory-proto-0.25.2 \
+ hickory-resolver-0.25.2 \
hmac-0.12.1 \
hmac-sha1-0.2.2 \
hmac-sha256-1.1.8 \
@@ -131,7 +137,7 @@ CARGO_CRATES= addr2line-0.24.2 \
httpdate-1.0.3 \
hyper-1.6.0 \
hyper-rustls-0.27.5 \
- hyper-util-0.1.10 \
+ hyper-util-0.1.11 \
iana-time-zone-0.1.61 \
iana-time-zone-haiku-0.1.2 \
icu_collections-1.5.0 \
@@ -146,27 +152,27 @@ CARGO_CRATES= addr2line-0.24.2 \
icu_provider_macros-1.5.0 \
idna-1.0.3 \
idna_adapter-1.2.0 \
- igd-next-0.15.1 \
+ igd-next-0.16.1 \
indexmap-2.7.1 \
inout-0.1.3 \
instant-0.1.13 \
ipconfig-0.3.2 \
ipnet-2.11.0 \
- iroh-0.34.0 \
- iroh-base-0.34.0 \
- iroh-metrics-0.32.0 \
- iroh-net-report-0.34.0 \
+ iroh-0.35.0 \
+ iroh-base-0.35.0 \
+ iroh-metrics-0.34.0 \
+ iroh-metrics-derive-0.2.0 \
iroh-quinn-0.13.0 \
iroh-quinn-proto-0.13.0 \
iroh-quinn-udp-0.5.7 \
- iroh-relay-0.34.0 \
+ iroh-relay-0.35.0 \
is_terminal_polyfill-1.70.1 \
itoa-1.0.14 \
jni-0.21.1 \
jni-sys-0.3.0 \
js-sys-0.3.77 \
lazy_static-1.5.0 \
- libc-0.2.169 \
+ libc-0.2.172 \
litemap-0.7.4 \
litrs-0.4.1 \
lock_api-0.4.12 \
@@ -174,6 +180,7 @@ CARGO_CRATES= addr2line-0.24.2 \
loom-0.5.6 \
loom-0.7.2 \
lru-0.12.5 \
+ lru-0.13.0 \
match_cfg-0.1.0 \
matchers-0.1.0 \
md5-0.7.0 \
@@ -183,22 +190,20 @@ CARGO_CRATES= addr2line-0.24.2 \
miniz_oxide-0.8.4 \
mio-1.0.3 \
moka-0.12.10 \
- n0-future-0.1.2 \
- nanorand-0.7.0 \
+ n0-future-0.1.3 \
+ nested_enum_utils-0.2.2 \
netdev-0.31.0 \
netlink-packet-core-0.7.0 \
netlink-packet-route-0.17.1 \
- netlink-packet-route-0.19.0 \
+ netlink-packet-route-0.23.0 \
netlink-packet-utils-0.5.2 \
netlink-proto-0.11.5 \
netlink-sys-0.8.7 \
- netwatch-0.3.0 \
- netwatch-0.4.0 \
- nix-0.26.4 \
- nix-0.27.1 \
+ netwatch-0.5.0 \
nix-0.29.0 \
no-std-net-0.6.0 \
nom-7.1.3 \
+ ntimestamp-1.0.0 \
nu-ansi-term-0.46.0 \
num-bigint-0.4.6 \
num-conv-0.1.0 \
@@ -224,11 +229,12 @@ CARGO_CRATES= addr2line-0.24.2 \
pest_derive-2.7.15 \
pest_generator-2.7.15 \
pest_meta-2.7.15 \
+ pharos-0.5.3 \
pin-project-1.1.9 \
pin-project-internal-1.1.9 \
pin-project-lite-0.2.16 \
pin-utils-0.1.0 \
- pkarr-2.3.1 \
+ pkarr-3.7.1 \
pkcs8-0.10.2 \
pnet_base-0.34.0 \
pnet_macros-0.34.0 \
@@ -236,14 +242,14 @@ CARGO_CRATES= addr2line-0.24.2 \
pnet_packet-0.34.0 \
poly1305-0.8.0 \
portable-atomic-1.10.0 \
- portmapper-0.4.0 \
+ portmapper-0.5.0 \
postcard-1.1.1 \
postcard-derive-0.1.2 \
powerfmt-0.2.0 \
ppv-lite86-0.2.20 \
- precis-core-0.1.10 \
- precis-profiles-0.1.11 \
- precis-tools-0.1.8 \
+ precis-core-0.1.11 \
+ precis-profiles-0.1.12 \
+ precis-tools-0.1.9 \
proc-macro-crate-3.2.0 \
proc-macro2-1.0.93 \
quick-error-1.2.3 \
@@ -252,6 +258,7 @@ CARGO_CRATES= addr2line-0.24.2 \
quinn-udp-0.5.10 \
quote-1.0.38 \
quoted-string-parser-0.1.0 \
+ r-efi-5.2.0 \
rand-0.8.5 \
rand-0.9.0 \
rand_chacha-0.3.1 \
@@ -266,11 +273,9 @@ CARGO_CRATES= addr2line-0.24.2 \
regex-lite-0.1.6 \
regex-syntax-0.6.29 \
regex-syntax-0.8.5 \
- reqwest-0.12.12 \
+ reqwest-0.12.15 \
resolv-conf-0.7.0 \
ring-0.17.9 \
- rtnetlink-0.13.1 \
- rtnetlink-0.14.1 \
rustc-demangle-0.1.24 \
rustc-hash-2.1.1 \
rustc_version-0.4.1 \
@@ -294,32 +299,33 @@ CARGO_CRATES= addr2line-0.24.2 \
self_cell-1.1.0 \
semver-1.0.25 \
send_wrapper-0.6.0 \
- serde-1.0.217 \
- serde_derive-1.0.217 \
+ serde-1.0.219 \
+ serde_derive-1.0.219 \
serde_json-1.0.138 \
serde_urlencoded-0.7.1 \
serdect-0.2.0 \
sha1-0.10.6 \
+ sha1_smol-1.0.1 \
sha2-0.10.8 \
sharded-slab-0.1.7 \
shared_child-1.0.1 \
shlex-1.3.0 \
signal-hook-registry-1.4.2 \
signature-2.2.0 \
+ simdutf8-0.1.5 \
simple-dns-0.9.3 \
slab-0.4.9 \
smallvec-1.13.2 \
- socket2-0.5.8 \
+ snafu-0.8.5 \
+ snafu-derive-0.8.5 \
+ socket2-0.5.9 \
spin-0.9.8 \
spki-0.7.3 \
stable_deref_trait-1.2.0 \
strsim-0.11.1 \
- struct_iterable-0.1.1 \
- struct_iterable_derive-0.1.0 \
- struct_iterable_internal-0.1.1 \
strum-0.26.3 \
strum_macros-0.26.4 \
- stun-rs-0.1.9 \
+ stun-rs-0.1.11 \
subtle-2.6.1 \
surge-ping-0.8.1 \
syn-1.0.109 \
@@ -340,13 +346,12 @@ CARGO_CRATES= addr2line-0.24.2 \
tinystr-0.7.6 \
tinyvec-1.8.1 \
tinyvec_macros-0.1.1 \
- tokio-1.43.0 \
+ tokio-1.45.0 \
tokio-macros-2.5.0 \
tokio-rustls-0.26.1 \
tokio-stream-0.1.17 \
- tokio-tungstenite-0.24.0 \
- tokio-tungstenite-wasm-0.4.0 \
- tokio-util-0.7.13 \
+ tokio-util-0.7.15 \
+ tokio-websockets-0.11.4 \
toml_datetime-0.6.8 \
toml_edit-0.22.24 \
tower-0.5.2 \
@@ -358,7 +363,6 @@ CARGO_CRATES= addr2line-0.24.2 \
tracing-log-0.2.0 \
tracing-subscriber-0.3.19 \
try-lock-0.2.5 \
- tungstenite-0.24.0 \
typenum-1.17.0 \
ucd-parse-0.1.13 \
ucd-trie-0.1.7 \
@@ -367,9 +371,7 @@ CARGO_CRATES= addr2line-0.24.2 \
unicode-xid-0.2.6 \
universal-hash-0.5.1 \
untrusted-0.9.0 \
- ureq-2.12.1 \
url-2.5.4 \
- utf-8-0.7.6 \
utf16_iter-1.0.5 \
utf8_iter-1.0.4 \
utf8parse-0.2.2 \
@@ -379,7 +381,7 @@ CARGO_CRATES= addr2line-0.24.2 \
walkdir-2.5.0 \
want-0.3.1 \
wasi-0.11.0+wasi-snapshot-preview1 \
- wasi-0.13.3+wasi-0.2.2 \
+ wasi-0.14.2+wasi-0.2.4 \
wasm-bindgen-0.2.100 \
wasm-bindgen-backend-0.2.100 \
wasm-bindgen-futures-0.4.50 \
@@ -406,7 +408,7 @@ CARGO_CRATES= addr2line-0.24.2 \
windows-implement-0.59.0 \
windows-interface-0.58.0 \
windows-interface-0.59.0 \
- windows-registry-0.2.0 \
+ windows-registry-0.4.0 \
windows-result-0.2.0 \
windows-result-0.3.0 \
windows-strings-0.1.0 \
@@ -451,10 +453,11 @@ CARGO_CRATES= addr2line-0.24.2 \
windows_x86_64_msvc-0.53.0 \
winnow-0.7.2 \
winreg-0.50.0 \
- wit-bindgen-rt-0.33.0 \
+ wit-bindgen-rt-0.39.0 \
wmi-0.14.5 \
write16-1.0.0 \
writeable-0.5.5 \
+ ws_stream_wasm-0.7.4 \
x509-parser-0.16.0 \
xml-rs-0.8.25 \
xmltree-0.10.3 \
diff --git a/net/dumbpipe/distinfo b/net/dumbpipe/distinfo
index cecaf9deaa21..796cb7af8f6d 100644
--- a/net/dumbpipe/distinfo
+++ b/net/dumbpipe/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1744346483
+TIMESTAMP = 1747162850
SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
@@ -31,10 +31,12 @@ SHA256 (rust/crates/asn1-rs-derive-0.5.1.crate) = 965c2d33e53cb6b267e148a4cb0760
SIZE (rust/crates/asn1-rs-derive-0.5.1.crate) = 9692
SHA256 (rust/crates/asn1-rs-impl-0.2.0.crate) = 7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7
SIZE (rust/crates/asn1-rs-impl-0.2.0.crate) = 2261
-SHA256 (rust/crates/async-recursion-1.1.1.crate) = 3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11
-SIZE (rust/crates/async-recursion-1.1.1.crate) = 14874
+SHA256 (rust/crates/async-compat-0.2.4.crate) = 7bab94bde396a3f7b4962e396fdad640e241ed797d4d8d77fc8c237d14c58fc0
+SIZE (rust/crates/async-compat-0.2.4.crate) = 11279
SHA256 (rust/crates/async-trait-0.1.86.crate) = 644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d
SIZE (rust/crates/async-trait-0.1.86.crate) = 31946
+SHA256 (rust/crates/async_io_stream-0.3.3.crate) = b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c
+SIZE (rust/crates/async_io_stream-0.3.3.crate) = 15111
SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0
SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422
SHA256 (rust/crates/attohttpc-0.24.1.crate) = 8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2
@@ -47,6 +49,8 @@ SHA256 (rust/crates/backtrace-0.3.74.crate) = 8d82cb332cdfaed17ae235a638438ac4d4
SIZE (rust/crates/backtrace-0.3.74.crate) = 88516
SHA256 (rust/crates/base16ct-0.2.0.crate) = 4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf
SIZE (rust/crates/base16ct-0.2.0.crate) = 10240
+SHA256 (rust/crates/base32-0.5.1.crate) = 022dfe9eb35f19ebbcb51e0b40a5ab759f46ad60cadf7297e0bd085afb50e076
+SIZE (rust/crates/base32-0.5.1.crate) = 9238
SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
SIZE (rust/crates/base64-0.22.1.crate) = 81597
SHA256 (rust/crates/base64ct-1.6.0.crate) = 8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b
@@ -111,6 +115,8 @@ SHA256 (rust/crates/crc-3.2.1.crate) = 69e6e4d7b33a94f0991c26729976b10ebde1d34c3
SIZE (rust/crates/crc-3.2.1.crate) = 15070
SHA256 (rust/crates/crc-catalog-2.4.0.crate) = 19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5
SIZE (rust/crates/crc-catalog-2.4.0.crate) = 10155
+SHA256 (rust/crates/critical-section-1.2.0.crate) = 790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b
+SIZE (rust/crates/critical-section-1.2.0.crate) = 19133
SHA256 (rust/crates/crossbeam-channel-0.5.14.crate) = 06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471
SIZE (rust/crates/crossbeam-channel-0.5.14.crate) = 92728
SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
@@ -153,6 +159,8 @@ SHA256 (rust/crates/document-features-0.2.10.crate) = cb6969eaabd2421f8a2775cfd2
SIZE (rust/crates/document-features-0.2.10.crate) = 14005
SHA256 (rust/crates/duct-0.13.7.crate) = e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c
SIZE (rust/crates/duct-0.13.7.crate) = 30055
+SHA256 (rust/crates/dyn-clone-1.0.19.crate) = 1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005
+SIZE (rust/crates/dyn-clone-1.0.19.crate) = 12896
SHA256 (rust/crates/ed25519-2.2.3.crate) = 115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53
SIZE (rust/crates/ed25519-2.2.3.crate) = 17802
SHA256 (rust/crates/ed25519-dalek-2.1.1.crate) = 4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871
@@ -169,18 +177,12 @@ SHA256 (rust/crates/enumflags2_derive-0.7.11.crate) = fc4caf64a58d7a6d65ab00639b
SIZE (rust/crates/enumflags2_derive-0.7.11.crate) = 8524
SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
-SHA256 (rust/crates/erased-serde-0.3.31.crate) = 6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c
-SIZE (rust/crates/erased-serde-0.3.31.crate) = 24182
-SHA256 (rust/crates/erased_set-0.8.0.crate) = a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5
-SIZE (rust/crates/erased_set-0.8.0.crate) = 4501
SHA256 (rust/crates/fallible-iterator-0.3.0.crate) = 2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649
SIZE (rust/crates/fallible-iterator-0.3.0.crate) = 19639
SHA256 (rust/crates/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
SHA256 (rust/crates/fiat-crypto-0.2.9.crate) = 28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d
SIZE (rust/crates/fiat-crypto-0.2.9.crate) = 495390
-SHA256 (rust/crates/flume-0.11.1.crate) = da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095
-SIZE (rust/crates/flume-0.11.1.crate) = 67947
SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
SIZE (rust/crates/fnv-1.0.7.crate) = 11266
SHA256 (rust/crates/foldhash-0.1.4.crate) = a0d2fde1f7b3d48b8395d5f2de76c18a528bd6a9cdde438df747bfcba3e05d6f
@@ -189,8 +191,8 @@ SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd
SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
SHA256 (rust/crates/futures-0.3.31.crate) = 65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876
SIZE (rust/crates/futures-0.3.31.crate) = 54953
-SHA256 (rust/crates/futures-buffered-0.2.9.crate) = 34acda8ae8b63fbe0b2195c998b180cff89a8212fb2622a78b572a9f1c6f7684
-SIZE (rust/crates/futures-buffered-0.2.9.crate) = 30905
+SHA256 (rust/crates/futures-buffered-0.2.11.crate) = fe940397c8b744b9c2c974791c2c08bca2c3242ce0290393249e98f215a00472
+SIZE (rust/crates/futures-buffered-0.2.11.crate) = 43021
SHA256 (rust/crates/futures-channel-0.3.31.crate) = 2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10
SIZE (rust/crates/futures-channel-0.3.31.crate) = 31971
SHA256 (rust/crates/futures-core-0.3.31.crate) = 05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e
@@ -217,8 +219,8 @@ SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad
SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
-SHA256 (rust/crates/getrandom-0.3.1.crate) = 43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8
-SIZE (rust/crates/getrandom-0.3.1.crate) = 42449
+SHA256 (rust/crates/getrandom-0.3.3.crate) = 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4
+SIZE (rust/crates/getrandom-0.3.3.crate) = 49493
SHA256 (rust/crates/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f
SIZE (rust/crates/gimli-0.31.1.crate) = 279515
SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2
@@ -227,18 +229,16 @@ SHA256 (rust/crates/gloo-timers-0.3.0.crate) = bbb143cf96099802033e0d4f4963b19fd
SIZE (rust/crates/gloo-timers-0.3.0.crate) = 5530
SHA256 (rust/crates/h2-0.4.7.crate) = ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e
SIZE (rust/crates/h2-0.4.7.crate) = 174114
-SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1
-SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498
SHA256 (rust/crates/hashbrown-0.15.2.crate) = bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289
SIZE (rust/crates/hashbrown-0.15.2.crate) = 138478
SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
SIZE (rust/crates/heck-0.5.0.crate) = 11517
SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
SIZE (rust/crates/hex-0.4.3.crate) = 13299
-SHA256 (rust/crates/hickory-proto-0.25.0-alpha.5.crate) = 1d00147af6310f4392a31680db52a3ed45a2e0f68eb18e8c3fe5537ecc96d9e2
-SIZE (rust/crates/hickory-proto-0.25.0-alpha.5.crate) = 405101
-SHA256 (rust/crates/hickory-resolver-0.25.0-alpha.5.crate) = 5762f69ebdbd4ddb2e975cd24690bf21fe6b2604039189c26acddbc427f12887
-SIZE (rust/crates/hickory-resolver-0.25.0-alpha.5.crate) = 89327
+SHA256 (rust/crates/hickory-proto-0.25.2.crate) = f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502
+SIZE (rust/crates/hickory-proto-0.25.2.crate) = 417616
+SHA256 (rust/crates/hickory-resolver-0.25.2.crate) = dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a
+SIZE (rust/crates/hickory-resolver-0.25.2.crate) = 91883
SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e
SIZE (rust/crates/hmac-0.12.1.crate) = 42657
SHA256 (rust/crates/hmac-sha1-0.2.2.crate) = 6b05da5b9e5d4720bfb691eebb2b9d42da3570745da71eac8a1f5bb7e59aab88
@@ -265,8 +265,8 @@ SHA256 (rust/crates/hyper-1.6.0.crate) = cc2b571658e38e0c01b1fdca3bbbe93c00d3d71
SIZE (rust/crates/hyper-1.6.0.crate) = 153923
SHA256 (rust/crates/hyper-rustls-0.27.5.crate) = 2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2
SIZE (rust/crates/hyper-rustls-0.27.5.crate) = 34660
-SHA256 (rust/crates/hyper-util-0.1.10.crate) = df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4
-SIZE (rust/crates/hyper-util-0.1.10.crate) = 72887
+SHA256 (rust/crates/hyper-util-0.1.11.crate) = 497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2
+SIZE (rust/crates/hyper-util-0.1.11.crate) = 75973
SHA256 (rust/crates/iana-time-zone-0.1.61.crate) = 235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220
SIZE (rust/crates/iana-time-zone-0.1.61.crate) = 27685
SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
@@ -295,8 +295,8 @@ SHA256 (rust/crates/idna-1.0.3.crate) = 686f825264d630750a544639377bae737628043f
SIZE (rust/crates/idna-1.0.3.crate) = 142515
SHA256 (rust/crates/idna_adapter-1.2.0.crate) = daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71
SIZE (rust/crates/idna_adapter-1.2.0.crate) = 8206
-SHA256 (rust/crates/igd-next-0.15.1.crate) = 76b0d7d4541def58a37bf8efc559683f21edce7c82f0d866c93ac21f7e098f93
-SIZE (rust/crates/igd-next-0.15.1.crate) = 36501
+SHA256 (rust/crates/igd-next-0.16.1.crate) = d06464e726471718db9ad3fefc020529fabcde03313a0fc3967510e2db5add12
+SIZE (rust/crates/igd-next-0.16.1.crate) = 38531
SHA256 (rust/crates/indexmap-2.7.1.crate) = 8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652
SIZE (rust/crates/indexmap-2.7.1.crate) = 88644
SHA256 (rust/crates/inout-0.1.3.crate) = a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5
@@ -307,22 +307,22 @@ SHA256 (rust/crates/ipconfig-0.3.2.crate) = b58db92f96b720de98181bbbe63c831e8700
SIZE (rust/crates/ipconfig-0.3.2.crate) = 24468
SHA256 (rust/crates/ipnet-2.11.0.crate) = 469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130
SIZE (rust/crates/ipnet-2.11.0.crate) = 29718
-SHA256 (rust/crates/iroh-0.34.0.crate) = 6b7224d4eeec6c8b5b1a9b2347a4dff3588834a7fb17233044bff3e90e7b293d
-SIZE (rust/crates/iroh-0.34.0.crate) = 219225
-SHA256 (rust/crates/iroh-base-0.34.0.crate) = 02bf2374c0f1d01cde6e60de7505e42a604acda1a1bb3f7be19806e466055517
-SIZE (rust/crates/iroh-base-0.34.0.crate) = 18047
-SHA256 (rust/crates/iroh-metrics-0.32.0.crate) = c0f7cd1ffe3b152a5f4f4c1880e01e07d96001f20e02cc143cb7842987c616b3
-SIZE (rust/crates/iroh-metrics-0.32.0.crate) = 34357
-SHA256 (rust/crates/iroh-net-report-0.34.0.crate) = 63407d73331e8e38980be7e39b1db8e173fc28545b3ea0c48c9a718f95877b8e
-SIZE (rust/crates/iroh-net-report-0.34.0.crate) = 73156
+SHA256 (rust/crates/iroh-0.35.0.crate) = 6ca758f4ce39ae3f07de922be6c73de6a48a07f39554e78b5745585652ce38f5
+SIZE (rust/crates/iroh-0.35.0.crate) = 268884
+SHA256 (rust/crates/iroh-base-0.35.0.crate) = f91ac4aaab68153d726c4e6b39c30f9f9253743f0e25664e52f4caeb46f48d11
+SIZE (rust/crates/iroh-base-0.35.0.crate) = 18115
+SHA256 (rust/crates/iroh-metrics-0.34.0.crate) = f70466f14caff7420a14373676947e25e2917af6a5b1bec45825beb2bf1eb6a7
+SIZE (rust/crates/iroh-metrics-0.34.0.crate) = 40400
+SHA256 (rust/crates/iroh-metrics-derive-0.2.0.crate) = 8d12f5c45c4ed2436302a4e03cad9a0ad34b2962ad0c5791e1019c0ee30eeb09
+SIZE (rust/crates/iroh-metrics-derive-0.2.0.crate) = 2945
SHA256 (rust/crates/iroh-quinn-0.13.0.crate) = 76c6245c9ed906506ab9185e8d7f64857129aee4f935e899f398a3bd3b70338d
SIZE (rust/crates/iroh-quinn-0.13.0.crate) = 78548
SHA256 (rust/crates/iroh-quinn-proto-0.13.0.crate) = 929d5d8fa77d5c304d3ee7cae9aede31f13908bd049f9de8c7c0094ad6f7c535
SIZE (rust/crates/iroh-quinn-proto-0.13.0.crate) = 224474
SHA256 (rust/crates/iroh-quinn-udp-0.5.7.crate) = c53afaa1049f7c83ea1331f5ebb9e6ebc5fdd69c468b7a22dd598b02c9bcc973
SIZE (rust/crates/iroh-quinn-udp-0.5.7.crate) = 25601
-SHA256 (rust/crates/iroh-relay-0.34.0.crate) = 21d282c04a71a83a90b8fe6872ba30ae341853255aa908375a3e6181f7215d7b
-SIZE (rust/crates/iroh-relay-0.34.0.crate) = 110794
+SHA256 (rust/crates/iroh-relay-0.35.0.crate) = c63f122cdfaa4b4e0e7d6d3921d2b878f42a0c6d3ee5a29456dc3f5ab5ec931f
+SIZE (rust/crates/iroh-relay-0.35.0.crate) = 113963
SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
SHA256 (rust/crates/itoa-1.0.14.crate) = d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674
@@ -335,8 +335,8 @@ SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec9374296
SIZE (rust/crates/js-sys-0.3.77.crate) = 55538
SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
-SHA256 (rust/crates/libc-0.2.169.crate) = b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a
-SIZE (rust/crates/libc-0.2.169.crate) = 757901
+SHA256 (rust/crates/libc-0.2.172.crate) = d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa
+SIZE (rust/crates/libc-0.2.172.crate) = 791646
SHA256 (rust/crates/litemap-0.7.4.crate) = 4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104
SIZE (rust/crates/litemap-0.7.4.crate) = 28257
SHA256 (rust/crates/litrs-0.4.1.crate) = b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5
@@ -351,6 +351,8 @@ SHA256 (rust/crates/loom-0.7.2.crate) = 419e0dc8046cb947daa77eb95ae174acfbddb767
SIZE (rust/crates/loom-0.7.2.crate) = 73989
SHA256 (rust/crates/lru-0.12.5.crate) = 234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38
SIZE (rust/crates/lru-0.12.5.crate) = 16047
+SHA256 (rust/crates/lru-0.13.0.crate) = 227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465
+SIZE (rust/crates/lru-0.13.0.crate) = 16305
SHA256 (rust/crates/match_cfg-0.1.0.crate) = ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4
SIZE (rust/crates/match_cfg-0.1.0.crate) = 7153
SHA256 (rust/crates/matchers-0.1.0.crate) = 8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558
@@ -369,38 +371,34 @@ SHA256 (rust/crates/mio-1.0.3.crate) = 2886843bf800fba2e3377cff24abf6379b4c4d5c6
SIZE (rust/crates/mio-1.0.3.crate) = 103703
SHA256 (rust/crates/moka-0.12.10.crate) = a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926
SIZE (rust/crates/moka-0.12.10.crate) = 253622
-SHA256 (rust/crates/n0-future-0.1.2.crate) = 399e11dc3b0e8d9d65b27170d22f5d779d52d9bed888db70d7e0c2c7ce3dfc52
-SIZE (rust/crates/n0-future-0.1.2.crate) = 16947
-SHA256 (rust/crates/nanorand-0.7.0.crate) = 6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3
-SIZE (rust/crates/nanorand-0.7.0.crate) = 18437
+SHA256 (rust/crates/n0-future-0.1.3.crate) = 7bb0e5d99e681ab3c938842b96fcb41bf8a7bb4bfdb11ccbd653a7e83e06c794
+SIZE (rust/crates/n0-future-0.1.3.crate) = 23690
+SHA256 (rust/crates/nested_enum_utils-0.2.2.crate) = 43fa9161ed44d30e9702fe42bd78693bceac0fed02f647da749f36109023d3a3
+SIZE (rust/crates/nested_enum_utils-0.2.2.crate) = 12817
SHA256 (rust/crates/netdev-0.31.0.crate) = f901362e84cd407be6f8cd9d3a46bccf09136b095792785401ea7d283c79b91d
SIZE (rust/crates/netdev-0.31.0.crate) = 27896
SHA256 (rust/crates/netlink-packet-core-0.7.0.crate) = 72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4
SIZE (rust/crates/netlink-packet-core-0.7.0.crate) = 16718
SHA256 (rust/crates/netlink-packet-route-0.17.1.crate) = 053998cea5a306971f88580d0829e90f270f940befd7cf928da179d4187a5a66
SIZE (rust/crates/netlink-packet-route-0.17.1.crate) = 115709
-SHA256 (rust/crates/netlink-packet-route-0.19.0.crate) = 74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4
-SIZE (rust/crates/netlink-packet-route-0.19.0.crate) = 137468
+SHA256 (rust/crates/netlink-packet-route-0.23.0.crate) = 0800eae8638a299eaa67476e1c6b6692922273e0f7939fd188fc861c837b9cd2
+SIZE (rust/crates/netlink-packet-route-0.23.0.crate) = 174634
SHA256 (rust/crates/netlink-packet-utils-0.5.2.crate) = 0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34
SIZE (rust/crates/netlink-packet-utils-0.5.2.crate) = 7970
SHA256 (rust/crates/netlink-proto-0.11.5.crate) = 72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60
SIZE (rust/crates/netlink-proto-0.11.5.crate) = 23793
SHA256 (rust/crates/netlink-sys-0.8.7.crate) = 16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23
SIZE (rust/crates/netlink-sys-0.8.7.crate) = 23701
-SHA256 (rust/crates/netwatch-0.3.0.crate) = 64da82edf903649e6cb6a77b5a6f7fe01387d8865065d411d139018510880302
-SIZE (rust/crates/netwatch-0.3.0.crate) = 39256
-SHA256 (rust/crates/netwatch-0.4.0.crate) = 0b7879c2cfdf30d92f2be89efa3169b3d78107e3ab7f7b9a37157782569314e1
-SIZE (rust/crates/netwatch-0.4.0.crate) = 46769
-SHA256 (rust/crates/nix-0.26.4.crate) = 598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b
-SIZE (rust/crates/nix-0.26.4.crate) = 279099
-SHA256 (rust/crates/nix-0.27.1.crate) = 2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053
-SIZE (rust/crates/nix-0.27.1.crate) = 286494
+SHA256 (rust/crates/netwatch-0.5.0.crate) = 67eeaa5f7505c93c5a9b35ba84fd21fb8aa3f24678c76acfe8716af7862fb07a
+SIZE (rust/crates/netwatch-0.5.0.crate) = 48462
SHA256 (rust/crates/nix-0.29.0.crate) = 71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46
SIZE (rust/crates/nix-0.29.0.crate) = 318248
SHA256 (rust/crates/no-std-net-0.6.0.crate) = 43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65
SIZE (rust/crates/no-std-net-0.6.0.crate) = 30191
SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/ntimestamp-1.0.0.crate) = c50f94c405726d3e0095e89e72f75ce7f6587b94a8bd8dc8054b73f65c0fd68c
+SIZE (rust/crates/ntimestamp-1.0.0.crate) = 5925
SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84
SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311
SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
@@ -451,6 +449,8 @@ SHA256 (rust/crates/pest_generator-2.7.15.crate) = 7d1396fd3a870fc7838768d171b46
SIZE (rust/crates/pest_generator-2.7.15.crate) = 18417
SHA256 (rust/crates/pest_meta-2.7.15.crate) = e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea
SIZE (rust/crates/pest_meta-2.7.15.crate) = 42121
+SHA256 (rust/crates/pharos-0.5.3.crate) = e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414
+SIZE (rust/crates/pharos-0.5.3.crate) = 26028
SHA256 (rust/crates/pin-project-1.1.9.crate) = dfe2e71e1471fe07709406bf725f710b02927c9c54b2b5b2ec0e8087d97c327d
SIZE (rust/crates/pin-project-1.1.9.crate) = 56299
SHA256 (rust/crates/pin-project-internal-1.1.9.crate) = f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67
@@ -459,8 +459,8 @@ SHA256 (rust/crates/pin-project-lite-0.2.16.crate) = 3b3cff922bd51709b605d9ead9a
SIZE (rust/crates/pin-project-lite-0.2.16.crate) = 30504
SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
-SHA256 (rust/crates/pkarr-2.3.1.crate) = 92eff194c72f00f3076855b413ad2d940e3a6e307fa697e5c7733e738341aed4
-SIZE (rust/crates/pkarr-2.3.1.crate) = 34844
+SHA256 (rust/crates/pkarr-3.7.1.crate) = e32222ae3d617bf92414db29085f8a959a4515effce916e038e9399a335a0d6d
+SIZE (rust/crates/pkarr-3.7.1.crate) = 66806
SHA256 (rust/crates/pkcs8-0.10.2.crate) = f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7
SIZE (rust/crates/pkcs8-0.10.2.crate) = 26360
SHA256 (rust/crates/pnet_base-0.34.0.crate) = fe4cf6fb3ab38b68d01ab2aea03ed3d1132b4868fa4e06285f29f16da01c5f4c
@@ -475,8 +475,8 @@ SHA256 (rust/crates/poly1305-0.8.0.crate) = 8159bd90725d2df49889a078b54f4f79e87f
SIZE (rust/crates/poly1305-0.8.0.crate) = 32633
SHA256 (rust/crates/portable-atomic-1.10.0.crate) = 280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6
SIZE (rust/crates/portable-atomic-1.10.0.crate) = 174760
-SHA256 (rust/crates/portmapper-0.4.0.crate) = b715da165f399be093fecb2ca774b00713a3b32f6b27e0752fbf255e3be622af
-SIZE (rust/crates/portmapper-0.4.0.crate) = 37085
+SHA256 (rust/crates/portmapper-0.5.0.crate) = 7d6db66007eac4a0ec8331d0d20c734bd64f6445d64bbaf0d0a27fea7a054e36
+SIZE (rust/crates/portmapper-0.5.0.crate) = 39101
SHA256 (rust/crates/postcard-1.1.1.crate) = 170a2601f67cc9dba8edd8c4870b15f71a6a2dc196daec8c83f72b59dff628a8
SIZE (rust/crates/postcard-1.1.1.crate) = 35639
SHA256 (rust/crates/postcard-derive-0.1.2.crate) = 0239fa9c1d225d4b7eb69925c25c5e082307a141e470573fbbe3a817ce6a7a37
@@ -485,12 +485,12 @@ SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff9416
SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
SHA256 (rust/crates/ppv-lite86-0.2.20.crate) = 77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04
SIZE (rust/crates/ppv-lite86-0.2.20.crate) = 22478
-SHA256 (rust/crates/precis-core-0.1.10.crate) = 25a414cabc93f5f45d53463e73b3d89d3c5c0dc4a34dbf6901f0c6358f017203
-SIZE (rust/crates/precis-core-0.1.10.crate) = 455279
-SHA256 (rust/crates/precis-profiles-0.1.11.crate) = f58e2841ef58164e2626464d4fde67fa301d5e2c78a10300c1756312a03b169f
-SIZE (rust/crates/precis-profiles-0.1.11.crate) = 284789
-SHA256 (rust/crates/precis-tools-0.1.8.crate) = 016da884bc4c2c4670211641abef402d15fa2b06c6e9088ff270dac93675aee2
-SIZE (rust/crates/precis-tools-0.1.8.crate) = 18278
+SHA256 (rust/crates/precis-core-0.1.11.crate) = 9c2e7b31f132e0c6f8682cfb7bf4a5340dbe925b7986618d0826a56dfe0c8e56
+SIZE (rust/crates/precis-core-0.1.11.crate) = 464133
+SHA256 (rust/crates/precis-profiles-0.1.12.crate) = dc4f67f78f50388f03494794766ba824a704db16fb5d400fe8d545fa7bc0d3f1
+SIZE (rust/crates/precis-profiles-0.1.12.crate) = 324842
+SHA256 (rust/crates/precis-tools-0.1.9.crate) = 6cc1eb2d5887ac7bfd2c0b745764db89edb84b856e4214e204ef48ef96d10c4a
+SIZE (rust/crates/precis-tools-0.1.9.crate) = 27293
SHA256 (rust/crates/proc-macro-crate-3.2.0.crate) = 8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b
SIZE (rust/crates/proc-macro-crate-3.2.0.crate) = 11164
SHA256 (rust/crates/proc-macro2-1.0.93.crate) = 60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99
@@ -507,6 +507,8 @@ SHA256 (rust/crates/quote-1.0.38.crate) = 0e4dccaaaf89514f546c693ddc140f729f958c
SIZE (rust/crates/quote-1.0.38.crate) = 31252
SHA256 (rust/crates/quoted-string-parser-0.1.0.crate) = 0dc75379cdb451d001f1cb667a9f74e8b355e9df84cc5193513cbe62b96fc5e9
SIZE (rust/crates/quoted-string-parser-0.1.0.crate) = 3623
+SHA256 (rust/crates/r-efi-5.2.0.crate) = 74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5
+SIZE (rust/crates/r-efi-5.2.0.crate) = 64764
SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
SIZE (rust/crates/rand-0.8.5.crate) = 87113
SHA256 (rust/crates/rand-0.9.0.crate) = 3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94
@@ -535,16 +537,12 @@ SHA256 (rust/crates/regex-syntax-0.6.29.crate) = f162c6dd7b008981e4d40210aca20b4
SIZE (rust/crates/regex-syntax-0.6.29.crate) = 299752
SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c
SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541
-SHA256 (rust/crates/reqwest-0.12.12.crate) = 43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da
-SIZE (rust/crates/reqwest-0.12.12.crate) = 193321
+SHA256 (rust/crates/reqwest-0.12.15.crate) = d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb
+SIZE (rust/crates/reqwest-0.12.15.crate) = 199320
SHA256 (rust/crates/resolv-conf-0.7.0.crate) = 52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00
SIZE (rust/crates/resolv-conf-0.7.0.crate) = 17352
SHA256 (rust/crates/ring-0.17.9.crate) = e75ec5e92c4d8aede845126adc388046234541629e76029599ed35a003c7ed24
SIZE (rust/crates/ring-0.17.9.crate) = 1474639
-SHA256 (rust/crates/rtnetlink-0.13.1.crate) = 7a552eb82d19f38c3beed3f786bd23aa434ceb9ac43ab44419ca6d67a7e186c0
-SIZE (rust/crates/rtnetlink-0.13.1.crate) = 42517
-SHA256 (rust/crates/rtnetlink-0.14.1.crate) = b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5
-SIZE (rust/crates/rtnetlink-0.14.1.crate) = 45416
SHA256 (rust/crates/rustc-demangle-0.1.24.crate) = 719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f
SIZE (rust/crates/rustc-demangle-0.1.24.crate) = 29047
SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
@@ -591,10 +589,10 @@ SHA256 (rust/crates/semver-1.0.25.crate) = f79dfe2d285b0488816f30e700a7438c5a73d
SIZE (rust/crates/semver-1.0.25.crate) = 31291
SHA256 (rust/crates/send_wrapper-0.6.0.crate) = cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73
SIZE (rust/crates/send_wrapper-0.6.0.crate) = 10519
-SHA256 (rust/crates/serde-1.0.217.crate) = 02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70
-SIZE (rust/crates/serde-1.0.217.crate) = 79019
-SHA256 (rust/crates/serde_derive-1.0.217.crate) = 5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0
-SIZE (rust/crates/serde_derive-1.0.217.crate) = 57749
+SHA256 (rust/crates/serde-1.0.219.crate) = 5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6
+SIZE (rust/crates/serde-1.0.219.crate) = 78983
+SHA256 (rust/crates/serde_derive-1.0.219.crate) = 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00
+SIZE (rust/crates/serde_derive-1.0.219.crate) = 57798
SHA256 (rust/crates/serde_json-1.0.138.crate) = d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949
SIZE (rust/crates/serde_json-1.0.138.crate) = 154769
SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd
@@ -603,6 +601,8 @@ SHA256 (rust/crates/serdect-0.2.0.crate) = a84f14a19e9a014bb9f4512488d9829a68e04
SIZE (rust/crates/serdect-0.2.0.crate) = 11691
SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba
SIZE (rust/crates/sha1-0.10.6.crate) = 13517
+SHA256 (rust/crates/sha1_smol-1.0.1.crate) = bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d
+SIZE (rust/crates/sha1_smol-1.0.1.crate) = 9809
SHA256 (rust/crates/sha2-0.10.8.crate) = 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8
SIZE (rust/crates/sha2-0.10.8.crate) = 26357
SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6
@@ -615,14 +615,20 @@ SHA256 (rust/crates/signal-hook-registry-1.4.2.crate) = a9e9e0b4211b72e7b8b6e85c
SIZE (rust/crates/signal-hook-registry-1.4.2.crate) = 18064
SHA256 (rust/crates/signature-2.2.0.crate) = 77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de
SIZE (rust/crates/signature-2.2.0.crate) = 15531
+SHA256 (rust/crates/simdutf8-0.1.5.crate) = e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e
+SIZE (rust/crates/simdutf8-0.1.5.crate) = 28488
SHA256 (rust/crates/simple-dns-0.9.3.crate) = dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a
SIZE (rust/crates/simple-dns-0.9.3.crate) = 52975
SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
SIZE (rust/crates/slab-0.4.9.crate) = 17108
SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67
SIZE (rust/crates/smallvec-1.13.2.crate) = 35216
-SHA256 (rust/crates/socket2-0.5.8.crate) = c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8
-SIZE (rust/crates/socket2-0.5.8.crate) = 56309
+SHA256 (rust/crates/snafu-0.8.5.crate) = 223891c85e2a29c3fe8fb900c1fae5e69c2e42415e3177752e8718475efa5019
+SIZE (rust/crates/snafu-0.8.5.crate) = 69415
+SHA256 (rust/crates/snafu-derive-0.8.5.crate) = 03c3c6b7927ffe7ecaa769ee0e3994da3b8cafc8f444578982c83ecb161af917
+SIZE (rust/crates/snafu-derive-0.8.5.crate) = 28537
+SHA256 (rust/crates/socket2-0.5.9.crate) = 4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef
+SIZE (rust/crates/socket2-0.5.9.crate) = 57432
SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
SIZE (rust/crates/spin-0.9.8.crate) = 38958
SHA256 (rust/crates/spki-0.7.3.crate) = d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d
@@ -631,18 +637,12 @@ SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8
SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
SIZE (rust/crates/strsim-0.11.1.crate) = 14266
-SHA256 (rust/crates/struct_iterable-0.1.1.crate) = 849a064c6470a650b72e41fa6c057879b68f804d113af92900f27574828e7712
-SIZE (rust/crates/struct_iterable-0.1.1.crate) = 3233
-SHA256 (rust/crates/struct_iterable_derive-0.1.0.crate) = 8bb939ce88a43ea4e9d012f2f6b4cc789deb2db9d47bad697952a85d6978662c
-SIZE (rust/crates/struct_iterable_derive-0.1.0.crate) = 2045
-SHA256 (rust/crates/struct_iterable_internal-0.1.1.crate) = e9426b2a0c03e6cc2ea8dbc0168dbbf943f88755e409fb91bcb8f6a268305f4a
-SIZE (rust/crates/struct_iterable_internal-0.1.1.crate) = 1625
SHA256 (rust/crates/strum-0.26.3.crate) = 8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06
SIZE (rust/crates/strum-0.26.3.crate) = 7237
SHA256 (rust/crates/strum_macros-0.26.4.crate) = 4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be
SIZE (rust/crates/strum_macros-0.26.4.crate) = 27531
-SHA256 (rust/crates/stun-rs-0.1.9.crate) = b79cc624c9a747353810310af44f1f03f71eb4561284a894acc0396e6d0de76e
-SIZE (rust/crates/stun-rs-0.1.9.crate) = 69481
+SHA256 (rust/crates/stun-rs-0.1.11.crate) = fb921f10397d5669e1af6455e9e2d367bf1f9cebcd6b1dd1dc50e19f6a9ac2ac
+SIZE (rust/crates/stun-rs-0.1.11.crate) = 73853
SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292
SIZE (rust/crates/subtle-2.6.1.crate) = 14562
SHA256 (rust/crates/surge-ping-0.8.1.crate) = efbf95ce4c7c5b311d2ce3f088af2b93edef0f09727fa50fbe03c7a979afce77
@@ -683,20 +683,18 @@ SHA256 (rust/crates/tinyvec-1.8.1.crate) = 022db8904dfa342efe721985167e9fcd16c29
SIZE (rust/crates/tinyvec-1.8.1.crate) = 47269
SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
-SHA256 (rust/crates/tokio-1.43.0.crate) = 3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e
-SIZE (rust/crates/tokio-1.43.0.crate) = 817422
+SHA256 (rust/crates/tokio-1.45.0.crate) = 2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165
+SIZE (rust/crates/tokio-1.45.0.crate) = 800721
SHA256 (rust/crates/tokio-macros-2.5.0.crate) = 6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8
SIZE (rust/crates/tokio-macros-2.5.0.crate) = 12617
SHA256 (rust/crates/tokio-rustls-0.26.1.crate) = 5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37
SIZE (rust/crates/tokio-rustls-0.26.1.crate) = 31214
SHA256 (rust/crates/tokio-stream-0.1.17.crate) = eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047
SIZE (rust/crates/tokio-stream-0.1.17.crate) = 38477
-SHA256 (rust/crates/tokio-tungstenite-0.24.0.crate) = edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9
-SIZE (rust/crates/tokio-tungstenite-0.24.0.crate) = 28904
-SHA256 (rust/crates/tokio-tungstenite-wasm-0.4.0.crate) = e21a5c399399c3db9f08d8297ac12b500e86bca82e930253fdc62eaf9c0de6ae
-SIZE (rust/crates/tokio-tungstenite-wasm-0.4.0.crate) = 22252
-SHA256 (rust/crates/tokio-util-0.7.13.crate) = d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078
-SIZE (rust/crates/tokio-util-0.7.13.crate) = 115191
+SHA256 (rust/crates/tokio-util-0.7.15.crate) = 66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df
+SIZE (rust/crates/tokio-util-0.7.15.crate) = 124255
+SHA256 (rust/crates/tokio-websockets-0.11.4.crate) = 9fcaf159b4e7a376b05b5bfd77bfd38f3324f5fce751b4213bfc7eaa47affb4e
+SIZE (rust/crates/tokio-websockets-0.11.4.crate) = 348475
SHA256 (rust/crates/toml_datetime-0.6.8.crate) = 0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41
SIZE (rust/crates/toml_datetime-0.6.8.crate) = 12028
SHA256 (rust/crates/toml_edit-0.22.24.crate) = 17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474
@@ -719,8 +717,6 @@ SHA256 (rust/crates/tracing-subscriber-0.3.19.crate) = e8189decb5ac0fa7bc8b96b7c
SIZE (rust/crates/tracing-subscriber-0.3.19.crate) = 198345
SHA256 (rust/crates/try-lock-0.2.5.crate) = e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b
SIZE (rust/crates/try-lock-0.2.5.crate) = 4314
-SHA256 (rust/crates/tungstenite-0.24.0.crate) = 18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a
-SIZE (rust/crates/tungstenite-0.24.0.crate) = 61527
SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825
SIZE (rust/crates/typenum-1.17.0.crate) = 42849
SHA256 (rust/crates/ucd-parse-0.1.13.crate) = c06ff81122fcbf4df4c1660b15f7e3336058e7aec14437c9f85c6b31a0f279b9
@@ -737,12 +733,8 @@ SHA256 (rust/crates/universal-hash-0.5.1.crate) = fc1de2c688dc15305988b563c38540
SIZE (rust/crates/universal-hash-0.5.1.crate) = 9146
SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1
SIZE (rust/crates/untrusted-0.9.0.crate) = 14447
-SHA256 (rust/crates/ureq-2.12.1.crate) = 02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d
-SIZE (rust/crates/ureq-2.12.1.crate) = 115366
SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60
SIZE (rust/crates/url-2.5.4.crate) = 81097
-SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9
-SIZE (rust/crates/utf-8-0.7.6.crate) = 10422
SHA256 (rust/crates/utf16_iter-1.0.5.crate) = c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246
SIZE (rust/crates/utf16_iter-1.0.5.crate) = 9736
SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
@@ -761,8 +753,8 @@ SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3da
SIZE (rust/crates/want-0.3.1.crate) = 6398
SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
-SHA256 (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2
-SIZE (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 136754
+SHA256 (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3
+SIZE (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 140921
SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5
SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288
SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6
@@ -815,8 +807,8 @@ SHA256 (rust/crates/windows-interface-0.58.0.crate) = 053c4c462dc91d3b1504c6fe5a
SIZE (rust/crates/windows-interface-0.58.0.crate) = 11246
SHA256 (rust/crates/windows-interface-0.59.0.crate) = cb26fd936d991781ea39e87c3a27285081e3c0da5ca0fcbc02d368cc6f52ff01
SIZE (rust/crates/windows-interface-0.59.0.crate) = 11751
-SHA256 (rust/crates/windows-registry-0.2.0.crate) = e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0
-SIZE (rust/crates/windows-registry-0.2.0.crate) = 10470
+SHA256 (rust/crates/windows-registry-0.4.0.crate) = 4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3
+SIZE (rust/crates/windows-registry-0.4.0.crate) = 12572
SHA256 (rust/crates/windows-result-0.2.0.crate) = 1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e
SIZE (rust/crates/windows-result-0.2.0.crate) = 12756
SHA256 (rust/crates/windows-result-0.3.0.crate) = d08106ce80268c4067c0571ca55a9b4e9516518eaa1a1fe9b37ca403ae1d1a34
@@ -905,14 +897,16 @@ SHA256 (rust/crates/winnow-0.7.2.crate) = 59690dea168f2198d1a3b0cac23b8063efcd11
SIZE (rust/crates/winnow-0.7.2.crate) = 170989
SHA256 (rust/crates/winreg-0.50.0.crate) = 524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1
SIZE (rust/crates/winreg-0.50.0.crate) = 29703
-SHA256 (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c
-SIZE (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3357
+SHA256 (rust/crates/wit-bindgen-rt-0.39.0.crate) = 6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1
+SIZE (rust/crates/wit-bindgen-rt-0.39.0.crate) = 12241
SHA256 (rust/crates/wmi-0.14.5.crate) = 7787dacdd8e71cbc104658aade4009300777f9b5fda6a75f19145fedb8a18e71
SIZE (rust/crates/wmi-0.14.5.crate) = 59683
SHA256 (rust/crates/write16-1.0.0.crate) = d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936
SIZE (rust/crates/write16-1.0.0.crate) = 7218
SHA256 (rust/crates/writeable-0.5.5.crate) = 1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51
SIZE (rust/crates/writeable-0.5.5.crate) = 22354
+SHA256 (rust/crates/ws_stream_wasm-0.7.4.crate) = 7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5
+SIZE (rust/crates/ws_stream_wasm-0.7.4.crate) = 23942
SHA256 (rust/crates/x509-parser-0.16.0.crate) = fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69
SIZE (rust/crates/x509-parser-0.16.0.crate) = 92925
SHA256 (rust/crates/xml-rs-0.8.25.crate) = c5b940ebc25896e71dd073bad2dbaa2abfe97b0a391415e22ad1326d9c54e3c4
@@ -945,5 +939,5 @@ SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19d
SIZE (rust/crates/zerovec-0.10.4.crate) = 126398
SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6
SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438
-SHA256 (n0-computer-dumbpipe-v0.26.0_GH0.tar.gz) = d129d85a9c157e93c72558c203e71736026edbd987b9639918783d6342516f4c
-SIZE (n0-computer-dumbpipe-v0.26.0_GH0.tar.gz) = 41777
+SHA256 (n0-computer-dumbpipe-v0.27.0_GH0.tar.gz) = d7e84636100494e81dedbfa79c34fe73f9c7ddfc30f566ca6f0e73705b46c658
+SIZE (n0-computer-dumbpipe-v0.27.0_GH0.tar.gz) = 41640
diff --git a/net/freerdp3/Makefile b/net/freerdp3/Makefile
index 9d042d3acc3a..f9d7dbf3a0d0 100644
--- a/net/freerdp3/Makefile
+++ b/net/freerdp3/Makefile
@@ -1,10 +1,16 @@
PORTNAME= freerdp
DISTVERSION= 3.15.0
+PORTREVISION= 1
CATEGORIES= net comms
MASTER_SITES= https://pub.freerdp.com/releases/ \
https://github.com/FreeRDP/FreeRDP/releases/download/${DISTVERSION}/
PKGNAMESUFFIX= 3
+PATCH_SITES= https://github.com/FreeRDP/FreeRDP/commit/
+# Fix realm usage for Heimdal: https://bugs.freebsd.org/286816
+PATCHFILES+= 8c2be5fd53501c129042ec8205ca2ff1bae90cda.patch:-p1
+PATCHFILES+= 374707d4fa609e5434f2166b5c11df655f6ff952.patch:-p1
+
MAINTAINER= vvd@FreeBSD.org
COMMENT= Free implementation of Remote Desktop Protocol
WWW= https://www.freerdp.com/
diff --git a/net/freerdp3/distinfo b/net/freerdp3/distinfo
index c4c838dbdd62..b71c876354d5 100644
--- a/net/freerdp3/distinfo
+++ b/net/freerdp3/distinfo
@@ -1,3 +1,7 @@
-TIMESTAMP = 1744722609
+TIMESTAMP = 1747401167
SHA256 (freerdp-3.15.0.tar.gz) = e8cd58decef4c970faea2fbea675970eea60e440ebe8033c54889acb83787371
SIZE (freerdp-3.15.0.tar.gz) = 10444672
+SHA256 (8c2be5fd53501c129042ec8205ca2ff1bae90cda.patch) = 9ad6bcef07b0b17bdcb86ee0c516f5842146def42288a206b7ab5cfb75052e7a
+SIZE (8c2be5fd53501c129042ec8205ca2ff1bae90cda.patch) = 946
+SHA256 (374707d4fa609e5434f2166b5c11df655f6ff952.patch) = 997ba5dd88b223c897741a3a8f0cc134cdf53131459d6402e62958075dda2142
+SIZE (374707d4fa609e5434f2166b5c11df655f6ff952.patch) = 4571
diff --git a/net/gerbera/Makefile b/net/gerbera/Makefile
index f39e25400ce7..444ad43a32f1 100644
--- a/net/gerbera/Makefile
+++ b/net/gerbera/Makefile
@@ -1,8 +1,12 @@
PORTNAME= gerbera
DISTVERSIONPREFIX= v
DISTVERSION= 2.5.0
+PORTREVISION= 1
CATEGORIES= net multimedia
+PATCH_SITES= https://github.com/gerbera/gerbera/commit/
+PATCHFILES= 2ff1b35372854b5856f244fe1277abb987c7418c.patch:-p1
+
MAINTAINER= diizzy@FreeBSD.org
COMMENT= Media server compatible with DLNA and UPnP
WWW= https://gerbera.io/
diff --git a/net/gerbera/distinfo b/net/gerbera/distinfo
index cacc5e1c0754..2d677b46963b 100644
--- a/net/gerbera/distinfo
+++ b/net/gerbera/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1741381325
+TIMESTAMP = 1747426124
SHA256 (gerbera-gerbera-v2.5.0_GH0.tar.gz) = e1dd2c710758fbb9f4db6f1afc461bdd1b6c55ef29147d450ab6d90624177f09
SIZE (gerbera-gerbera-v2.5.0_GH0.tar.gz) = 9873077
+SHA256 (2ff1b35372854b5856f244fe1277abb987c7418c.patch) = 49e0738f53ad8dfebf91d3ce1d0187afbf56912ecccbe8644a820c80e56b8807
+SIZE (2ff1b35372854b5856f244fe1277abb987c7418c.patch) = 1564
diff --git a/net/gitlab-agent/Makefile b/net/gitlab-agent/Makefile
index 9442fc9d92d4..8aae2990842e 100644
--- a/net/gitlab-agent/Makefile
+++ b/net/gitlab-agent/Makefile
@@ -15,7 +15,7 @@ BUILD_DEPENDS= git>=0:devel/git \
golangci-lint>=0:devel/golangci-lint
USES= go:modules,1.23
-GO_MODULE= gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v17
+GO_MODULE= gitlab.com/gitlab-org/cluster-integration/gitlab-agent/v18
_BUILD_DATE= $$(date -u "+%Y-%m-%d-%H%M UTC")
GO_TARGET= ./cmd/kas
diff --git a/net/gitlab-agent/distinfo b/net/gitlab-agent/distinfo
index f0ad922f0408..8a8b5d5f9007 100644
--- a/net/gitlab-agent/distinfo
+++ b/net/gitlab-agent/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1746703450
-SHA256 (go/net_gitlab-agent/gitlab-agent-v17.11.2/v17.11.2.mod) = 6c36855cd351c829e5b19c5aa99876db58a2b4bd7b934e05497e7777faa64f8f
-SIZE (go/net_gitlab-agent/gitlab-agent-v17.11.2/v17.11.2.mod) = 9293
-SHA256 (go/net_gitlab-agent/gitlab-agent-v17.11.2/v17.11.2.zip) = 08c74935d6a0ba77a11eade2b3ca11c20bf3f8619dae652e1e286757dfdaa654
-SIZE (go/net_gitlab-agent/gitlab-agent-v17.11.2/v17.11.2.zip) = 1555390
+TIMESTAMP = 1747297291
+SHA256 (go/net_gitlab-agent/gitlab-agent-v18.0.0/v18.0.0.mod) = 0c2121b2efd0904b758621ebeefb6d8ac0a504c59ec144b7b59fc05ab4a73ae8
+SIZE (go/net_gitlab-agent/gitlab-agent-v18.0.0/v18.0.0.mod) = 9417
+SHA256 (go/net_gitlab-agent/gitlab-agent-v18.0.0/v18.0.0.zip) = c94d69eeffe74fcbc3301ef65026033b55f34d9b1b4f57a753b4cd1f53f694e6
+SIZE (go/net_gitlab-agent/gitlab-agent-v18.0.0/v18.0.0.zip) = 1606160
diff --git a/net/google-cloud-sdk/Makefile b/net/google-cloud-sdk/Makefile
index 2c206ed92861..af50ec2f875a 100644
--- a/net/google-cloud-sdk/Makefile
+++ b/net/google-cloud-sdk/Makefile
@@ -1,5 +1,5 @@
PORTNAME= google-cloud-sdk
-DISTVERSION= 521.0.0
+DISTVERSION= 522.0.0
CATEGORIES= net
MASTER_SITES= https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/
DISTNAME= google-cloud-sdk-${PORTVERSION}-linux-x86_64
diff --git a/net/google-cloud-sdk/distinfo b/net/google-cloud-sdk/distinfo
index b426c478a21c..0f27573e40f3 100644
--- a/net/google-cloud-sdk/distinfo
+++ b/net/google-cloud-sdk/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746605334
-SHA256 (google-cloud-sdk-521.0.0-linux-x86_64.tar.gz) = 84af8b5ff6c416963b65f85715450408bf85c9c2b27c237d5c2d31b66698ce3c
-SIZE (google-cloud-sdk-521.0.0-linux-x86_64.tar.gz) = 148653868
+TIMESTAMP = 1747219017
+SHA256 (google-cloud-sdk-522.0.0-linux-x86_64.tar.gz) = 4cea65b3129b193dcbed03ae0504ca46f10b776a4ffb73c1a0530abe84f5d184
+SIZE (google-cloud-sdk-522.0.0-linux-x86_64.tar.gz) = 148716792
diff --git a/net/jose/Makefile b/net/jose/Makefile
index d8c9bc583c5d..034b4b98ef4d 100644
--- a/net/jose/Makefile
+++ b/net/jose/Makefile
@@ -1,5 +1,6 @@
PORTNAME= jose
DISTVERSION= 14
+PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= https://github.com/latchset/${PORTNAME}/releases/download/v${DISTVERSION}/
diff --git a/net/jose/files/patch-lib_meson.build b/net/jose/files/patch-lib_meson.build
new file mode 100644
index 000000000000..26e763f161a9
--- /dev/null
+++ b/net/jose/files/patch-lib_meson.build
@@ -0,0 +1,11 @@
+--- lib/meson.build.orig 2025-03-24 16:00:40 UTC
++++ lib/meson.build
+@@ -4,7 +4,7 @@ if host_machine.system() == 'freebsd'
+
+ if host_machine.system() == 'freebsd'
+ if not cc.links(code, args: flags + ',--undefined-version' , name: '-Wl,--version-script=...')
+- flags = [ '-export-symbols-regex=^jose_.*' ]
++ # flags = [ '-export-symbols-regex=^jose_.*' ]
+ endif
+ else
+ if not cc.links(code, args: flags, name: '-Wl,--version-script=...')
diff --git a/net/libngtcp2-wolfssl/Makefile b/net/libngtcp2-wolfssl/Makefile
new file mode 100644
index 000000000000..48b3ec8a1648
--- /dev/null
+++ b/net/libngtcp2-wolfssl/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= ngtcp2
+PORTVERSION= 1.12.0
+CATEGORIES= net
+MASTER_SITES= https://github.com/ngtcp2/ngtcp2/releases/download/v${PORTVERSION}/
+PKGNAMEPREFIX= lib
+PKGNAMESUFFIX= -wolfssl
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Implementation of QUIC protocol (wolfssl backend)
+WWW= https://nghttp2.org/ngtcp2/ \
+ https://github.com/ngtcp2/ngtcp2
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= libngtcp2>=${PORTVERSION}<${PORTVERSION}_99:net/libngtcp2
+LIB_DEPENDS= libwolfssl.so:security/wolfssl
+RUN_DEPENDS= libngtcp2>=${PORTVERSION}<${PORTVERSION}_99:net/libngtcp2
+
+USES= libtool pathfix pkgconfig tar:xz
+
+CONFIGURE_ARGS= --enable-lib-only \
+ --with-jemalloc \
+ --with-wolfssl \
+ --without-boringssl \
+ --without-gnutls \
+ --without-libbrotlidec \
+ --without-libbrotlienc \
+ --without-libev \
+ --without-libnghttp3 \
+ --without-openssl
+GNU_CONFIGURE= yes
+INSTALL_TARGET= install-strip
+INSTALL_WRKSRC= ${WRKSRC}/crypto/wolfssl
+USE_LDCONFIG= yes
+
+.include <bsd.port.mk>
diff --git a/net/libngtcp2-wolfssl/distinfo b/net/libngtcp2-wolfssl/distinfo
new file mode 100644
index 000000000000..e8e0cf92099c
--- /dev/null
+++ b/net/libngtcp2-wolfssl/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1745177912
+SHA256 (ngtcp2-1.12.0.tar.xz) = 2527a4c9305dbed610a000a88f94696526aa8959f74249a59f2b96ee73630629
+SIZE (ngtcp2-1.12.0.tar.xz) = 656116
diff --git a/net/libngtcp2-wolfssl/files/patch-Makefile.in b/net/libngtcp2-wolfssl/files/patch-Makefile.in
new file mode 100644
index 000000000000..afad6594b328
--- /dev/null
+++ b/net/libngtcp2-wolfssl/files/patch-Makefile.in
@@ -0,0 +1,13 @@
+--- Makefile.in.orig 2022-01-16 12:35:06 UTC
++++ Makefile.in
+@@ -425,8 +425,8 @@ top_srcdir = @top_srcdir@
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+-SUBDIRS = lib tests doc $(am__append_1) $(am__append_2)
+-dist_doc_DATA = README.rst
++SUBDIRS = lib $(am__append_1)
++dist_doc_DATA =
+ ACLOCAL_AMFLAGS = -I m4
+ EXTRA_DIST = \
+ cmakeconfig.h.in \
diff --git a/net/libngtcp2-wolfssl/pkg-descr b/net/libngtcp2-wolfssl/pkg-descr
new file mode 100644
index 000000000000..badfac901e6b
--- /dev/null
+++ b/net/libngtcp2-wolfssl/pkg-descr
@@ -0,0 +1,4 @@
+ngtcp2 project is an effort to implement QUIC protocol which is now being
+discussed in IETF QUICWG for its standardization.
+
+This port provides the crypto helper library for wolfssl backend.
diff --git a/net/libngtcp2-wolfssl/pkg-plist b/net/libngtcp2-wolfssl/pkg-plist
new file mode 100644
index 000000000000..c0ba6b3e66e4
--- /dev/null
+++ b/net/libngtcp2-wolfssl/pkg-plist
@@ -0,0 +1,5 @@
+lib/libngtcp2_crypto_wolfssl.a
+lib/libngtcp2_crypto_wolfssl.so
+lib/libngtcp2_crypto_wolfssl.so.5
+lib/libngtcp2_crypto_wolfssl.so.5.2.0
+libdata/pkgconfig/libngtcp2_crypto_wolfssl.pc
diff --git a/net/miniupnpd/Makefile b/net/miniupnpd/Makefile
index fa092ff3beef..228ad522fa7f 100644
--- a/net/miniupnpd/Makefile
+++ b/net/miniupnpd/Makefile
@@ -1,10 +1,14 @@
PORTNAME= miniupnpd
DISTVERSION= 2.3.9
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= net
MASTER_SITES= http://miniupnp.free.fr/files/ \
https://github.com/miniupnp/miniupnp/releases/download/${PORTNAME}_${DISTVERSION:S|.|_|g}/
+PATCH_SITES= https://github.com/miniupnp/miniupnp/commit/
+PATCHFILES= 7949a7a.patch:-p2
+
MAINTAINER= squat@squat.no
COMMENT= Lightweight UPnP IGD & PCP/NAT-PMP daemon which uses pf
WWW= http://miniupnp.free.fr/
diff --git a/net/miniupnpd/distinfo b/net/miniupnpd/distinfo
index 7c57bc76cb0c..3407938ec81e 100644
--- a/net/miniupnpd/distinfo
+++ b/net/miniupnpd/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1745338102
+TIMESTAMP = 1747298117
SHA256 (miniupnpd-2.3.9.tar.gz) = 66cb3c3d697ab2bb3a61d3c48628166d6ba328d7c2dbeb95898fdf2a3202af7b
SIZE (miniupnpd-2.3.9.tar.gz) = 302607
+SHA256 (7949a7a.patch) = fab2b96b4eeb36438400c96aeef7375b41de920067068a5ef02ef6708c1e8b6f
+SIZE (7949a7a.patch) = 3173
diff --git a/net/netatalk4/Makefile b/net/netatalk4/Makefile
index 9faec4ab9744..7e1f7efd3b77 100644
--- a/net/netatalk4/Makefile
+++ b/net/netatalk4/Makefile
@@ -1,5 +1,5 @@
PORTNAME= netatalk
-PORTVERSION= 4.2.2
+PORTVERSION= 4.2.3
CATEGORIES= net
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/netatalk-${PORTVERSION:S/./-/g}/
PKGNAMESUFFIX= 4
@@ -99,7 +99,7 @@ post-patch:
# ${WRKSRC}/contrib/shell_utils/afpstats
post-install:
- ${INSTALL_SCRIPT} ${BUILD_WRKSRC}/contrib/macusers/macusers \
+ ${INSTALL_SCRIPT} ${BUILD_WRKSRC}/contrib/shell_utils/macusers \
${STAGEDIR}${PREFIX}/bin/macusers
.if ${PORT_OPTIONS:MPAM}
diff --git a/net/netatalk4/distinfo b/net/netatalk4/distinfo
index da344a9a8cd4..80356081f953 100644
--- a/net/netatalk4/distinfo
+++ b/net/netatalk4/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745940170
-SHA256 (netatalk-4.2.2.tar.xz) = 8f772804ce4322a4e8fb159528209450927e9df067daa5cc02ab59b35f4b450c
-SIZE (netatalk-4.2.2.tar.xz) = 934984
+TIMESTAMP = 1747314701
+SHA256 (netatalk-4.2.3.tar.xz) = 10a3c3a4c11acec657df9c33c69a6269e319dba759c5e1dfa41ee5a3f1b80c43
+SIZE (netatalk-4.2.3.tar.xz) = 934796
diff --git a/net/p5-Net-Patricia/Makefile b/net/p5-Net-Patricia/Makefile
index a91027284949..e8d95b4fc277 100644
--- a/net/p5-Net-Patricia/Makefile
+++ b/net/p5-Net-Patricia/Makefile
@@ -1,5 +1,6 @@
PORTNAME= Net-Patricia
PORTVERSION= 1.23
+PORTREVISION= 1
CATEGORIES= net perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
@@ -8,12 +9,17 @@ MAINTAINER= perl@FreeBSD.org
COMMENT= Perl module for fast IP address lookups
WWW= https://metacpan.org/release/Net-Patricia
-BUILD_DEPENDS= p5-Net-CIDR-Lite>=0.20:net/p5-Net-CIDR-Lite
-RUN_DEPENDS= p5-Socket6>=0:net/p5-Socket6
+LICENSE= GPLv2+
+LICENSE_FILE= ${WRKSRC}/COPYING
-MAKE_JOBS_UNSAFE=yes
+BUILD_DEPENDS= ${RUN_DEPENDS}
+RUN_DEPENDS= p5-Net-CIDR-Lite>=0.20:net/p5-Net-CIDR-Lite \
+ p5-Socket6>=0:net/p5-Socket6
USES= perl5
USE_PERL5= configure
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/Net/Patricia/Patricia.so
+
.include <bsd.port.mk>
diff --git a/net/p5-Net-Patricia/pkg-plist b/net/p5-Net-Patricia/pkg-plist
index f5c395475190..13658866cf87 100644
--- a/net/p5-Net-Patricia/pkg-plist
+++ b/net/p5-Net-Patricia/pkg-plist
@@ -1,3 +1,3 @@
-%%SITE_ARCH%%/auto/Net/Patricia/Patricia.so
%%SITE_ARCH%%/Net/Patricia.pm
+%%SITE_ARCH%%/auto/Net/Patricia/Patricia.so
%%PERL5_MAN3%%/Net::Patricia.3.gz
diff --git a/net/pecl-radius/Makefile b/net/pecl-radius/Makefile
index 782f1c9ed3b2..013651b682d6 100644
--- a/net/pecl-radius/Makefile
+++ b/net/pecl-radius/Makefile
@@ -1,6 +1,6 @@
PORTNAME= radius
PORTVERSION= 1.4.0b1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= net security pear
MAINTAINER= sunpoet@FreeBSD.org
diff --git a/net/pecl-radius/files/patch-radlib.c b/net/pecl-radius/files/patch-radlib.c
new file mode 100644
index 000000000000..ce4e016181dd
--- /dev/null
+++ b/net/pecl-radius/files/patch-radlib.c
@@ -0,0 +1,10 @@
+--- radlib.c.orig 2025-05-06 17:27:50 UTC
++++ radlib.c
+@@ -748,7 +748,6 @@ rad_auth_open(void)
+
+ h = (struct rad_handle *)malloc(sizeof(struct rad_handle));
+ if (h != NULL) {
+- php_srand(time(NULL) * getpid() * (unsigned long) (php_combined_lcg() * 10000.0));
+ h->fd = -1;
+ h->num_servers = 0;
+ h->ident = (zend_long) php_mt_rand();
diff --git a/net/py-aiostalk/Makefile b/net/py-aiostalk/Makefile
index e05bd0443763..227305893890 100644
--- a/net/py-aiostalk/Makefile
+++ b/net/py-aiostalk/Makefile
@@ -1,5 +1,5 @@
PORTNAME= aiostalk
-DISTVERSION= 1.3
+DISTVERSION= 1.3.1
CATEGORIES= net python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -16,4 +16,6 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}greenstalk>=0:net/py-greenstalk@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist distutils
+NO_ARCH= yes
+
.include <bsd.port.mk>
diff --git a/net/py-aiostalk/distinfo b/net/py-aiostalk/distinfo
index 6d87131417d4..9873e2ba6c5e 100644
--- a/net/py-aiostalk/distinfo
+++ b/net/py-aiostalk/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1743208973
-SHA256 (aiostalk-1.3.tar.gz) = 024d366a3347c60ce044f3566d83575c5697c6f4a04947428606140ff5a3788b
-SIZE (aiostalk-1.3.tar.gz) = 5258
+TIMESTAMP = 1747431472
+SHA256 (aiostalk-1.3.1.tar.gz) = a2ce935e04051671489b6e5bec88188e5ebad3450dedb9f13a47356c458fa03d
+SIZE (aiostalk-1.3.1.tar.gz) = 5353
diff --git a/net/py-greenstalk/Makefile b/net/py-greenstalk/Makefile
index c0f3bca4734b..cda44795944f 100644
--- a/net/py-greenstalk/Makefile
+++ b/net/py-greenstalk/Makefile
@@ -1,5 +1,5 @@
PORTNAME= greenstalk
-DISTVERSION= 2.0.2
+DISTVERSION= 2.1.0
CATEGORIES= net python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -12,9 +12,12 @@ LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}hatchling>=0:devel/py-hatchling@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist pep517
+NO_ARCH= yes
+
.include <bsd.port.mk>
diff --git a/net/py-greenstalk/distinfo b/net/py-greenstalk/distinfo
index 64dd87854e5d..63a5d476b055 100644
--- a/net/py-greenstalk/distinfo
+++ b/net/py-greenstalk/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1743207566
-SHA256 (greenstalk-2.0.2.tar.gz) = 3ebde5fc9ecf986f96f6779fd6d15a53f33d432c52a2e28012e100a99ee154a4
-SIZE (greenstalk-2.0.2.tar.gz) = 6809
+TIMESTAMP = 1747431511
+SHA256 (greenstalk-2.1.0.tar.gz) = a731ca15bc3b03dfffc438db08c96d0c4e8ce5f472403573e40a1939791c12a7
+SIZE (greenstalk-2.1.0.tar.gz) = 6674
diff --git a/net/py-msrplib/Makefile b/net/py-msrplib/Makefile
index 68271dc4dae1..4dd9d511d324 100644
--- a/net/py-msrplib/Makefile
+++ b/net/py-msrplib/Makefile
@@ -1,10 +1,9 @@
PORTNAME= msrplib
-PORTVERSION= 0.20.0
-PORTREVISION= 2
+PORTVERSION= 0.21.1
CATEGORIES= net python
-MASTER_SITES= http://download.ag-projects.com/MSRP/
+MASTER_SITES= https://download.ag-projects.com/MSRP/
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-DISTNAME= python-${PORTNAME}-${PORTVERSION}
+DISTNAME= python3-msrplib-${PORTVERSION}
MAINTAINER= python@FreeBSD.org
COMMENT= Python MSRP client library
diff --git a/net/py-msrplib/distinfo b/net/py-msrplib/distinfo
index 96c26a744425..265ffc41bb42 100644
--- a/net/py-msrplib/distinfo
+++ b/net/py-msrplib/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1597570081
-SHA256 (python-msrplib-0.20.0.tar.gz) = 3a2ed4f174b6e758bb511b05211177cdc0c887c77488cbf0c31fe34b669d6231
-SIZE (python-msrplib-0.20.0.tar.gz) = 34278
+TIMESTAMP = 1747520769
+SHA256 (python3-msrplib-0.21.1.tar.gz) = e8c916ca8c74a20a285553605acab7942cd29f66fb1dff9ea28aee4c19bea1df
+SIZE (python3-msrplib-0.21.1.tar.gz) = 42149
diff --git a/net/py-msrplib/files/patch-2to3 b/net/py-msrplib/files/patch-2to3
deleted file mode 100644
index edbd524cf770..000000000000
--- a/net/py-msrplib/files/patch-2to3
+++ /dev/null
@@ -1,69 +0,0 @@
---- msrplib/digest.py.orig 2017-09-29 19:26:59 UTC
-+++ msrplib/digest.py
-@@ -6,7 +6,7 @@ from base64 import b64encode, b64decode
- import random
-
- def get_random_data(length):
-- return ''.join(chr(random.randint(0, 255)) for x in xrange(length))
-+ return ''.join(chr(random.randint(0, 255)) for x in range(length))
-
- class LoginFailed(Exception):
- pass
-@@ -28,7 +28,7 @@ def calc_hash(**parameters):
- return md5(hash_text).hexdigest()
-
- def calc_responses(**parameters):
-- if parameters.has_key("ha1"):
-+ if "ha1" in parameters:
- ha1 = parameters.pop("ha1")
- else:
- ha1 = calc_ha1(**parameters)
-@@ -80,7 +80,7 @@ class AuthChallenger(object):
- nonce = parameters["nonce"]
- opaque = parameters["opaque"]
- response = parameters["response"]
-- except IndexError, e:
-+ except IndexError as e:
- raise LoginFailed("Parameter not present: %s", e.message)
- try:
- expected_response, rspauth = calc_responses(ha1 = ha1, **parameters)
---- msrplib/session.py.orig 2020-02-07 08:31:31 UTC
-+++ msrplib/session.py
-@@ -120,7 +120,7 @@ class MSRPSession(object):
- chunk = self.msrp.make_send_request()
- chunk.add_header(protocol.MSRPHeader('Keep-Alive', 'yes'))
- self.deliver_chunk(chunk)
-- except MSRPTransactionError, e:
-+ except MSRPTransactionError as e:
- if e.code == 408:
- self.msrp.loseConnection(wait=False)
- self.set_state('CLOSING')
-@@ -237,7 +237,7 @@ class MSRPSession(object):
- if item is None:
- break
- self._write_chunk(item.chunk, item.response_callback)
-- except ConnectionClosedErrors + (proc.LinkedExited, proc.ProcExit), e:
-+ except ConnectionClosedErrors + (proc.LinkedExited, proc.ProcExit) as e:
- self.logger.debug('writer: exiting because of %r' % e)
- except:
- self.logger.exception('writer: captured unhandled exception:')
---- msrplib/transport.py.orig 2020-02-07 08:31:31 UTC
-+++ msrplib/transport.py
-@@ -46,7 +46,7 @@ class MSRPNoSuchSessionError(MSRPTransactionError):
- comment = 'No such session'
-
-
--data_start, data_end, data_write, data_final_write = range(4)
-+data_start, data_end, data_write, data_final_write = list(range(4))
-
-
- def make_report(chunk, code, comment):
-@@ -244,7 +244,7 @@ class MSRPTransport(GreenTransportBase):
- """Generate and write the response, lose the connection in case of error"""
- try:
- response = make_response(chunk, code, comment)
-- except ChunkParseError, ex:
-+ except ChunkParseError as ex:
- log.error('Failed to generate a response: %s' % ex)
- self.loseConnection(wait=False)
- raise
diff --git a/net/py-pyzmq/Makefile b/net/py-pyzmq/Makefile
index 5d7ae910f2b8..bfd0de970bfe 100644
--- a/net/py-pyzmq/Makefile
+++ b/net/py-pyzmq/Makefile
@@ -5,7 +5,7 @@ CATEGORIES= net devel
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= novel@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Python bindings for ZeroMQ
WWW= https://github.com/zeromq/pyzmq
diff --git a/net/py-s3transfer/Makefile b/net/py-s3transfer/Makefile
index 62f1a9c22252..3a774005361c 100644
--- a/net/py-s3transfer/Makefile
+++ b/net/py-s3transfer/Makefile
@@ -1,5 +1,5 @@
PORTNAME= s3transfer
-PORTVERSION= 0.11.5
+PORTVERSION= 0.12.0
CATEGORIES= net python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/net/py-s3transfer/distinfo b/net/py-s3transfer/distinfo
index 8fea40ecee58..66d5641dad85 100644
--- a/net/py-s3transfer/distinfo
+++ b/net/py-s3transfer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745178084
-SHA256 (s3transfer-0.11.5.tar.gz) = 8c8aad92784779ab8688a61aefff3e28e9ebdce43142808eaa3f0b0f402f68b7
-SIZE (s3transfer-0.11.5.tar.gz) = 149107
+TIMESTAMP = 1745936208
+SHA256 (s3transfer-0.12.0.tar.gz) = 8ac58bc1989a3fdb7c7f3ee0918a66b160d038a147c7b5db1500930a607e9a1c
+SIZE (s3transfer-0.12.0.tar.gz) = 149178
diff --git a/net/py-urllib3-future/Makefile b/net/py-urllib3-future/Makefile
index ae886284da27..3aa16f88ccf8 100644
--- a/net/py-urllib3-future/Makefile
+++ b/net/py-urllib3-future/Makefile
@@ -1,5 +1,5 @@
PORTNAME= urllib3-future
-PORTVERSION= 2.12.917
+PORTVERSION= 2.12.919
CATEGORIES= net python
MASTER_SITES= PYPI \
https://github.com/jawah/urllib3.future/releases/download/${PORTVERSION}/
diff --git a/net/py-urllib3-future/distinfo b/net/py-urllib3-future/distinfo
index eb5932b18bc6..4cd42f53bffb 100644
--- a/net/py-urllib3-future/distinfo
+++ b/net/py-urllib3-future/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745178086
-SHA256 (urllib3_future-2.12.917.tar.gz) = e5cf749b7861d3006d9cead2ac742f0f9d8880022b62799689cb2c4134dede6f
-SIZE (urllib3_future-2.12.917.tar.gz) = 1069369
+TIMESTAMP = 1745936210
+SHA256 (urllib3_future-2.12.919.tar.gz) = ce90c1ef08b265eccf29676f759a3a30a36b6ccc8a9e97d3473ea4b26f586d52
+SIZE (urllib3_future-2.12.919.tar.gz) = 1071199
diff --git a/net/rubygem-activestorage-gitlab/Makefile b/net/rubygem-activestorage-gitlab/Makefile
new file mode 100644
index 000000000000..aa7f53cc97cc
--- /dev/null
+++ b/net/rubygem-activestorage-gitlab/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= activestorage
+PORTVERSION= ${RAILS_VERSION}
+CATEGORIES= net rubygems
+MASTER_SITES= RG
+PKGNAMESUFFIX= -gitlab
+
+MAINTAINER= mfechner@FreeBSD.org
+COMMENT= Attach cloud and local files in Rails applications
+WWW= https://github.com/rails/rails/tree/main/activestorage \
+ https://rubyonrails.org/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/MIT-LICENSE
+
+RUN_DEPENDS= rubygem-actionpack-gitlab>=${PORTVERSION}<${PORTVERSION}_99:www/rubygem-actionpack-gitlab \
+ rubygem-activejob-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activejob-gitlab \
+ rubygem-activerecord-gitlab>=${PORTVERSION}<${PORTVERSION}_99:databases/rubygem-activerecord-gitlab \
+ rubygem-activesupport-gitlab>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-activesupport-gitlab \
+ rubygem-marcel>=1.0<2:devel/rubygem-marcel
+
+USES= gem
+
+NO_ARCH= yes
+
+PORTSCOUT= limit:^7\.1\.
+
+.include "${.CURDIR}/../../www/gitlab/Makefile.common"
+.include <bsd.port.mk>
diff --git a/net/rubygem-activestorage-gitlab/distinfo b/net/rubygem-activestorage-gitlab/distinfo
new file mode 100644
index 000000000000..705479df0713
--- /dev/null
+++ b/net/rubygem-activestorage-gitlab/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1734888818
+SHA256 (rubygem/activestorage-7.1.5.1.gem) = ae6b8b076858c666eaad6f896d786b67654235e861e24a83f61f1cc97b43ff63
+SIZE (rubygem/activestorage-7.1.5.1.gem) = 67584
diff --git a/net/rubygem-activestorage-gitlab/pkg-descr b/net/rubygem-activestorage-gitlab/pkg-descr
new file mode 100644
index 000000000000..48422441ebc3
--- /dev/null
+++ b/net/rubygem-activestorage-gitlab/pkg-descr
@@ -0,0 +1,11 @@
+Active Storage makes it simple to upload and reference files in cloud services
+like Amazon S3, Google Cloud Storage, or Microsoft Azure Storage, and attach
+those files to Active Records. Supports having one main service and mirrors in
+other services for redundancy. It also provides a disk service for testing or
+local deployments, but the focus is on cloud storage.
+
+Files can be uploaded from the server to the cloud or directly from the client
+to the cloud.
+
+Image files can furthermore be transformed using on-demand variants for quality,
+aspect ratio, size, or any other MiniMagick or Vips supported transformation.
diff --git a/net/rubygem-amq-protocol/Makefile b/net/rubygem-amq-protocol/Makefile
index 7a9c12f327ed..deab5789a4c1 100644
--- a/net/rubygem-amq-protocol/Makefile
+++ b/net/rubygem-amq-protocol/Makefile
@@ -13,7 +13,6 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
USES= gem python:env shebangfix
NO_ARCH= yes
-REINPLACE_ARGS= -i ''
SHEBANG_FILES= codegen/codegen.py
diff --git a/net/rubygem-apollo_upload_server/Makefile b/net/rubygem-apollo_upload_server/Makefile
index 1ba6a42c566e..8d0a4c6d89f0 100644
--- a/net/rubygem-apollo_upload_server/Makefile
+++ b/net/rubygem-apollo_upload_server/Makefile
@@ -1,5 +1,6 @@
PORTNAME= apollo_upload_server
PORTVERSION= 2.1.6
+PORTREVISION= 1
CATEGORIES= net rubygems
MASTER_SITES= RG
@@ -10,7 +11,7 @@ WWW= https://github.com/jetruby/apollo_upload_server-ruby
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-RUN_DEPENDS= rubygem-actionpack70>=6.1.6:www/rubygem-actionpack70 \
+RUN_DEPENDS= rubygem-actionpack-gitlab>=6.1.6:www/rubygem-actionpack-gitlab \
rubygem-graphql>=1.8:devel/rubygem-graphql
USES= gem
diff --git a/net/rubygem-connection_pool/Makefile b/net/rubygem-connection_pool/Makefile
index 22117669dd9a..bcbb3ede08be 100644
--- a/net/rubygem-connection_pool/Makefile
+++ b/net/rubygem-connection_pool/Makefile
@@ -1,5 +1,5 @@
PORTNAME= connection_pool
-PORTVERSION= 2.5.1
+PORTVERSION= 2.5.3
CATEGORIES= net rubygems
MASTER_SITES= RG
diff --git a/net/rubygem-connection_pool/distinfo b/net/rubygem-connection_pool/distinfo
index 6ead3e72f040..7ce41d793dc9 100644
--- a/net/rubygem-connection_pool/distinfo
+++ b/net/rubygem-connection_pool/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745178270
-SHA256 (rubygem/connection_pool-2.5.1.gem) = ae802a90a4b5a081101b39d618e69921a9a50bea9ac3420a5b8c71f1befa3e9c
-SIZE (rubygem/connection_pool-2.5.1.gem) = 12800
+TIMESTAMP = 1745936446
+SHA256 (rubygem/connection_pool-2.5.3.gem) = cfd74a82b9b094d1ce30c4f1a346da23ee19dc8a062a16a85f58eab1ced4305b
+SIZE (rubygem/connection_pool-2.5.3.gem) = 12800
diff --git a/net/rubygem-devfile-gitlab/Makefile b/net/rubygem-devfile-gitlab/Makefile
deleted file mode 100644
index 55085ca8abe1..000000000000
--- a/net/rubygem-devfile-gitlab/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-PORTNAME= devfile
-DISTVERSION= 0.4.4
-CATEGORIES= net rubygems
-MASTER_SITES= RG
-PKGNAMESUFFIX= -gitlab
-
-MAINTAINER= mfechner@FreeBSD.org
-COMMENT= Library used to generate kubernetes manifests from a Devfile
-WWW= https://gitlab.com/gitlab-org/ruby/gems/devfile-gem
-
-LICENSE= MIT
-
-USES= gem
-
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/net/rubygem-devfile-gitlab/distinfo b/net/rubygem-devfile-gitlab/distinfo
deleted file mode 100644
index 3f7e9308d15a..000000000000
--- a/net/rubygem-devfile-gitlab/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1746603888
-SHA256 (rubygem/devfile-0.4.4.gem) = 7ab954cfb23755bba94d188e5927fa66be979084b84c1cf464c413f8501e92b5
-SIZE (rubygem/devfile-0.4.4.gem) = 124867584
diff --git a/net/rubygem-devfile-gitlab/pkg-descr b/net/rubygem-devfile-gitlab/pkg-descr
deleted file mode 100644
index 05adde9472f4..000000000000
--- a/net/rubygem-devfile-gitlab/pkg-descr
+++ /dev/null
@@ -1,2 +0,0 @@
-This gem generates Kubernetes yamls from a Devfile. This gem wraps the existing
-go Devfile library using FFI.
diff --git a/net/rubygem-fog-aws/Makefile b/net/rubygem-fog-aws/Makefile
index 1fd7a6687d9d..4e7774a47b52 100644
--- a/net/rubygem-fog-aws/Makefile
+++ b/net/rubygem-fog-aws/Makefile
@@ -1,5 +1,5 @@
PORTNAME= fog-aws
-PORTVERSION= 3.30.0
+PORTVERSION= 3.31.0
CATEGORIES= net rubygems
MASTER_SITES= RG
diff --git a/net/rubygem-fog-aws/distinfo b/net/rubygem-fog-aws/distinfo
index 7ef5da3f6c9f..286b5396cf2f 100644
--- a/net/rubygem-fog-aws/distinfo
+++ b/net/rubygem-fog-aws/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1735228162
-SHA256 (rubygem/fog-aws-3.30.0.gem) = f70b811b655fbfa2e7c59da9c3c0672af43436128cbee4bbf46ee6d78d9a5004
-SIZE (rubygem/fog-aws-3.30.0.gem) = 435200
+TIMESTAMP = 1745936398
+SHA256 (rubygem/fog-aws-3.31.0.gem) = 31f7854f102a5133562828c32c8587bdbf276576cadd2cd3aec1292eaf3f0405
+SIZE (rubygem/fog-aws-3.31.0.gem) = 435200
diff --git a/net/rubygem-fog-google/Makefile b/net/rubygem-fog-google/Makefile
index ab09919b0859..32aa7b588853 100644
--- a/net/rubygem-fog-google/Makefile
+++ b/net/rubygem-fog-google/Makefile
@@ -1,6 +1,5 @@
PORTNAME= fog-google
-PORTVERSION= 1.24.1
-PORTREVISION= 2
+PORTVERSION= 1.25.0
CATEGORIES= net rubygems
MASTER_SITES= RG
@@ -12,7 +11,7 @@ LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.md
RUN_DEPENDS= rubygem-addressable>=2.7.0:www/rubygem-addressable \
- rubygem-fog-core250>=0<2.6:devel/rubygem-fog-core250 \
+ rubygem-fog-core>=2.5<3:devel/rubygem-fog-core \
rubygem-fog-json>=1.2<2:devel/rubygem-fog-json \
rubygem-fog-xml>=0.1.0<0.2:textproc/rubygem-fog-xml \
rubygem-google-apis-compute_v1>=0.53<1:devel/rubygem-google-apis-compute_v1 \
diff --git a/net/rubygem-fog-google/distinfo b/net/rubygem-fog-google/distinfo
index 9c34f0e30d69..110c4e4492e4 100644
--- a/net/rubygem-fog-google/distinfo
+++ b/net/rubygem-fog-google/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1713001210
-SHA256 (rubygem/fog-google-1.24.1.gem) = dcd64ec5d12ed53f269afd7a88738b453e5150ef72b451900bb7abf3678358e0
-SIZE (rubygem/fog-google-1.24.1.gem) = 155648
+TIMESTAMP = 1745936400
+SHA256 (rubygem/fog-google-1.25.0.gem) = 58aea3b0abf5938ed6ca2a3b51282cfe7038403e2eeb70bdb0a1b998307ce18f
+SIZE (rubygem/fog-google-1.25.0.gem) = 155136
diff --git a/net/rubygem-fog-google/files/patch-gemspec b/net/rubygem-fog-google/files/patch-gemspec
deleted file mode 100644
index c58ba9710bf3..000000000000
--- a/net/rubygem-fog-google/files/patch-gemspec
+++ /dev/null
@@ -1,11 +0,0 @@
---- fog-google.gemspec.orig 2024-10-30 07:29:28 UTC
-+++ fog-google.gemspec
-@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
-
- s.specification_version = 4
-
-- s.add_runtime_dependency(%q<fog-core>.freeze, ["< 2.5".freeze])
-+ s.add_runtime_dependency(%q<fog-core>.freeze, ["< 2.7".freeze])
- s.add_runtime_dependency(%q<fog-json>.freeze, ["~> 1.2".freeze])
- s.add_runtime_dependency(%q<fog-xml>.freeze, ["~> 0.1.0".freeze])
- s.add_runtime_dependency(%q<google-apis-storage_v1>.freeze, [">= 0.19".freeze, "< 1".freeze])
diff --git a/net/rubygem-gitlab-kas-grpc/distinfo b/net/rubygem-gitlab-kas-grpc/distinfo
index f9d7101dc764..0c29dc280488 100644
--- a/net/rubygem-gitlab-kas-grpc/distinfo
+++ b/net/rubygem-gitlab-kas-grpc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746703509
-SHA256 (rubygem/gitlab-kas-grpc-17.11.2.gem) = f2b9054dcf636346e89549e9478a684a38bf03bf853332e84154ec3a9856ae1c
-SIZE (rubygem/gitlab-kas-grpc-17.11.2.gem) = 10752
+TIMESTAMP = 1747297312
+SHA256 (rubygem/gitlab-kas-grpc-18.0.0.gem) = 48956943a9a314561970eff65bcb2619df39d52e9469ae91c410e65042365e43
+SIZE (rubygem/gitlab-kas-grpc-18.0.0.gem) = 10752
diff --git a/net/rubygem-google-cloud-bigtable-admin-v2/Makefile b/net/rubygem-google-cloud-bigtable-admin-v2/Makefile
index d5d91e93bc01..052614f8ddbc 100644
--- a/net/rubygem-google-cloud-bigtable-admin-v2/Makefile
+++ b/net/rubygem-google-cloud-bigtable-admin-v2/Makefile
@@ -1,5 +1,5 @@
PORTNAME= google-cloud-bigtable-admin-v2
-PORTVERSION= 1.8.0
+PORTVERSION= 1.9.0
CATEGORIES= net rubygems
MASTER_SITES= RG
diff --git a/net/rubygem-google-cloud-bigtable-admin-v2/distinfo b/net/rubygem-google-cloud-bigtable-admin-v2/distinfo
index d84b803b5215..2d8dd4816833 100644
--- a/net/rubygem-google-cloud-bigtable-admin-v2/distinfo
+++ b/net/rubygem-google-cloud-bigtable-admin-v2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742405562
-SHA256 (rubygem/google-cloud-bigtable-admin-v2-1.8.0.gem) = cf058b30e5b7ad262e340e46b5d02221a22b2b5db0536873aa9a3bd0a7152b88
-SIZE (rubygem/google-cloud-bigtable-admin-v2-1.8.0.gem) = 132096
+TIMESTAMP = 1745936402
+SHA256 (rubygem/google-cloud-bigtable-admin-v2-1.9.0.gem) = b867bea0c3452a03e5ec559d3e1a33d57abedb2b0efa55540478d041c646092c
+SIZE (rubygem/google-cloud-bigtable-admin-v2-1.9.0.gem) = 132096
diff --git a/net/rubygem-google-cloud-pubsub-v1/Makefile b/net/rubygem-google-cloud-pubsub-v1/Makefile
index 122a97401006..ede5d1b00ab5 100644
--- a/net/rubygem-google-cloud-pubsub-v1/Makefile
+++ b/net/rubygem-google-cloud-pubsub-v1/Makefile
@@ -1,5 +1,5 @@
PORTNAME= google-cloud-pubsub-v1
-PORTVERSION= 1.8.0
+PORTVERSION= 1.8.1
CATEGORIES= net rubygems
MASTER_SITES= RG
diff --git a/net/rubygem-google-cloud-pubsub-v1/distinfo b/net/rubygem-google-cloud-pubsub-v1/distinfo
index 062a345a7b38..641b508ce362 100644
--- a/net/rubygem-google-cloud-pubsub-v1/distinfo
+++ b/net/rubygem-google-cloud-pubsub-v1/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742070734
-SHA256 (rubygem/google-cloud-pubsub-v1-1.8.0.gem) = a40f5ac13851b57a3f63c4266cdbb16f4fd0d94a9c6bae354c1c5418e5ecabe1
-SIZE (rubygem/google-cloud-pubsub-v1-1.8.0.gem) = 95232
+TIMESTAMP = 1745936404
+SHA256 (rubygem/google-cloud-pubsub-v1-1.8.1.gem) = 2bfc45905e18c21c7917ac4e181f62e40774e8fc20d618ab3ee35cce74906390
+SIZE (rubygem/google-cloud-pubsub-v1-1.8.1.gem) = 95232
diff --git a/net/rubygem-google-cloud-storage/Makefile b/net/rubygem-google-cloud-storage/Makefile
index 37e4d564e7c9..82200736b311 100644
--- a/net/rubygem-google-cloud-storage/Makefile
+++ b/net/rubygem-google-cloud-storage/Makefile
@@ -1,5 +1,5 @@
PORTNAME= google-cloud-storage
-PORTVERSION= 1.55.0
+PORTVERSION= 1.56.0
CATEGORIES= net rubygems
MASTER_SITES= RG
diff --git a/net/rubygem-google-cloud-storage/distinfo b/net/rubygem-google-cloud-storage/distinfo
index 56af9e0cdfb5..7e6b41ee825f 100644
--- a/net/rubygem-google-cloud-storage/distinfo
+++ b/net/rubygem-google-cloud-storage/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739930310
-SHA256 (rubygem/google-cloud-storage-1.55.0.gem) = 006b111a50ad4f81eb06ac1abf1b9f0e3405ca2fbae555c014343fb4f2f8ae2b
-SIZE (rubygem/google-cloud-storage-1.55.0.gem) = 107520
+TIMESTAMP = 1745936406
+SHA256 (rubygem/google-cloud-storage-1.56.0.gem) = 9db05d2244c9750955b8a49a618431ae0935b6841fa18ba9638d659446b9694b
+SIZE (rubygem/google-cloud-storage-1.56.0.gem) = 108032
diff --git a/net/rubygem-grpc/Makefile b/net/rubygem-grpc/Makefile
index e3ccc16084ee..9a8f6886a286 100644
--- a/net/rubygem-grpc/Makefile
+++ b/net/rubygem-grpc/Makefile
@@ -1,6 +1,6 @@
PORTNAME= grpc
PORTVERSION= 1.67.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= net rubygems
MASTER_SITES= RG
diff --git a/net/rubygem-oauth2-gitlab/Makefile b/net/rubygem-oauth2-gitlab/Makefile
index 5be782149caa..4e554369a79f 100644
--- a/net/rubygem-oauth2-gitlab/Makefile
+++ b/net/rubygem-oauth2-gitlab/Makefile
@@ -1,5 +1,5 @@
PORTNAME= oauth2
-PORTVERSION= 2.0.9
+PORTVERSION= 2.0.10
CATEGORIES= net rubygems
MASTER_SITES= RG
PKGNAMESUFFIX= -gitlab
@@ -9,14 +9,15 @@ COMMENT= Ruby wrapper for the OAuth 2.0 protocol
WWW= https://github.com/oauth-xx/oauth2
LICENSE= MIT
-LICENSE_FILE= ${WRKSRC}/LICENSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-RUN_DEPENDS= rubygem-faraday-gitlab>=0.17.3<3.0:www/rubygem-faraday-gitlab \
- rubygem-jwt>=1.0<3.0:www/rubygem-jwt \
+RUN_DEPENDS= rubygem-faraday-gitlab>=0.17.3<4:www/rubygem-faraday-gitlab \
+ rubygem-jwt>=1.0<4:www/rubygem-jwt \
+ rubygem-logger>=1.2<2:devel/rubygem-logger \
rubygem-multi_xml>=0.5<1:textproc/rubygem-multi_xml \
rubygem-rack>=1.2,3<4,3:www/rubygem-rack \
rubygem-snaky_hash>=2.0<3:devel/rubygem-snaky_hash \
- rubygem-version_gem>=1.1<2:devel/rubygem-version_gem
+ rubygem-version_gem>=1.1.8<3:devel/rubygem-version_gem
USES= gem
diff --git a/net/rubygem-oauth2-gitlab/distinfo b/net/rubygem-oauth2-gitlab/distinfo
index aec0acc8be92..b4207eaf9071 100644
--- a/net/rubygem-oauth2-gitlab/distinfo
+++ b/net/rubygem-oauth2-gitlab/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1663672998
-SHA256 (rubygem/oauth2-2.0.9.gem) = b21f9defcf52dc1610e0dfab4c868342173dcd707fd15c777d9f4f04e153f7fb
-SIZE (rubygem/oauth2-2.0.9.gem) = 34816
+TIMESTAMP = 1747481298
+SHA256 (rubygem/oauth2-2.0.10.gem) = 8f132679598d21885d4bcc68d7e7e6ef0a29f9a782abca00d67d884280dc3a42
+SIZE (rubygem/oauth2-2.0.10.gem) = 54272
diff --git a/net/rubygem-x/Makefile b/net/rubygem-x/Makefile
index f0722e69fe67..a0f9b4225ef9 100644
--- a/net/rubygem-x/Makefile
+++ b/net/rubygem-x/Makefile
@@ -1,5 +1,5 @@
PORTNAME= x
-PORTVERSION= 0.15.2
+PORTVERSION= 0.15.3
CATEGORIES= net rubygems
MASTER_SITES= RG
@@ -11,6 +11,8 @@ WWW= https://sferik.github.io/x-ruby/ \
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+RUN_DEPENDS= rubygem-base64>=0.2:converters/rubygem-base64
+
USES= gem
NO_ARCH= yes
diff --git a/net/rubygem-x/distinfo b/net/rubygem-x/distinfo
index e343d9761ca6..37389a24076e 100644
--- a/net/rubygem-x/distinfo
+++ b/net/rubygem-x/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744289332
-SHA256 (rubygem/x-0.15.2.gem) = 6abbfd7d58a8b732d45bed85035dac006649cd3379819d295349aa333ba9f8a7
-SIZE (rubygem/x-0.15.2.gem) = 18944
+TIMESTAMP = 1745936408
+SHA256 (rubygem/x-0.15.3.gem) = da5d625c09d83451473ae29d71ab15687d668311098fede90b00059bf90d700c
+SIZE (rubygem/x-0.15.3.gem) = 18944
diff --git a/net/sendme/Makefile b/net/sendme/Makefile
index 04322fab640f..d8e7414eb6ef 100644
--- a/net/sendme/Makefile
+++ b/net/sendme/Makefile
@@ -1,6 +1,6 @@
PORTNAME= sendme
DISTVERSIONPREFIX= v
-DISTVERSION= 0.25.0
+DISTVERSION= 0.26.0
CATEGORIES= net
MAINTAINER= feld@FreeBSD.org
diff --git a/net/sendme/Makefile.crates b/net/sendme/Makefile.crates
index f26a79425476..23745d5e2774 100644
--- a/net/sendme/Makefile.crates
+++ b/net/sendme/Makefile.crates
@@ -1,3 +1,9 @@
+===> License APACHE20 MIT accepted by the user
+===> sendme-0.26.0 depends on file: /usr/local/sbin/pkg - found
+===> Fetching all distfiles required by sendme-0.26.0 for building
+===> Extracting for sendme-0.26.0
+=> SHA256 Checksum OK for n0-computer-sendme-v0.26.0_GH0.tar.gz.
+===> Moving crates to /usr/local/poudriere/ports/default/net/sendme/work/sendme-0.26.0/cargo-crates
CARGO_CRATES= addr2line-0.24.2 \
adler2-2.0.0 \
aead-0.5.2 \
@@ -19,20 +25,23 @@ CARGO_CRATES= addr2line-0.24.2 \
asn1-rs-derive-0.5.1 \
asn1-rs-impl-0.2.0 \
async-channel-2.3.1 \
- async-recursion-1.1.1 \
+ async-compat-0.2.4 \
async-trait-0.1.86 \
+ async_io_stream-0.3.3 \
atomic-waker-1.1.2 \
attohttpc-0.24.1 \
autocfg-1.4.0 \
backon-1.4.0 \
backtrace-0.3.74 \
- bao-tree-0.13.0 \
+ bao-tree-0.15.1 \
base16ct-0.2.0 \
+ base32-0.5.1 \
base64-0.22.1 \
base64ct-1.6.0 \
binary-merge-0.1.2 \
bitflags-1.3.2 \
bitflags-2.8.0 \
+ blake3-1.8.2 \
block-buffer-0.10.4 \
block2-0.5.1 \
bounded-integer-0.5.8 \
@@ -42,7 +51,6 @@ CARGO_CRATES= addr2line-0.24.2 \
byteorder-lite-0.1.0 \
bytes-1.10.0 \
cc-1.2.14 \
- cesu8-1.1.0 \
cfg-if-1.0.0 \
cfg_aliases-0.2.1 \
chacha20-0.9.1 \
@@ -55,14 +63,12 @@ CARGO_CRATES= addr2line-0.24.2 \
clipboard-win-5.4.0 \
cobs-0.2.3 \
colorchoice-1.0.3 \
- combine-4.6.7 \
concurrent-queue-2.5.0 \
console-0.15.10 \
const-oid-0.9.6 \
constant_time_eq-0.3.1 \
cordyceps-0.3.2 \
core-foundation-0.9.4 \
- core-foundation-0.10.0 \
core-foundation-sys-0.8.7 \
core-graphics-0.23.2 \
core-graphics-types-0.1.3 \
@@ -70,6 +76,7 @@ CARGO_CRATES= addr2line-0.24.2 \
crc-3.2.1 \
crc-catalog-2.4.0 \
crc32fast-1.4.2 \
+ critical-section-1.2.0 \
crossbeam-channel-0.5.14 \
crossbeam-epoch-0.9.18 \
crossbeam-utils-0.8.21 \
@@ -91,8 +98,8 @@ CARGO_CRATES= addr2line-0.24.2 \
displaydoc-0.2.5 \
dlopen2-0.5.0 \
document-features-0.2.10 \
- dtoa-1.0.9 \
duct-0.13.7 \
+ dyn-clone-1.0.19 \
ecdsa-0.16.9 \
ed25519-2.2.3 \
ed25519-dalek-2.1.1 \
@@ -104,8 +111,6 @@ CARGO_CRATES= addr2line-0.24.2 \
enumflags2-0.7.11 \
enumflags2_derive-0.7.11 \
equivalent-1.0.2 \
- erased-serde-0.3.31 \
- erased_set-0.8.0 \
errno-0.3.10 \
error-code-3.3.1 \
event-listener-5.4.0 \
@@ -124,7 +129,7 @@ CARGO_CRATES= addr2line-0.24.2 \
foreign-types-shared-0.3.1 \
form_urlencoded-1.2.1 \
futures-0.3.31 \
- futures-buffered-0.2.9 \
+ futures-buffered-0.2.11 \
futures-channel-0.3.31 \
futures-core-0.3.31 \
futures-executor-0.3.31 \
@@ -142,7 +147,7 @@ CARGO_CRATES= addr2line-0.24.2 \
generic-array-0.14.7 \
gethostname-0.4.3 \
getrandom-0.2.15 \
- getrandom-0.3.1 \
+ getrandom-0.3.3 \
gimli-0.31.1 \
glob-0.3.2 \
gloo-timers-0.3.0 \
@@ -154,8 +159,8 @@ CARGO_CRATES= addr2line-0.24.2 \
heck-0.5.0 \
hermit-abi-0.3.9 \
hex-0.4.3 \
- hickory-proto-0.25.0-alpha.5 \
- hickory-resolver-0.25.0-alpha.5 \
+ hickory-proto-0.25.2 \
+ hickory-resolver-0.25.2 \
hmac-0.12.1 \
hmac-sha1-0.2.2 \
hmac-sha256-1.1.8 \
@@ -169,7 +174,7 @@ CARGO_CRATES= addr2line-0.24.2 \
httpdate-1.0.3 \
hyper-1.6.0 \
hyper-rustls-0.27.5 \
- hyper-util-0.1.10 \
+ hyper-util-0.1.11 \
iana-time-zone-0.1.61 \
iana-time-zone-haiku-0.1.2 \
icu_collections-1.5.0 \
@@ -184,7 +189,7 @@ CARGO_CRATES= addr2line-0.24.2 \
icu_provider_macros-1.5.0 \
idna-1.0.3 \
idna_adapter-1.2.0 \
- igd-next-0.15.1 \
+ igd-next-0.16.1 \
image-0.25.5 \
indexmap-2.7.1 \
indicatif-0.17.11 \
@@ -193,25 +198,22 @@ CARGO_CRATES= addr2line-0.24.2 \
instant-0.1.13 \
ipconfig-0.3.2 \
ipnet-2.11.0 \
- iroh-0.34.0 \
- iroh-base-0.34.0 \
- iroh-blake3-1.4.5 \
- iroh-blobs-0.34.0 \
- iroh-io-0.6.1 \
- iroh-metrics-0.32.0 \
- iroh-net-report-0.34.0 \
+ iroh-0.35.0 \
+ iroh-base-0.35.0 \
+ iroh-blobs-0.35.0 \
+ iroh-io-0.6.2 \
+ iroh-metrics-0.34.0 \
+ iroh-metrics-derive-0.2.0 \
iroh-quinn-0.13.0 \
iroh-quinn-proto-0.13.0 \
iroh-quinn-udp-0.5.7 \
- iroh-relay-0.34.0 \
+ iroh-relay-0.35.0 \
is_terminal_polyfill-1.70.1 \
itoa-1.0.14 \
- jni-0.21.1 \
- jni-sys-0.3.0 \
jpeg-decoder-0.3.1 \
js-sys-0.3.77 \
lazy_static-1.5.0 \
- libc-0.2.169 \
+ libc-0.2.172 \
libm-0.2.11 \
linux-raw-sys-0.4.15 \
litemap-0.7.4 \
@@ -221,6 +223,7 @@ CARGO_CRATES= addr2line-0.24.2 \
loom-0.5.6 \
loom-0.7.2 \
lru-0.12.5 \
+ lru-0.13.0 \
match_cfg-0.1.0 \
matchers-0.1.0 \
md5-0.7.0 \
@@ -230,23 +233,22 @@ CARGO_CRATES= addr2line-0.24.2 \
miniz_oxide-0.8.4 \
mio-1.0.3 \
moka-0.12.10 \
- n0-future-0.1.2 \
+ n0-future-0.1.3 \
nanorand-0.7.0 \
nested_enum_utils-0.1.0 \
+ nested_enum_utils-0.2.2 \
netdev-0.31.0 \
netlink-packet-core-0.7.0 \
netlink-packet-route-0.17.1 \
- netlink-packet-route-0.19.0 \
+ netlink-packet-route-0.23.0 \
netlink-packet-utils-0.5.2 \
netlink-proto-0.11.5 \
netlink-sys-0.8.7 \
- netwatch-0.3.0 \
- netwatch-0.4.0 \
- nix-0.26.4 \
- nix-0.27.1 \
+ netwatch-0.5.0 \
nix-0.29.0 \
no-std-net-0.6.0 \
nom-7.1.3 \
+ ntimestamp-1.0.0 \
nu-ansi-term-0.46.0 \
num-bigint-0.4.6 \
num-bigint-dig-0.8.4 \
@@ -272,7 +274,6 @@ CARGO_CRATES= addr2line-0.24.2 \
once_cell-1.20.3 \
oneshot-0.1.10 \
opaque-debug-0.3.1 \
- openssl-probe-0.1.6 \
os_pipe-1.2.1 \
overload-0.1.1 \
p256-0.13.2 \
@@ -289,11 +290,12 @@ CARGO_CRATES= addr2line-0.24.2 \
pest_derive-2.7.15 \
pest_generator-2.7.15 \
pest_meta-2.7.15 \
+ pharos-0.5.3 \
pin-project-1.1.9 \
pin-project-internal-1.1.9 \
pin-project-lite-0.2.16 \
pin-utils-0.1.0 \
- pkarr-2.3.1 \
+ pkarr-3.7.1 \
pkcs1-0.7.5 \
pkcs8-0.10.2 \
pnet_base-0.34.0 \
@@ -303,31 +305,30 @@ CARGO_CRATES= addr2line-0.24.2 \
png-0.17.16 \
poly1305-0.8.0 \
portable-atomic-1.10.0 \
- portmapper-0.4.0 \
+ portmapper-0.5.0 \
positioned-io-0.3.3 \
postcard-1.1.1 \
postcard-derive-0.1.2 \
powerfmt-0.2.0 \
ppv-lite86-0.2.20 \
- precis-core-0.1.10 \
- precis-profiles-0.1.11 \
- precis-tools-0.1.8 \
+ precis-core-0.1.11 \
+ precis-profiles-0.1.12 \
+ precis-tools-0.1.9 \
primeorder-0.13.6 \
proc-macro-crate-3.2.0 \
proc-macro-error-0.4.12 \
proc-macro-error-attr-0.4.12 \
proc-macro-hack-0.5.20+deprecated \
proc-macro2-1.0.93 \
- prometheus-client-0.22.3 \
- prometheus-client-derive-encode-0.4.2 \
- quic-rpc-0.19.0 \
- quic-rpc-derive-0.19.0 \
+ quic-rpc-0.20.0 \
+ quic-rpc-derive-0.20.0 \
quick-error-1.2.3 \
quinn-0.11.6 \
quinn-proto-0.11.9 \
quinn-udp-0.5.10 \
quote-1.0.38 \
quoted-string-parser-0.1.0 \
+ r-efi-5.2.0 \
rand-0.8.5 \
rand-0.9.0 \
rand_chacha-0.3.1 \
@@ -347,45 +348,38 @@ CARGO_CRATES= addr2line-0.24.2 \
regex-lite-0.1.6 \
regex-syntax-0.6.29 \
regex-syntax-0.8.5 \
- reqwest-0.12.12 \
+ reqwest-0.12.15 \
resolv-conf-0.7.0 \
rfc6979-0.4.0 \
ring-0.17.9 \
rsa-0.9.8 \
- rtnetlink-0.13.1 \
- rtnetlink-0.14.1 \
rustc-demangle-0.1.24 \
rustc-hash-2.1.1 \
rustc_version-0.4.1 \
rusticata-macros-4.1.0 \
rustix-0.38.44 \
rustls-0.23.23 \
- rustls-native-certs-0.8.1 \
rustls-pemfile-2.2.0 \
rustls-pki-types-1.11.0 \
- rustls-platform-verifier-0.5.0 \
- rustls-platform-verifier-android-0.1.1 \
rustls-webpki-0.102.8 \
rustversion-1.0.19 \
ryu-1.0.19 \
salsa20-0.10.2 \
same-file-1.0.6 \
- schannel-0.1.27 \
scoped-tls-1.0.1 \
scopeguard-1.2.0 \
sec1-0.7.3 \
- security-framework-3.2.0 \
- security-framework-sys-2.14.0 \
self_cell-1.1.0 \
semver-1.0.25 \
send_wrapper-0.6.0 \
- serde-1.0.217 \
+ serde-1.0.219 \
serde-error-0.1.3 \
- serde_derive-1.0.217 \
+ serde_derive-1.0.219 \
serde_json-1.0.138 \
serde_urlencoded-0.7.1 \
serdect-0.2.0 \
sha1-0.10.6 \
+ sha1_smol-1.0.1 \
sha2-0.10.8 \
sharded-slab-0.1.7 \
shared_child-1.0.1 \
@@ -393,10 +387,13 @@ CARGO_CRATES= addr2line-0.24.2 \
signal-hook-registry-1.4.2 \
signature-2.2.0 \
simd-adler32-0.3.7 \
+ simdutf8-0.1.5 \
simple-dns-0.9.3 \
slab-0.4.9 \
smallvec-1.13.2 \
- socket2-0.5.8 \
+ snafu-0.8.5 \
+ snafu-derive-0.8.5 \
+ socket2-0.5.9 \
spin-0.9.8 \
spki-0.7.3 \
ssh-cipher-0.2.0 \
@@ -404,12 +401,9 @@ CARGO_CRATES= addr2line-0.24.2 \
ssh-key-0.6.7 \
stable_deref_trait-1.2.0 \
strsim-0.11.1 \
- struct_iterable-0.1.1 \
- struct_iterable_derive-0.1.0 \
- struct_iterable_internal-0.1.1 \
strum-0.26.3 \
strum_macros-0.26.4 \
- stun-rs-0.1.9 \
+ stun-rs-0.1.11 \
subtle-2.6.1 \
surge-ping-0.8.1 \
syn-1.0.109 \
@@ -433,13 +427,12 @@ CARGO_CRATES= addr2line-0.24.2 \
tinystr-0.7.6 \
tinyvec-1.8.1 \
tinyvec_macros-0.1.1 \
- tokio-1.43.0 \
+ tokio-1.45.0 \
tokio-macros-2.5.0 \
tokio-rustls-0.26.1 \
tokio-stream-0.1.17 \
- tokio-tungstenite-0.24.0 \
- tokio-tungstenite-wasm-0.4.0 \
- tokio-util-0.7.13 \
+ tokio-util-0.7.15 \
+ tokio-websockets-0.11.4 \
toml_datetime-0.6.8 \
toml_edit-0.22.24 \
tower-0.5.2 \
@@ -454,7 +447,6 @@ CARGO_CRATES= addr2line-0.24.2 \
tracing-test-0.2.5 \
tracing-test-macro-0.2.5 \
try-lock-0.2.5 \
- tungstenite-0.24.0 \
typenum-1.17.0 \
ucd-parse-0.1.13 \
ucd-trie-0.1.7 \
@@ -464,9 +456,7 @@ CARGO_CRATES= addr2line-0.24.2 \
unicode-xid-0.2.6 \
universal-hash-0.5.1 \
untrusted-0.9.0 \
- ureq-2.12.1 \
url-2.5.4 \
- utf-8-0.7.6 \
utf16_iter-1.0.5 \
utf8_iter-1.0.4 \
utf8parse-0.2.2 \
@@ -476,7 +466,7 @@ CARGO_CRATES= addr2line-0.24.2 \
walkdir-2.5.0 \
want-0.3.1 \
wasi-0.11.0+wasi-snapshot-preview1 \
- wasi-0.13.3+wasi-0.2.2 \
+ wasi-0.14.2+wasi-0.2.4 \
wasm-bindgen-0.2.100 \
wasm-bindgen-backend-0.2.100 \
wasm-bindgen-futures-0.4.50 \
@@ -486,7 +476,6 @@ CARGO_CRATES= addr2line-0.24.2 \
wasm-streams-0.4.2 \
web-sys-0.3.77 \
web-time-1.1.0 \
- webpki-root-certs-0.26.8 \
webpki-roots-0.26.8 \
weezl-0.1.8 \
widestring-1.1.0 \
@@ -504,55 +493,47 @@ CARGO_CRATES= addr2line-0.24.2 \
windows-implement-0.59.0 \
windows-interface-0.58.0 \
windows-interface-0.59.0 \
- windows-registry-0.2.0 \
+ windows-registry-0.4.0 \
windows-result-0.2.0 \
windows-result-0.3.0 \
windows-strings-0.1.0 \
windows-strings-0.3.0 \
- windows-sys-0.45.0 \
windows-sys-0.48.0 \
windows-sys-0.52.0 \
windows-sys-0.59.0 \
- windows-targets-0.42.2 \
windows-targets-0.48.5 \
windows-targets-0.52.6 \
windows-targets-0.53.0 \
- windows_aarch64_gnullvm-0.42.2 \
windows_aarch64_gnullvm-0.48.5 \
windows_aarch64_gnullvm-0.52.6 \
windows_aarch64_gnullvm-0.53.0 \
- windows_aarch64_msvc-0.42.2 \
windows_aarch64_msvc-0.48.5 \
windows_aarch64_msvc-0.52.6 \
windows_aarch64_msvc-0.53.0 \
- windows_i686_gnu-0.42.2 \
windows_i686_gnu-0.48.5 \
windows_i686_gnu-0.52.6 \
windows_i686_gnu-0.53.0 \
windows_i686_gnullvm-0.52.6 \
windows_i686_gnullvm-0.53.0 \
- windows_i686_msvc-0.42.2 \
windows_i686_msvc-0.48.5 \
windows_i686_msvc-0.52.6 \
windows_i686_msvc-0.53.0 \
- windows_x86_64_gnu-0.42.2 \
windows_x86_64_gnu-0.48.5 \
windows_x86_64_gnu-0.52.6 \
windows_x86_64_gnu-0.53.0 \
- windows_x86_64_gnullvm-0.42.2 \
windows_x86_64_gnullvm-0.48.5 \
windows_x86_64_gnullvm-0.52.6 \
windows_x86_64_gnullvm-0.53.0 \
- windows_x86_64_msvc-0.42.2 \
windows_x86_64_msvc-0.48.5 \
windows_x86_64_msvc-0.52.6 \
windows_x86_64_msvc-0.53.0 \
winnow-0.7.2 \
winreg-0.50.0 \
- wit-bindgen-rt-0.33.0 \
+ wit-bindgen-rt-0.39.0 \
wmi-0.14.5 \
write16-1.0.0 \
writeable-0.5.5 \
+ ws_stream_wasm-0.7.4 \
x11rb-0.13.1 \
x11rb-protocol-0.13.1 \
x509-parser-0.16.0 \
diff --git a/net/sendme/distinfo b/net/sendme/distinfo
index ce13813d30d5..459d1e96e2b2 100644
--- a/net/sendme/distinfo
+++ b/net/sendme/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1744348485
+TIMESTAMP = 1747162831
SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
@@ -41,10 +41,12 @@ SHA256 (rust/crates/asn1-rs-impl-0.2.0.crate) = 7b18050c2cd6fe86c3a76584ef5e0baf
SIZE (rust/crates/asn1-rs-impl-0.2.0.crate) = 2261
SHA256 (rust/crates/async-channel-2.3.1.crate) = 89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a
SIZE (rust/crates/async-channel-2.3.1.crate) = 14576
-SHA256 (rust/crates/async-recursion-1.1.1.crate) = 3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11
-SIZE (rust/crates/async-recursion-1.1.1.crate) = 14874
+SHA256 (rust/crates/async-compat-0.2.4.crate) = 7bab94bde396a3f7b4962e396fdad640e241ed797d4d8d77fc8c237d14c58fc0
+SIZE (rust/crates/async-compat-0.2.4.crate) = 11279
SHA256 (rust/crates/async-trait-0.1.86.crate) = 644dd749086bf3771a2fbc5f256fdb982d53f011c7d5d560304eafeecebce79d
SIZE (rust/crates/async-trait-0.1.86.crate) = 31946
+SHA256 (rust/crates/async_io_stream-0.3.3.crate) = b6d7b9decdf35d8908a7e3ef02f64c5e9b1695e230154c0e8de3969142d9b94c
+SIZE (rust/crates/async_io_stream-0.3.3.crate) = 15111
SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0
SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422
SHA256 (rust/crates/attohttpc-0.24.1.crate) = 8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2
@@ -55,10 +57,12 @@ SHA256 (rust/crates/backon-1.4.0.crate) = 49fef586913a57ff189f25c9b3d034356a5bf6
SIZE (rust/crates/backon-1.4.0.crate) = 38683
SHA256 (rust/crates/backtrace-0.3.74.crate) = 8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a
SIZE (rust/crates/backtrace-0.3.74.crate) = 88516
-SHA256 (rust/crates/bao-tree-0.13.0.crate) = f1f7a89a8ee5889d2593ae422ce6e1bb03e48a0e8a16e4fa0882dfcbe7e182ef
-SIZE (rust/crates/bao-tree-0.13.0.crate) = 229463
+SHA256 (rust/crates/bao-tree-0.15.1.crate) = ff16d65e48353db458be63ee395c03028f24564fd48668389bd65fd945f5ac36
+SIZE (rust/crates/bao-tree-0.15.1.crate) = 233465
SHA256 (rust/crates/base16ct-0.2.0.crate) = 4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf
SIZE (rust/crates/base16ct-0.2.0.crate) = 10240
+SHA256 (rust/crates/base32-0.5.1.crate) = 022dfe9eb35f19ebbcb51e0b40a5ab759f46ad60cadf7297e0bd085afb50e076
+SIZE (rust/crates/base32-0.5.1.crate) = 9238
SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6
SIZE (rust/crates/base64-0.22.1.crate) = 81597
SHA256 (rust/crates/base64ct-1.6.0.crate) = 8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b
@@ -69,6 +73,8 @@ SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c9
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
SHA256 (rust/crates/bitflags-2.8.0.crate) = 8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36
SIZE (rust/crates/bitflags-2.8.0.crate) = 47482
+SHA256 (rust/crates/blake3-1.8.2.crate) = 3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0
+SIZE (rust/crates/blake3-1.8.2.crate) = 205967
SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
SHA256 (rust/crates/block2-0.5.1.crate) = 2c132eebf10f5cad5289222520a4a058514204aed6d791f1cf4fe8088b82d15f
@@ -87,8 +93,6 @@ SHA256 (rust/crates/bytes-1.10.0.crate) = f61dac84819c6588b558454b194026eb1f09c2
SIZE (rust/crates/bytes-1.10.0.crate) = 76656
SHA256 (rust/crates/cc-1.2.14.crate) = 0c3d1b2e905a3a7b00a6141adb0e4c0bb941d11caf55349d863942a1cc44e3c9
SIZE (rust/crates/cc-1.2.14.crate) = 103164
-SHA256 (rust/crates/cesu8-1.1.0.crate) = 6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c
-SIZE (rust/crates/cesu8-1.1.0.crate) = 10555
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724
@@ -113,8 +117,6 @@ SHA256 (rust/crates/cobs-0.2.3.crate) = 67ba02a97a2bd10f4b59b25c7973101c79642302
SIZE (rust/crates/cobs-0.2.3.crate) = 12576
SHA256 (rust/crates/colorchoice-1.0.3.crate) = 5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990
SIZE (rust/crates/colorchoice-1.0.3.crate) = 7923
-SHA256 (rust/crates/combine-4.6.7.crate) = ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd
-SIZE (rust/crates/combine-4.6.7.crate) = 134808
SHA256 (rust/crates/concurrent-queue-2.5.0.crate) = 4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973
SIZE (rust/crates/concurrent-queue-2.5.0.crate) = 22654
SHA256 (rust/crates/console-0.15.10.crate) = ea3c6ecd8059b57859df5c69830340ed3c41d30e3da0c1cbed90a96ac853041b
@@ -127,8 +129,6 @@ SHA256 (rust/crates/cordyceps-0.3.2.crate) = ec10f0a762d93c4498d2e97a333805cb625
SIZE (rust/crates/cordyceps-0.3.2.crate) = 49791
SHA256 (rust/crates/core-foundation-0.9.4.crate) = 91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f
SIZE (rust/crates/core-foundation-0.9.4.crate) = 27743
-SHA256 (rust/crates/core-foundation-0.10.0.crate) = b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63
-SIZE (rust/crates/core-foundation-0.10.0.crate) = 27023
SHA256 (rust/crates/core-foundation-sys-0.8.7.crate) = 773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b
SIZE (rust/crates/core-foundation-sys-0.8.7.crate) = 37712
SHA256 (rust/crates/core-graphics-0.23.2.crate) = c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081
@@ -143,6 +143,8 @@ SHA256 (rust/crates/crc-catalog-2.4.0.crate) = 19d374276b40fb8bbdee95aef7c7fa6b5
SIZE (rust/crates/crc-catalog-2.4.0.crate) = 10155
SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
+SHA256 (rust/crates/critical-section-1.2.0.crate) = 790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b
+SIZE (rust/crates/critical-section-1.2.0.crate) = 19133
SHA256 (rust/crates/crossbeam-channel-0.5.14.crate) = 06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471
SIZE (rust/crates/crossbeam-channel-0.5.14.crate) = 92728
SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
@@ -185,10 +187,10 @@ SHA256 (rust/crates/dlopen2-0.5.0.crate) = 09b4f5f101177ff01b8ec4ecc81eead416a8a
SIZE (rust/crates/dlopen2-0.5.0.crate) = 28703
SHA256 (rust/crates/document-features-0.2.10.crate) = cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0
SIZE (rust/crates/document-features-0.2.10.crate) = 14005
-SHA256 (rust/crates/dtoa-1.0.9.crate) = dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653
-SIZE (rust/crates/dtoa-1.0.9.crate) = 17002
SHA256 (rust/crates/duct-0.13.7.crate) = e4ab5718d1224b63252cd0c6f74f6480f9ffeb117438a2e0f5cf6d9a4798929c
SIZE (rust/crates/duct-0.13.7.crate) = 30055
+SHA256 (rust/crates/dyn-clone-1.0.19.crate) = 1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005
+SIZE (rust/crates/dyn-clone-1.0.19.crate) = 12896
SHA256 (rust/crates/ecdsa-0.16.9.crate) = ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca
SIZE (rust/crates/ecdsa-0.16.9.crate) = 31406
SHA256 (rust/crates/ed25519-2.2.3.crate) = 115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53
@@ -211,10 +213,6 @@ SHA256 (rust/crates/enumflags2_derive-0.7.11.crate) = fc4caf64a58d7a6d65ab00639b
SIZE (rust/crates/enumflags2_derive-0.7.11.crate) = 8524
SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
-SHA256 (rust/crates/erased-serde-0.3.31.crate) = 6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c
-SIZE (rust/crates/erased-serde-0.3.31.crate) = 24182
-SHA256 (rust/crates/erased_set-0.8.0.crate) = a02a5d186d7bf1cb21f1f95e1a9cfa5c1f2dcd803a47aad454423ceec13525c5
-SIZE (rust/crates/erased_set-0.8.0.crate) = 4501
SHA256 (rust/crates/errno-0.3.10.crate) = 33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d
SIZE (rust/crates/errno-0.3.10.crate) = 11824
SHA256 (rust/crates/error-code-3.3.1.crate) = a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f
@@ -251,8 +249,8 @@ SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd
SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
SHA256 (rust/crates/futures-0.3.31.crate) = 65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876
SIZE (rust/crates/futures-0.3.31.crate) = 54953
-SHA256 (rust/crates/futures-buffered-0.2.9.crate) = 34acda8ae8b63fbe0b2195c998b180cff89a8212fb2622a78b572a9f1c6f7684
-SIZE (rust/crates/futures-buffered-0.2.9.crate) = 30905
+SHA256 (rust/crates/futures-buffered-0.2.11.crate) = fe940397c8b744b9c2c974791c2c08bca2c3242ce0290393249e98f215a00472
+SIZE (rust/crates/futures-buffered-0.2.11.crate) = 43021
SHA256 (rust/crates/futures-channel-0.3.31.crate) = 2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10
SIZE (rust/crates/futures-channel-0.3.31.crate) = 31971
SHA256 (rust/crates/futures-core-0.3.31.crate) = 05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e
@@ -287,8 +285,8 @@ SHA256 (rust/crates/gethostname-0.4.3.crate) = 0176e0459c2e4a1fe232f984bca6890e6
SIZE (rust/crates/gethostname-0.4.3.crate) = 9336
SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
-SHA256 (rust/crates/getrandom-0.3.1.crate) = 43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8
-SIZE (rust/crates/getrandom-0.3.1.crate) = 42449
+SHA256 (rust/crates/getrandom-0.3.3.crate) = 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4
+SIZE (rust/crates/getrandom-0.3.3.crate) = 49493
SHA256 (rust/crates/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f
SIZE (rust/crates/gimli-0.31.1.crate) = 279515
SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2
@@ -311,10 +309,10 @@ SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066a
SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165
SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
SIZE (rust/crates/hex-0.4.3.crate) = 13299
-SHA256 (rust/crates/hickory-proto-0.25.0-alpha.5.crate) = 1d00147af6310f4392a31680db52a3ed45a2e0f68eb18e8c3fe5537ecc96d9e2
-SIZE (rust/crates/hickory-proto-0.25.0-alpha.5.crate) = 405101
-SHA256 (rust/crates/hickory-resolver-0.25.0-alpha.5.crate) = 5762f69ebdbd4ddb2e975cd24690bf21fe6b2604039189c26acddbc427f12887
-SIZE (rust/crates/hickory-resolver-0.25.0-alpha.5.crate) = 89327
+SHA256 (rust/crates/hickory-proto-0.25.2.crate) = f8a6fe56c0038198998a6f217ca4e7ef3a5e51f46163bd6dd60b5c71ca6c6502
+SIZE (rust/crates/hickory-proto-0.25.2.crate) = 417616
+SHA256 (rust/crates/hickory-resolver-0.25.2.crate) = dc62a9a99b0bfb44d2ab95a7208ac952d31060efc16241c87eaf36406fecf87a
+SIZE (rust/crates/hickory-resolver-0.25.2.crate) = 91883
SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e
SIZE (rust/crates/hmac-0.12.1.crate) = 42657
SHA256 (rust/crates/hmac-sha1-0.2.2.crate) = 6b05da5b9e5d4720bfb691eebb2b9d42da3570745da71eac8a1f5bb7e59aab88
@@ -341,8 +339,8 @@ SHA256 (rust/crates/hyper-1.6.0.crate) = cc2b571658e38e0c01b1fdca3bbbe93c00d3d71
SIZE (rust/crates/hyper-1.6.0.crate) = 153923
SHA256 (rust/crates/hyper-rustls-0.27.5.crate) = 2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2
SIZE (rust/crates/hyper-rustls-0.27.5.crate) = 34660
-SHA256 (rust/crates/hyper-util-0.1.10.crate) = df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4
-SIZE (rust/crates/hyper-util-0.1.10.crate) = 72887
+SHA256 (rust/crates/hyper-util-0.1.11.crate) = 497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2
+SIZE (rust/crates/hyper-util-0.1.11.crate) = 75973
SHA256 (rust/crates/iana-time-zone-0.1.61.crate) = 235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220
SIZE (rust/crates/iana-time-zone-0.1.61.crate) = 27685
SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
@@ -371,8 +369,8 @@ SHA256 (rust/crates/idna-1.0.3.crate) = 686f825264d630750a544639377bae737628043f
SIZE (rust/crates/idna-1.0.3.crate) = 142515
SHA256 (rust/crates/idna_adapter-1.2.0.crate) = daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71
SIZE (rust/crates/idna_adapter-1.2.0.crate) = 8206
-SHA256 (rust/crates/igd-next-0.15.1.crate) = 76b0d7d4541def58a37bf8efc559683f21edce7c82f0d866c93ac21f7e098f93
-SIZE (rust/crates/igd-next-0.15.1.crate) = 36501
+SHA256 (rust/crates/igd-next-0.16.1.crate) = d06464e726471718db9ad3fefc020529fabcde03313a0fc3967510e2db5add12
+SIZE (rust/crates/igd-next-0.16.1.crate) = 38531
SHA256 (rust/crates/image-0.25.5.crate) = cd6f44aed642f18953a158afeb30206f4d50da59fbc66ecb53c66488de73563b
SIZE (rust/crates/image-0.25.5.crate) = 241073
SHA256 (rust/crates/indexmap-2.7.1.crate) = 8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652
@@ -389,44 +387,38 @@ SHA256 (rust/crates/ipconfig-0.3.2.crate) = b58db92f96b720de98181bbbe63c831e8700
SIZE (rust/crates/ipconfig-0.3.2.crate) = 24468
SHA256 (rust/crates/ipnet-2.11.0.crate) = 469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130
SIZE (rust/crates/ipnet-2.11.0.crate) = 29718
-SHA256 (rust/crates/iroh-0.34.0.crate) = 6b7224d4eeec6c8b5b1a9b2347a4dff3588834a7fb17233044bff3e90e7b293d
-SIZE (rust/crates/iroh-0.34.0.crate) = 219225
-SHA256 (rust/crates/iroh-base-0.34.0.crate) = 02bf2374c0f1d01cde6e60de7505e42a604acda1a1bb3f7be19806e466055517
-SIZE (rust/crates/iroh-base-0.34.0.crate) = 18047
-SHA256 (rust/crates/iroh-blake3-1.4.5.crate) = efbba31f40a650f58fa28dd585a8ca76d8ae3ba63aacab4c8269004a0c803930
-SIZE (rust/crates/iroh-blake3-1.4.5.crate) = 164941
-SHA256 (rust/crates/iroh-blobs-0.34.0.crate) = c8d7a6872c7ec4a2613d0386b4dc19b5f3cf4822d81361c5136a63fd56ba2372
-SIZE (rust/crates/iroh-blobs-0.34.0.crate) = 260433
-SHA256 (rust/crates/iroh-io-0.6.1.crate) = 17e302c5ad649c6a7aa9ae8468e1c4dc2469321af0c6de7341c1be1bdaab434b
-SIZE (rust/crates/iroh-io-0.6.1.crate) = 20616
-SHA256 (rust/crates/iroh-metrics-0.32.0.crate) = c0f7cd1ffe3b152a5f4f4c1880e01e07d96001f20e02cc143cb7842987c616b3
-SIZE (rust/crates/iroh-metrics-0.32.0.crate) = 34357
-SHA256 (rust/crates/iroh-net-report-0.34.0.crate) = 63407d73331e8e38980be7e39b1db8e173fc28545b3ea0c48c9a718f95877b8e
-SIZE (rust/crates/iroh-net-report-0.34.0.crate) = 73156
+SHA256 (rust/crates/iroh-0.35.0.crate) = 6ca758f4ce39ae3f07de922be6c73de6a48a07f39554e78b5745585652ce38f5
+SIZE (rust/crates/iroh-0.35.0.crate) = 268884
+SHA256 (rust/crates/iroh-base-0.35.0.crate) = f91ac4aaab68153d726c4e6b39c30f9f9253743f0e25664e52f4caeb46f48d11
+SIZE (rust/crates/iroh-base-0.35.0.crate) = 18115
+SHA256 (rust/crates/iroh-blobs-0.35.0.crate) = 817b785193b73c34ef1f2dcb5ddf8729ecef9b72a8fc0e706ee6d7a9bf8766a6
+SIZE (rust/crates/iroh-blobs-0.35.0.crate) = 261266
+SHA256 (rust/crates/iroh-io-0.6.2.crate) = e0a5feb781017b983ff1b155cd1faf8174da2acafd807aa482876da2d7e6577a
+SIZE (rust/crates/iroh-io-0.6.2.crate) = 29683
+SHA256 (rust/crates/iroh-metrics-0.34.0.crate) = f70466f14caff7420a14373676947e25e2917af6a5b1bec45825beb2bf1eb6a7
+SIZE (rust/crates/iroh-metrics-0.34.0.crate) = 40400
+SHA256 (rust/crates/iroh-metrics-derive-0.2.0.crate) = 8d12f5c45c4ed2436302a4e03cad9a0ad34b2962ad0c5791e1019c0ee30eeb09
+SIZE (rust/crates/iroh-metrics-derive-0.2.0.crate) = 2945
SHA256 (rust/crates/iroh-quinn-0.13.0.crate) = 76c6245c9ed906506ab9185e8d7f64857129aee4f935e899f398a3bd3b70338d
SIZE (rust/crates/iroh-quinn-0.13.0.crate) = 78548
SHA256 (rust/crates/iroh-quinn-proto-0.13.0.crate) = 929d5d8fa77d5c304d3ee7cae9aede31f13908bd049f9de8c7c0094ad6f7c535
SIZE (rust/crates/iroh-quinn-proto-0.13.0.crate) = 224474
SHA256 (rust/crates/iroh-quinn-udp-0.5.7.crate) = c53afaa1049f7c83ea1331f5ebb9e6ebc5fdd69c468b7a22dd598b02c9bcc973
SIZE (rust/crates/iroh-quinn-udp-0.5.7.crate) = 25601
-SHA256 (rust/crates/iroh-relay-0.34.0.crate) = 21d282c04a71a83a90b8fe6872ba30ae341853255aa908375a3e6181f7215d7b
-SIZE (rust/crates/iroh-relay-0.34.0.crate) = 110794
+SHA256 (rust/crates/iroh-relay-0.35.0.crate) = c63f122cdfaa4b4e0e7d6d3921d2b878f42a0c6d3ee5a29456dc3f5ab5ec931f
+SIZE (rust/crates/iroh-relay-0.35.0.crate) = 113963
SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
SIZE (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7492
SHA256 (rust/crates/itoa-1.0.14.crate) = d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674
SIZE (rust/crates/itoa-1.0.14.crate) = 11210
-SHA256 (rust/crates/jni-0.21.1.crate) = 1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97
-SIZE (rust/crates/jni-0.21.1.crate) = 105028
-SHA256 (rust/crates/jni-sys-0.3.0.crate) = 8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130
-SIZE (rust/crates/jni-sys-0.3.0.crate) = 10232
SHA256 (rust/crates/jpeg-decoder-0.3.1.crate) = f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0
SIZE (rust/crates/jpeg-decoder-0.3.1.crate) = 744364
SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f
SIZE (rust/crates/js-sys-0.3.77.crate) = 55538
SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
-SHA256 (rust/crates/libc-0.2.169.crate) = b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a
-SIZE (rust/crates/libc-0.2.169.crate) = 757901
+SHA256 (rust/crates/libc-0.2.172.crate) = d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa
+SIZE (rust/crates/libc-0.2.172.crate) = 791646
SHA256 (rust/crates/libm-0.2.11.crate) = 8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa
SIZE (rust/crates/libm-0.2.11.crate) = 111477
SHA256 (rust/crates/linux-raw-sys-0.4.15.crate) = d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab
@@ -445,6 +437,8 @@ SHA256 (rust/crates/loom-0.7.2.crate) = 419e0dc8046cb947daa77eb95ae174acfbddb767
SIZE (rust/crates/loom-0.7.2.crate) = 73989
SHA256 (rust/crates/lru-0.12.5.crate) = 234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38
SIZE (rust/crates/lru-0.12.5.crate) = 16047
+SHA256 (rust/crates/lru-0.13.0.crate) = 227748d55f2f0ab4735d87fd623798cb6b664512fe979705f829c9f81c934465
+SIZE (rust/crates/lru-0.13.0.crate) = 16305
SHA256 (rust/crates/match_cfg-0.1.0.crate) = ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4
SIZE (rust/crates/match_cfg-0.1.0.crate) = 7153
SHA256 (rust/crates/matchers-0.1.0.crate) = 8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558
@@ -463,40 +457,38 @@ SHA256 (rust/crates/mio-1.0.3.crate) = 2886843bf800fba2e3377cff24abf6379b4c4d5c6
SIZE (rust/crates/mio-1.0.3.crate) = 103703
SHA256 (rust/crates/moka-0.12.10.crate) = a9321642ca94a4282428e6ea4af8cc2ca4eac48ac7a6a4ea8f33f76d0ce70926
SIZE (rust/crates/moka-0.12.10.crate) = 253622
-SHA256 (rust/crates/n0-future-0.1.2.crate) = 399e11dc3b0e8d9d65b27170d22f5d779d52d9bed888db70d7e0c2c7ce3dfc52
-SIZE (rust/crates/n0-future-0.1.2.crate) = 16947
+SHA256 (rust/crates/n0-future-0.1.3.crate) = 7bb0e5d99e681ab3c938842b96fcb41bf8a7bb4bfdb11ccbd653a7e83e06c794
+SIZE (rust/crates/n0-future-0.1.3.crate) = 23690
SHA256 (rust/crates/nanorand-0.7.0.crate) = 6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3
SIZE (rust/crates/nanorand-0.7.0.crate) = 18437
SHA256 (rust/crates/nested_enum_utils-0.1.0.crate) = 8f256ef99e7ac37428ef98c89bef9d84b590172de4bbfbe81b68a4cd3abadb32
SIZE (rust/crates/nested_enum_utils-0.1.0.crate) = 9284
+SHA256 (rust/crates/nested_enum_utils-0.2.2.crate) = 43fa9161ed44d30e9702fe42bd78693bceac0fed02f647da749f36109023d3a3
+SIZE (rust/crates/nested_enum_utils-0.2.2.crate) = 12817
SHA256 (rust/crates/netdev-0.31.0.crate) = f901362e84cd407be6f8cd9d3a46bccf09136b095792785401ea7d283c79b91d
SIZE (rust/crates/netdev-0.31.0.crate) = 27896
SHA256 (rust/crates/netlink-packet-core-0.7.0.crate) = 72724faf704479d67b388da142b186f916188505e7e0b26719019c525882eda4
SIZE (rust/crates/netlink-packet-core-0.7.0.crate) = 16718
SHA256 (rust/crates/netlink-packet-route-0.17.1.crate) = 053998cea5a306971f88580d0829e90f270f940befd7cf928da179d4187a5a66
SIZE (rust/crates/netlink-packet-route-0.17.1.crate) = 115709
-SHA256 (rust/crates/netlink-packet-route-0.19.0.crate) = 74c171cd77b4ee8c7708da746ce392440cb7bcf618d122ec9ecc607b12938bf4
-SIZE (rust/crates/netlink-packet-route-0.19.0.crate) = 137468
+SHA256 (rust/crates/netlink-packet-route-0.23.0.crate) = 0800eae8638a299eaa67476e1c6b6692922273e0f7939fd188fc861c837b9cd2
+SIZE (rust/crates/netlink-packet-route-0.23.0.crate) = 174634
SHA256 (rust/crates/netlink-packet-utils-0.5.2.crate) = 0ede8a08c71ad5a95cdd0e4e52facd37190977039a4704eb82a283f713747d34
SIZE (rust/crates/netlink-packet-utils-0.5.2.crate) = 7970
SHA256 (rust/crates/netlink-proto-0.11.5.crate) = 72452e012c2f8d612410d89eea01e2d9b56205274abb35d53f60200b2ec41d60
SIZE (rust/crates/netlink-proto-0.11.5.crate) = 23793
SHA256 (rust/crates/netlink-sys-0.8.7.crate) = 16c903aa70590cb93691bf97a767c8d1d6122d2cc9070433deb3bbf36ce8bd23
SIZE (rust/crates/netlink-sys-0.8.7.crate) = 23701
-SHA256 (rust/crates/netwatch-0.3.0.crate) = 64da82edf903649e6cb6a77b5a6f7fe01387d8865065d411d139018510880302
-SIZE (rust/crates/netwatch-0.3.0.crate) = 39256
-SHA256 (rust/crates/netwatch-0.4.0.crate) = 0b7879c2cfdf30d92f2be89efa3169b3d78107e3ab7f7b9a37157782569314e1
-SIZE (rust/crates/netwatch-0.4.0.crate) = 46769
-SHA256 (rust/crates/nix-0.26.4.crate) = 598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b
-SIZE (rust/crates/nix-0.26.4.crate) = 279099
-SHA256 (rust/crates/nix-0.27.1.crate) = 2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053
-SIZE (rust/crates/nix-0.27.1.crate) = 286494
+SHA256 (rust/crates/netwatch-0.5.0.crate) = 67eeaa5f7505c93c5a9b35ba84fd21fb8aa3f24678c76acfe8716af7862fb07a
+SIZE (rust/crates/netwatch-0.5.0.crate) = 48462
SHA256 (rust/crates/nix-0.29.0.crate) = 71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46
SIZE (rust/crates/nix-0.29.0.crate) = 318248
SHA256 (rust/crates/no-std-net-0.6.0.crate) = 43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65
SIZE (rust/crates/no-std-net-0.6.0.crate) = 30191
SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/ntimestamp-1.0.0.crate) = c50f94c405726d3e0095e89e72f75ce7f6587b94a8bd8dc8054b73f65c0fd68c
+SIZE (rust/crates/ntimestamp-1.0.0.crate) = 5925
SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84
SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311
SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
@@ -547,8 +539,6 @@ SHA256 (rust/crates/oneshot-0.1.10.crate) = 79d72a7c0f743d2ebb0a2ad1d219db75fdc7
SIZE (rust/crates/oneshot-0.1.10.crate) = 41033
SHA256 (rust/crates/opaque-debug-0.3.1.crate) = c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381
SIZE (rust/crates/opaque-debug-0.3.1.crate) = 7066
-SHA256 (rust/crates/openssl-probe-0.1.6.crate) = d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e
-SIZE (rust/crates/openssl-probe-0.1.6.crate) = 8128
SHA256 (rust/crates/os_pipe-1.2.1.crate) = 5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982
SIZE (rust/crates/os_pipe-1.2.1.crate) = 10691
SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39
@@ -581,6 +571,8 @@ SHA256 (rust/crates/pest_generator-2.7.15.crate) = 7d1396fd3a870fc7838768d171b46
SIZE (rust/crates/pest_generator-2.7.15.crate) = 18417
SHA256 (rust/crates/pest_meta-2.7.15.crate) = e1e58089ea25d717bfd31fb534e4f3afcc2cc569c70de3e239778991ea3b7dea
SIZE (rust/crates/pest_meta-2.7.15.crate) = 42121
+SHA256 (rust/crates/pharos-0.5.3.crate) = e9567389417feee6ce15dd6527a8a1ecac205ef62c2932bcf3d9f6fc5b78b414
+SIZE (rust/crates/pharos-0.5.3.crate) = 26028
SHA256 (rust/crates/pin-project-1.1.9.crate) = dfe2e71e1471fe07709406bf725f710b02927c9c54b2b5b2ec0e8087d97c327d
SIZE (rust/crates/pin-project-1.1.9.crate) = 56299
SHA256 (rust/crates/pin-project-internal-1.1.9.crate) = f6e859e6e5bd50440ab63c47e3ebabc90f26251f7c73c3d3e837b74a1cc3fa67
@@ -589,8 +581,8 @@ SHA256 (rust/crates/pin-project-lite-0.2.16.crate) = 3b3cff922bd51709b605d9ead9a
SIZE (rust/crates/pin-project-lite-0.2.16.crate) = 30504
SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
-SHA256 (rust/crates/pkarr-2.3.1.crate) = 92eff194c72f00f3076855b413ad2d940e3a6e307fa697e5c7733e738341aed4
-SIZE (rust/crates/pkarr-2.3.1.crate) = 34844
+SHA256 (rust/crates/pkarr-3.7.1.crate) = e32222ae3d617bf92414db29085f8a959a4515effce916e038e9399a335a0d6d
+SIZE (rust/crates/pkarr-3.7.1.crate) = 66806
SHA256 (rust/crates/pkcs1-0.7.5.crate) = c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f
SIZE (rust/crates/pkcs1-0.7.5.crate) = 35790
SHA256 (rust/crates/pkcs8-0.10.2.crate) = f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7
@@ -609,8 +601,8 @@ SHA256 (rust/crates/poly1305-0.8.0.crate) = 8159bd90725d2df49889a078b54f4f79e87f
SIZE (rust/crates/poly1305-0.8.0.crate) = 32633
SHA256 (rust/crates/portable-atomic-1.10.0.crate) = 280dc24453071f1b63954171985a0b0d30058d287960968b9b2aca264c8d4ee6
SIZE (rust/crates/portable-atomic-1.10.0.crate) = 174760
-SHA256 (rust/crates/portmapper-0.4.0.crate) = b715da165f399be093fecb2ca774b00713a3b32f6b27e0752fbf255e3be622af
-SIZE (rust/crates/portmapper-0.4.0.crate) = 37085
+SHA256 (rust/crates/portmapper-0.5.0.crate) = 7d6db66007eac4a0ec8331d0d20c734bd64f6445d64bbaf0d0a27fea7a054e36
+SIZE (rust/crates/portmapper-0.5.0.crate) = 39101
SHA256 (rust/crates/positioned-io-0.3.3.crate) = ccabfeeb89c73adf4081f0dca7f8e28dbda90981a222ceea37f619e93ea6afe9
SIZE (rust/crates/positioned-io-0.3.3.crate) = 487765
SHA256 (rust/crates/postcard-1.1.1.crate) = 170a2601f67cc9dba8edd8c4870b15f71a6a2dc196daec8c83f72b59dff628a8
@@ -621,12 +613,12 @@ SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff9416
SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
SHA256 (rust/crates/ppv-lite86-0.2.20.crate) = 77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04
SIZE (rust/crates/ppv-lite86-0.2.20.crate) = 22478
-SHA256 (rust/crates/precis-core-0.1.10.crate) = 25a414cabc93f5f45d53463e73b3d89d3c5c0dc4a34dbf6901f0c6358f017203
-SIZE (rust/crates/precis-core-0.1.10.crate) = 455279
-SHA256 (rust/crates/precis-profiles-0.1.11.crate) = f58e2841ef58164e2626464d4fde67fa301d5e2c78a10300c1756312a03b169f
-SIZE (rust/crates/precis-profiles-0.1.11.crate) = 284789
-SHA256 (rust/crates/precis-tools-0.1.8.crate) = 016da884bc4c2c4670211641abef402d15fa2b06c6e9088ff270dac93675aee2
-SIZE (rust/crates/precis-tools-0.1.8.crate) = 18278
+SHA256 (rust/crates/precis-core-0.1.11.crate) = 9c2e7b31f132e0c6f8682cfb7bf4a5340dbe925b7986618d0826a56dfe0c8e56
+SIZE (rust/crates/precis-core-0.1.11.crate) = 464133
+SHA256 (rust/crates/precis-profiles-0.1.12.crate) = dc4f67f78f50388f03494794766ba824a704db16fb5d400fe8d545fa7bc0d3f1
+SIZE (rust/crates/precis-profiles-0.1.12.crate) = 324842
+SHA256 (rust/crates/precis-tools-0.1.9.crate) = 6cc1eb2d5887ac7bfd2c0b745764db89edb84b856e4214e204ef48ef96d10c4a
+SIZE (rust/crates/precis-tools-0.1.9.crate) = 27293
SHA256 (rust/crates/primeorder-0.13.6.crate) = 353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6
SIZE (rust/crates/primeorder-0.13.6.crate) = 21296
SHA256 (rust/crates/proc-macro-crate-3.2.0.crate) = 8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b
@@ -639,14 +631,10 @@ SHA256 (rust/crates/proc-macro-hack-0.5.20+deprecated.crate) = dc375e1527247fe1a
SIZE (rust/crates/proc-macro-hack-0.5.20+deprecated.crate) = 15045
SHA256 (rust/crates/proc-macro2-1.0.93.crate) = 60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99
SIZE (rust/crates/proc-macro2-1.0.93.crate) = 52388
-SHA256 (rust/crates/prometheus-client-0.22.3.crate) = 504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca
-SIZE (rust/crates/prometheus-client-0.22.3.crate) = 62725
-SHA256 (rust/crates/prometheus-client-derive-encode-0.4.2.crate) = 440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8
-SIZE (rust/crates/prometheus-client-derive-encode-0.4.2.crate) = 3662
-SHA256 (rust/crates/quic-rpc-0.19.0.crate) = 89561e5343bcad1c9f84321d9d9bd1619128ad44293faad55a0001b0e52d312b
-SIZE (rust/crates/quic-rpc-0.19.0.crate) = 98031
-SHA256 (rust/crates/quic-rpc-derive-0.19.0.crate) = 0a99f334af6f23b3de91f6df9ac17237e8b533b676f596c69dcb3b58c3cf8dea
-SIZE (rust/crates/quic-rpc-derive-0.19.0.crate) = 10032
+SHA256 (rust/crates/quic-rpc-0.20.0.crate) = 18bad98bd048264ceb1361ff9d77a031535d8c1e3fe8f12c6966ec825bf68eb7
+SIZE (rust/crates/quic-rpc-0.20.0.crate) = 97788
+SHA256 (rust/crates/quic-rpc-derive-0.20.0.crate) = abf13f1bced5f2f2642d9d89a29d75f2d81ab34c4acfcb434c209d6094b9b2b7
+SIZE (rust/crates/quic-rpc-derive-0.20.0.crate) = 9962
SHA256 (rust/crates/quick-error-1.2.3.crate) = a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0
SIZE (rust/crates/quick-error-1.2.3.crate) = 15066
SHA256 (rust/crates/quinn-0.11.6.crate) = 62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef
@@ -659,6 +647,8 @@ SHA256 (rust/crates/quote-1.0.38.crate) = 0e4dccaaaf89514f546c693ddc140f729f958c
SIZE (rust/crates/quote-1.0.38.crate) = 31252
SHA256 (rust/crates/quoted-string-parser-0.1.0.crate) = 0dc75379cdb451d001f1cb667a9f74e8b355e9df84cc5193513cbe62b96fc5e9
SIZE (rust/crates/quoted-string-parser-0.1.0.crate) = 3623
+SHA256 (rust/crates/r-efi-5.2.0.crate) = 74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5
+SIZE (rust/crates/r-efi-5.2.0.crate) = 64764
SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
SIZE (rust/crates/rand-0.8.5.crate) = 87113
SHA256 (rust/crates/rand-0.9.0.crate) = 3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94
@@ -697,8 +687,8 @@ SHA256 (rust/crates/regex-syntax-0.6.29.crate) = f162c6dd7b008981e4d40210aca20b4
SIZE (rust/crates/regex-syntax-0.6.29.crate) = 299752
SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c
SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541
-SHA256 (rust/crates/reqwest-0.12.12.crate) = 43e734407157c3c2034e0258f5e4473ddb361b1e85f95a66690d67264d7cd1da
-SIZE (rust/crates/reqwest-0.12.12.crate) = 193321
+SHA256 (rust/crates/reqwest-0.12.15.crate) = d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb
+SIZE (rust/crates/reqwest-0.12.15.crate) = 199320
SHA256 (rust/crates/resolv-conf-0.7.0.crate) = 52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00
SIZE (rust/crates/resolv-conf-0.7.0.crate) = 17352
SHA256 (rust/crates/rfc6979-0.4.0.crate) = f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2
@@ -707,10 +697,6 @@ SHA256 (rust/crates/ring-0.17.9.crate) = e75ec5e92c4d8aede845126adc3880462345416
SIZE (rust/crates/ring-0.17.9.crate) = 1474639
SHA256 (rust/crates/rsa-0.9.8.crate) = 78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b
SIZE (rust/crates/rsa-0.9.8.crate) = 85741
-SHA256 (rust/crates/rtnetlink-0.13.1.crate) = 7a552eb82d19f38c3beed3f786bd23aa434ceb9ac43ab44419ca6d67a7e186c0
-SIZE (rust/crates/rtnetlink-0.13.1.crate) = 42517
-SHA256 (rust/crates/rtnetlink-0.14.1.crate) = b684475344d8df1859ddb2d395dd3dac4f8f3422a1aa0725993cb375fc5caba5
-SIZE (rust/crates/rtnetlink-0.14.1.crate) = 45416
SHA256 (rust/crates/rustc-demangle-0.1.24.crate) = 719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f
SIZE (rust/crates/rustc-demangle-0.1.24.crate) = 29047
SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
@@ -723,16 +709,10 @@ SHA256 (rust/crates/rustix-0.38.44.crate) = fdb5bc1ae2baa591800df16c9ca78619bf65
SIZE (rust/crates/rustix-0.38.44.crate) = 379347
SHA256 (rust/crates/rustls-0.23.23.crate) = 47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395
SIZE (rust/crates/rustls-0.23.23.crate) = 342561
-SHA256 (rust/crates/rustls-native-certs-0.8.1.crate) = 7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3
-SIZE (rust/crates/rustls-native-certs-0.8.1.crate) = 31129
SHA256 (rust/crates/rustls-pemfile-2.2.0.crate) = dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50
SIZE (rust/crates/rustls-pemfile-2.2.0.crate) = 25849
SHA256 (rust/crates/rustls-pki-types-1.11.0.crate) = 917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c
SIZE (rust/crates/rustls-pki-types-1.11.0.crate) = 63933
-SHA256 (rust/crates/rustls-platform-verifier-0.5.0.crate) = e012c45844a1790332c9386ed4ca3a06def221092eda277e6f079728f8ea99da
-SIZE (rust/crates/rustls-platform-verifier-0.5.0.crate) = 56761
-SHA256 (rust/crates/rustls-platform-verifier-android-0.1.1.crate) = f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f
-SIZE (rust/crates/rustls-platform-verifier-android-0.1.1.crate) = 13919
SHA256 (rust/crates/rustls-webpki-0.102.8.crate) = 64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9
SIZE (rust/crates/rustls-webpki-0.102.8.crate) = 204327
SHA256 (rust/crates/rustversion-1.0.19.crate) = f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4
@@ -743,30 +723,24 @@ SHA256 (rust/crates/salsa20-0.10.2.crate) = 97a22f5af31f73a954c10289c93e8a50cc23
SIZE (rust/crates/salsa20-0.10.2.crate) = 12780
SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
SIZE (rust/crates/same-file-1.0.6.crate) = 10183
-SHA256 (rust/crates/schannel-0.1.27.crate) = 1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d
-SIZE (rust/crates/schannel-0.1.27.crate) = 42772
SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294
SIZE (rust/crates/scoped-tls-1.0.1.crate) = 8202
SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
SHA256 (rust/crates/sec1-0.7.3.crate) = d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc
SIZE (rust/crates/sec1-0.7.3.crate) = 17979
-SHA256 (rust/crates/security-framework-3.2.0.crate) = 271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316
-SIZE (rust/crates/security-framework-3.2.0.crate) = 86095
-SHA256 (rust/crates/security-framework-sys-2.14.0.crate) = 49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32
-SIZE (rust/crates/security-framework-sys-2.14.0.crate) = 20537
SHA256 (rust/crates/self_cell-1.1.0.crate) = c2fdfc24bc566f839a2da4c4295b82db7d25a24253867d5c64355abb5799bdbe
SIZE (rust/crates/self_cell-1.1.0.crate) = 16636
SHA256 (rust/crates/semver-1.0.25.crate) = f79dfe2d285b0488816f30e700a7438c5a73d816b5b7d3ac72fbc48b0d185e03
SIZE (rust/crates/semver-1.0.25.crate) = 31291
SHA256 (rust/crates/send_wrapper-0.6.0.crate) = cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73
SIZE (rust/crates/send_wrapper-0.6.0.crate) = 10519
-SHA256 (rust/crates/serde-1.0.217.crate) = 02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70
-SIZE (rust/crates/serde-1.0.217.crate) = 79019
+SHA256 (rust/crates/serde-1.0.219.crate) = 5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6
+SIZE (rust/crates/serde-1.0.219.crate) = 78983
SHA256 (rust/crates/serde-error-0.1.3.crate) = 342110fb7a5d801060c885da03bf91bfa7c7ca936deafcc64bb6706375605d47
SIZE (rust/crates/serde-error-0.1.3.crate) = 2771
-SHA256 (rust/crates/serde_derive-1.0.217.crate) = 5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0
-SIZE (rust/crates/serde_derive-1.0.217.crate) = 57749
+SHA256 (rust/crates/serde_derive-1.0.219.crate) = 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00
+SIZE (rust/crates/serde_derive-1.0.219.crate) = 57798
SHA256 (rust/crates/serde_json-1.0.138.crate) = d434192e7da787e94a6ea7e9670b26a036d0ca41e0b7efb2676dd32bae872949
SIZE (rust/crates/serde_json-1.0.138.crate) = 154769
SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd
@@ -775,6 +749,8 @@ SHA256 (rust/crates/serdect-0.2.0.crate) = a84f14a19e9a014bb9f4512488d9829a68e04
SIZE (rust/crates/serdect-0.2.0.crate) = 11691
SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba
SIZE (rust/crates/sha1-0.10.6.crate) = 13517
+SHA256 (rust/crates/sha1_smol-1.0.1.crate) = bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d
+SIZE (rust/crates/sha1_smol-1.0.1.crate) = 9809
SHA256 (rust/crates/sha2-0.10.8.crate) = 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8
SIZE (rust/crates/sha2-0.10.8.crate) = 26357
SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6
@@ -789,14 +765,20 @@ SHA256 (rust/crates/signature-2.2.0.crate) = 77549399552de45a898a580c1b41d445bf7
SIZE (rust/crates/signature-2.2.0.crate) = 15531
SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
+SHA256 (rust/crates/simdutf8-0.1.5.crate) = e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e
+SIZE (rust/crates/simdutf8-0.1.5.crate) = 28488
SHA256 (rust/crates/simple-dns-0.9.3.crate) = dee851d0e5e7af3721faea1843e8015e820a234f81fda3dea9247e15bac9a86a
SIZE (rust/crates/simple-dns-0.9.3.crate) = 52975
SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
SIZE (rust/crates/slab-0.4.9.crate) = 17108
SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67
SIZE (rust/crates/smallvec-1.13.2.crate) = 35216
-SHA256 (rust/crates/socket2-0.5.8.crate) = c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8
-SIZE (rust/crates/socket2-0.5.8.crate) = 56309
+SHA256 (rust/crates/snafu-0.8.5.crate) = 223891c85e2a29c3fe8fb900c1fae5e69c2e42415e3177752e8718475efa5019
+SIZE (rust/crates/snafu-0.8.5.crate) = 69415
+SHA256 (rust/crates/snafu-derive-0.8.5.crate) = 03c3c6b7927ffe7ecaa769ee0e3994da3b8cafc8f444578982c83ecb161af917
+SIZE (rust/crates/snafu-derive-0.8.5.crate) = 28537
+SHA256 (rust/crates/socket2-0.5.9.crate) = 4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef
+SIZE (rust/crates/socket2-0.5.9.crate) = 57432
SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
SIZE (rust/crates/spin-0.9.8.crate) = 38958
SHA256 (rust/crates/spki-0.7.3.crate) = d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d
@@ -811,18 +793,12 @@ SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8
SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054
SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f
SIZE (rust/crates/strsim-0.11.1.crate) = 14266
-SHA256 (rust/crates/struct_iterable-0.1.1.crate) = 849a064c6470a650b72e41fa6c057879b68f804d113af92900f27574828e7712
-SIZE (rust/crates/struct_iterable-0.1.1.crate) = 3233
-SHA256 (rust/crates/struct_iterable_derive-0.1.0.crate) = 8bb939ce88a43ea4e9d012f2f6b4cc789deb2db9d47bad697952a85d6978662c
-SIZE (rust/crates/struct_iterable_derive-0.1.0.crate) = 2045
-SHA256 (rust/crates/struct_iterable_internal-0.1.1.crate) = e9426b2a0c03e6cc2ea8dbc0168dbbf943f88755e409fb91bcb8f6a268305f4a
-SIZE (rust/crates/struct_iterable_internal-0.1.1.crate) = 1625
SHA256 (rust/crates/strum-0.26.3.crate) = 8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06
SIZE (rust/crates/strum-0.26.3.crate) = 7237
SHA256 (rust/crates/strum_macros-0.26.4.crate) = 4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be
SIZE (rust/crates/strum_macros-0.26.4.crate) = 27531
-SHA256 (rust/crates/stun-rs-0.1.9.crate) = b79cc624c9a747353810310af44f1f03f71eb4561284a894acc0396e6d0de76e
-SIZE (rust/crates/stun-rs-0.1.9.crate) = 69481
+SHA256 (rust/crates/stun-rs-0.1.11.crate) = fb921f10397d5669e1af6455e9e2d367bf1f9cebcd6b1dd1dc50e19f6a9ac2ac
+SIZE (rust/crates/stun-rs-0.1.11.crate) = 73853
SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292
SIZE (rust/crates/subtle-2.6.1.crate) = 14562
SHA256 (rust/crates/surge-ping-0.8.1.crate) = efbf95ce4c7c5b311d2ce3f088af2b93edef0f09727fa50fbe03c7a979afce77
@@ -869,20 +845,18 @@ SHA256 (rust/crates/tinyvec-1.8.1.crate) = 022db8904dfa342efe721985167e9fcd16c29
SIZE (rust/crates/tinyvec-1.8.1.crate) = 47269
SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
-SHA256 (rust/crates/tokio-1.43.0.crate) = 3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e
-SIZE (rust/crates/tokio-1.43.0.crate) = 817422
+SHA256 (rust/crates/tokio-1.45.0.crate) = 2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165
+SIZE (rust/crates/tokio-1.45.0.crate) = 800721
SHA256 (rust/crates/tokio-macros-2.5.0.crate) = 6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8
SIZE (rust/crates/tokio-macros-2.5.0.crate) = 12617
SHA256 (rust/crates/tokio-rustls-0.26.1.crate) = 5f6d0975eaace0cf0fcadee4e4aaa5da15b5c079146f2cffb67c113be122bf37
SIZE (rust/crates/tokio-rustls-0.26.1.crate) = 31214
SHA256 (rust/crates/tokio-stream-0.1.17.crate) = eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047
SIZE (rust/crates/tokio-stream-0.1.17.crate) = 38477
-SHA256 (rust/crates/tokio-tungstenite-0.24.0.crate) = edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9
-SIZE (rust/crates/tokio-tungstenite-0.24.0.crate) = 28904
-SHA256 (rust/crates/tokio-tungstenite-wasm-0.4.0.crate) = e21a5c399399c3db9f08d8297ac12b500e86bca82e930253fdc62eaf9c0de6ae
-SIZE (rust/crates/tokio-tungstenite-wasm-0.4.0.crate) = 22252
-SHA256 (rust/crates/tokio-util-0.7.13.crate) = d7fcaa8d55a2bdd6b83ace262b016eca0d79ee02818c5c1bcdf0305114081078
-SIZE (rust/crates/tokio-util-0.7.13.crate) = 115191
+SHA256 (rust/crates/tokio-util-0.7.15.crate) = 66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df
+SIZE (rust/crates/tokio-util-0.7.15.crate) = 124255
+SHA256 (rust/crates/tokio-websockets-0.11.4.crate) = 9fcaf159b4e7a376b05b5bfd77bfd38f3324f5fce751b4213bfc7eaa47affb4e
+SIZE (rust/crates/tokio-websockets-0.11.4.crate) = 348475
SHA256 (rust/crates/toml_datetime-0.6.8.crate) = 0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41
SIZE (rust/crates/toml_datetime-0.6.8.crate) = 12028
SHA256 (rust/crates/toml_edit-0.22.24.crate) = 17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474
@@ -911,8 +885,6 @@ SHA256 (rust/crates/tracing-test-macro-0.2.5.crate) = 04659ddb06c87d233c566112c1
SIZE (rust/crates/tracing-test-macro-0.2.5.crate) = 7665
SHA256 (rust/crates/try-lock-0.2.5.crate) = e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b
SIZE (rust/crates/try-lock-0.2.5.crate) = 4314
-SHA256 (rust/crates/tungstenite-0.24.0.crate) = 18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a
-SIZE (rust/crates/tungstenite-0.24.0.crate) = 61527
SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825
SIZE (rust/crates/typenum-1.17.0.crate) = 42849
SHA256 (rust/crates/ucd-parse-0.1.13.crate) = c06ff81122fcbf4df4c1660b15f7e3336058e7aec14437c9f85c6b31a0f279b9
@@ -931,12 +903,8 @@ SHA256 (rust/crates/universal-hash-0.5.1.crate) = fc1de2c688dc15305988b563c38540
SIZE (rust/crates/universal-hash-0.5.1.crate) = 9146
SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1
SIZE (rust/crates/untrusted-0.9.0.crate) = 14447
-SHA256 (rust/crates/ureq-2.12.1.crate) = 02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d
-SIZE (rust/crates/ureq-2.12.1.crate) = 115366
SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60
SIZE (rust/crates/url-2.5.4.crate) = 81097
-SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9
-SIZE (rust/crates/utf-8-0.7.6.crate) = 10422
SHA256 (rust/crates/utf16_iter-1.0.5.crate) = c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246
SIZE (rust/crates/utf16_iter-1.0.5.crate) = 9736
SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
@@ -955,8 +923,8 @@ SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3da
SIZE (rust/crates/want-0.3.1.crate) = 6398
SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
-SHA256 (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2
-SIZE (rust/crates/wasi-0.13.3+wasi-0.2.2.crate) = 136754
+SHA256 (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3
+SIZE (rust/crates/wasi-0.14.2+wasi-0.2.4.crate) = 140921
SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5
SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288
SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6
@@ -975,8 +943,6 @@ SHA256 (rust/crates/web-sys-0.3.77.crate) = 33b6dd2ef9186f1f2072e409e99cd22a9753
SIZE (rust/crates/web-sys-0.3.77.crate) = 638246
SHA256 (rust/crates/web-time-1.1.0.crate) = 5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb
SIZE (rust/crates/web-time-1.1.0.crate) = 18026
-SHA256 (rust/crates/webpki-root-certs-0.26.8.crate) = 09aed61f5e8d2c18344b3faa33a4c837855fe56642757754775548fee21386c4
-SIZE (rust/crates/webpki-root-certs-0.26.8.crate) = 177483
SHA256 (rust/crates/webpki-roots-0.26.8.crate) = 2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9
SIZE (rust/crates/webpki-roots-0.26.8.crate) = 257981
SHA256 (rust/crates/weezl-0.1.8.crate) = 53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082
@@ -1011,8 +977,8 @@ SHA256 (rust/crates/windows-interface-0.58.0.crate) = 053c4c462dc91d3b1504c6fe5a
SIZE (rust/crates/windows-interface-0.58.0.crate) = 11246
SHA256 (rust/crates/windows-interface-0.59.0.crate) = cb26fd936d991781ea39e87c3a27285081e3c0da5ca0fcbc02d368cc6f52ff01
SIZE (rust/crates/windows-interface-0.59.0.crate) = 11751
-SHA256 (rust/crates/windows-registry-0.2.0.crate) = e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0
-SIZE (rust/crates/windows-registry-0.2.0.crate) = 10470
+SHA256 (rust/crates/windows-registry-0.4.0.crate) = 4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3
+SIZE (rust/crates/windows-registry-0.4.0.crate) = 12572
SHA256 (rust/crates/windows-result-0.2.0.crate) = 1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e
SIZE (rust/crates/windows-result-0.2.0.crate) = 12756
SHA256 (rust/crates/windows-result-0.3.0.crate) = d08106ce80268c4067c0571ca55a9b4e9516518eaa1a1fe9b37ca403ae1d1a34
@@ -1021,40 +987,30 @@ SHA256 (rust/crates/windows-strings-0.1.0.crate) = 4cd9b125c486025df0eabcb585e62
SIZE (rust/crates/windows-strings-0.1.0.crate) = 13832
SHA256 (rust/crates/windows-strings-0.3.0.crate) = b888f919960b42ea4e11c2f408fadb55f78a9f236d5eef084103c8ce52893491
SIZE (rust/crates/windows-strings-0.3.0.crate) = 14464
-SHA256 (rust/crates/windows-sys-0.45.0.crate) = 75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0
-SIZE (rust/crates/windows-sys-0.45.0.crate) = 2568659
SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b
SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
-SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071
-SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492
SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
SHA256 (rust/crates/windows-targets-0.53.0.crate) = b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b
SIZE (rust/crates/windows-targets-0.53.0.crate) = 7020
-SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8
-SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071
SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
SHA256 (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764
SIZE (rust/crates/windows_aarch64_gnullvm-0.53.0.crate) = 782443
-SHA256 (rust/crates/windows_aarch64_msvc-0.42.2.crate) = e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43
-SIZE (rust/crates/windows_aarch64_msvc-0.42.2.crate) = 666981
SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
SHA256 (rust/crates/windows_aarch64_msvc-0.53.0.crate) = c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c
SIZE (rust/crates/windows_aarch64_msvc-0.53.0.crate) = 834446
-SHA256 (rust/crates/windows_i686_gnu-0.42.2.crate) = c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f
-SIZE (rust/crates/windows_i686_gnu-0.42.2.crate) = 736236
SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
@@ -1065,32 +1021,24 @@ SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c56
SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
SHA256 (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11
SIZE (rust/crates/windows_i686_gnullvm-0.53.0.crate) = 854056
-SHA256 (rust/crates/windows_i686_msvc-0.42.2.crate) = 44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060
-SIZE (rust/crates/windows_i686_msvc-0.42.2.crate) = 724951
SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
SHA256 (rust/crates/windows_i686_msvc-0.53.0.crate) = 581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d
SIZE (rust/crates/windows_i686_msvc-0.53.0.crate) = 903450
-SHA256 (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36
-SIZE (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 699373
SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
SHA256 (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba
SIZE (rust/crates/windows_x86_64_gnu-0.53.0.crate) = 902585
-SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3
-SIZE (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 364068
SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
SHA256 (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57
SIZE (rust/crates/windows_x86_64_gnullvm-0.53.0.crate) = 782434
-SHA256 (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0
-SIZE (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 666936
SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
@@ -1101,14 +1049,16 @@ SHA256 (rust/crates/winnow-0.7.2.crate) = 59690dea168f2198d1a3b0cac23b8063efcd11
SIZE (rust/crates/winnow-0.7.2.crate) = 170989
SHA256 (rust/crates/winreg-0.50.0.crate) = 524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1
SIZE (rust/crates/winreg-0.50.0.crate) = 29703
-SHA256 (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c
-SIZE (rust/crates/wit-bindgen-rt-0.33.0.crate) = 3357
+SHA256 (rust/crates/wit-bindgen-rt-0.39.0.crate) = 6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1
+SIZE (rust/crates/wit-bindgen-rt-0.39.0.crate) = 12241
SHA256 (rust/crates/wmi-0.14.5.crate) = 7787dacdd8e71cbc104658aade4009300777f9b5fda6a75f19145fedb8a18e71
SIZE (rust/crates/wmi-0.14.5.crate) = 59683
SHA256 (rust/crates/write16-1.0.0.crate) = d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936
SIZE (rust/crates/write16-1.0.0.crate) = 7218
SHA256 (rust/crates/writeable-0.5.5.crate) = 1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51
SIZE (rust/crates/writeable-0.5.5.crate) = 22354
+SHA256 (rust/crates/ws_stream_wasm-0.7.4.crate) = 7999f5f4217fe3818726b66257a4475f71e74ffd190776ad053fa159e50737f5
+SIZE (rust/crates/ws_stream_wasm-0.7.4.crate) = 23942
SHA256 (rust/crates/x11rb-0.13.1.crate) = 5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12
SIZE (rust/crates/x11rb-0.13.1.crate) = 223916
SHA256 (rust/crates/x11rb-protocol-0.13.1.crate) = ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d
@@ -1145,5 +1095,5 @@ SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19d
SIZE (rust/crates/zerovec-0.10.4.crate) = 126398
SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6
SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438
-SHA256 (n0-computer-sendme-v0.25.0_GH0.tar.gz) = d50c39cbe828947a5acf67f4c0d1db46017ff9e2fe2c8e77970dd515b1b024d7
-SIZE (n0-computer-sendme-v0.25.0_GH0.tar.gz) = 50891
+SHA256 (n0-computer-sendme-v0.26.0_GH0.tar.gz) = d41bd166e08b611d993e4bdf01c66610406fe93338783fe9a310eaf726fc337f
+SIZE (n0-computer-sendme-v0.26.0_GH0.tar.gz) = 49297
diff --git a/net/syncthing/Makefile b/net/syncthing/Makefile
index e4c4df0aa0ec..25cdfe2c307a 100644
--- a/net/syncthing/Makefile
+++ b/net/syncthing/Makefile
@@ -19,22 +19,23 @@ USE_RC_SUBR= syncthing syncthing-discosrv syncthing-relaysrv \
BINS= syncthing stdiscosrv strelaysrv strelaypoolsrv
-.for x in ${BINS}
-PLIST_FILES+= bin/${x}
-.endfor
+# Anonymize
+MAKE_ENV+= BUILD_HOST=freebsd \
+ BUILD_USER=ports
-PORTDOCS= *
+NO_CCACHE= yes
+NO_WRKSUBDIR= yes
USERS= syncthing
GROUPS= syncthing
-# Anonymize
-MAKE_ENV+= BUILD_HOST=freebsd \
- BUILD_USER=ports
+.for x in ${BINS}
+PLIST_FILES+= bin/${x}
+.endfor
-OPTIONS_DEFINE= DOCS
+PORTDOCS= *
-NO_WRKSUBDIR= yes
+OPTIONS_DEFINE= DOCS
do-build:
@( cd ${WRKSRC}/${PORTNAME} ; \
@@ -44,11 +45,6 @@ do-build:
${SETENV} ${MAKE_ENV} ${GO_ENV} GOPROXY=off ${GO_CMD} run build.go -version v${DISTVERSION} -no-upgrade build strelaypoolsrv; \
)
-do-test:
- @( cd ${WRKSRC}/${PORTNAME} ; \
- ${SETENV} ${MAKE_ENV} ${GO_ENV} GOPROXY=off ${GO_CMD} run build.go -version v${DISTVERSION} -no-upgrade test ; \
- )
-
do-install:
.for x in ${BINS}
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME}/${x} \
@@ -60,4 +56,8 @@ do-install:
${STAGEDIR}${DOCSDIR}
.endfor
+do-test:
+ @( cd ${WRKSRC}/${PORTNAME} ; \
+ ${SETENV} ${MAKE_ENV} ${GO_ENV} GOPROXY=off ${GO_CMD} run build.go -version v${DISTVERSION} -no-upgrade test ; \
+ )
.include <bsd.port.mk>
diff --git a/net/zmap/Makefile b/net/zmap/Makefile
index d829817f1b74..d0e67aa7346a 100644
--- a/net/zmap/Makefile
+++ b/net/zmap/Makefile
@@ -11,23 +11,19 @@ WWW= https://zmap.io/ \
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= gengetopt>0:devel/gengetopt \
- gmake:devel/gmake
-LIB_DEPENDS= libjson-c.so:devel/json-c \
+BUILD_DEPENDS= gengetopt>0:devel/gengetopt
+LIB_DEPENDS= libgmp.so:math/gmp \
+ libjson-c.so:devel/json-c \
libJudy.so:devel/judy \
- libgmp.so:math/gmp \
libpcap.so:net/libpcap \
libunistring.so:devel/libunistring
-USES= cmake:insource pkgconfig
-USE_GITHUB= yes
+USES= cmake pkgconfig
-CFLAGS+= -D_SYSTYPE_BSD
+USE_GITHUB= yes
CMAKE_ON= FORCE_CONF_INSTALL
-MANPAGE= zblacklist.1 zmap.1 ztee.1
-
post-patch:
@${REINPLACE_CMD} -i '' -e 's|/etc/zmap|${LOCALBASE}/etc/zmap|g' -e 's|/usr/local|${LOCALBASE}|g' \
${WRKSRC}/CMakeLists.txt
@@ -39,8 +35,7 @@ post-patch:
${WRKSRC}/src/zmap.c
post-install:
-.for cnf in blocklist.conf zmap.conf
- @${MV} ${STAGEDIR}${ETCDIR}/${cnf} ${STAGEDIR}${ETCDIR}/${cnf}.sample
-.endfor
+ @${MV} ${STAGEDIR}${ETCDIR}/blocklist.conf ${STAGEDIR}${ETCDIR}/blocklist.conf.sample
+ @${MV} ${STAGEDIR}${ETCDIR}/zmap.conf ${STAGEDIR}${ETCDIR}/zmap.conf.sample
.include <bsd.port.mk>