summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Mk/Uses/ruby.mk2
-rw-r--r--Mk/bsd.default-versions.mk2
-rw-r--r--UPDATING8
-rw-r--r--astro/py-astropy/Makefile3
-rw-r--r--astro/py-astropy/distinfo6
-rw-r--r--audio/fluidsynth/Makefile24
-rw-r--r--audio/fluidsynth/distinfo6
-rw-r--r--audio/fluidsynth/pkg-plist2
-rw-r--r--benchmarks/hipercontracer/Makefile7
-rw-r--r--benchmarks/hipercontracer/distinfo6
-rw-r--r--benchmarks/hipercontracer/pkg-plist6
-rw-r--r--biology/hyphy/Makefile2
-rw-r--r--biology/hyphy/distinfo6
-rw-r--r--biology/hyphy/pkg-plist9
-rw-r--r--biology/paml/Makefile3
-rw-r--r--biology/paml/distinfo6
-rw-r--r--biology/paml/files/patch-src_Makefile15
-rw-r--r--biology/paml/pkg-plist2
-rw-r--r--cad/nvc/Makefile2
-rw-r--r--cad/nvc/distinfo6
-rw-r--r--cad/py-amaranth/Makefile4
-rw-r--r--cad/py-amaranth/distinfo6
-rw-r--r--databases/gnats4/Makefile2
-rw-r--r--databases/gnatsweb4/Makefile3
-rw-r--r--databases/postgis33/Makefile1
-rw-r--r--databases/postgis34/Makefile1
-rw-r--r--databases/postgis35/Makefile2
-rw-r--r--databases/pspg/Makefile2
-rw-r--r--databases/pspg/distinfo6
-rw-r--r--databases/redis/Makefile2
-rw-r--r--databases/redis/distinfo6
-rw-r--r--databases/sfcgal/Makefile5
-rw-r--r--databases/sfcgal/distinfo10
-rw-r--r--databases/sfcgal/pkg-plist16
-rw-r--r--databases/surrealdb/Makefile2
-rw-r--r--databases/surrealdb/distinfo6
-rw-r--r--devel/R-cran-data.table/Makefile4
-rw-r--r--devel/R-cran-data.table/distinfo6
-rw-r--r--devel/cargo-edit/Makefile14
-rw-r--r--devel/cargo-edit/distinfo28
-rw-r--r--devel/cirrus-cli/Makefile2
-rw-r--r--devel/cirrus-cli/distinfo10
-rw-r--r--devel/glrparser/Makefile4
-rw-r--r--devel/glui/Makefile3
-rw-r--r--devel/gn/Makefile2
-rw-r--r--devel/gn/distinfo6
-rw-r--r--devel/google-perftools/Makefile3
-rw-r--r--devel/google-perftools/distinfo6
-rw-r--r--devel/google-perftools/files/patch-src_pprof11
-rw-r--r--devel/google-perftools/pkg-plist15
-rw-r--r--devel/jenkins/Makefile2
-rw-r--r--devel/jenkins/distinfo6
-rw-r--r--devel/magit-devel/Makefile2
-rw-r--r--devel/magit-devel/distinfo6
-rw-r--r--devel/magit/Makefile2
-rw-r--r--devel/magit/distinfo6
-rw-r--r--devel/nuitka/Makefile2
-rw-r--r--devel/nuitka/distinfo6
-rw-r--r--devel/oci-cli/Makefile17
-rw-r--r--devel/oci-cli/distinfo6
-rw-r--r--devel/p5-Devel-Cover/Makefile2
-rw-r--r--devel/p5-Devel-Cover/distinfo6
-rw-r--r--devel/p5-Tree-DAG_Node/Makefile3
-rw-r--r--devel/p5-Tree-DAG_Node/distinfo6
-rw-r--r--devel/py-apptools/Makefile2
-rw-r--r--devel/py-archinfo/Makefile2
-rw-r--r--devel/py-archinfo/distinfo6
-rw-r--r--devel/py-oci/Makefile4
-rw-r--r--devel/py-oci/distinfo6
-rw-r--r--devel/py-pep8-naming/Makefile2
-rw-r--r--devel/py-pep8-naming/distinfo6
-rw-r--r--devel/py-pytz/Makefile2
-rw-r--r--devel/py-pytz/distinfo6
-rw-r--r--devel/py-sqids/Makefile2
-rw-r--r--devel/py-sqids/distinfo6
-rw-r--r--devel/py-versioningit/Makefile2
-rw-r--r--devel/py-versioningit/distinfo6
-rw-r--r--devel/py-virtualenv/Makefile3
-rw-r--r--devel/py-virtualenv/distinfo6
-rw-r--r--devel/yyjson/Makefile2
-rw-r--r--devel/yyjson/distinfo6
-rw-r--r--devel/yyjson/pkg-plist2
-rw-r--r--editors/vscode/Makefile4
-rw-r--r--editors/vscode/distinfo14
-rw-r--r--emulators/Makefile3
-rw-r--r--emulators/virtualbox-ose-70/Makefile4
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp20
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp11
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp8
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h4
-rw-r--r--emulators/virtualbox-ose-71/Makefile422
-rw-r--r--emulators/virtualbox-ose-71/distinfo7
-rw-r--r--emulators/virtualbox-ose-71/files/extrapatch-Config.kmk11
-rw-r--r--emulators/virtualbox-ose-71/files/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile11
-rw-r--r--emulators/virtualbox-ose-71/files/extrapatch-vboximg-Config.kmk11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-Config.kmk402
-rw-r--r--emulators/virtualbox-ose-71/files/patch-configure138
-rw-r--r--emulators/virtualbox-ose-71/files/patch-doc_manual_en__US_dita_UserManual.ditamap11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-include-iprt-x86.h19
-rw-r--r--emulators/virtualbox-ose-71/files/patch-include_VBox_com_array.h36
-rw-r--r--emulators/virtualbox-ose-71/files/patch-include_VBox_sup.h11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-include_iprt_string.h14
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c284
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile27
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-files_vboxguest34
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient25
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-vboxclient.desktop10
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-DrvNATlibslirp.cpp10
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-slirp-bsd-sys-mbuf.h12
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetAdp-Makefile.kmk20
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-files_vboxnetflt10
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-Makefile.kmk14
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-freebsd-VBox.sh77
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-Makefile.kmk14
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h39
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp71
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_pam_pam__vbox.cpp20
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile38
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile.kmk31
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_drm_vboxvideo__drm.c17
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk31
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.856
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.c171
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_bcmp.c12
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs.h428
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__prov.c1015
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c645
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c1543
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk29
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp20
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp29
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp56
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Makefile.kmk44
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_PC_ipxe_Makefile.kmk29
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_USB_USBProxyDevice-freebsd.cpp11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_ExtPacks_VNC_VBoxVNC.cpp58
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxHeadless_VBoxHeadless.cpp11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageModifyVM.cpp29
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrv.cpp13
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrvInternal.h11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_Makefile30
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c234
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPLib-freebsd.cpp11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_files__vboxdrv34
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_Makefile11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_VBoxNetAdp-freebsd.c147
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_Makefile11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_VBoxNetFlt-freebsd.c471
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_adpctl_VBoxNetAdpCtl.cpp11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Main_Makefile.kmk10
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Main_include_HostPower.h20
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_HostImpl.cpp11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_freebsd_PerformanceFreeBSD.cpp24
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_Makefile.kmk29
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_alloc-r0drv-freebsd.c58
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_assert-r0drv-freebsd.c29
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c408
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memuserkernel-r0drv-freebsd.c22
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_mp-r0drv-freebsd.c92
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semevent-r0drv-freebsd.c53
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semeventmulti-r0drv-freebsd.c73
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semfastmutex-r0drv-freebsd.c59
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semmutex-r0drv-freebsd.c80
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_spinlock-r0drv-freebsd.c30
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_the-freebsd-kernel.h48
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c91
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread2-r0drv-freebsd.c35
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c43
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_timer-r0drv-freebsd.c68
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp39
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_posix_process-creation-posix.cpp38
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_VMM_VMMR3_PDMAsyncCompletionFileNormal.cpp59
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VMM_Config.kmk11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_Makefile.kmk11
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_nsprpub_pr_src_pthreads_ptsynch.c13
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_xpcom_io_nsLocalFileUnix.h17
-rw-r--r--emulators/virtualbox-ose-71/files/pkg-message.in120
-rw-r--r--emulators/virtualbox-ose-71/files/vboxheadless.in140
-rw-r--r--emulators/virtualbox-ose-71/files/vboxinit.in91
-rw-r--r--emulators/virtualbox-ose-71/files/vboxwatchdog.in51
-rw-r--r--emulators/virtualbox-ose-71/files/vboxwebsrv.in47
-rw-r--r--emulators/virtualbox-ose-71/files/virtualbox.desktop17
-rw-r--r--emulators/virtualbox-ose-71/pkg-descr8
-rw-r--r--emulators/virtualbox-ose-71/pkg-plist449
-rw-r--r--emulators/virtualbox-ose-kmod-70/Makefile2
-rw-r--r--emulators/virtualbox-ose-kmod-71/Makefile112
-rw-r--r--emulators/virtualbox-ose-kmod-71/distinfo3
-rw-r--r--emulators/virtualbox-ose-kmod-71/files/pkg-message.in10
-rw-r--r--emulators/virtualbox-ose-kmod-71/files/vboxnet.in67
-rw-r--r--emulators/virtualbox-ose-kmod-71/pkg-descr5
-rw-r--r--emulators/virtualbox-ose-kmod-71/pkg-plist6
-rw-r--r--emulators/virtualbox-ose-kmod-legacy/Makefile2
-rw-r--r--emulators/virtualbox-ose-nox11-70/Makefile2
-rw-r--r--emulators/virtualbox-ose-nox11-71/Makefile11
-rw-r--r--emulators/virtualbox-ose-nox11/Makefile2
-rw-r--r--emulators/virtualbox-ose/Makefile2
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp20
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp2
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h4
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-internal.h11
-rw-r--r--finance/gnucash/Makefile2
-rw-r--r--games/NBlood/Makefile2
-rw-r--r--games/NBlood/distinfo6
-rw-r--r--games/automuteus/Makefile2
-rw-r--r--games/simutrans/Makefile2
-rw-r--r--games/veloren-weekly/Makefile4
-rw-r--r--games/veloren-weekly/distinfo6
-rw-r--r--graphics/R-cran-s2/Makefile6
-rw-r--r--graphics/R-cran-s2/distinfo6
-rw-r--r--graphics/gdal/Makefile2
-rw-r--r--graphics/mesa-devel/Makefile4
-rw-r--r--graphics/mesa-devel/distinfo6
-rw-r--r--graphics/vulkan-validation-layers/Makefile8
-rw-r--r--graphics/vulkan-validation-layers/distinfo10
-rw-r--r--irc/halloy/Makefile2
-rw-r--r--irc/halloy/Makefile.crates11
-rw-r--r--irc/halloy/distinfo28
-rw-r--r--irc/halloy/files/patch-data_src_shortcut.rs13
-rw-r--r--lang/perl5.36/Makefile5
-rw-r--r--lang/perl5.38/Makefile5
-rw-r--r--lang/ruby34/distinfo6
-rw-r--r--lang/rust-nightly/Makefile2
-rw-r--r--lang/rust-nightly/distinfo6
-rw-r--r--mail/Makefile1
-rw-r--r--mail/libtlsrpt/Makefile22
-rw-r--r--mail/libtlsrpt/distinfo3
-rw-r--r--mail/libtlsrpt/pkg-descr6
-rw-r--r--mail/libtlsrpt/pkg-plist23
-rw-r--r--mail/thunderbird-esr/Makefile2
-rw-r--r--mail/thunderbird-esr/distinfo6
-rw-r--r--math/R-cran-pbkrtest/Makefile4
-rw-r--r--math/R-cran-pbkrtest/distinfo6
-rw-r--r--misc/flag-icons/Makefile8
-rw-r--r--misc/flag-icons/files/makeflags.sh36
-rw-r--r--misc/llama-cpp/Makefile2
-rw-r--r--misc/llama-cpp/distinfo6
-rw-r--r--misc/llama-cpp/pkg-plist4
-rw-r--r--misc/py-gguf/Makefile4
-rw-r--r--misc/py-gguf/distinfo6
-rw-r--r--multimedia/mediamtx/Makefile2
-rw-r--r--multimedia/mediamtx/distinfo14
-rw-r--r--net-im/conduit/Makefile8
-rw-r--r--net-im/conduit/Makefile.crates372
-rw-r--r--net-im/conduit/distinfo750
-rw-r--r--net-im/dissent/Makefile5
-rw-r--r--net-im/dissent/distinfo10
-rw-r--r--net-im/tdlib/Makefile8
-rw-r--r--net-im/tdlib/pkg-plist416
-rw-r--r--net/Makefile1
-rw-r--r--net/asterisk20/Makefile6
-rw-r--r--net/asterisk20/distinfo6
-rw-r--r--net/asterisk20/files/extra-patch-third-party_pjproject_Makefile11
-rw-r--r--net/asterisk20/files/patch-third-party_pjproject_Makefile9
-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/dumbpipe/Makefile2
-rw-r--r--net/dumbpipe/Makefile.crates101
-rw-r--r--net/dumbpipe/distinfo196
-rw-r--r--net/google-cloud-sdk/Makefile2
-rw-r--r--net/google-cloud-sdk/distinfo6
-rw-r--r--net/sendme/Makefile2
-rw-r--r--net/sendme/Makefile.crates135
-rw-r--r--net/sendme/distinfo264
-rw-r--r--net/shadowsocks-rust/Makefile2
-rw-r--r--net/shadowsocks-rust/Makefile.crates149
-rw-r--r--net/shadowsocks-rust/distinfo304
-rw-r--r--net/td-system-tools/Makefile2
-rw-r--r--net/td-system-tools/distinfo6
-rw-r--r--news/inn-current/Makefile8
-rw-r--r--news/inn-current/distinfo6
-rw-r--r--news/inn-current/pkg-plist6
-rw-r--r--science/R-cran-eco/Makefile3
-rw-r--r--security/boringssl/Makefile4
-rw-r--r--security/boringssl/distinfo6
-rw-r--r--security/libp11/Makefile6
-rw-r--r--security/libp11/distinfo6
-rw-r--r--security/libp11/files/patch-configure.ac4
-rw-r--r--security/libp11/files/patch-src_Makefile.am13
-rw-r--r--security/libp11/pkg-plist7
-rw-r--r--security/quantis-kmod/Makefile4
-rw-r--r--security/tpm2-tss/Makefile2
-rw-r--r--security/tpm2-tss/files/patch-src_tss2-esys_esys__context.c11
-rw-r--r--security/tpm2-tss/files/patch-src_tss2-tcti_tcti-device.c12
-rw-r--r--security/tpm2-tss/files/patch-src_tss2-tcti_tctildr-dl.c16
-rw-r--r--security/tpm2-tss/files/patch-src_tss2-tcti_tctildr-nodl.c11
-rw-r--r--security/tpm2-tss/files/patch-test_unit_tctildr-nodl.c14
-rw-r--r--security/vuxml/vuln/2025.xml134
-rw-r--r--shells/nu_plugin_formats/Makefile.crates43
-rw-r--r--shells/nu_plugin_formats/distinfo92
-rw-r--r--shells/nu_plugin_gstat/Makefile.crates28
-rw-r--r--shells/nu_plugin_gstat/distinfo62
-rw-r--r--shells/nu_plugin_inc/Makefile.crates26
-rw-r--r--shells/nu_plugin_inc/distinfo58
-rw-r--r--shells/nu_plugin_polars/Makefile.crates117
-rw-r--r--shells/nu_plugin_polars/distinfo240
-rw-r--r--shells/nu_plugin_query/Makefile.crates28
-rw-r--r--shells/nu_plugin_query/distinfo62
-rw-r--r--shells/nushell/Makefile85
-rw-r--r--shells/nushell/Makefile.version2
-rw-r--r--shells/nushell/distinfo170
-rw-r--r--sysutils/cpupdate/Makefile8
-rw-r--r--sysutils/cpupdate/distinfo10
-rw-r--r--sysutils/fastfetch/Makefile2
-rw-r--r--sysutils/fastfetch/distinfo6
-rw-r--r--sysutils/ipmitool/Makefile2
-rw-r--r--sysutils/ipmitool/files/patch-buffer-overrun-PR2433
-rw-r--r--sysutils/ipmitool/files/patch-dcmi57
-rw-r--r--sysutils/ipmitool/files/patch-fru-PR368296
-rw-r--r--sysutils/ipmitool/files/patch-lan-PR38933
-rw-r--r--sysutils/ipmitool/files/patch-lan-print36
-rw-r--r--sysutils/ipmitool/files/patch-lib_ipmi_sdr.c35
-rw-r--r--sysutils/ipmitool/files/patch-sdr75
-rw-r--r--sysutils/k9s/Makefile6
-rw-r--r--sysutils/k9s/distinfo10
-rw-r--r--sysutils/py-ansible-core/Makefile2
-rw-r--r--sysutils/screen49/Makefile6
-rw-r--r--sysutils/screen49/files/patch-attacher.c79
-rw-r--r--sysutils/screen49/files/patch-configure.ac14
-rw-r--r--sysutils/screen49/files/patch-doc__Makefile.in12
-rw-r--r--sysutils/screen49/files/patch-misc.c4
-rw-r--r--sysutils/screen49/files/patch-os.h8
-rw-r--r--sysutils/screen49/files/patch-osdef.h.in6
-rw-r--r--sysutils/screen49/files/patch-resize.c10
-rw-r--r--sysutils/screen49/files/patch-screen.c115
-rw-r--r--sysutils/screen49/files/patch-socket.c169
-rw-r--r--sysutils/screen49/files/patch-termcap.c6
-rw-r--r--sysutils/screen49/files/patch-terminfo__checktc.c8
-rw-r--r--sysutils/screen49/files/patch-utmp.c22
-rw-r--r--textproc/fzf/Makefile4
-rw-r--r--textproc/fzf/distinfo10
-rw-r--r--textproc/harper/Makefile2
-rw-r--r--textproc/harper/Makefile.crates9
-rw-r--r--textproc/harper/distinfo24
-rw-r--r--textproc/libxslt/Makefile14
-rw-r--r--textproc/libxslt/distinfo8
-rw-r--r--textproc/libxslt/pkg-plist4
-rw-r--r--textproc/nerdlog/Makefile2
-rw-r--r--textproc/nerdlog/distinfo10
-rw-r--r--textproc/p5-Pod-Simple/Makefile2
-rw-r--r--textproc/p5-Pod-Simple/distinfo6
-rw-r--r--textproc/p5-Senna/Makefile7
-rw-r--r--textproc/wikiman/Makefile3
-rw-r--r--textproc/wikiman/distinfo6
-rw-r--r--textproc/wikiman/pkg-plist1
-rw-r--r--www/grafana/Makefile19
-rw-r--r--www/grafana/distinfo102
-rw-r--r--www/linux-vieb/Makefile4
-rw-r--r--www/linux-vieb/distinfo10
-rw-r--r--www/p5-Net-Curl/Makefile7
-rw-r--r--www/p5-Net-Curl/files/patch-Makefile.PL11
-rw-r--r--www/p5-Net-Curl/files/patch-inc_symbols-in-versions68
-rw-r--r--www/py-flask/Makefile2
-rw-r--r--www/py-flask/distinfo6
-rw-r--r--www/reproxy/Makefile5
-rw-r--r--www/reproxy/distinfo6
-rw-r--r--x11-themes/Kvantum/Makefile2
-rw-r--r--x11-themes/Kvantum/distinfo6
-rw-r--r--x11-toolkits/libdecor/Makefile3
-rw-r--r--x11-toolkits/libdecor/distinfo6
-rw-r--r--x11-toolkits/libdecor/pkg-plist2
-rw-r--r--x11/controllermap/Makefile2
-rw-r--r--x11/controllermap/distinfo6
-rw-r--r--x11/gxkb/Makefile32
-rw-r--r--x11/gxkb/distinfo8
-rw-r--r--x11/gxkb/pkg-plist98
376 files changed, 15719 insertions, 2797 deletions
diff --git a/.gitignore b/.gitignore
index 69ea1937a19a..f2501400e1f4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
/distfiles
/packages
/security/vuxml/vuln-flat.xml
+/.vscode
Makefile.local
Mk/bsd.local.mk
Mk/bsd.overlay.mk
diff --git a/Mk/Uses/ruby.mk b/Mk/Uses/ruby.mk
index 1f9f55e27b52..620fff71f832 100644
--- a/Mk/Uses/ruby.mk
+++ b/Mk/Uses/ruby.mk
@@ -162,7 +162,7 @@ RUBY_PORTREVISION= 0
#
# Ruby 3.4
#
-RUBY_DISTVERSION= 3.4.3
+RUBY_DISTVERSION= 3.4.4
RUBY_PORTREVISION= 0
diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk
index 35b021a71e36..772d28798aa0 100644
--- a/Mk/bsd.default-versions.mk
+++ b/Mk/bsd.default-versions.mk
@@ -118,7 +118,7 @@ OPENLDAP_DEFAULT?= 26
defined(PACKAGE_BUILDING))
# When changing the default here, make sure the DEPRECATED/EXPIRATION lines in
# the older Perl 5 ports are uncommented at the same time.
-PERL5_DEFAULT?= 5.36
+PERL5_DEFAULT?= 5.40
. elif !defined(PERL5_DEFAULT)
# There's no need to replace development versions, like "5.23" with "devel"
# because 1) nobody is supposed to use it outside of poudriere, and 2) it must
diff --git a/UPDATING b/UPDATING
index 2e4df7ac89c8..aa9f3707e8f3 100644
--- a/UPDATING
+++ b/UPDATING
@@ -5,6 +5,14 @@ they are unavoidable.
You should get into the habit of checking this file for changes each time
you update your ports collection, before attempting any port upgrades.
+20250514:
+ AFFECTS: users of lang/perl5.*
+ AUTHOR: mat@FreeBSD.org
+
+ The default Perl version has been switched to 5.40.
+
+ See entry 20231017 for updating instructions.
+
20250511:
AFFECTS: users of www/tt-rss
AUTHOR: dereks@lifeofadishwasher.com
diff --git a/astro/py-astropy/Makefile b/astro/py-astropy/Makefile
index ebcf0705b801..ee16b26b3ba7 100644
--- a/astro/py-astropy/Makefile
+++ b/astro/py-astropy/Makefile
@@ -1,6 +1,5 @@
PORTNAME= astropy
-DISTVERSION= 7.0.1
-PORTREVISION= 1
+DISTVERSION= 7.0.2
PORTEPOCH= 2
CATEGORIES= astro
MASTER_SITES= PYPI
diff --git a/astro/py-astropy/distinfo b/astro/py-astropy/distinfo
index 263244470f4e..b3fdb0717a40 100644
--- a/astro/py-astropy/distinfo
+++ b/astro/py-astropy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739002877
-SHA256 (astropy-7.0.1.tar.gz) = 392feeb443b2437cd4c2e0641a65e0f15ba791e148e9b1e5ed7de7dfcb38e460
-SIZE (astropy-7.0.1.tar.gz) = 7139539
+TIMESTAMP = 1747183609
+SHA256 (astropy-7.0.2.tar.gz) = 11cd23037cfb3de460472078b88c8e942b0838ef6e79fca2ca24d9ccc434e969
+SIZE (astropy-7.0.2.tar.gz) = 7149131
diff --git a/audio/fluidsynth/Makefile b/audio/fluidsynth/Makefile
index 39df62bf53f6..81d5ee96cec9 100644
--- a/audio/fluidsynth/Makefile
+++ b/audio/fluidsynth/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fluidsynth
DISTVERSIONPREFIX= v
-DISTVERSION= 2.4.4
+DISTVERSION= 2.4.6
CATEGORIES= audio
MAINTAINER= multimedia@FreeBSD.org
@@ -11,24 +11,22 @@ LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/LICENSE
USES= cmake cpe gnome pathfix pkgconfig
-USE_GITHUB= yes
-GH_ACCOUNT= FluidSynth
USE_GNOME= glib20
USE_LDCONFIG= yes
+USE_GITHUB= yes
+GH_ACCOUNT= FluidSynth
+
CMAKE_ON= CMAKE_DISABLE_FIND_PACKAGE_Doxygen \
CMAKE_DISABLE_FIND_PACKAGE_Git
OPTIONS_DEFINE= ALSA DBUS INSTPATCH JACK LADSPA PIPEWIRE PORTAUDIO \
- PULSEAUDIO READLINE SNDFILE
+ PULSEAUDIO READLINE SDL SNDFILE
OPTIONS_DEFAULT= JACK READLINE
-OPTIONS_RADIO= SDL
-OPTIONS_RADIO_SDL= SDL2 SDL3
INSTPATCH_DESC= Digital sample-based MIDI instrument files support
-SDL2_DESC= Simple Direct Media Layer 2 support
SDL3_DESC= Simple Direct Media Layer 3 support
-SNDFILE_DESC= Support for SF3 files via libsndfil1e
+SNDFILE_DESC= Support for SF3 files via libsndfile
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
ALSA_CMAKE_BOOL= enable-alsa
@@ -59,13 +57,9 @@ PULSEAUDIO_CMAKE_BOOL= enable-pulseaudio
READLINE_USES= readline
READLINE_CMAKE_BOOL= enable-readline
-SDL2_USES= sdl
-SDL2_USE= SDL=sdl2
-SDL2_CMAKE_BOOL= enable-sdl2
-
-SDL3_USES= sdl
-SDL3_USE= SDL=sdl3
-SDL3_CMAKE_BOOL= enable-sdl3
+SDL_USES= sdl
+SDL_USE= SDL=sdl3
+SDL_CMAKE_BOOL= enable-sdl3
SNDFILE_LIB_DEPENDS= libsndfile.so:audio/libsndfile
SNDFILE_CMAKE_BOOL= enable-libsndfile
diff --git a/audio/fluidsynth/distinfo b/audio/fluidsynth/distinfo
index b934935e3073..3454675ddc76 100644
--- a/audio/fluidsynth/distinfo
+++ b/audio/fluidsynth/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742534363
-SHA256 (FluidSynth-fluidsynth-v2.4.4_GH0.tar.gz) = fc492a255f453e65ac5b99a25e6ffbe0fbd64d6a4fe824bacd68de16fe8af7ba
-SIZE (FluidSynth-fluidsynth-v2.4.4_GH0.tar.gz) = 1792908
+TIMESTAMP = 1747000262
+SHA256 (FluidSynth-fluidsynth-v2.4.6_GH0.tar.gz) = a6be90fd4842b9e7246500597180af5cf213c11bfa3998a3236dd8ff47961ea8
+SIZE (FluidSynth-fluidsynth-v2.4.6_GH0.tar.gz) = 1793331
diff --git a/audio/fluidsynth/pkg-plist b/audio/fluidsynth/pkg-plist
index 1c0ef40108a3..2073f9b3f9ea 100644
--- a/audio/fluidsynth/pkg-plist
+++ b/audio/fluidsynth/pkg-plist
@@ -23,6 +23,6 @@ lib/cmake/fluidsynth/FluidSynthTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/fluidsynth/FluidSynthTargets.cmake
lib/libfluidsynth.so
lib/libfluidsynth.so.3
-lib/libfluidsynth.so.3.3.4
+lib/libfluidsynth.so.3.3.6
libdata/pkgconfig/fluidsynth.pc
share/man/man1/fluidsynth.1.gz
diff --git a/benchmarks/hipercontracer/Makefile b/benchmarks/hipercontracer/Makefile
index 54dbde36990b..0f7bb2b39f96 100644
--- a/benchmarks/hipercontracer/Makefile
+++ b/benchmarks/hipercontracer/Makefile
@@ -1,5 +1,5 @@
PORTNAME= hipercontracer
-DISTVERSION= 2.0.14
+DISTVERSION= 2.0.16
CATEGORIES= benchmarks
MASTER_SITES= https://www.nntb.no/~dreibh/hipercontracer/download/
@@ -23,14 +23,15 @@ RUN_DEPENDS= getopt>=0:misc/getopt
USES= cmake compiler:c++20-lang desktop-file-utils python \
shared-mime-info shebangfix ssl tar:xz
USE_LDCONFIG= yes
-# Work-around for build issue #285706 on ARM (https://bugs.freebsd.org/285706):
-MAKE_ENV= OMP_NUM_THREADS=1
SHEBANG_FILES= src/results-examples/r-install-dependencies \
src/results-examples/r-ping-example \
src/results-examples/r-traceroute-example \
src/TestDB/generate-test-certificates
+# Work-around for build issue on ARM (https://bugs.freebsd.org/285706):
+MAKE_ENV= OMP_NUM_THREADS=1
+
PLIST_SUB= DISTVERSION=${DISTVERSION}
OPTIONS_DEFINE= COLLECTOR DBEAVERTOOLS DBSHELL ICONS IMPMARIADB \
diff --git a/benchmarks/hipercontracer/distinfo b/benchmarks/hipercontracer/distinfo
index 03b2d4e16f23..9d3869144516 100644
--- a/benchmarks/hipercontracer/distinfo
+++ b/benchmarks/hipercontracer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745779939
-SHA256 (hipercontracer-2.0.14.tar.xz) = 2834e134444342af2065d4e2d3195b4ecb199e7adae66f2a641bb4dbc5cd52fa
-SIZE (hipercontracer-2.0.14.tar.xz) = 2524868
+TIMESTAMP = 1747259531
+SHA256 (hipercontracer-2.0.16.tar.xz) = a4d69402af1e88f9501806b70cf53bf99fe7bfdd57b7a65a82a9ee26f21d24fa
+SIZE (hipercontracer-2.0.16.tar.xz) = 2527692
diff --git a/benchmarks/hipercontracer/pkg-plist b/benchmarks/hipercontracer/pkg-plist
index a6dfd27c5abc..503725e70e3b 100644
--- a/benchmarks/hipercontracer/pkg-plist
+++ b/benchmarks/hipercontracer/pkg-plist
@@ -75,14 +75,20 @@ share/bash-completion/completions/udp-echo-server
%%DATADIR%%/SQL/README-PostgreSQL.md
%%DATADIR%%/SQL/mariadb-database.sql
%%DATADIR%%/SQL/mariadb-delete-all-rows.sql
+%%DATADIR%%/SQL/mariadb-functions.sql
+%%DATADIR%%/SQL/mariadb-procedures.sql
%%DATADIR%%/SQL/mariadb-schema.sql
%%DATADIR%%/SQL/mariadb-test.sql
%%DATADIR%%/SQL/mariadb-users.sql
+%%DATADIR%%/SQL/mariadb-views.sql
%%DATADIR%%/SQL/postgresql-database.sql
%%DATADIR%%/SQL/postgresql-delete-all-rows.sql
+%%DATADIR%%/SQL/postgresql-functions.sql
+%%DATADIR%%/SQL/postgresql-procedures.sql
%%DATADIR%%/SQL/postgresql-schema.sql
%%DATADIR%%/SQL/postgresql-test.sql
%%DATADIR%%/SQL/postgresql-users.sql
+%%DATADIR%%/SQL/postgresql-views.sql
%%DATADIR%%/TestDB/0-make-configurations
%%DATADIR%%/TestDB/1-install-database
%%DATADIR%%/TestDB/2-initialise-database
diff --git a/biology/hyphy/Makefile b/biology/hyphy/Makefile
index 55476ed67c9b..f281649f9c47 100644
--- a/biology/hyphy/Makefile
+++ b/biology/hyphy/Makefile
@@ -1,5 +1,5 @@
PORTNAME= hyphy
-DISTVERSION= 2.5.70
+DISTVERSION= 2.5.73
CATEGORIES= biology
MAINTAINER= jrm@FreeBSD.org
diff --git a/biology/hyphy/distinfo b/biology/hyphy/distinfo
index 7b906e8bb328..ae85017d004d 100644
--- a/biology/hyphy/distinfo
+++ b/biology/hyphy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1742777609
-SHA256 (veg-hyphy-2.5.70_GH0.tar.gz) = 38c2549dcaec9f7df63b5e3aab965794484edc11a221fa0c0d909f7c68614de3
-SIZE (veg-hyphy-2.5.70_GH0.tar.gz) = 5617978
+TIMESTAMP = 1747240205
+SHA256 (veg-hyphy-2.5.73_GH0.tar.gz) = efc64adb9f270aa6c284dbee22a16132f4e59126e9df071c5267cd79e2883969
+SIZE (veg-hyphy-2.5.73_GH0.tar.gz) = 4161304
diff --git a/biology/hyphy/pkg-plist b/biology/hyphy/pkg-plist
index 2f58e0cb50d2..cea5332c2742 100644
--- a/biology/hyphy/pkg-plist
+++ b/biology/hyphy/pkg-plist
@@ -11,6 +11,7 @@ bin/hyphy
%%DATADIR%%/GeneticCodes/Thraustochytrium_mtDNA.cod
%%DATADIR%%/GeneticCodes/Vertebratemtdna.cod
%%DATADIR%%/GeneticCodes/Yeast_mtDNA.cod
+%%DATADIR%%/README.md
%%DATADIR%%/SubstitutionClasses/AAEFV/Equal
%%DATADIR%%/SubstitutionClasses/AAEFV/Estimated
%%DATADIR%%/SubstitutionClasses/AAEFV/Observed In Data Set
@@ -177,6 +178,7 @@ bin/hyphy
%%DATADIR%%/TemplateBatchFiles/Samplers/srs-ErrorEst.ibf
%%DATADIR%%/TemplateBatchFiles/Samplers/srs.ibf
%%DATADIR%%/TemplateBatchFiles/SandNSAmbigs.bf
+%%DATADIR%%/TemplateBatchFiles/SelectionAnalyses/BUSTED-PH.bf
%%DATADIR%%/TemplateBatchFiles/SelectionAnalyses/BUSTED.bf
%%DATADIR%%/TemplateBatchFiles/SelectionAnalyses/BranchSiteREL.bf
%%DATADIR%%/TemplateBatchFiles/SelectionAnalyses/FADE.bf
@@ -333,7 +335,6 @@ bin/hyphy
%%DATADIR%%/TemplateBatchFiles/Utility/BranchLengthFitters.bf
%%DATADIR%%/TemplateBatchFiles/Utility/CoalescentPostProcessor.bf
%%DATADIR%%/TemplateBatchFiles/Utility/CodonTools.bf
-%%DATADIR%%/TemplateBatchFiles/Utility/DBTools.ibf
%%DATADIR%%/TemplateBatchFiles/Utility/DescriptiveStatistics.bf
%%DATADIR%%/TemplateBatchFiles/Utility/GrabBag.bf
%%DATADIR%%/TemplateBatchFiles/Utility/HXB2Mapper.bf
@@ -371,6 +372,10 @@ bin/hyphy
%%DATADIR%%/TemplateBatchFiles/globalChecker.ibf
%%DATADIR%%/TemplateBatchFiles/heuristicMethodNPBootstrap.bf
%%DATADIR%%/TemplateBatchFiles/last.date
+%%DATADIR%%/TemplateBatchFiles/lib/label-tree.bf
+%%DATADIR%%/TemplateBatchFiles/lib/remove-duplicates.bf
+%%DATADIR%%/TemplateBatchFiles/lib/trim-label-tree.bf
+%%DATADIR%%/TemplateBatchFiles/lib/trim-tree.bf
%%DATADIR%%/TemplateBatchFiles/libv3/IOFunctions.bf
%%DATADIR%%/TemplateBatchFiles/libv3/UtilityFunctions.bf
%%DATADIR%%/TemplateBatchFiles/libv3/all-terms.bf
@@ -393,6 +398,7 @@ bin/hyphy
%%DATADIR%%/TemplateBatchFiles/libv3/models/codon/MG_REV.bf
%%DATADIR%%/TemplateBatchFiles/libv3/models/codon/MG_REV_MH.bf
%%DATADIR%%/TemplateBatchFiles/libv3/models/codon/MG_REV_PROPERTIES.bf
+%%DATADIR%%/TemplateBatchFiles/libv3/models/codon/MG_REV_PROPERTIES_BSREL.bf
%%DATADIR%%/TemplateBatchFiles/libv3/models/codon/MG_REV_TRIP.bf
%%DATADIR%%/TemplateBatchFiles/libv3/models/codon/MSS.bf
%%DATADIR%%/TemplateBatchFiles/libv3/models/frequencies.bf
@@ -421,6 +427,7 @@ bin/hyphy
%%DATADIR%%/TemplateBatchFiles/libv3/tasks/mpi.bf
%%DATADIR%%/TemplateBatchFiles/libv3/tasks/trees.bf
%%DATADIR%%/TemplateBatchFiles/molclockBootstrap.bf
+%%DATADIR%%/TemplateBatchFiles/molerate.bf
%%DATADIR%%/TemplateBatchFiles/pairwiseDistanceEstimator.ibf
%%DATADIR%%/TemplateBatchFiles/pairwiseDistanceEstimatorCounter.ibf
%%DATADIR%%/TemplateBatchFiles/partitionSequences.ibf
diff --git a/biology/paml/Makefile b/biology/paml/Makefile
index 7ba18e506f72..4a6375689d5e 100644
--- a/biology/paml/Makefile
+++ b/biology/paml/Makefile
@@ -1,5 +1,6 @@
PORTNAME= paml
-DISTVERSION= 4.10.7
+DISTVERSIONPREFIX= v
+DISTVERSION= 4.10.9
CATEGORIES= biology
MAINTAINER= jrm@FreeBSD.org
diff --git a/biology/paml/distinfo b/biology/paml/distinfo
index cd64f0e34127..7dd47591a370 100644
--- a/biology/paml/distinfo
+++ b/biology/paml/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1688759942
-SHA256 (abacus-gene-paml-4.10.7_GH0.tar.gz) = 0f29e768b3797b69eadc6332c3d046d8727702052d56c3b729883626c0a5a4e3
-SIZE (abacus-gene-paml-4.10.7_GH0.tar.gz) = 5250841
+TIMESTAMP = 1747232666
+SHA256 (abacus-gene-paml-v4.10.9_GH0.tar.gz) = 19ca9d484d729324748b9c86453e4c8f4a1fa79ad6fa3ac7cdbfaa7d0bfb8c22
+SIZE (abacus-gene-paml-v4.10.9_GH0.tar.gz) = 3920159
diff --git a/biology/paml/files/patch-src_Makefile b/biology/paml/files/patch-src_Makefile
index 4a9bd7ed2da6..1fd048a0594b 100644
--- a/biology/paml/files/patch-src_Makefile
+++ b/biology/paml/files/patch-src_Makefile
@@ -1,10 +1,11 @@
---- src/Makefile.orig 2023-07-08 03:40:50 UTC
+--- src/Makefile.orig 2025-05-14 14:29:51 UTC
+++ src/Makefile
-@@ -1,6 +1,6 @@ CC = cc # cc, gcc, cl
+@@ -1,6 +1,6 @@ PRGS = baseml codeml basemlg mcmctree pamp evolver yn
PRGS = baseml codeml basemlg mcmctree pamp evolver yn00 chi2
- CC = cc # cc, gcc, cl
--CFLAGS = -O3 -Wall -Wno-unused-result -Wmemset-elt-size
-+CFLAGS = -O3 -Wall -Wno-unused-result
- #CC = icc
- #CFLAGS = -fast -Wall
+-CC = gcc
+-CFLAGS = -O3 -Wall -Wno-unused-variable -Wno-unused-result
++#CC = gcc
++#CFLAGS = -O3 -Wall -Wno-unused-variable -Wno-unused-result
+
+ LIBS = -lm
diff --git a/biology/paml/pkg-plist b/biology/paml/pkg-plist
index 544b761367c3..02f053d2563e 100644
--- a/biology/paml/pkg-plist
+++ b/biology/paml/pkg-plist
@@ -199,8 +199,6 @@ bin/yn00
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/data-MCU0.95-rep1.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/mlb-nhomo4.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/mlb-nhomo5.txt
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/rst-nhomo4.txt
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/rst-nhomo5.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/tree-nhomo4.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nhomo/tree-nhomo5.txt
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/pamp.ctl
diff --git a/cad/nvc/Makefile b/cad/nvc/Makefile
index 8efb2850eff8..7032c217a1ca 100644
--- a/cad/nvc/Makefile
+++ b/cad/nvc/Makefile
@@ -1,6 +1,6 @@
PORTNAME= nvc
DISTVERSIONPREFIX= r
-DISTVERSION= 1.16.0
+DISTVERSION= 1.16.1
CATEGORIES= cad
MAINTAINER= yuri@FreeBSD.org
diff --git a/cad/nvc/distinfo b/cad/nvc/distinfo
index 1b9fd33301b8..9623cf1cf7f5 100644
--- a/cad/nvc/distinfo
+++ b/cad/nvc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745392970
-SHA256 (nickg-nvc-r1.16.0_GH0.tar.gz) = 4e0d7a91764d905cbe993cd04ebbb4485c90c4e8160bc8486a2da3c33f45887b
-SIZE (nickg-nvc-r1.16.0_GH0.tar.gz) = 2220702
+TIMESTAMP = 1747122927
+SHA256 (nickg-nvc-r1.16.1_GH0.tar.gz) = e1d00d4140c5cc86ae765e5518fd900865ad302d0d8a776c6b5b0bbbea6fcd7b
+SIZE (nickg-nvc-r1.16.1_GH0.tar.gz) = 2221995
diff --git a/cad/py-amaranth/Makefile b/cad/py-amaranth/Makefile
index bec064c3c9b7..703aea899d4f 100644
--- a/cad/py-amaranth/Makefile
+++ b/cad/py-amaranth/Makefile
@@ -1,6 +1,6 @@
PORTNAME= amaranth
DISTVERSIONPREFIX= v
-DISTVERSION= 0.5.4
+DISTVERSION= 0.5.5
CATEGORIES= cad python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -50,6 +50,6 @@ do-install: # workaround for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=2
${_PYTHONPKGLIST}
@cd ${STAGEDIR}${PREFIX} && ${FIND} lib -name '*.pyc' >> ${_PYTHONPKGLIST}
-# tests as of 0.5.4: 1186 passed, 3 warnings in 50.72s
+# tests as of 0.5.4: 1187 passed, 1 warning in 44.70s
.include <bsd.port.mk>
diff --git a/cad/py-amaranth/distinfo b/cad/py-amaranth/distinfo
index f79a6150b865..620e98bbb575 100644
--- a/cad/py-amaranth/distinfo
+++ b/cad/py-amaranth/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734408752
-SHA256 (amaranth-lang-amaranth-v0.5.4_GH0.tar.gz) = 9af1bf415ce41f6e97f95d66e30c8bbf6f551d6628962fb44afecec0a7a35b45
-SIZE (amaranth-lang-amaranth-v0.5.4_GH0.tar.gz) = 748517
+TIMESTAMP = 1747122809
+SHA256 (amaranth-lang-amaranth-v0.5.5_GH0.tar.gz) = 8a2927274fd49c47382dac33e6ab2fb3a6305c112a9b84ae0fe88200015fa3b8
+SIZE (amaranth-lang-amaranth-v0.5.5_GH0.tar.gz) = 748763
diff --git a/databases/gnats4/Makefile b/databases/gnats4/Makefile
index 787752413377..5888ee19b1a8 100644
--- a/databases/gnats4/Makefile
+++ b/databases/gnats4/Makefile
@@ -14,6 +14,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING
BROKEN_mips= Does not build: error: conflicting types for yy_scan_string
BROKEN_mips64= Does not build: error: conflicting types for yy_scan_string
+DEPRECATED= Abandoned upstream, last release in 2015 and last activity about 9 years ago
+EXPIRATION_DATE=2024-06-30
USES= cpe gettext-runtime gmake
CPE_VENDOR= gnu
diff --git a/databases/gnatsweb4/Makefile b/databases/gnatsweb4/Makefile
index ff476e0dc4c0..34b183c027f8 100644
--- a/databases/gnatsweb4/Makefile
+++ b/databases/gnatsweb4/Makefile
@@ -11,6 +11,9 @@ WWW= https://www.gnu.org/software/gnats/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
+DEPRECATED= Abandoned upstream, last release in 2015 and no active development in the last 10 years
+EXPIRATION_DATE=2025-06-30
+
USES= apache:run perl5 shebangfix
SHEBANG_FILES= gnatsweb.pl
USE_PERL5= run
diff --git a/databases/postgis33/Makefile b/databases/postgis33/Makefile
index fef4912e6920..e736ff74b858 100644
--- a/databases/postgis33/Makefile
+++ b/databases/postgis33/Makefile
@@ -1,5 +1,6 @@
PORTNAME= postgis
DISTVERSION= 3.3.8
+PORTREVISION= 1
CATEGORIES= databases geography
MASTER_SITES= https://download.osgeo.org/postgis/source/
PKGNAMESUFFIX= 33
diff --git a/databases/postgis34/Makefile b/databases/postgis34/Makefile
index 5cb6d1e6f92e..179bc45734fa 100644
--- a/databases/postgis34/Makefile
+++ b/databases/postgis34/Makefile
@@ -1,5 +1,6 @@
PORTNAME= postgis
DISTVERSION= 3.4.4
+PORTREVISION= 1
CATEGORIES= databases geography
MASTER_SITES= https://download.osgeo.org/postgis/source/
PKGNAMESUFFIX= 34
diff --git a/databases/postgis35/Makefile b/databases/postgis35/Makefile
index 6a72558e0dcc..8f087664e7dc 100644
--- a/databases/postgis35/Makefile
+++ b/databases/postgis35/Makefile
@@ -1,6 +1,6 @@
PORTNAME= postgis
DISTVERSION= 3.5.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= databases geography
MASTER_SITES= https://download.osgeo.org/postgis/source/
PKGNAMESUFFIX= 35
diff --git a/databases/pspg/Makefile b/databases/pspg/Makefile
index a5249e59d37f..3816690fa7cd 100644
--- a/databases/pspg/Makefile
+++ b/databases/pspg/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pspg
-DISTVERSION= 5.8.9
+DISTVERSION= 5.8.10
CATEGORIES= databases
MAINTAINER= bofh@FreeBSD.org
diff --git a/databases/pspg/distinfo b/databases/pspg/distinfo
index 8207da5cc632..b475c917d275 100644
--- a/databases/pspg/distinfo
+++ b/databases/pspg/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747045170
-SHA256 (okbob-pspg-5.8.9_GH0.tar.gz) = c84c4d2cc14bdc3780494b77cf31946549e59e501555e0b0b88747181d4ec087
-SIZE (okbob-pspg-5.8.9_GH0.tar.gz) = 2445330
+TIMESTAMP = 1747216936
+SHA256 (okbob-pspg-5.8.10_GH0.tar.gz) = 806d6b3c3f53144487368caff851d3373735129db68908b9eb45efa58e3d0a8e
+SIZE (okbob-pspg-5.8.10_GH0.tar.gz) = 2445610
diff --git a/databases/redis/Makefile b/databases/redis/Makefile
index 18a76b09e4cb..0da204027df4 100644
--- a/databases/redis/Makefile
+++ b/databases/redis/Makefile
@@ -1,5 +1,5 @@
PORTNAME= redis
-DISTVERSION= 8.0.0
+DISTVERSION= 8.0.1
CATEGORIES= databases
MASTER_SITES= https://download.redis.io/releases/
diff --git a/databases/redis/distinfo b/databases/redis/distinfo
index ba097311a171..b89fae42e185 100644
--- a/databases/redis/distinfo
+++ b/databases/redis/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746189281
-SHA256 (redis-8.0.0.tar.gz) = cf395665ba5fcecc4ef7aed1d8ab19c268619d98595827565c82344160171262
-SIZE (redis-8.0.0.tar.gz) = 3824488
+TIMESTAMP = 1747217171
+SHA256 (redis-8.0.1.tar.gz) = d3a11d6ababf44cb98d23f23cee39ae75d17867dcd64aac4add808e21ed36e0c
+SIZE (redis-8.0.1.tar.gz) = 3811847
diff --git a/databases/sfcgal/Makefile b/databases/sfcgal/Makefile
index 8beae9a3e55c..130824fe0c52 100644
--- a/databases/sfcgal/Makefile
+++ b/databases/sfcgal/Makefile
@@ -1,7 +1,6 @@
PORTNAME= sfcgal
DISTVERSIONPREFIX= v
-DISTVERSION= 2.0.0
-PORTREVISION= 2
+DISTVERSION= 2.1.0
CATEGORIES= databases math graphics
MASTER_SITES= https://github.com/CGAL/cgal/releases/download/v${CGAL_VERSION}/:source1
@@ -25,7 +24,7 @@ GL_PROJECT= SFCGAL
USE_LDCONFIG= yes
PLIST_SUB= SHL3=${PORTVERSION} SHL1=${PORTVERSION:R:R} DEBUG_SUFFIX=${WITH_DEBUG:Dd}
-CGAL_VERSION= 6.0
+CGAL_VERSION= 6.0.1
CMAKE_ARGS+= -DCGAL_DIR=${WRKDIR}/CGAL-${CGAL_VERSION}
diff --git a/databases/sfcgal/distinfo b/databases/sfcgal/distinfo
index 9fe544ab9a65..c6613cc28613 100644
--- a/databases/sfcgal/distinfo
+++ b/databases/sfcgal/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1728574335
-SHA256 (CGAL-6.0.tar.xz) = 6b0c9b47c7735a2462ff34a6c3c749d1ff4addc1454924b76263dc60ab119268
-SIZE (CGAL-6.0.tar.xz) = 25979696
-SHA256 (SFCGAL-v2.0.0.tar.bz2) = 6a78dca7b481e253a4f9dff4388f8b1778ff027ab331d919f630120ddd9abdb2
-SIZE (SFCGAL-v2.0.0.tar.bz2) = 2662718
+TIMESTAMP = 1747206059
+SHA256 (CGAL-6.0.1.tar.xz) = 0acdfbf317c556630dd526f3253780f29b6ec9713ee92903e81b5c93c0f59b7f
+SIZE (CGAL-6.0.1.tar.xz) = 25659212
+SHA256 (SFCGAL-v2.1.0.tar.bz2) = 6f57a0b5fd879bec5a570ffa13cbd64f34957c479992cf3e6bda35e5e5d988cd
+SIZE (SFCGAL-v2.1.0.tar.bz2) = 2719674
diff --git a/databases/sfcgal/pkg-plist b/databases/sfcgal/pkg-plist
index 12587bf8805a..aedccb50265a 100644
--- a/databases/sfcgal/pkg-plist
+++ b/databases/sfcgal/pkg-plist
@@ -16,6 +16,8 @@ include/SFCGAL/Point.h
include/SFCGAL/Polygon.h
include/SFCGAL/PolyhedralSurface.h
include/SFCGAL/PreparedGeometry.h
+include/SFCGAL/Segment.h
+include/SFCGAL/Simplicity.h
include/SFCGAL/Solid.h
include/SFCGAL/Sphere.h
include/SFCGAL/Surface.h
@@ -26,8 +28,10 @@ include/SFCGAL/Validity.h
include/SFCGAL/algorithm/BoundaryVisitor.h
include/SFCGAL/algorithm/ConsistentOrientationBuilder.h
include/SFCGAL/algorithm/alphaShapes.h
+include/SFCGAL/algorithm/alphaWrapping3D.h
include/SFCGAL/algorithm/area.h
include/SFCGAL/algorithm/buffer3D.h
+include/SFCGAL/algorithm/centroid.h
include/SFCGAL/algorithm/collect.h
include/SFCGAL/algorithm/collectionExtract.h
include/SFCGAL/algorithm/collectionHomogenize.h
@@ -42,8 +46,10 @@ include/SFCGAL/algorithm/distance3d.h
include/SFCGAL/algorithm/extrude.h
include/SFCGAL/algorithm/force2D.h
include/SFCGAL/algorithm/force3D.h
+include/SFCGAL/algorithm/forceMeasured.h
include/SFCGAL/algorithm/intersection.h
include/SFCGAL/algorithm/intersects.h
+include/SFCGAL/algorithm/isSimple.h
include/SFCGAL/algorithm/isValid.h
include/SFCGAL/algorithm/length.h
include/SFCGAL/algorithm/lineSubstring.h
@@ -56,6 +62,7 @@ include/SFCGAL/algorithm/partition_2.h
include/SFCGAL/algorithm/plane.h
include/SFCGAL/algorithm/rotate.h
include/SFCGAL/algorithm/scale.h
+include/SFCGAL/algorithm/simplification.h
include/SFCGAL/algorithm/straightSkeleton.h
include/SFCGAL/algorithm/tesselate.h
include/SFCGAL/algorithm/translate.h
@@ -65,14 +72,17 @@ include/SFCGAL/algorithm/volume.h
include/SFCGAL/capi/sfcgal_c.h
include/SFCGAL/config.h
include/SFCGAL/detail/ComplexComparator.h
+include/SFCGAL/detail/ConstraintInfo.h
include/SFCGAL/detail/EnvelopeVisitor.h
include/SFCGAL/detail/ForceValidityVisitor.h
include/SFCGAL/detail/GeometrySet.h
include/SFCGAL/detail/GetPointsVisitor.h
include/SFCGAL/detail/Interval.h
+include/SFCGAL/detail/SegmentStore.h
include/SFCGAL/detail/TestGeometry.h
include/SFCGAL/detail/TypeForDimension.h
include/SFCGAL/detail/algorithm/coversPoints.h
+include/SFCGAL/detail/algorithm/simplification.h
include/SFCGAL/detail/generator/building.h
include/SFCGAL/detail/generator/disc.h
include/SFCGAL/detail/generator/hoch.h
@@ -97,6 +107,7 @@ include/SFCGAL/detail/tools/Registry.h
include/SFCGAL/detail/transform/AffineTransform2.h
include/SFCGAL/detail/transform/AffineTransform3.h
include/SFCGAL/detail/transform/Force2D.h
+include/SFCGAL/detail/transform/ForceM.h
include/SFCGAL/detail/transform/ForceOrderPoints.h
include/SFCGAL/detail/transform/ForceZ.h
include/SFCGAL/detail/transform/ForceZOrderPoints.h
@@ -113,10 +124,15 @@ include/SFCGAL/io/osg.h
include/SFCGAL/io/vtk.h
include/SFCGAL/io/wkb.h
include/SFCGAL/io/wkt.h
+include/SFCGAL/namespace.h
include/SFCGAL/numeric.h
include/SFCGAL/triangulate/triangulate2DZ.h
include/SFCGAL/triangulate/triangulatePolygon.h
include/SFCGAL/version.h
+lib/cmake/SFCGAL/SFCGALConfig.cmake
+lib/cmake/SFCGAL/SFCGALConfigVersion.cmake
+lib/cmake/SFCGAL/SFCGALTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/SFCGAL/SFCGALTargets.cmake
lib/libSFCGAL%%DEBUG_SUFFIX%%.so
lib/libSFCGAL%%DEBUG_SUFFIX%%.so.%%SHL1%%
lib/libSFCGAL%%DEBUG_SUFFIX%%.so.%%SHL3%%
diff --git a/databases/surrealdb/Makefile b/databases/surrealdb/Makefile
index 4ef549dfc3fe..168d2ab0309e 100644
--- a/databases/surrealdb/Makefile
+++ b/databases/surrealdb/Makefile
@@ -1,6 +1,6 @@
PORTNAME= surrealdb
DISTVERSIONPREFIX= v
-DISTVERSION= 2.3.1
+DISTVERSION= 2.3.2
CATEGORIES= databases
MAINTAINER= yuri@FreeBSD.org
diff --git a/databases/surrealdb/distinfo b/databases/surrealdb/distinfo
index 8883af100a93..6363b60e1c51 100644
--- a/databases/surrealdb/distinfo
+++ b/databases/surrealdb/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1746744574
+TIMESTAMP = 1747122753
SHA256 (rust/crates/Inflector-0.11.4.crate) = fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3
SIZE (rust/crates/Inflector-0.11.4.crate) = 17438
SHA256 (rust/crates/addr-0.15.6.crate) = a93b8a41dbe230ad5087cc721f8d41611de654542180586b315d9f4cf6b72bef
@@ -1419,5 +1419,5 @@ SHA256 (rust/crates/zstd-safe-7.2.4.crate) = 8f49c4d5f0abb602a93fb8736af2a4f4dd9
SIZE (rust/crates/zstd-safe-7.2.4.crate) = 29350
SHA256 (rust/crates/zstd-sys-2.0.15+zstd.1.5.7.crate) = eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237
SIZE (rust/crates/zstd-sys-2.0.15+zstd.1.5.7.crate) = 774847
-SHA256 (surrealdb-surrealdb-v2.3.1_GH0.tar.gz) = 06c7348f1d5ea95694c28491c48997092b443dcd59703fcfcd42c50aca95d60c
-SIZE (surrealdb-surrealdb-v2.3.1_GH0.tar.gz) = 6675892
+SHA256 (surrealdb-surrealdb-v2.3.2_GH0.tar.gz) = b39eb0c789fb59f87b7cdc44271eb79d6ee53e5467ef8a45f60a35f3438e7777
+SIZE (surrealdb-surrealdb-v2.3.2_GH0.tar.gz) = 6676439
diff --git a/devel/R-cran-data.table/Makefile b/devel/R-cran-data.table/Makefile
index ba348b7fb3d0..478c5efdde36 100644
--- a/devel/R-cran-data.table/Makefile
+++ b/devel/R-cran-data.table/Makefile
@@ -1,11 +1,11 @@
PORTNAME= data.table
-DISTVERSION= 1.17.0
+DISTVERSION= 1.17.2
CATEGORIES= devel
DISTNAME= ${PORTNAME}_${DISTVERSION}
MAINTAINER= eduardo@FreeBSD.org
COMMENT= Extension of Data.frame
-WWW= https://cran.r-project.org/web/packages/data.table/
+WWW= https://cran.r-project.org/package=data.table
LICENSE= MPL20
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/devel/R-cran-data.table/distinfo b/devel/R-cran-data.table/distinfo
index 8e23eaab9e3c..8d27085e4224 100644
--- a/devel/R-cran-data.table/distinfo
+++ b/devel/R-cran-data.table/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1740489786
-SHA256 (data.table_1.17.0.tar.gz) = 82a7dd54fa583c20895b2d28fe07922f8f8aeb0ffbd94d1c143e79983bb9bcea
-SIZE (data.table_1.17.0.tar.gz) = 5833671
+TIMESTAMP = 1747185972
+SHA256 (data.table_1.17.2.tar.gz) = 014037d829c9bebf1ef91f73fcffdb7349196893d1c3eef5bfc71a3e679f1c5b
+SIZE (data.table_1.17.2.tar.gz) = 5839559
diff --git a/devel/cargo-edit/Makefile b/devel/cargo-edit/Makefile
index 72b460ee658c..56d9fcaabbe8 100644
--- a/devel/cargo-edit/Makefile
+++ b/devel/cargo-edit/Makefile
@@ -1,7 +1,6 @@
PORTNAME= cargo-edit
DISTVERSIONPREFIX= v
-DISTVERSION= 0.13.2
-PORTREVISION= 1
+DISTVERSION= 0.13.4
CATEGORIES= devel
MAINTAINER= yuri@FreeBSD.org
@@ -59,6 +58,7 @@ CARGO_CRATES= addr2line-0.24.2 \
cfg_aliases-0.2.1 \
clap-4.5.27 \
clap-cargo-0.15.2 \
+ clap-verbosity-flag-3.0.2 \
clap_builder-4.5.27 \
clap_derive-4.5.24 \
clap_lex-0.7.4 \
@@ -90,6 +90,8 @@ CARGO_CRATES= addr2line-0.24.2 \
ed25519-compact-2.1.1 \
either-1.13.0 \
elliptic-curve-0.13.8 \
+ env_filter-0.1.3 \
+ env_logger-0.11.8 \
equivalent-1.0.1 \
errno-0.3.10 \
fastrand-2.3.0 \
@@ -148,6 +150,8 @@ CARGO_CRATES= addr2line-0.24.2 \
is_terminal_polyfill-1.70.1 \
itertools-0.13.0 \
itoa-1.0.14 \
+ jiff-0.2.13 \
+ jiff-static-0.2.13 \
jobserver-0.1.32 \
js-sys-0.3.76 \
libc-0.2.169 \
@@ -157,7 +161,7 @@ CARGO_CRATES= addr2line-0.24.2 \
libz-sys-1.1.20 \
linux-raw-sys-0.4.15 \
litemap-0.7.4 \
- log-0.4.25 \
+ log-0.4.27 \
memchr-2.7.4 \
mime-0.3.17 \
miniz_oxide-0.8.3 \
@@ -180,6 +184,8 @@ CARGO_CRATES= addr2line-0.24.2 \
pin-utils-0.1.0 \
pkcs8-0.10.2 \
pkg-config-0.3.31 \
+ portable-atomic-1.11.0 \
+ portable-atomic-util-0.2.4 \
powerfmt-0.2.0 \
ppv-lite86-0.2.20 \
primeorder-0.13.6 \
@@ -236,7 +242,7 @@ CARGO_CRATES= addr2line-0.24.2 \
stable_deref_trait-1.2.0 \
strsim-0.11.1 \
subtle-2.6.1 \
- syn-2.0.96 \
+ syn-2.0.101 \
sync_wrapper-1.0.1 \
synstructure-0.13.1 \
tame-index-0.17.0 \
diff --git a/devel/cargo-edit/distinfo b/devel/cargo-edit/distinfo
index cba7e5269948..54bf9f118071 100644
--- a/devel/cargo-edit/distinfo
+++ b/devel/cargo-edit/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1742270783
+TIMESTAMP = 1747201339
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
@@ -77,6 +77,8 @@ SHA256 (rust/crates/clap-4.5.27.crate) = 769b0145982b4b48713e01ec42d61614425f27b
SIZE (rust/crates/clap-4.5.27.crate) = 55737
SHA256 (rust/crates/clap-cargo-0.15.2.crate) = d546f0e84ff2bfa4da1ce9b54be42285767ba39c688572ca32412a09a73851e5
SIZE (rust/crates/clap-cargo-0.15.2.crate) = 12241
+SHA256 (rust/crates/clap-verbosity-flag-3.0.2.crate) = 2678fade3b77aa3a8ff3aae87e9c008d3fb00473a41c71fbf74e91c8c7b37e84
+SIZE (rust/crates/clap-verbosity-flag-3.0.2.crate) = 14866
SHA256 (rust/crates/clap_builder-4.5.27.crate) = 1b26884eb4b57140e4d2d93652abfa49498b938b3c9179f9fc487b0acc3edad7
SIZE (rust/crates/clap_builder-4.5.27.crate) = 168024
SHA256 (rust/crates/clap_derive-4.5.24.crate) = 54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c
@@ -139,6 +141,10 @@ SHA256 (rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c48
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/env_filter-0.1.3.crate) = 186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0
+SIZE (rust/crates/env_filter-0.1.3.crate) = 15191
+SHA256 (rust/crates/env_logger-0.11.8.crate) = 13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f
+SIZE (rust/crates/env_logger-0.11.8.crate) = 32538
SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
SHA256 (rust/crates/errno-0.3.10.crate) = 33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d
@@ -255,6 +261,10 @@ SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d
SIZE (rust/crates/itertools-0.13.0.crate) = 146261
SHA256 (rust/crates/itoa-1.0.14.crate) = d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674
SIZE (rust/crates/itoa-1.0.14.crate) = 11210
+SHA256 (rust/crates/jiff-0.2.13.crate) = f02000660d30638906021176af16b17498bd0d12813dbfe7b276d8bc7f3c0806
+SIZE (rust/crates/jiff-0.2.13.crate) = 707842
+SHA256 (rust/crates/jiff-static-0.2.13.crate) = f3c30758ddd7188629c6713fc45d1188af4f44c90582311d0c8d8c9907f60c48
+SIZE (rust/crates/jiff-static-0.2.13.crate) = 76123
SHA256 (rust/crates/jobserver-0.1.32.crate) = 48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0
SIZE (rust/crates/jobserver-0.1.32.crate) = 27549
SHA256 (rust/crates/js-sys-0.3.76.crate) = 6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7
@@ -273,8 +283,8 @@ SHA256 (rust/crates/linux-raw-sys-0.4.15.crate) = d26c52dbd32dccf2d10cac7725f8ea
SIZE (rust/crates/linux-raw-sys-0.4.15.crate) = 2150898
SHA256 (rust/crates/litemap-0.7.4.crate) = 4ee93343901ab17bd981295f2cf0026d4ad018c7c31ba84549a4ddbb47a45104
SIZE (rust/crates/litemap-0.7.4.crate) = 28257
-SHA256 (rust/crates/log-0.4.25.crate) = 04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f
-SIZE (rust/crates/log-0.4.25.crate) = 44876
+SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
+SIZE (rust/crates/log-0.4.27.crate) = 48120
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
@@ -319,6 +329,10 @@ SHA256 (rust/crates/pkcs8-0.10.2.crate) = f950b2377845cebe5cf8b5165cb3cc1a5e0fa5
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/portable-atomic-1.11.0.crate) = 350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e
+SIZE (rust/crates/portable-atomic-1.11.0.crate) = 181258
+SHA256 (rust/crates/portable-atomic-util-0.2.4.crate) = d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507
+SIZE (rust/crates/portable-atomic-util-0.2.4.crate) = 47043
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
@@ -431,8 +445,8 @@ SHA256 (rust/crates/strsim-0.11.1.crate) = 7da8b5736845d9f2fcb837ea5d9e2628564b3
SIZE (rust/crates/strsim-0.11.1.crate) = 14266
SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292
SIZE (rust/crates/subtle-2.6.1.crate) = 14562
-SHA256 (rust/crates/syn-2.0.96.crate) = d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80
-SIZE (rust/crates/syn-2.0.96.crate) = 297497
+SHA256 (rust/crates/syn-2.0.101.crate) = 8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf
+SIZE (rust/crates/syn-2.0.101.crate) = 299250
SHA256 (rust/crates/sync_wrapper-1.0.1.crate) = a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394
SIZE (rust/crates/sync_wrapper-1.0.1.crate) = 6939
SHA256 (rust/crates/synstructure-0.13.1.crate) = c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971
@@ -619,5 +633,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 (killercup-cargo-edit-v0.13.2_GH0.tar.gz) = 8f94d5fd27ec8297728a12172c9ec14ecb55c8b1331049ecc04de3c101f4485f
-SIZE (killercup-cargo-edit-v0.13.2_GH0.tar.gz) = 97217
+SHA256 (killercup-cargo-edit-v0.13.4_GH0.tar.gz) = afcf319c43bc1ca025c7607e7a2ddd429ff8fd65026acc4e1864c7853ccefb5b
+SIZE (killercup-cargo-edit-v0.13.4_GH0.tar.gz) = 98031
diff --git a/devel/cirrus-cli/Makefile b/devel/cirrus-cli/Makefile
index 47c412b5cb3e..8db5f3d20a07 100644
--- a/devel/cirrus-cli/Makefile
+++ b/devel/cirrus-cli/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cirrus-cli
DISTVERSIONPREFIX= v
-DISTVERSION= 0.131.1
+DISTVERSION= 0.131.2
CATEGORIES= devel
MAINTAINER= bofh@FreeBSD.org
diff --git a/devel/cirrus-cli/distinfo b/devel/cirrus-cli/distinfo
index 0e48911d6246..a026f8b1d0e5 100644
--- a/devel/cirrus-cli/distinfo
+++ b/devel/cirrus-cli/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1747045271
-SHA256 (go/devel_cirrus-cli/cirrus-cli-v0.131.1/v0.131.1.mod) = 4c57cb388bf0476e369fbf2c9cf5cb4ad0485ab9c6d1dfc029c9f54c49acc0c2
-SIZE (go/devel_cirrus-cli/cirrus-cli-v0.131.1/v0.131.1.mod) = 10858
-SHA256 (go/devel_cirrus-cli/cirrus-cli-v0.131.1/v0.131.1.zip) = c78e28a31148cf0fa8bf75c6670b574181c9376da13dbde388cbb0b65073c608
-SIZE (go/devel_cirrus-cli/cirrus-cli-v0.131.1/v0.131.1.zip) = 1315805
+TIMESTAMP = 1747217072
+SHA256 (go/devel_cirrus-cli/cirrus-cli-v0.131.2/v0.131.2.mod) = 4c57cb388bf0476e369fbf2c9cf5cb4ad0485ab9c6d1dfc029c9f54c49acc0c2
+SIZE (go/devel_cirrus-cli/cirrus-cli-v0.131.2/v0.131.2.mod) = 10858
+SHA256 (go/devel_cirrus-cli/cirrus-cli-v0.131.2/v0.131.2.zip) = 058f4bef8dbcda9bb71648690ca6400715b44ef178954af49a6d96d8f2b644a5
+SIZE (go/devel_cirrus-cli/cirrus-cli-v0.131.2/v0.131.2.zip) = 1315773
diff --git a/devel/glrparser/Makefile b/devel/glrparser/Makefile
index c88d65c25840..78502dd79ecb 100644
--- a/devel/glrparser/Makefile
+++ b/devel/glrparser/Makefile
@@ -8,6 +8,10 @@ MAINTAINER= ports@FreeBSD.org
COMMENT= Parser which works with the GLR(0) algorithm
WWW= https://nlp.fi.muni.cz/projekty/glr/
+BROKEN= Unfetchable
+DEPRECATED= Unfetchable, unmaintained and upstream is gone
+EXPIRATION_DATE=2025-06-30
+
GNU_CONFIGURE= yes
.include <bsd.port.mk>
diff --git a/devel/glui/Makefile b/devel/glui/Makefile
index baaa3aadd4cf..461365187b9e 100644
--- a/devel/glui/Makefile
+++ b/devel/glui/Makefile
@@ -8,6 +8,9 @@ MAINTAINER= ports@FreeBSD.org
COMMENT= GLUT-based C++ user interface library
WWW= http://www.cs.unc.edu/~rademach/glui/
+DEPRECATED= Abandoned upstream, outdated, last release in 2015 and upstream activity in 2019
+EXPIRATION_DATE=2024-06-30
+
USES= gl gmake tar:tgz xorg
USE_GL= glut
USE_XORG= xmu xext x11 xi
diff --git a/devel/gn/Makefile b/devel/gn/Makefile
index a96162792e83..3fd9b0a3f912 100644
--- a/devel/gn/Makefile
+++ b/devel/gn/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gn
DISTVERSIONPREFIX= v
-DISTVERSION= 2175
+DISTVERSION= 2234
CATEGORIES= devel
MAINTAINER= o.hushchenkov@gmail.com
diff --git a/devel/gn/distinfo b/devel/gn/distinfo
index 175c9076749e..475be498de86 100644
--- a/devel/gn/distinfo
+++ b/devel/gn/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1719132779
-SHA256 (cglogic-gn-v2175_GH0.tar.gz) = 8efe603f8ae03bfa3911d30db7843bd814f9940bef67b509717e4db49dd160b2
-SIZE (cglogic-gn-v2175_GH0.tar.gz) = 1086073
+TIMESTAMP = 1747073404
+SHA256 (cglogic-gn-v2234_GH0.tar.gz) = a738b5971837e3ee0456406e429b1365745285a24edc36660a15e3bf76bb1246
+SIZE (cglogic-gn-v2234_GH0.tar.gz) = 1096906
diff --git a/devel/google-perftools/Makefile b/devel/google-perftools/Makefile
index 6bc2d725cf7a..e19535841e92 100644
--- a/devel/google-perftools/Makefile
+++ b/devel/google-perftools/Makefile
@@ -1,6 +1,6 @@
PORTNAME= google-perftools
DISTVERSIONPREFIX= gperftools-
-DISTVERSION= 2.16
+DISTVERSION= 2.16.90
CATEGORIES= devel
MASTER_SITES= https://github.com/gperftools/gperftools/releases/download/gperftools-${PORTVERSION}/
DISTNAME= gperftools-${PORTVERSION}
@@ -90,7 +90,6 @@ post-build:
@${ECHO}
post-install:
- ${MV} ${STAGEDIR}${PREFIX}/bin/pprof ${STAGEDIR}${PREFIX}/bin/perftools-pprof
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib*.so.*
.include <bsd.port.post.mk>
diff --git a/devel/google-perftools/distinfo b/devel/google-perftools/distinfo
index 998f96d8e9db..094925f6059a 100644
--- a/devel/google-perftools/distinfo
+++ b/devel/google-perftools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1730785956
-SHA256 (gperftools-2.16.tar.gz) = f12624af5c5987f2cc830ee534f754c3c5961eec08004c26a8b80de015cf056f
-SIZE (gperftools-2.16.tar.gz) = 2405927
+TIMESTAMP = 1747160617
+SHA256 (gperftools-2.16.90.tar.gz) = 8c7e811aefbb5ce5d486238bf77470199d1531bf4eadef89dc8cc0a310ed90cc
+SIZE (gperftools-2.16.90.tar.gz) = 2807674
diff --git a/devel/google-perftools/files/patch-src_pprof b/devel/google-perftools/files/patch-src_pprof
deleted file mode 100644
index accf0ec4f4cb..000000000000
--- a/devel/google-perftools/files/patch-src_pprof
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/pprof.orig 2017-07-06 15:20:46 UTC
-+++ src/pprof
-@@ -4520,7 +4520,7 @@ sub ParseLibraries {
- my $finish;
- my $offset;
- my $lib;
-- if ($l =~ /^($h)-($h)\s+..x.\s+($h)\s+\S+:\S+\s+\d+\s+(.+\.(so|dll|dylib|bundle|node)((\.\d+)+\w*(\.\d+){0,3})?)$/i) {
-+ if ($l =~ /^($h)-($h)\s+..x.\s+($h)\s+\S+:\S+\s+\d+\s+(.+\.(so|dll|dylib|bundle|node)((\.\d+)+\w*(\.\d+){0,3})?)\s+[A-Z]+\s+[\-0-9]+$/i) {
- # Full line from /proc/self/maps. Example:
- # 40000000-40015000 r-xp 00000000 03:01 12845071 /lib/ld-2.3.2.so
- $start = HexExtend($1);
diff --git a/devel/google-perftools/pkg-plist b/devel/google-perftools/pkg-plist
index 85b6f5bbe16c..a99b937540bb 100644
--- a/devel/google-perftools/pkg-plist
+++ b/devel/google-perftools/pkg-plist
@@ -1,5 +1,3 @@
-bin/perftools-pprof
-bin/pprof-symbolize
include/gperftools/heap-checker.h
include/gperftools/heap-profiler.h
include/gperftools/malloc_extension.h
@@ -13,30 +11,29 @@ include/gperftools/tcmalloc.h
%%PROFILER%%lib/libprofiler.a
%%PROFILER%%lib/libprofiler.so
%%PROFILER%%lib/libprofiler.so.0
-%%PROFILER%%lib/libprofiler.so.0.5.13
+%%PROFILER%%lib/libprofiler.so.0.5.14
lib/libtcmalloc.a
lib/libtcmalloc.so
lib/libtcmalloc.so.4
-lib/libtcmalloc.so.4.5.18
+lib/libtcmalloc.so.4.6.0
%%PROFILER%%lib/libtcmalloc_and_profiler.a
%%PROFILER%%lib/libtcmalloc_and_profiler.so
%%PROFILER%%lib/libtcmalloc_and_profiler.so.4
-%%PROFILER%%lib/libtcmalloc_and_profiler.so.4.6.13
+%%PROFILER%%lib/libtcmalloc_and_profiler.so.4.7.0
lib/libtcmalloc_debug.a
lib/libtcmalloc_debug.so
lib/libtcmalloc_debug.so.4
-lib/libtcmalloc_debug.so.4.5.18
+lib/libtcmalloc_debug.so.4.6.0
lib/libtcmalloc_minimal.a
lib/libtcmalloc_minimal.so
lib/libtcmalloc_minimal.so.4
-lib/libtcmalloc_minimal.so.4.5.18
+lib/libtcmalloc_minimal.so.4.6.0
lib/libtcmalloc_minimal_debug.a
lib/libtcmalloc_minimal_debug.so
lib/libtcmalloc_minimal_debug.so.4
-lib/libtcmalloc_minimal_debug.so.4.5.18
+lib/libtcmalloc_minimal_debug.so.4.6.0
%%PROFILER%%libdata/pkgconfig/libprofiler.pc
libdata/pkgconfig/libtcmalloc.pc
libdata/pkgconfig/libtcmalloc_debug.pc
libdata/pkgconfig/libtcmalloc_minimal.pc
libdata/pkgconfig/libtcmalloc_minimal_debug.pc
-share/man/man1/pprof.1.gz
diff --git a/devel/jenkins/Makefile b/devel/jenkins/Makefile
index a97b458d3238..a48f46162ee6 100644
--- a/devel/jenkins/Makefile
+++ b/devel/jenkins/Makefile
@@ -1,5 +1,5 @@
PORTNAME= jenkins
-PORTVERSION= 2.509
+PORTVERSION= 2.510
CATEGORIES= devel java
MASTER_SITES= https://get.jenkins.io/war/${PORTVERSION}/
DISTNAME= jenkins
diff --git a/devel/jenkins/distinfo b/devel/jenkins/distinfo
index 69fe0c689cde..c358954ff96d 100644
--- a/devel/jenkins/distinfo
+++ b/devel/jenkins/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746547929
-SHA256 (jenkins/2.509/jenkins.war) = 32c0cb0c9e030cb0472c80ed4e1e4eb252a10fbed59de8c987d6aaba6718b1b2
-SIZE (jenkins/2.509/jenkins.war) = 86878402
+TIMESTAMP = 1747161950
+SHA256 (jenkins/2.510/jenkins.war) = d927b218f024395fe341cbb7296ee40687ca5e5fba2866284ebf40aa9d1fefec
+SIZE (jenkins/2.510/jenkins.war) = 86882700
diff --git a/devel/magit-devel/Makefile b/devel/magit-devel/Makefile
index 2b0239db8b22..bdee6a7560a5 100644
--- a/devel/magit-devel/Makefile
+++ b/devel/magit-devel/Makefile
@@ -1,6 +1,6 @@
PORTNAME= magit
DISTVERSIONPREFIX= v
-DISTVERSION= 4.3.3
+DISTVERSION= 4.3.5
DISTVERSIONSUFFIX=
CATEGORIES= devel elisp
PKGNAMESUFFIX= -devel${EMACS_PKGNAMESUFFIX}
diff --git a/devel/magit-devel/distinfo b/devel/magit-devel/distinfo
index 699397ce084b..03266d833e82 100644
--- a/devel/magit-devel/distinfo
+++ b/devel/magit-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746095041
-SHA256 (magit-magit-v4.3.3_GH0.tar.gz) = 583d0e0afd09acd2bd81f6cb017fcb668ea1e399e89d99ddfcb94094cce87f3c
-SIZE (magit-magit-v4.3.3_GH0.tar.gz) = 686945
+TIMESTAMP = 1747265089
+SHA256 (magit-magit-v4.3.5_GH0.tar.gz) = b5a1fc403a717378aabe0f786af41c21862e1117e19086bae91836e5a55b6f78
+SIZE (magit-magit-v4.3.5_GH0.tar.gz) = 687473
diff --git a/devel/magit/Makefile b/devel/magit/Makefile
index 94d809113741..88d4ca2f1edc 100644
--- a/devel/magit/Makefile
+++ b/devel/magit/Makefile
@@ -1,6 +1,6 @@
PORTNAME= magit
DISTVERSIONPREFIX= v
-DISTVERSION= 4.3.3
+DISTVERSION= 4.3.5
CATEGORIES= devel elisp
PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX}
diff --git a/devel/magit/distinfo b/devel/magit/distinfo
index 5fb6c56c8c07..e3beece7e6b8 100644
--- a/devel/magit/distinfo
+++ b/devel/magit/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746094674
-SHA256 (magit-magit-v4.3.3_GH0.tar.gz) = 583d0e0afd09acd2bd81f6cb017fcb668ea1e399e89d99ddfcb94094cce87f3c
-SIZE (magit-magit-v4.3.3_GH0.tar.gz) = 686945
+TIMESTAMP = 1747264991
+SHA256 (magit-magit-v4.3.5_GH0.tar.gz) = b5a1fc403a717378aabe0f786af41c21862e1117e19086bae91836e5a55b6f78
+SIZE (magit-magit-v4.3.5_GH0.tar.gz) = 687473
diff --git a/devel/nuitka/Makefile b/devel/nuitka/Makefile
index 8467eb73e778..378c6c7c0123 100644
--- a/devel/nuitka/Makefile
+++ b/devel/nuitka/Makefile
@@ -1,5 +1,5 @@
PORTNAME= nuitka
-PORTVERSION= 2.6
+PORTVERSION= 2.7
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMESUFFIX= ${PYTHON_PKGNAMESUFFIX}
diff --git a/devel/nuitka/distinfo b/devel/nuitka/distinfo
index 797e1d4630c2..7e2fe656ae9e 100644
--- a/devel/nuitka/distinfo
+++ b/devel/nuitka/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1738090242
-SHA256 (Nuitka-2.6.tar.gz) = 7d67293d2fe6a481b5d244008af6fa7511a6f27d0664d1adec9305b6fabe9cc8
-SIZE (Nuitka-2.6.tar.gz) = 3858229
+TIMESTAMP = 1747212768
+SHA256 (Nuitka-2.7.tar.gz) = b0d5ad394cbfe93820116cfe94605e50bb20f5707b6fb41e09c421a7c9a2c53d
+SIZE (Nuitka-2.7.tar.gz) = 3885354
diff --git a/devel/oci-cli/Makefile b/devel/oci-cli/Makefile
index 806a520f49da..33b33886256b 100644
--- a/devel/oci-cli/Makefile
+++ b/devel/oci-cli/Makefile
@@ -1,9 +1,7 @@
PORTNAME= oci-cli
-DISTVERSION= 3.54.3
-# See below comment for WRKSRC
-DISTNAME= ${PORTNAME:S/-/_/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
+DISTVERSIONPREFIX= v
+DISTVERSION= 3.56.0
CATEGORIES= devel
-MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= ale_sagra@hotmail.com
@@ -24,7 +22,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}arrow>=1.0.0:devel/py-arrow@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}certifi>0:security/py-certifi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}click>=8.0.4:devel/py-click@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}jmespath>=0.10.0:devel/py-jmespath@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}oci>=2.150.1:devel/py-oci@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}oci>=2.152.0:devel/py-oci@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}openssl>=22.1.0:security/py-openssl@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}prompt-toolkit>=3.0.29:devel/py-prompt-toolkit@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.5.3:devel/py-python-dateutil@${PY_FLAVOR} \
@@ -33,14 +31,11 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}arrow>=1.0.0:devel/py-arrow@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}terminaltables>=3.1.0:textproc/py-terminaltables@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyyaml>=5.4:devel/py-pyyaml@${PY_FLAVOR}
-USES= python:3.9-3.11
+USES= python:3.9-3.12
+USE_GITHUB= yes
+GH_ACCOUNT= oracle
USE_PYTHON= autoplist concurrent cryptography pep517
-# upstream uses underscore for the tarball name, but uses hyphen for
-# the directory name inside the tarball.
-# e.g. oci_cli-3.51.0.tar.gz vs oci-cli-3.51.0
-WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
-
NO_ARCH= yes
.include <bsd.port.mk>
diff --git a/devel/oci-cli/distinfo b/devel/oci-cli/distinfo
index 51786bafebca..6c72107755e3 100644
--- a/devel/oci-cli/distinfo
+++ b/devel/oci-cli/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744710636
-SHA256 (oci_cli-3.54.3.tar.gz) = d73a03759d7afce96be616509fa55ed625cd4f8f340c1172b2b018a2614c8086
-SIZE (oci_cli-3.54.3.tar.gz) = 18986704
+TIMESTAMP = 1747148955
+SHA256 (oracle-oci-cli-v3.56.0_GH0.tar.gz) = 7f54e4ab4208d646c463acca4968b0e0c56646048378040e65b15af666526de0
+SIZE (oracle-oci-cli-v3.56.0_GH0.tar.gz) = 5836825
diff --git a/devel/p5-Devel-Cover/Makefile b/devel/p5-Devel-Cover/Makefile
index 16a33f55cab5..043b4fb68e81 100644
--- a/devel/p5-Devel-Cover/Makefile
+++ b/devel/p5-Devel-Cover/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Devel-Cover
-PORTVERSION= 1.47
+PORTVERSION= 1.48
CATEGORIES= devel perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
diff --git a/devel/p5-Devel-Cover/distinfo b/devel/p5-Devel-Cover/distinfo
index d95b637aaac1..381226fcb98e 100644
--- a/devel/p5-Devel-Cover/distinfo
+++ b/devel/p5-Devel-Cover/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746662559
-SHA256 (Devel-Cover-1.47.tar.gz) = 323ad5db2e64ec665e0deef7f2e7472610ee8cf98dafbad4e241b0f52918ee41
-SIZE (Devel-Cover-1.47.tar.gz) = 230482
+TIMESTAMP = 1747205639
+SHA256 (Devel-Cover-1.48.tar.gz) = 063b81a5095a6ac241485c44e059fb1ee5543929bc4da82ac0574981c973e18d
+SIZE (Devel-Cover-1.48.tar.gz) = 230964
diff --git a/devel/p5-Tree-DAG_Node/Makefile b/devel/p5-Tree-DAG_Node/Makefile
index d9178e19c8ad..1e72ad4429a4 100644
--- a/devel/p5-Tree-DAG_Node/Makefile
+++ b/devel/p5-Tree-DAG_Node/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Tree-DAG_Node
-PORTVERSION= 1.34
+PORTVERSION= 1.35
CATEGORIES= devel perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
@@ -14,6 +14,7 @@ LICENSE_FILE_ART10= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${RUN_DEPENDS}
RUN_DEPENDS= p5-File-Slurp-Tiny>=0.003:devel/p5-File-Slurp-Tiny
+TEST_DEPENDS= p5-File-Slurper>=0:devel/p5-File-Slurper
USES= perl5 tar:tgz
USE_PERL5= configure
diff --git a/devel/p5-Tree-DAG_Node/distinfo b/devel/p5-Tree-DAG_Node/distinfo
index 66f0693480ac..61d8447f7d26 100644
--- a/devel/p5-Tree-DAG_Node/distinfo
+++ b/devel/p5-Tree-DAG_Node/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746328800
-SHA256 (Tree-DAG_Node-1.34.tgz) = 26845b628872ec1af020ac2e839ae036c59c9e26aab887efb6c75a819c675cb1
-SIZE (Tree-DAG_Node-1.34.tgz) = 65945
+TIMESTAMP = 1747207965
+SHA256 (Tree-DAG_Node-1.35.tgz) = 27467e3644c8dfbb08e26e6d698a75ef7c1b1a810bda9fca50f922eea5429eb1
+SIZE (Tree-DAG_Node-1.35.tgz) = 66530
diff --git a/devel/py-apptools/Makefile b/devel/py-apptools/Makefile
index 31c2499a90f0..f2abefa62c4d 100644
--- a/devel/py-apptools/Makefile
+++ b/devel/py-apptools/Makefile
@@ -4,7 +4,7 @@ CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= eduardo@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Enthought application tools
WWW= https://docs.enthought.com/apptools
diff --git a/devel/py-archinfo/Makefile b/devel/py-archinfo/Makefile
index c26cd14d62e3..026b28cf8d83 100644
--- a/devel/py-archinfo/Makefile
+++ b/devel/py-archinfo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= archinfo
DISTVERSIONPREFIX= v
-DISTVERSION= 9.2.153
+DISTVERSION= 9.2.154
CATEGORIES= devel python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/devel/py-archinfo/distinfo b/devel/py-archinfo/distinfo
index fcf53f6fc9fa..485c88c07f27 100644
--- a/devel/py-archinfo/distinfo
+++ b/devel/py-archinfo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746118744
-SHA256 (angr-archinfo-v9.2.153_GH0.tar.gz) = 8a6596fe48cf6e14da2765e9e9d467f458f752939a23a9281e602d9ded060cdb
-SIZE (angr-archinfo-v9.2.153_GH0.tar.gz) = 45818
+TIMESTAMP = 1747115830
+SHA256 (angr-archinfo-v9.2.154_GH0.tar.gz) = cdb3235b76648e290afbae21aad3f0065a4b03625a80973ca5c5c9b9be78f7d0
+SIZE (angr-archinfo-v9.2.154_GH0.tar.gz) = 45814
diff --git a/devel/py-oci/Makefile b/devel/py-oci/Makefile
index 65842fba9f56..98fa0fa72d9f 100644
--- a/devel/py-oci/Makefile
+++ b/devel/py-oci/Makefile
@@ -1,5 +1,5 @@
PORTNAME= oci
-DISTVERSION= 2.150.1
+DISTVERSION= 2.152.0
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -24,7 +24,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}certifi>0:security/py-certifi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.5.3<3.0.0:devel/py-python-dateutil@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytz>=2016.10:devel/py-pytz@${PY_FLAVOR}
-USES= python:3.9-3.11
+USES= python:3.9-3.12
USE_PYTHON= autoplist cryptography pep517
NO_ARCH= yes
diff --git a/devel/py-oci/distinfo b/devel/py-oci/distinfo
index 05c1e9d62499..6c98e10a8ccf 100644
--- a/devel/py-oci/distinfo
+++ b/devel/py-oci/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744710590
-SHA256 (oci-2.150.1.tar.gz) = e7c251d5b5445f946ce613b3310002f009c361ecb717f94bccbb271f97f3bb3f
-SIZE (oci-2.150.1.tar.gz) = 14558264
+TIMESTAMP = 1747119595
+SHA256 (oci-2.152.0.tar.gz) = c443a067bce2192c82e06e2f305b0dd85effe4fe0835b87fec95c921014aceec
+SIZE (oci-2.152.0.tar.gz) = 14776431
diff --git a/devel/py-pep8-naming/Makefile b/devel/py-pep8-naming/Makefile
index 4143479a58d5..772376159664 100644
--- a/devel/py-pep8-naming/Makefile
+++ b/devel/py-pep8-naming/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pep8-naming
-DISTVERSION= 0.15.0
+DISTVERSION= 0.15.1
CATEGORIES= devel
MASTER_SITES= PYPI
DISTNAME= ${PORTNAME:C/-/_/}-${DISTVERSION}
diff --git a/devel/py-pep8-naming/distinfo b/devel/py-pep8-naming/distinfo
index fae4151f229e..1b9a4404d9d0 100644
--- a/devel/py-pep8-naming/distinfo
+++ b/devel/py-pep8-naming/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746037501
-SHA256 (pep8_naming-0.15.0.tar.gz) = a637ee5144f7585c800b1fc6eeb996fa35a2ef0f2690880a9e1b29cb9f6e8359
-SIZE (pep8_naming-0.15.0.tar.gz) = 17567
+TIMESTAMP = 1747241048
+SHA256 (pep8_naming-0.15.1.tar.gz) = f6f4a499aba2deeda93c1f26ccc02f3da32b035c8b2db9696b730ef2c9639d29
+SIZE (pep8_naming-0.15.1.tar.gz) = 17640
diff --git a/devel/py-pytz/Makefile b/devel/py-pytz/Makefile
index 1b94bf9f19e1..48a6d8c5b159 100644
--- a/devel/py-pytz/Makefile
+++ b/devel/py-pytz/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pytz
-PORTVERSION= 2024.2
+PORTVERSION= 2025.2
PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= devel python
diff --git a/devel/py-pytz/distinfo b/devel/py-pytz/distinfo
index b973beb96326..57201fe9b8f9 100644
--- a/devel/py-pytz/distinfo
+++ b/devel/py-pytz/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1726021541
-SHA256 (pytz-2024.2.tar.gz) = 2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a
-SIZE (pytz-2024.2.tar.gz) = 319692
+TIMESTAMP = 1747159018
+SHA256 (pytz-2025.2.tar.gz) = 360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3
+SIZE (pytz-2025.2.tar.gz) = 320884
diff --git a/devel/py-sqids/Makefile b/devel/py-sqids/Makefile
index 4c8bf9bfc3e4..79839b7bdad0 100644
--- a/devel/py-sqids/Makefile
+++ b/devel/py-sqids/Makefile
@@ -1,5 +1,5 @@
PORTNAME= sqids
-PORTVERSION= 0.5.1
+PORTVERSION= 0.5.2
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/devel/py-sqids/distinfo b/devel/py-sqids/distinfo
index 0e3979c5ca05..3ad20679154b 100644
--- a/devel/py-sqids/distinfo
+++ b/devel/py-sqids/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1735705267
-SHA256 (sqids-0.5.1.tar.gz) = d69d06b504e5be6fe9523c8bb56104cdd071c39ea96008312f3db1038b1f08be
-SIZE (sqids-0.5.1.tar.gz) = 18138
+TIMESTAMP = 1747211814
+SHA256 (sqids-0.5.2.tar.gz) = 5ac08f0c5c9b6814bc2e7c79ee5931e0849d25d95c50e415771b022a44f58af9
+SIZE (sqids-0.5.2.tar.gz) = 18213
diff --git a/devel/py-versioningit/Makefile b/devel/py-versioningit/Makefile
index c580b875e302..df94fb039f88 100644
--- a/devel/py-versioningit/Makefile
+++ b/devel/py-versioningit/Makefile
@@ -1,5 +1,5 @@
PORTNAME= versioningit
-PORTVERSION= 3.1.2
+PORTVERSION= 3.1.3
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/devel/py-versioningit/distinfo b/devel/py-versioningit/distinfo
index a3332d15eb08..ed16767326f3 100644
--- a/devel/py-versioningit/distinfo
+++ b/devel/py-versioningit/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1722340380
-SHA256 (versioningit-3.1.2.tar.gz) = 4db83ed99f56b07d83940bee3445ca46ca120d13b6b304cdb5fb44e5aa4edec0
-SIZE (versioningit-3.1.2.tar.gz) = 213047
+TIMESTAMP = 1747250371
+SHA256 (versioningit-3.1.3.tar.gz) = 1b7f3c2d3e9c7b737e7d2664c3445a61a121e3de7610e8e781b483f5d88e3618
+SIZE (versioningit-3.1.3.tar.gz) = 213327
diff --git a/devel/py-virtualenv/Makefile b/devel/py-virtualenv/Makefile
index 4389c0bee3f5..e4c1bd7b7a95 100644
--- a/devel/py-virtualenv/Makefile
+++ b/devel/py-virtualenv/Makefile
@@ -1,5 +1,5 @@
PORTNAME= virtualenv
-PORTVERSION= 20.30.0
+PORTVERSION= 20.31.2
CATEGORIES= devel python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -22,6 +22,7 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}covdefaults>=2.3:devel/py-covdefaults@${PY_
${PYTHON_PKGNAMEPREFIX}flaky>=3.7.0:devel/py-flaky@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}packaging>=23.1:devel/py-packaging@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-env>=0.6.2:devel/py-pytest-env@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-freezer>=0.4.9:devel/py-pytest-freezer@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-mock>=3.10:devel/py-pytest-mock@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-randomly>=3.12:devel/py-pytest-randomly@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-timeout>=2.1.0:devel/py-pytest-timeout@${PY_FLAVOR} \
diff --git a/devel/py-virtualenv/distinfo b/devel/py-virtualenv/distinfo
index 23e89d4c5ff9..56937828d297 100644
--- a/devel/py-virtualenv/distinfo
+++ b/devel/py-virtualenv/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1743539668
-SHA256 (pypa-virtualenv-20.30.0_GH0.tar.gz) = 8c110735e8adac6a170d60c986d792975f6719f897ab6480f6916109ad757ed9
-SIZE (pypa-virtualenv-20.30.0_GH0.tar.gz) = 4386292
+TIMESTAMP = 1747149753
+SHA256 (pypa-virtualenv-20.31.2_GH0.tar.gz) = 8780e4eb18cb1c8dd045ab77f574ed53b64860ee427585e465fa341d1567bed5
+SIZE (pypa-virtualenv-20.31.2_GH0.tar.gz) = 6114045
diff --git a/devel/yyjson/Makefile b/devel/yyjson/Makefile
index 162c0f2103e6..dc20130fb787 100644
--- a/devel/yyjson/Makefile
+++ b/devel/yyjson/Makefile
@@ -1,5 +1,5 @@
PORTNAME= yyjson
-PORTVERSION= 0.11.0
+PORTVERSION= 0.11.1
CATEGORIES= devel
MAINTAINER= pkubaj@FreeBSD.org
diff --git a/devel/yyjson/distinfo b/devel/yyjson/distinfo
index 6188bbaf49aa..d705aee8e37c 100644
--- a/devel/yyjson/distinfo
+++ b/devel/yyjson/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746618350
-SHA256 (ibireme-yyjson-0.11.0_GH0.tar.gz) = 0cc453318ff299ab61ec233b5b92dd474dee39028ad77904b19a45a79651574e
-SIZE (ibireme-yyjson-0.11.0_GH0.tar.gz) = 1591254
+TIMESTAMP = 1747160338
+SHA256 (ibireme-yyjson-0.11.1_GH0.tar.gz) = 610a38a5e59192063f5f581ce0c3c1869971c458ea11b58dfe00d1c8269e255d
+SIZE (ibireme-yyjson-0.11.1_GH0.tar.gz) = 1592503
diff --git a/devel/yyjson/pkg-plist b/devel/yyjson/pkg-plist
index c74889ae3312..c320e8b644ef 100644
--- a/devel/yyjson/pkg-plist
+++ b/devel/yyjson/pkg-plist
@@ -3,5 +3,5 @@ lib/cmake/yyjson/yyjson-config-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/yyjson/yyjson-config.cmake
lib/libyyjson.so
lib/libyyjson.so.0
-lib/libyyjson.so.0.11.0
+lib/libyyjson.so.0.11.1
libdata/pkgconfig/yyjson.pc
diff --git a/editors/vscode/Makefile b/editors/vscode/Makefile
index 8314477d478b..f373ba08b4a1 100644
--- a/editors/vscode/Makefile
+++ b/editors/vscode/Makefile
@@ -1,5 +1,5 @@
PORTNAME= vscode
-DISTVERSION= 1.100.0
+DISTVERSION= 1.100.1
CATEGORIES= editors
MASTER_SITES= https://github.com/tagattie/FreeBSD-VSCode/releases/download/${DISTVERSION}/:node_modules
DISTFILES= vscode-node-modules-${DISTVERSION}${EXTRACT_SUFX}:node_modules \
@@ -69,7 +69,7 @@ USES= desktop-file-utils gl gmake gnome iconv:wchar_t jpeg \
USE_GITHUB= yes
GH_ACCOUNT= microsoft
-SOURCE_COMMIT_HASH= 19e0f9e681ecb8e5c09d8784acaa601316ca4571
+SOURCE_COMMIT_HASH= 91fa95bccb027ece6a968589bb1d662fa9c8e170
BINARY_ALIAS= python=${PYTHON_CMD}
diff --git a/editors/vscode/distinfo b/editors/vscode/distinfo
index 1224192a7a29..5e2d036a8af8 100644
--- a/editors/vscode/distinfo
+++ b/editors/vscode/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1747008146
-SHA256 (vscode/vscode-node-modules-1.100.0.tar.gz) = beabbf93996c0ccc72466888195cdb28325551d2e7db7d995819146823559bd2
-SIZE (vscode/vscode-node-modules-1.100.0.tar.gz) = 400256201
-SHA256 (vscode/vscode-marketplace-exts-1.100.0.tar.gz) = 9af890bc9edcb20e700ef2794b8bd04c0b4f41fdc356c47a342f86770896be89
-SIZE (vscode/vscode-marketplace-exts-1.100.0.tar.gz) = 1709305
-SHA256 (vscode/microsoft-vscode-1.100.0_GH0.tar.gz) = b47bb68595466c9182fa5cdcc1d3298486e5f914fd9892cd11ce1a5eb254cea7
-SIZE (vscode/microsoft-vscode-1.100.0_GH0.tar.gz) = 22647257
+TIMESTAMP = 1747224879
+SHA256 (vscode/vscode-node-modules-1.100.1.tar.gz) = 3d178a4ed5e90b55644c92c2483b2266c28d725478062c0a9343b9c851bd909f
+SIZE (vscode/vscode-node-modules-1.100.1.tar.gz) = 400219899
+SHA256 (vscode/vscode-marketplace-exts-1.100.1.tar.gz) = 289eb2b6105b5c1925c65c17e410412c46c9731f297a798c90ba25d269c3d03b
+SIZE (vscode/vscode-marketplace-exts-1.100.1.tar.gz) = 1710748
+SHA256 (vscode/microsoft-vscode-1.100.1_GH0.tar.gz) = 628afc21dacd066eccaae5ce1ee71b6b552f035703d825e26aa78528925c4f15
+SIZE (vscode/microsoft-vscode-1.100.1_GH0.tar.gz) = 22647774
diff --git a/emulators/Makefile b/emulators/Makefile
index 8c5cb1a960c2..16651319508e 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -157,16 +157,19 @@
SUBDIR += vice
SUBDIR += virtualbox-ose
SUBDIR += virtualbox-ose-70
+ SUBDIR += virtualbox-ose-71
SUBDIR += virtualbox-ose-additions
SUBDIR += virtualbox-ose-additions-legacy
SUBDIR += virtualbox-ose-additions-nox11
SUBDIR += virtualbox-ose-additions-nox11-legacy
SUBDIR += virtualbox-ose-kmod
SUBDIR += virtualbox-ose-kmod-70
+ SUBDIR += virtualbox-ose-kmod-71
SUBDIR += virtualbox-ose-kmod-legacy
SUBDIR += virtualbox-ose-legacy
SUBDIR += virtualbox-ose-nox11
SUBDIR += virtualbox-ose-nox11-70
+ SUBDIR += virtualbox-ose-nox11-71
SUBDIR += virtualbox-ose-nox11-legacy
SUBDIR += visualboyadvance-m
SUBDIR += vmips
diff --git a/emulators/virtualbox-ose-70/Makefile b/emulators/virtualbox-ose-70/Makefile
index 26c32ab3d9e4..482fc5725a82 100644
--- a/emulators/virtualbox-ose-70/Makefile
+++ b/emulators/virtualbox-ose-70/Makefile
@@ -1,6 +1,6 @@
PORTNAME= virtualbox-ose
DISTVERSION= 7.0.26
-PORTREVISION?= 1
+PORTREVISION?= 2
CATEGORIES= emulators
MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \
LOCAL/vvd:docs
@@ -28,7 +28,7 @@ LIB_DEPENDS= libpng.so:graphics/png \
libcurl.so:ftp/curl
RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod-70
-USES= compiler:c++14-lang cpe gnome iconv qt:5 pkgconfig ssl tar:bzip2
+USES= compiler:c++14-lang cpe gnome iconv pkgconfig qt:5 ssl tar:bzip2
CPE_VENDOR= oracle
CPE_PRODUCT= vm_virtualbox
USE_BINUTILS= yes
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp
new file mode 100644
index 000000000000..aa74b95e2303
--- /dev/null
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp
@@ -0,0 +1,20 @@
+--- src/VBox/Devices/Graphics/DevVGA-SVGA.cpp.orig 2025-04-11 12:09:20 UTC
++++ src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
+@@ -178,7 +178,7 @@
+ # ifdef RT_OS_DARWIN
+ # include "DevVGA-SVGA3d-cocoa.h"
+ # endif
+-# ifdef RT_OS_LINUX
++# if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ # ifdef IN_RING3
+ # include "DevVGA-SVGA3d-glLdr.h"
+ # endif
+@@ -7153,7 +7153,7 @@ static void vmsvgaR3PowerOnDevice(PPDMDEVINS pDevIns,
+ }
+ # endif
+
+-# if defined(VBOX_WITH_VMSVGA3D) && defined(RT_OS_LINUX)
++# if defined(VBOX_WITH_VMSVGA3D) && (defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX))
+ if (pThis->svga.f3DEnabled)
+ {
+ /* The FIFO thread may use X API for accelerated screen output. */
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp
new file mode 100644
index 000000000000..8592bccdc8fc
--- /dev/null
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp
@@ -0,0 +1,11 @@
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp.orig 2025-04-11 12:09:20 UTC
++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp
+@@ -3111,7 +3111,7 @@ static DECLCALLBACK(int) vmsvga3dBackInit(PPDMDEVINS p
+ RT_NOREF(pDevIns, pThis);
+
+ int rc;
+-#ifdef RT_OS_LINUX /** @todo Remove, this is currently needed for loading the X11 library in order to call XInitThreads(). */
++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) /** @todo Remove, this is currently needed for loading the X11 library in order to call XInitThreads(). */
+ rc = glLdrInit(pDevIns);
+ if (RT_FAILURE(rc))
+ {
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
index c9574654562d..caa97030f41c 100644
--- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
@@ -1,6 +1,6 @@
---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig 2021-01-07 15:39:16 UTC
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig 2025-04-11 12:09:20 UTC
+++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp
-@@ -186,7 +186,7 @@ int glLdrInit(PPDMDEVINS pDevIns)
+@@ -196,7 +196,7 @@ int glLdrInit(PPDMDEVINS pDevIns)
pfn_wglDeleteContext = 0;
pfn_wglMakeCurrent = 0;
pfn_wglShareLists = 0;
@@ -9,7 +9,7 @@
pfn_XConfigureWindow = 0;
pfn_XCloseDisplay = 0;
pfn_XCreateColormap = 0;
-@@ -296,7 +296,7 @@ int glLdrInit(PPDMDEVINS pDevIns)
+@@ -306,7 +306,7 @@ int glLdrInit(PPDMDEVINS pDevIns)
GLGETPROC_(wglDeleteContext, "");
GLGETPROC_(wglMakeCurrent, "");
GLGETPROC_(wglShareLists, "");
@@ -18,7 +18,7 @@
X11GETPROC_(XConfigureWindow);
X11GETPROC_(XCloseDisplay);
X11GETPROC_(XCreateColormap);
-@@ -397,7 +397,7 @@ int glLdrInit(PPDMDEVINS pDevIns)
+@@ -407,7 +407,7 @@ int glLdrInit(PPDMDEVINS pDevIns)
GLGETPROC_(glVertexPointer, "");
GLGETPROC_(glViewport, "");
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
index 3069950947cd..ea1c170e8f17 100644
--- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
@@ -1,6 +1,6 @@
---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig 2021-01-07 15:39:17 UTC
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig 2025-04-11 12:09:20 UTC
+++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h
-@@ -338,7 +338,7 @@ GLPFN BOOL (WINAPI *pfn_wglMakeCurrent)(HDC, HGLRC);
+@@ -346,7 +346,7 @@ GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC);
GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC);
#define wglShareLists pfn_wglShareLists
diff --git a/emulators/virtualbox-ose-71/Makefile b/emulators/virtualbox-ose-71/Makefile
new file mode 100644
index 000000000000..b754e9555191
--- /dev/null
+++ b/emulators/virtualbox-ose-71/Makefile
@@ -0,0 +1,422 @@
+PORTNAME= virtualbox-ose
+DISTVERSION= 7.1.8
+PORTREVISION?= 0
+CATEGORIES= emulators
+MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \
+ LOCAL/vvd:docs
+PKGNAMESUFFIX?= -71
+DISTFILES= VirtualBox-${DISTVERSION}${EXTRACT_SUFX}:src \
+ VirtualBox-docs-${DISTVERSION}${EXTRACT_SUFX}:docs
+EXTRACT_ONLY= VirtualBox-${DISTVERSION}${EXTRACT_SUFX} \
+ VirtualBox-docs-${DISTVERSION}${EXTRACT_SUFX}
+
+MAINTAINER= vbox@FreeBSD.org
+COMMENT= General-purpose full virtualizer for x86 hardware
+WWW= https://www.virtualbox.org/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+ONLY_FOR_ARCHS= amd64
+
+BUILD_DEPENDS= gtar:archivers/gtar \
+ kmk:devel/kBuild \
+ libIDL-config-2:devel/libIDL \
+ yasm:devel/yasm \
+ xsltproc:textproc/libxslt
+LIB_DEPENDS= libpng.so:graphics/png \
+ libcurl.so:ftp/curl
+RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod-71
+
+USES= compiler:c++17-lang cpe gnome iconv pkgconfig qt:6 ssl tar:bzip2
+CPE_VENDOR= oracle
+CPE_PRODUCT= vm_virtualbox
+USE_BINUTILS= yes
+USE_GNOME= libxml2
+USE_QT= tools:build
+USE_RC_SUBR= vboxheadless vboxwatchdog
+
+HAS_CONFIGURE= yes
+CONFIGURE_ARGS= --disable-java --passive-mesa --disable-docs
+CONFIGURE_ARGS+= --with-gcc="${CC}" --with-g++="${CXX}"
+
+CONFLICTS_INSTALL= virtualbox-ose-legacy \
+ virtualbox-ose-nox11-legacy \
+ virtualbox-ose \
+ virtualbox-ose-nox11 \
+ virtualbox-ose-70 \
+ virtualbox-ose-nox11-70
+
+PORTSCOUT= limit:^7\.1\.
+SUB_FILES= pkg-message
+SUB_LIST= VBOXDIR=${VBOX_DIR} \
+ VBOX_ETC=${VBOX_ETC} \
+ VBOXGROUP=${VBOXGROUP} \
+ VBOXUSER=${VBOXUSER} \
+ VBOXWSUSER=${VBOXWSUSER}
+
+WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION}
+
+VBOXUSER?= vboxusers
+VBOXWSUSER?= vboxusers
+VBOXGROUP?= vboxusers
+USERS= ${VBOXUSER}
+GROUPS= ${VBOXGROUP}
+VBOX_DIR= ${PREFIX}/${VBOX_DIR_REL}
+VBOX_DIR_REL= lib/virtualbox
+VBOX_ETC= ${PREFIX}/etc/vbox
+VBOX_LINKS= VBoxVRDP
+VBOX_PROGS= VBoxAutostart VBoxBalloonCtrl VBoxBugReport VBoxHeadless \
+ VBoxManage
+VBOX_UTILS= VBoxExtPackHelperApp VBoxNetAdpCtl VBoxNetDHCP VBoxNetNAT \
+ VBoxSVC
+
+PLIST_SUB= GUEST_VER=${DISTVERSION} \
+ PYTHON_VERU=${PYTHON_VER:S/./_/}${PYTHON_ABIVER} \
+ VBOXGROUP=${VBOXGROUP}
+
+SLAVE_PORT?= no
+
+OPTIONS_DEFINE= AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS OGG PULSEAUDIO \
+ PYTHON QT6 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC VORBIS VPX \
+ WEBSERVICE X11
+OPTIONS_DEFAULT= AIO DBUS QT6 UDPTUNNEL VNC WEBSERVICE X11
+.if ${SLAVE_PORT} == no
+OPTIONS_DEFAULT+= PYTHON
+.endif
+# Since version 6.1.24 pulseaudio is broken at runtime, preventing
+# virtual machines from starting if configured to use it.
+OPTIONS_EXCLUDE+= PULSEAUDIO
+OPTIONS_SUB= yes
+
+AIO_DESC= Enable Asyncronous IO support (check pkg-message)
+DEBUG_DESC= Debug symbols, additional logs and assertions
+GUESTADDITIONS_DESC= Build with Guest Additions
+NLS_DESC= Native language support (requires QT6)
+OGG_DESC= Use libogg from audio/libogg instead of bundled one
+QT6_DESC= Build with QT6 frontend (requires X11)
+R0LOGGING_DESC= Enable R0 logging (requires DEBUG)
+UDPTUNNEL_DESC= Build with UDP tunnel support
+VBOXIMG_DESC= Build vboximg-mount (requires fuse-libs)
+VDE_DESC= Build with VDE support
+VNC_DESC= Build with VNC support
+VORBIS_DESC= Use libvorbis from audio/libvorbis instead of bundled one
+VPX_DESC= Use libvpx for video recording
+WEBSERVICE_DESC= Build Webservice
+
+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+ALSA_CONFIGURE_OFF= --disable-alsa
+DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
+DBUS_CONFIGURE_OFF= --disable-dbus
+DEBUG_CONFIGURE_ON= --build-debug
+NLS_IMPLIES= QT6
+OGG_LIB_DEPENDS= libogg.so:audio/libogg
+OGG_CONFIGURE_ON= --enable-libogg
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+PULSEAUDIO_CONFIGURE_OFF= --disable-pulse
+PYTHON_USES= python
+PYTHON_USES_OFF= python:build
+PYTHON_USE= PYTHON=distutils,noegginfo,noflavors
+PYTHON_CONFIGURE_OFF= --disable-python
+PYTHON_VARS= pydistutils_pkgname=vboxapi pydistutils_pkgversion=1.0
+QT6_IMPLIES= X11
+QT6_USES= gl qmake:no_env qt:6 xorg
+QT6_USE= QT=base,scxml,tools,translations \
+ XORG=xcb GL=gl
+QT6_CONFIGURE_OFF= --disable-qt
+R0LOGGING_IMPLIES= DEBUG
+UDPTUNNEL_CONFIGURE_OFF= --disable-udptunnel
+VBOXIMG_LIB_DEPENDS= libfuse.so.2:filesystems/fusefs-libs
+VDE_RUN_DEPENDS= vde_switch:net/vde2
+VDE_CONFIGURE_ON= --enable-vde
+VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver
+VNC_CONFIGURE_ON= --enable-vnc
+VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \
+ libvorbisenc.so:audio/libvorbis
+VORBIS_CONFIGURE_ON= --enable-libvorbis
+VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx
+VPX_CONFIGURE_OFF= --disable-libvpx
+WEBSERVICE_BUILD_DEPENDS= soapcpp2:devel/gsoap
+X11_USES= sdl xorg
+X11_USE= SDL=sdl XORG=x11,xcursor,xext,xinerama,xmu,xorgproto,xt
+X11_CONFIGURE_OFF= --build-headless
+
+ENV=
+.export ENV
+
+.include <bsd.port.options.mk>
+
+.if ${SLAVE_PORT} == no
+CONFLICTS_INSTALL+= virtualbox-ose-nox11-71
+.else
+CONFLICTS_INSTALL+= virtualbox-ose-71
+.endif
+
+.if ${PORT_OPTIONS:MDEBUG}
+KMK_BUILDTYPE= debug
+KMK_FLAGS+= BUILD_TYPE=debug
+.else
+KMK_BUILDTYPE= release
+.endif
+
+.if ${PORT_OPTIONS:MGUESTADDITIONS}
+GUESTADDITIONS= VBoxGuestAdditions_${DISTVERSION}.iso
+DISTFILES+= ${GUESTADDITIONS}:src
+LICENSE+= Additions
+LICENSE_COMB= multi
+LICENSE_NAME_Additions= Guest Additions
+LICENSE_PERMS_Additions= auto-accept
+LICENSE_DISTFILES_Additions= ${GUESTADDITIONS}
+.endif
+
+.if ${PORT_OPTIONS:MQT6}
+PLIST_SUB+= QT=""
+VBOX_PROGS+= VirtualBox VirtualBoxVM
+VBOX_WITH_QT= 1
+.else
+PLIST_SUB+= QT="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MWEBSERVICE}
+USE_RC_SUBR+= vboxinit vboxwebsrv
+VBOX_LINKS+= vboxwebsrv
+VBOX_UTILS+= vboxwebsrv webtest
+.endif
+
+.if ${PORT_OPTIONS:MX11}
+#VBOX_PROGS+= VBoxSDL
+.endif
+
+.if ${PORT_OPTIONS:MPYTHON} || ${PORT_OPTIONS:MWEBSERVICE}
+PLIST_SUB+= SDK=""
+.else
+PLIST_SUB+= SDK="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MVBOXIMG}
+EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-vboximg-Config.kmk
+VBOX_UTILS+= vboximg-mount
+PLIST_SUB+= VBOXIMG=""
+.else
+PLIST_SUB+= VBOXIMG="@comment "
+.endif
+
+KMK_ARCH= freebsd.${ARCH}
+PLIST_SUB+= ARCH="${KMK_ARCH}"
+
+KMK_BUILDDIR= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}
+KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys VBOX_WITHOUT_DOCS=1 VBOX_GCC_std=-std=c++17
+KMK_FLAGS+= -j${MAKE_JOBS_NUMBER}
+
+.include <bsd.port.pre.mk>
+
+.if ${CHOSEN_COMPILER_TYPE} == clang
+PATCH_DEPENDS+= ${LOCALBASE}/share/kBuild/tools/GXX3.kmk:devel/kBuild
+.endif
+
+.if ${PYTHON_MAJOR_VER} >= 3
+PLIST_SUB+= PYTHON_PYCDIR=/__pycache__/ \
+ PYTHON_PYCEXT=.cpython-${PYTHON_SUFFIX}.pyc
+.else
+PLIST_SUB+= PYTHON_PYCDIR=/ \
+ PYTHON_PYCEXT=.pyc
+.endif
+
+.if ${SSL_DEFAULT} != base
+CONFIGURE_ARGS+= --with-openssl-dir="${OPENSSLBASE}"
+.endif
+
+post-patch:
+ @${ECHO_CMD} 'VBOX_PATH_APP_PRIVATE_ARCH = ${VBOX_DIR}' > \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_PATH_DOCBOOK = ${DBKXSLDIR}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_PATH_DOCBOOK_DTD = ${DBKXMLDIR}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_PATH_SHARED_LIBS = ${VBOX_DIR}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ # Please keep this even if using Clang to avoid repeated regressions.
+ # PR 245048
+ @${ECHO_CMD} "VBOX_WITH_RUNPATH = ${_GCC_RUNTIME:D${_GCC_RUNTIME}\:}${VBOX_DIR}" >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_PATH_APP_PRIVATE = ${DATADIR}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_PATH_APP_DOCS = ${DOCSDIR}' >> ${WRKSRC}/LocalConfig.kmk
+.if ${SSL_DEFAULT} != base
+ @${ECHO_CMD} 'VBOX_WITH_ALT_HASH_CODE = 1' >> ${WRKSRC}/LocalConfig.kmk
+.endif
+ @${ECHO_CMD} 'VBOX_WITH_EXTPACK_VBOXDTRACE =' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_INSTALLER = 1' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_VBOXDRV =' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_TESTCASES =' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'SDK_VBOX_LIBPNG_INCS = ${PREFIX}/include/libpng' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'SDK_VBOX_LIBPNG_LIBS = png' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_QT}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_QT}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_VALIDATIONKIT =' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_X11_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_BLD_PYTHON = ${LOCALBASE}/bin/${PYTHON_VERSION}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+.if ${PORT_OPTIONS:MR0LOGGING}
+ @${ECHO_CMD} 'VBOX_WITH_R0_LOGGING = 1' >> ${WRKSRC}/LocalConfig.kmk
+.endif
+.if ${PORT_OPTIONS:MWEBSERVICE}
+ @${ECHO_CMD} 'VBOX_WITH_WEBSERVICES = 1' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_GSOAP_INSTALLED = 1' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_PATH_GSOAP = ${PREFIX}/lib/gsoap' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_PATH_GSOAP_BIN = ${PREFIX}/bin' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_PATH_GSOAP_IMPORT = ${PREFIX}/share/gsoap/import' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_GCC_PEDANTIC_CXX = -Wshadow $$(VBOX_GCC_WARN) -Wno-long-long' >> \
+ ${WRKSRC}/LocalConfig.kmk
+.endif
+.if empty(PORT_OPTIONS:MX11)
+ @${ECHO} 'VBOX_WITH_VMSVGA3D =' >> ${WRKSRC}/LocalConfig.kmk
+.endif
+.if ${CHOSEN_COMPILER_TYPE} == clang
+ @${REINPLACE_CMD} -e 's| -finline-limit=8000||' \
+ -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's| -fpermissive||' ${WRKSRC}/Config.kmk \
+ ${WRKSRC}/src/VBox/Main/webservice/Makefile.kmk
+ @${ECHO_CMD} 'TOOL_VBoxGccFreeBSD_LD = ${CXX}' >> ${WRKSRC}/LocalConfig.kmk
+ @${SED} -e 's|GXX3|VBoxGccFreeBSD|g' \
+ ${LOCALBASE}/share/kBuild/tools/GXX3.kmk > \
+ ${WRKSRC}/tools/kBuildTools/VBoxGccFreeBSD.kmk
+.endif
+ # Causes a "reinplace" QA warning with default LOCALBASE
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Config.kmk ${WRKSRC}/configure \
+ ${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \
+ ${WRKSRC}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/units/qt6.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \
+ ${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py
+ @${REINPLACE_CMD} \
+ -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \
+ -e 's|SUPPYTHONLIBS=.*|SUPPYTHONLIBS="${PYTHON_VERSION}${PYTHON_ABIVER}"|' \
+ ${WRKSRC}/configure
+.if empty(ICONV_LIB)
+ @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \
+ ${WRKSRC}/src/VBox/Runtime/Makefile.kmk
+ @${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk
+.endif
+ @${REINPLACE_CMD} -e 's|%%VBOX_DIR%%|${VBOX_DIR}|g' \
+ -e 's|%%VBOX_ETC%%|${VBOX_ETC}|g' \
+ -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
+ ${WRKSRC}/src/VBox/Installer/freebsd/VBox.sh
+ @${REINPLACE_CMD} -e 's|%%VBOX_ETC%%|${VBOX_ETC}|g' \
+ ${WRKSRC}/src/VBox/HostDrivers/adpctl/VBoxNetAdpCtl.cpp
+ @${REINPLACE_CMD} \
+ -e 's|^versions =.*|versions = ["${PYTHON_VER}${PYTHON_ABIVER}"]|' \
+ ${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py
+
+post-patch-AIO-off:
+ @${REINPLACE_CMD} 's|r3/freebsd/fileaio-freebsd.cpp|r3/posix/fileaio-posix.cpp|' \
+ ${WRKSRC}/src/VBox/Runtime/Makefile.kmk
+
+do-build:
+ cd ${WRKSRC} && ${SH} -c '. ${WRKSRC}/env.sh && \
+ ${SETENV} ${MAKE_ENV} ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}'
+.if ${PORT_OPTIONS:MPYTHON}
+ ${PYTHON_CMD} -mcompileall \
+ ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom/python/xpcom
+.endif
+
+do-install:
+.if ${PORT_OPTIONS:MPYTHON} || ${PORT_OPTIONS:MWEBSERVICE}
+ ${MKDIR} ${STAGEDIR}${DATADIR}/sdk
+.endif
+ cd ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom && \
+ ${COPYTREE_SHARE} "idl samples" ${STAGEDIR}${DATADIR}
+
+ ${MKDIR} ${STAGEDIR}${PREFIX}/include/virtualbox
+ cd ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom/include && \
+ ${COPYTREE_SHARE} "*" ${STAGEDIR}${PREFIX}/include/virtualbox
+
+ ${MKDIR} ${STAGEDIR}${VBOX_DIR}
+ cd ${KMK_BUILDDIR}/bin && ${COPYTREE_SHARE} \
+ "*.fd *.r0 *.so components" ${STAGEDIR}${VBOX_DIR}
+.if ${PORT_OPTIONS:MPYTHON} || ${PORT_OPTIONS:MWEBSERVICE}
+ ${RLN} ${STAGEDIR}${DATADIR}/sdk ${STAGEDIR}${VBOX_DIR}
+.endif
+
+ ${INSTALL_SCRIPT} ${WRKSRC}/src/VBox/Installer/freebsd/VBox.sh \
+ ${STAGEDIR}${VBOX_DIR}
+.for f in ${VBOX_PROGS} ${VBOX_UTILS}
+ ${INSTALL_PROGRAM} ${KMK_BUILDDIR}/bin/${f} ${STAGEDIR}${VBOX_DIR}
+.endfor
+.for f in ${VBOX_PROGS} ${VBOX_LINKS}
+ ${LN} -fs ../${VBOX_DIR_REL}/VBox.sh ${STAGEDIR}${PREFIX}/bin/${f}
+.endfor
+.for f in ${VBOX_PROGS}
+ ${LN} -fs ../${VBOX_DIR_REL}/VBox.sh ${STAGEDIR}${PREFIX}/bin/${f:tl}
+.endfor
+
+.if ${PORT_OPTIONS:MGUESTADDITIONS}
+ ${MKDIR} ${STAGEDIR}${VBOX_DIR}/additions
+ ${INSTALL_DATA} ${DISTDIR}/${GUESTADDITIONS} \
+ ${STAGEDIR}${VBOX_DIR}/additions/
+ ${RLN} ${STAGEDIR}${VBOX_DIR}/additions/${GUESTADDITIONS} \
+ ${STAGEDIR}${VBOX_DIR}/additions/VBoxGuestAdditions.iso
+.endif
+
+.if ${PORT_OPTIONS:MDOCS}
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKDIR}/VirtualBox-docs-${DISTVERSION}/UserManual.pdf \
+ ${STAGEDIR}${DOCSDIR}
+.endif
+
+.if ${PORT_OPTIONS:MNLS}
+ cd ${KMK_BUILDDIR}/obj/VirtualBox/qtnls && \
+ ${COPYTREE_SHARE} "*.qm" ${STAGEDIR}${DATADIR}/nls
+.endif
+
+.if ${PORT_OPTIONS:MPYTHON}
+ cd ${KMK_BUILDDIR}/bin/sdk/installer/python && \
+ ${SETENV} VBOX_INSTALL_PATH="${VBOX_DIR}" \
+ ${PYTHON_CMD} vboxapisetup.py install --root=${STAGEDIR}
+
+ @${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/xpcom
+ cd ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom/python/xpcom && \
+ ${COPYTREE_SHARE} "*" ${STAGEDIR}${PYTHON_SITELIBDIR}/xpcom
+ @${MKDIR} ${STAGEDIR}${DATADIR}/sdk/bindings/xpcom/python
+ ${RLN} ${STAGEDIR}${PYTHON_SITELIBDIR}/xpcom \
+ ${STAGEDIR}${DATADIR}/sdk/bindings/xpcom/python
+.endif
+
+.if ${PORT_OPTIONS:MQT6}
+ ${INSTALL_DATA} \
+ ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png \
+ ${STAGEDIR}${PREFIX}/share/pixmaps/VBox.png
+ ${INSTALL_DATA} \
+ ${FILESDIR}/virtualbox.desktop \
+ ${STAGEDIR}${PREFIX}/share/applications/virtualbox.desktop
+.endif
+
+.if ${PORT_OPTIONS:MVNC}
+ ${MKDIR} ${STAGEDIR}${VBOX_DIR}/ExtensionPacks/VNC/${KMK_ARCH}
+ ${INSTALL_DATA} ${KMK_BUILDDIR}/bin/ExtensionPacks/VNC/ExtPack* \
+ ${STAGEDIR}${VBOX_DIR}/ExtensionPacks/VNC/
+ ${INSTALL_LIB} ${KMK_BUILDDIR}/bin/ExtensionPacks/VNC/${KMK_ARCH}/* \
+ ${STAGEDIR}${VBOX_DIR}/ExtensionPacks/VNC/${KMK_ARCH}/
+.endif
+
+.if ${PORT_OPTIONS:MVBOXIMG}
+ ${LN} -fs ../${VBOX_DIR_REL}/vboximg-mount ${STAGEDIR}${PREFIX}/bin/
+.endif
+
+.if ${PORT_OPTIONS:MWEBSERVICE}
+ ${MKDIR} ${STAGEDIR}${DATADIR}/sdk/bindings/webservice
+ ${INSTALL_DATA} ${KMK_BUILDDIR}/obj/webservice/vboxweb.wsdl \
+ ${STAGEDIR}${DATADIR}/sdk/bindings/webservice/
+.endif
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/virtualbox/*.so \
+ ${STAGEDIR}${PREFIX}/lib/virtualbox/components/*.so
+
+.include <bsd.port.post.mk>
diff --git a/emulators/virtualbox-ose-71/distinfo b/emulators/virtualbox-ose-71/distinfo
new file mode 100644
index 000000000000..a824ff5859c4
--- /dev/null
+++ b/emulators/virtualbox-ose-71/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1746902441
+SHA256 (VirtualBox-7.1.8.tar.bz2) = 3f7132c55ac6c5f50585bfaa115d29e30b47ccf535cb0a12ff50214ddae2f63d
+SIZE (VirtualBox-7.1.8.tar.bz2) = 215541146
+SHA256 (VirtualBox-docs-7.1.8.tar.bz2) = b4c24e5deeb87e99d0cc8e60d24878d5ca50436b8c1069f777c711edca776173
+SIZE (VirtualBox-docs-7.1.8.tar.bz2) = 10110834
+SHA256 (VBoxGuestAdditions_7.1.8.iso) = 0001ed19cc389f04723c9b911338559b9b74bea0d24edf794d8d2ce5b5cb14e0
+SIZE (VBoxGuestAdditions_7.1.8.iso) = 61380608
diff --git a/emulators/virtualbox-ose-71/files/extrapatch-Config.kmk b/emulators/virtualbox-ose-71/files/extrapatch-Config.kmk
new file mode 100644
index 000000000000..775508d23b1b
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/extrapatch-Config.kmk
@@ -0,0 +1,11 @@
+--- Config.kmk.orig 2021-04-28 16:21:25 UTC
++++ Config.kmk
+@@ -4931,7 +4931,7 @@ define TOOL_FREEBSDKMODLD_LINK_SYSMOD_CMDS
+ | xargs -J% objcopy % $(out)
+
+ ## Strip debug info (comment out if debugging or something).
+- objcopy --strip-debug $(out)
++# objcopy --strip-debug $(out)
+ endef
+ else # x86
+ TOOL_FREEBSDKMODLD_LINK_SYSMOD_OUTPUT = $(outbase).kld
diff --git a/emulators/virtualbox-ose-71/files/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile b/emulators/virtualbox-ose-71/files/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile
new file mode 100644
index 000000000000..67361da543f7
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile
@@ -0,0 +1,11 @@
+--- src/VBox/HostDrivers/Support/freebsd/Makefile.orig 2012-10-18 16:23:16.000000000 +0200
++++ src/VBox/HostDrivers/Support/freebsd/Makefile 2012-10-20 08:13:07.301179212 +0200
+@@ -27,7 +27,7 @@
+
+ KMOD = vboxdrv
+
+-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DSUPDRV_WITH_RELEASE_LOGGER -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBOX_WITH_HARDENING -DVBOX_WITH_64_BITS_GUESTS
++CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DSUPDRV_WITH_RELEASE_LOGGER -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBOX_WITH_HARDENING -DVBOX_WITH_64_BITS_GUESTS -DDEBUG
+
+ .if (${MACHINE_ARCH} == "i386")
+ CFLAGS += -DRT_ARCH_X86
diff --git a/emulators/virtualbox-ose-71/files/extrapatch-vboximg-Config.kmk b/emulators/virtualbox-ose-71/files/extrapatch-vboximg-Config.kmk
new file mode 100644
index 000000000000..d84209faa8cd
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/extrapatch-vboximg-Config.kmk
@@ -0,0 +1,11 @@
+--- Config.kmk.orig 2023-10-12 15:43:35.000000000 +0700
++++ Config.kmk 2023-10-30 22:11:09.119922000 +0700
+@@ -869,7 +869,7 @@
+ # windows versions (only define when buildling win.x86).
+ #VBOX_WITH_MORE_NT4_COMPAT_BINARIES = 1
+ # Set this to enable building of the vboximg-mount FUSE mounting utility.
+-if1of ($(KBUILD_TARGET), darwin linux)
++if1of ($(KBUILD_TARGET), darwin freebsd linux)
+ VBOX_WITH_VBOXIMGMOUNT = 1
+ endif
+ # Set this to enable packaging the fuse related bits into our installer.
diff --git a/emulators/virtualbox-ose-71/files/patch-Config.kmk b/emulators/virtualbox-ose-71/files/patch-Config.kmk
new file mode 100644
index 000000000000..7aaf90147847
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-Config.kmk
@@ -0,0 +1,402 @@
+--- Config.kmk.orig 2025-05-10 18:43:02 UTC
++++ Config.kmk
+@@ -610,11 +610,11 @@ endif
+ # Enable OSS audio support.
+ VBOX_WITH_AUDIO_OSS = 1
+ endif
+-if1of ($(KBUILD_TARGET), linux)
++if1of ($(KBUILD_TARGET), freebsd linux)
+ # Enable ALSA audio support.
+ VBOX_WITH_AUDIO_ALSA = 1
+ endif
+-if1of ($(KBUILD_TARGET), linux)
++if1of ($(KBUILD_TARGET), freebsd linux)
+ # Enable PulseAudio audio support.
+ VBOX_WITH_AUDIO_PULSE = 1
+ endif
+@@ -627,11 +627,11 @@ VBOX_WITH_PCI_PASSTHROUGH =
+ # (disabled with 6.1, since it's not complete/useful enough)
+ VBOX_WITH_PCI_PASSTHROUGH =
+ # Enable statically linked dbus support.
+-if1of ($(KBUILD_TARGET), linux solaris)
++if1of ($(KBUILD_TARGET), freebsd linux solaris)
+ VBOX_WITH_DBUS = 1
+ endif
+ # Enable building PAM modules.
+-if1of ($(KBUILD_TARGET), linux solaris)
++if1of ($(KBUILD_TARGET), freebsd linux solaris)
+ VBOX_WITH_PAM = 1
+ endif
+ # Enable internal networking.
+@@ -639,7 +639,7 @@ VBOX_WITH_VMSVGA = 1
+ # Enable vmsvga (svga2) graphics device variant, 2D part
+ VBOX_WITH_VMSVGA = 1
+ # Enable vmsvga (svga2) graphics device variant, 3D part
+-if1of ($(KBUILD_TARGET), darwin linux win)
++if1of ($(KBUILD_TARGET), darwin freebsd linux win)
+ VBOX_WITH_VMSVGA3D = 1
+ endif
+ # Enable vmsvga (svga2) graphics device variant, 3D part, VGPU10 DX commands
+@@ -825,7 +825,7 @@ VBOX_WITH_VBOXMANAGE_NLS = 1
+ #endif
+ # Set this to prefix all C symbols in XPCOM, to avoid dynamic linking problems
+ # caused by our XPCOM library polluting the symbol namespace for system libs.
+-if1of ($(KBUILD_TARGET), linux solaris)
++if1of ($(KBUILD_TARGET), freebsd linux solaris)
+ VBOX_WITH_XPCOM_NAMESPACE_CLEANUP = 1
+ endif
+ # The webservices api.
+@@ -1357,10 +1357,6 @@ endif
+ endif
+ endif
+
+-ifeq ($(KBUILD_TARGET),freebsd)
+- VBOX_WITH_DOCS =
+-endif
+-
+ ifeq ($(KBUILD_TARGET),haiku)
+ VBOX_WITH_VRDP_RDESKTOP =
+ # Permanent (no working SDL).
+@@ -1545,7 +1541,7 @@ ifdef VBOX_OSE
+ # not yet
+ VBOX_WITH_PLUGIN_CRYPT =
+ VBOX_WITH_DRAG_AND_DROP_PROMISES =
+- ifn1of ($(KBUILD_TARGET), linux)
++ ifn1of ($(KBUILD_TARGET), freebsd linux)
+ VBOX_WITH_DOCS =
+ VBOX_WITH_DOCS_PACKING =
+ endif
+@@ -3680,19 +3676,7 @@ ifndef VBOX_GCC_std
+ #
+ ## @todo consider maxing this out.
+ ifndef VBOX_GCC_std
+- if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.arm64) # Go straight for c++17 here.
+ VBOX_GCC_std := -std=c++17
+- # else if "$(VBOX_CLANG_VERSION_CXX)" vge 60000 # Most language features complete by v6. Lib stuff was less complete in v6, but hopefully acceptable for out purposes.
+- #VBOX_GCC_std := -std=c++17
+- else if "$(VBOX_CLANG_VERSION_CXX)" vge 50000 # darwin Xcode 5 allegedly knows what C++11 is
+- VBOX_GCC_std := -std=c++11
+- # else if "$(VBOX_GCC_VERSION_CXX)" vge 70000 # Language feature P0512R0 was v8, rest v7 or earlier. Most lib stuff present in 7, complete in v12.
+- #VBOX_GCC_std := -std=gnu++17
+- else if "$(VBOX_GCC_VERSION_CXX)" vge 40800
+- VBOX_GCC_std := -std=c++11
+- else if "$(VBOX_GCC_VERSION_CXX)" vge 40600
+- VBOX_GCC_std := -std=c++0x
+- endif
+ endif
+ ifndef VBOX_VCC_std
+ if $(VBOX_VCC_TOOL_STEM) >= VCC141 # since 2017 15.3
+@@ -5682,11 +5666,11 @@ ifeq ($(VBOX_LDR_FMT),elf)
+ # Solaris driver signing.
+ TEMPLATE_VBoxR0_POST_CMDS = $(VBOX_SIGN_DRIVER_CMDS)
+ else
+- TEMPLATE_VBoxR0_LDFLAGS = -nostdlib -Bsymbolic -g
++ TEMPLATE_VBoxR0_LDFLAGS = -nostdlib -Bsymbolic -g -fuse-ld=bfd
+ ## @todo WTF doesn't the globals work? Debug info is supposed to be split everywhere. GRR
+ TEMPLATE_VBoxR0_LD_DEBUG = split
+ endif
+- if "$(KBUILD_TARGET)" == "linux" && !defined(VBOX_WITH_KMOD_WRAPPED_R0_MODS)
++ if ( "$(KBUILD_TARGET)" == "linux" || "$(KBUILD_TARGET)" == "freebsd") && !defined(VBOX_WITH_KMOD_WRAPPED_R0_MODS)
+ VBOX_WITH_VBOXR0_AS_DLL = 1
+ TEMPLATE_VBoxR0_DLLSUFF = .r0
+ TEMPLATE_VBoxR0_CFLAGS += -fPIC
+@@ -5697,7 +5681,7 @@ ifeq ($(VBOX_LDR_FMT),elf)
+ else
+ TEMPLATE_VBoxR0_CFLAGS.amd64 += -mcmodel=kernel
+ TEMPLATE_VBoxR0_CXXFLAGS.amd64 += -mcmodel=kernel
+- endif
++endif
+ ifdef VBOX_WITH_KMOD_WRAPPED_R0_MODS # For BTF/pahold issue we use -g1
+ TEMPLATE_VBoxR0_DEFS += VBOX_WITH_KMOD_WRAPPED_R0_MODS
+ TEMPLATE_VBoxR0_LDFLAGS.linux += $(PATH_ROOT)/src/VBox/HostDrivers/Support/linux/VBoxR0-wrapped.lds
+@@ -6081,7 +6065,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
+ # x86 FreeBSD (6.2 or something):
+ # cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE \
+ # -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include \
+- # -finline-limit=8000 -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 \
++ # -fno-common -mno-align-long-strings \
+ # -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs \
+ # -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions \
+ # -std=c99 -c ../my.c
+@@ -6092,7 +6076,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
+ #
+ # AMD64 FreeBSD (7.1):
+ # cc -O2 -fno-strict-aliasing -pipe -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I. -I@ -I@/contrib/altq \
+- # -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common \
++ # --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common \
+ # -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx \
+ # -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding \
+ # -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign \
+@@ -6174,7 +6158,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
+ | xargs -J% objcopy % $(outbase).kld
+
+ # Link the final .ko (a shared object).
+- ld $(flags) -Bshareable -o $(out) $(outbase).kld
++ ld $(flags) -Bshareable -znotext -o $(out) $(outbase).kld
+ endef
+ endif # x86
+
+@@ -6209,7 +6193,7 @@ ifeq ($(KBUILD_TARGET),netbsd)
+ $(VBOX_GCC_fdiagnostics-show-option) \
+ -Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \
+ -Wimplicit-function-declaration -Werror-implicit-function-declaration \
+- -O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \
++ -O2 -ffreestanding -fno-strict-aliasing -fno-common \
+ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
+ -nostdinc -std=c99 -msoft-float
+ TEMPLATE_VBoxR0Drv_CFLAGS.x86 = -m32 -mno-mmx -mno-sse -mno-avx \
+@@ -6220,7 +6204,7 @@ ifeq ($(KBUILD_TARGET),netbsd)
+ -fno-asynchronous-unwind-tables -mno-fp-ret-in-387
+ TEMPLATE_VBoxR0Drv_CXXFLAGS = -fno-exceptions -fno-rtti \
+ $(VBOX_GCC_WARN) -Wpointer-arith -Winline \
+- -O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \
++ -O2 -fno-strict-aliasing -fno-common \
+ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
+ -nostdinc -msoft-float
+ TEMPLATE_VBoxR0Drv_CXXFLAGS.x86 = $(TEMPLATE_VBoxR0Drv_CFLAGS.x86)
+@@ -6528,11 +6512,11 @@ else # the gcc guys
+ TEMPLATE_VBoxR3Exe_LIBS = pthread m rt dl
+ else ifeq ($(KBUILD_TARGET),os2)
+ TEMPLATE_VBoxR3Exe_TOOL = GXX3OMF
+- TEMPLATE_VBoxR3Exe_LIBS = socket iconv
++ TEMPLATE_VBoxR3Exe_LIBS = socket
+ else ifeq ($(KBUILD_TARGET),darwin)
+ TEMPLATE_VBoxR3Exe_TOOL = $(VBOX_GCC_TOOL)
+ TEMPLATE_VBoxR3Exe_LIBS =
+- TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG # Avoid 3rd party libiconv (from macports).
++ TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG # Avoid 3rd party lib (from macports).
+ TEMPLATE_VBoxR3Exe_SDKS.darwin = $(VBOX_DARWIN_DEF_SDK_SDKS)
+ TEMPLATE_VBoxR3Exe_DEFS.darwin = $(VBOX_DARWIN_DEF_SDK_DEFS)
+ TEMPLATE_VBoxR3Exe_CFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -fno-common
+@@ -6549,17 +6533,26 @@ else # the gcc guys
+ else ifeq ($(KBUILD_TARGET),haiku)
+ TEMPLATE_VBoxR3Exe_TOOL = GXX3
+ TEMPLATE_VBoxR3Exe_POST_CMDS = $(VBOX_HAIKU_XRES_SETVER_CMDS)
+- TEMPLATE_VBoxR3Exe_LIBS = network iconv stdc++ supc++
++ TEMPLATE_VBoxR3Exe_LIBS = network stdc++ supc++
+ TEMPLATE_VBoxR3Exe_LIBPATH += \
+ /boot/common/lib
+ # Haiku uses PIC by default...
+ TEMPLATE_VBoxR3Exe_CFLAGS += -fno-pic
+ TEMPLATE_VBoxR3Exe_CXXFLAGS += -fno-pic
+ TEMPLATE_VBoxR3Exe_LDFLAGS += -fno-pic
+- else if1of ($(KBUILD_TARGET), freebsd openbsd)
++ else ifeq ($(KBUILD_TARGET), freebsd)
+ TEMPLATE_VBoxR3Exe_TOOL = GXX3
+ TEMPLATE_VBoxR3Exe_LIBS = pthread
++ TEMPLATE_VBoxR3Exe_LDFLAGS = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed)
++ TEMPLATE_VBoxR3Exe_LDFLAGS.freebsd.x86 = -Wl,-z,notext
+ TEMPLATE_VBoxR3Exe_INCS += \
++ /usr/local/include
++ TEMPLATE_VBoxR3Exe_LIBPATH += \
++ /usr/local/lib
++ else ifeq ($(KBUILD_TARGET), openbsd)
++ TEMPLATE_VBoxR3Exe_TOOL = GXX3
++ TEMPLATE_VBoxR3Exe_LIBS = pthread
++ TEMPLATE_VBoxR3Exe_INCS += \
+ /usr/include \
+ /usr/X11R6/include \
+ /usr/local/include
+@@ -6578,7 +6571,7 @@ else # the gcc guys
+ /usr/X11R7/lib
+ else ifeq ($(KBUILD_TARGET),solaris)
+ TEMPLATE_VBoxR3Exe_TOOL = GXX3PLAIN
+- TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG _REENTRANT # Avoid the GNU libiconv, for now at least.
++ TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG _REENTRANT # Avoid the GNU lib, for now at least.
+ if $(VBOX_GCC_VERSION_CC) < 30500
+ TEMPLATE_VBoxR3Exe_CFLAGS += -std=gnu99
+ endif
+@@ -6594,6 +6587,7 @@ else # the gcc guys
+ TEMPLATE_VBoxR3Exe_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
+ endif
+ ifdef VBOX_WITH_ORIGIN
++ TEMPLATE_VBoxR3Exe_LDFLAGS.freebsd += $(VBOX_GCC_ORIGIN_OPT)
+ TEMPLATE_VBoxR3Exe_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT)
+ endif
+ endif
+@@ -6808,7 +6802,7 @@ else
+ ifdef VBOX_WITH_NOCRT_STATIC
+ TEMPLATE_VBoxR3StaticBase_DEFS += RT_WITH_NOCRT_WRAPPERS
+ endif
+- ifn1of ($(KBUILD_TARGET), darwin linux solaris)
++ ifn1of ($(KBUILD_TARGET), darwin freebsd linux solaris)
+ # The gcc guys sans darwin, linux and solaris (don't depend on statically compiled system libs there)
+ TEMPLATE_VBoxR3StaticBase_CFLAGS = $(TEMPLATE_VBoxR3Exe_CFLAGS) -static
+ TEMPLATE_VBoxR3StaticBase_CXXFLAGS = $(TEMPLATE_VBoxR3Exe_CXXFLAGS) -static
+@@ -6876,7 +6870,7 @@ else
+ $(SDK_VBoxZlib_LIBS) \
+ $(SDK_VBoxLibLzma_LIBS)
+ if1of ($(KBUILD_TARGET), darwin freebsd)
+- TEMPLATE_VBoxR3Static_LIBS += iconv
++ TEMPLATE_VBoxR3Static_LIBS +=
+ else ifeq ($(KBUILD_TARGET),solaris)
+ TEMPLATE_VBoxR3Static_LIBS += kstat
+ endif
+@@ -7048,6 +7042,7 @@ else ifn1of ($(KBUILD_TARGET), os2)
+ else ifn1of ($(KBUILD_TARGET), os2)
+ ifneq ($(KBUILD_TYPE),asan) # Keep RPATH in asan builds so we can find libasan.so.X and libubsan.so.Y.
+ TEMPLATE_VBoxR3HardenedExe_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3Exe_LDFLAGS))
++ TEMPLATE_VBoxR3HardenedExe_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.freebsd))
+ TEMPLATE_VBoxR3HardenedExe_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.linux))
+ endif
+ endif
+@@ -7079,6 +7074,7 @@ ifn1of ($(KBUILD_TARGET), win os2)
+ $(if-expr !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT),-IntegrityCheck,)
+ ifn1of ($(KBUILD_TARGET), win os2)
+ TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3TstDll_LDFLAGS))
++ TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3TstDll_LDFLAGS.freebsd))
+ TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3TstDll_LDFLAGS.linux))
+ endif
+
+@@ -7102,6 +7098,7 @@ ifndef VBOX_WITH_HARDENING
+ TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
+ endif
+ ifdef VBOX_WITH_ORIGIN
++ TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS.freebsd += $(VBOX_GCC_ORIGIN_OPT)
+ TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT)
+ endif
+ endif
+@@ -7454,7 +7451,7 @@ else # the GCC guys:
+ endif
+ TEMPLATE_VBoxMainExe_CXXFLAGS = -g $(VBOX_GCC_pipe) \
+ $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_Wno-multistatement-macros) $(VBOX_GCC_Wno-class-memaccess) -Wshadow \
+- -fshort-wchar -fpermissive -fexceptions -frtti $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing \
++ -fshort-wchar -fexceptions -frtti $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing \
+ $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK) \
+ $(VBOX_GCC_SANITIZER_FLAGS)
+ if !defined("VBOX_GCC_Wno-delete-non-virtual-dtor") && defined("VBOX_GCC_Wno-non-virtual-dtor")
+@@ -7518,10 +7515,19 @@ else # the GCC guys:
+ else ifeq ($(KBUILD_TARGET),haiku)
+ TEMPLATE_VBoxMainExe_TOOL = GXX3
+ TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME) network stdc++ supc++
+- else if1of ($(KBUILD_TARGET), freebsd openbsd)
++ else ifeq ($(KBUILD_TARGET), freebsd)
+ TEMPLATE_VBoxMainExe_TOOL = GXX3
+ TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME)
++ TEMPLATE_VBoxMainExe_LDFLAGS = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed)
++ TEMPLATE_VBoxMainExe_LDFLAGS.freebsd.x86 = -Wl,-z,notext
+ TEMPLATE_VBoxMainExe_INCS += \
++ /usr/local/include
++ TEMPLATE_VBoxMainExe_LIBPATH += \
++ /usr/local/lib
++ else ifeq ($(KBUILD_TARGET), openbsd)
++ TEMPLATE_VBoxMainExe_TOOL = GXX3
++ TEMPLATE_VBoxMainExe_LIBS = $(LIB_RUNTIME)
++ TEMPLATE_VBoxMainExe_INCS += \
+ /usr/include \
+ /usr/X11R6/include \
+ /usr/local/include
+@@ -7553,6 +7559,7 @@ else # the GCC guys:
+ TEMPLATE_VBoxMainExe_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
+ endif
+ ifdef VBOX_WITH_ORIGIN
++ TEMPLATE_VBoxMainExe_LDFLAGS.freebsd += $(VBOX_GCC_ORIGIN_OPT)
+ TEMPLATE_VBoxMainExe_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT)
+ endif
+
+@@ -8181,14 +8188,13 @@ ifdef VBOX_WITH_QTGUI
+ TEMPLATE_VBoxQtGuiExe_LIBPATH += \
+ $(VBOX_LIBPATH_X11)
+ ifeq ($(KBUILD_TARGET),freebsd)
++ TEMPLATE_VBoxQtGuiExe_LDFLAGS += -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed)
++ TEMPLATE_VBoxQtGuiExe_LDFLAGS.freebsd.x86 = -Wl,-z,notext
+ TEMPLATE_VBoxQtGuiExe_INCS += \
+- /usr/include \
+- /usr/X11R6/include \
+ /usr/local/include
+ TEMPLATE_VBoxQtGuiExe_LIBPATH += \
+- /usr/lib \
+- /usr/X11R6/lib \
+ /usr/local/lib
++ TEMPLATE_VBoxQtGuiExe_LIBS += /usr/local/lib/qt6/libQt6PrintSupport.so
+ endif
+ ifeq ($(KBUILD_TARGET),solaris)
+ TEMPLATE_VBoxQtGuiExe_LDFLAGS.solaris = -Wl,-z,ignore # Same as VBOX_LD_as_needed.
+@@ -8460,7 +8466,7 @@ else
+ TEMPLATE_VBoxBldProg_LIBS = pthread m rt dl
+ else ifeq ($(KBUILD_HOST),os2)
+ TEMPLATE_VBoxBldProg_TOOL = GXX3OMF
+- TEMPLATE_VBoxBldProg_LIBS = socket iconv
++ TEMPLATE_VBoxBldProg_LIBS = socket
+ else ifeq ($(KBUILD_HOST),darwin)
+ TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL)
+ if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.7" || "$(VBOX_DARWIN_HOST_VERSION_MAJOR)" == "7"
+@@ -8500,13 +8506,20 @@ else
+ TEMPLATE_VBoxBldProg_LIBS =
+ else ifeq ($(KBUILD_HOST),haiku)
+ TEMPLATE_VBoxBldProg_TOOL = GXX3
+- TEMPLATE_VBoxBldProg_LIBS = network iconv
++ TEMPLATE_VBoxBldProg_LIBS = network
+ TEMPLATE_VBoxBldProg_LIBPATH += \
+ /boot/common/lib
+- else if1of ($(KBUILD_HOST), freebsd openbsd)
++ else ifeq ($(KBUILD_HOST), freebsd)
+ TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL)
+ TEMPLATE_VBoxBldProg_LIBS = pthread
+ TEMPLATE_VBoxBldProg_INCS += \
++ /usr/local/include
++ TEMPLATE_VBoxBldProg_LIBPATH += \
++ /usr/local/lib
++ else ifeq ($(KBUILD_HOST), openbsd)
++ TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL)
++ TEMPLATE_VBoxBldProg_LIBS = pthread
++ TEMPLATE_VBoxBldProg_INCS += \
+ /usr/include \
+ /usr/X11R6/include \
+ /usr/local/include
+@@ -8553,11 +8566,11 @@ TEMPLATE_VBoxAdvBldProg_LIBS.darwin = \
+ $(TEMPLATE_VBoxBldProg_LIBS)
+ TEMPLATE_VBoxAdvBldProg_LIBS.darwin = \
+ $(TEMPLATE_VBoxAdvBldProg_LIBS) \
+- iconv \
++ \
+ $(TEMPLATE_VBoxBldProg_LIBS.darwin)
+ TEMPLATE_VBoxAdvBldProg_LIBS.freebsd = \
+ $(TEMPLATE_VBoxAdvBldProg_LIBS) \
+- iconv \
++ \
+ rt \
+ $(TEMPLATE_VBoxBldProg_LIBS.freebsd)
+ TEMPLATE_VBoxAdvBldProg_LIBS.linux = \
+@@ -8648,6 +8661,7 @@ else # the gcc guys
+ # Do not inherit sanitizer flags from VBoxR3Exe in guest executables. Deal with them separately.
+ TEMPLATE_VBoxGuestR3ExeBase_CXXFLAGS.debug = $(NO_SUCH_VARIABLE)
+ TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.debug = $(NO_SUCH_VARIABLE)
++ TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS.freebsd))
+ TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS.linux))
+ TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.debug = $(NO_SUCH_VARIABLE)
+ TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS))
+@@ -8671,7 +8685,7 @@ else if1of ($(KBUILD_TARGET), darwin freebsd openbsd)
+ ifeq ($(KBUILD_TARGET),linux) # As few libs as possible on linux.
+ TEMPLATE_VBoxGuestR3ExeBase_LIBS = pthread rt m dl
+ else if1of ($(KBUILD_TARGET), darwin freebsd openbsd)
+- TEMPLATE_VBoxGuestR3ExeBase_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS) iconv
++ TEMPLATE_VBoxGuestR3ExeBase_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS)
+ else ifeq ($(KBUILD_TARGET),solaris)
+ TEMPLATE_VBoxGuestR3ExeBase_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS) nsl
+ endif
+@@ -8684,6 +8698,7 @@ TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMP
+ $(VBOX_GCC_fno-stack-protector)
+ TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMPLATE_VBoxGuestR3ExeBase_CXXFLAGS.linux)
+ # The GNU_HASH ELF tag is not supported by older systems.
++TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.freebsd += $(VBOX_LD_hash_style_sysv)
+ TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.linux += $(VBOX_LD_hash_style_sysv)
+
+
+@@ -8929,6 +8944,7 @@ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET
+ TEMPLATE_VBoxGuestR3XFree86Mod_CXXFLAGS.linux = $(VBOX_GCC_fno-stack-protector) # Remove symvers.h
+ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE)
+ # The GNU_HASH ELF tag is not supported by older glibc dynamic linkers.
++TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.freebsd = $(subst -Wl$(COMMA),,$(VBOX_LD_hash_style_sysv))
+ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.linux = $(subst -Wl$(COMMA),,$(VBOX_LD_hash_style_sysv))
+ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE)
+ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS := -r
+@@ -8970,7 +8986,7 @@ TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET) =
+ TEMPLATE_VBoxGuestR3XOrgMod_LIBS = $(VBOX_LIB_VBGL_R3_XORG)
+ TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE)
+ TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE)
+-TEMPLATE_VBoxGuestR3XOrgMod_LIBS.freebsd += iconv
++TEMPLATE_VBoxGuestR3XOrgMod_LIBS.freebsd +=
+
+
+ #
diff --git a/emulators/virtualbox-ose-71/files/patch-configure b/emulators/virtualbox-ose-71/files/patch-configure
new file mode 100644
index 000000000000..3645d1236ea8
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-configure
@@ -0,0 +1,138 @@
+--- configure.orig 2025-04-14 17:41:37 UTC
++++ configure
+@@ -158,10 +158,14 @@ if [ "$OS" = "freebsd" ]; then
+ if [ "$OS" = "freebsd" ]; then
+ INCCURL="-I/usr/local/include"
+ LIBCURL="-L/usr/local/lib -lcurl"
++ INCALSA="-I/usr/local/include"
++ LIBALSA="-L/usr/local/lib"
+ INCPULSE="-I/usr/local/include"
+ LIBPULSE="-L/usr/local/lib"
+ INCPNG="-I/usr/local/include"
+ LIBPNG="-L/usr/local/lib -lpng"
++ INCVNCSERVER="-I/usr/local/include"
++ LIBVNCSERVER="-L/usr/local/lib"
+ else
+ INCCURL=""
+ LIBCURL="-lcurl"
+@@ -1211,6 +1215,9 @@ extern "C" int main(int argc, char** argv)
+ printf("found version %d.%d.%d",
+ SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL);
+ #if SDL_VERSION_ATLEAST(1,2,7)
++#if !defined(SDL_VIDEO_DRIVER_X11)
++#error SDL must be compiled with X11 support
++#endif
+ printf(", OK.\n");
+ return 0;
+ #else
+@@ -1295,7 +1302,7 @@ EOF
+ #endif
+ }
+ EOF
+- if test_compile "-lasound" asound asound; then
++ if test_compile "$INCALSA $LIBALSA -lasound" asound asound; then
+ test_execute
+ fi
+ }
+@@ -1599,6 +1606,7 @@ EOF
+ SDKQT6=$PATH_SDK_QT6
+ fi
+ FLGQT6="-framework QtCore -std=c++17 -Wl,-rpath,`L_to_PATH "$LIBQT6"`"
++ FLGQT6="$FLGQT6 -std=c++11"
+ else
+ log_failure "Qt6 framework not found (can be disabled using --disable-qt)"
+ fail
+@@ -1875,9 +1883,9 @@ check_libvorbis()
+ if which_wrapper pkg-config > /dev/null; then
+ libvorbis_ver=`pkg-config vorbis --modversion 2>> $LOG`
+ if [ $? -eq 0 ]; then
+- FLGVRB=`pkg-config vorbis --cflags`
++ FLGVRB=`pkg-config vorbis vorbisenc --cflags`
+ INCVRB=`strip_I "$FLGVRB"`
+- LIBVRB=`pkg-config vorbis --libs`
++ LIBVRB=`pkg-config vorbis vorbisenc --libs`
+ fi
+ cat > $ODIR.tmp_src.cc << EOF
+ #include <cstdio>
+@@ -1927,7 +1935,7 @@ EOF
+ return 0;
+ }
+ EOF
+- [ -n "$INCOGG" ] && I_INCVRB=`prefix_I "$INCOGG"`
++ [ -n "$INCOGG" ] && I_INCOGG=`prefix_I "$INCOGG"`
+ if test_compile "$LIBOGG $I_INCOGG" ogg ogg nofatal; then
+ if test_execute; then
+ cnf_append "SDK_VBoxLibOgg_INCS" "$INCOGG"
+@@ -2194,8 +2202,8 @@ EOF
+ echo "compiling the following source file:" >> $LOG
+ cat $ODIR.tmp_src.cc >> $LOG
+ echo "using the following command line:" >> $LOG
+- echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so" >> $LOG
+- $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so >> $LOG 2>&1
++ echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so -pthread" >> $LOG
++ $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so -pthread >> $LOG 2>&1
+ if [ $? -eq 0 ]; then
+ found=1
+ break
+@@ -2311,7 +2319,7 @@ check_gsoap()
+ else
+ cnf_append "VBOX_GSOAP_CXX_SOURCES" ""
+ fi
+- cnf_append "VBOX_GSOAP_CXX_LIBS" "`strip_l "$GSOAP_CXX_LIBS"`"
++ cnf_append "VBOX_GSOAP_CXX_LIBS" "`strip_l "$GSOAP_CXX_LIBS"` z"
+ gsoap_version=`pkg-config gsoapssl++ --modversion`
+ log_success "found version $gsoap_version"
+ return
+@@ -2687,7 +2695,7 @@ for option in "$@"; do
+ --with-openssl-dir=*)
+ OPENSSLDIR=`echo $option | cut -d'=' -f2`
+ INCCRYPTO="-I${OPENSSLDIR}/include"
+- LIBCRYPTO="${OPENSSLDIR}/lib/libssl.a ${OPENSSLDIR}/lib/libcrypto.a"
++ LIBCRYPTO="-L${OPENSSLDIR}/lib -lssl -lcrypto"
+ # On Darwin (at least for macports) static OpenSSL also needs zlib.
+ [ "$OS" = "darwin" ] && LIBCRYPTO="$LIBCRYPTO ${OPENSSLDIR}/lib/libz.a"
+ # On Linux static OpenSSL typically needs a few additional libraries.
+@@ -3054,12 +3062,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
+ [ $WITH_JAVA -eq 1 ] && check_java
+
+ # PulseAudio
+- if [ $WITH_PULSE -eq 1 ]; then
+- check_pulse
+- elif [ $WITH_PULSE -eq 0 ]; then # Force disabling PulseAudio.
+- cnf_append "VBOX_WITH_AUDIO_PULSE" ""
+- elif [ $WITH_PULSE -eq 2 ]; then # --enable-pulse was passed, force PulseAudio.
+- cnf_append "VBOX_WITH_AUDIO_PULSE" "1"
++ if [ "$OS" = "linux" -o "$OS" = "freebsd" -o "$OS" = "netbsd" ]; then
++ if [ $WITH_ALSA -eq 1 ]; then
++ check_alsa
++ else
++ cnf_append "VBOX_WITH_AUDIO_ALSA" ""
++ fi
++ if [ $WITH_PULSE -eq 1 ]; then
++ check_pulse
++ elif [ $WITH_PULSE -eq 0 ]; then # Force disabling PulseAudio.
++ cnf_append "VBOX_WITH_AUDIO_PULSE" ""
++ elif [ $WITH_PULSE -eq 2 ]; then # --enable-pulse was passed, force PulseAudio.
++ cnf_append "VBOX_WITH_AUDIO_PULSE" "1"
++ fi
++ if [ $WITH_DBUS -eq 0 ]; then
++ cnf_append "VBOX_WITH_DBUS" ""
++ fi
+ fi
+ fi
+
+@@ -3075,14 +3093,6 @@ if [ "$OS" = "linux" ]; then
+ cnf_append "VBOX_WITHOUT_LINUX_TEST_BUILDS" "1"
+ fi
+ if [ $ONLY_ADDITIONS -eq 0 ]; then
+- if [ $WITH_ALSA -eq 1 ]; then
+- check_alsa
+- else
+- cnf_append "VBOX_WITH_AUDIO_ALSA" ""
+- fi
+- if [ $WITH_DBUS -eq 0 ]; then
+- cnf_append "VBOX_WITH_DBUS" ""
+- fi
+ if [ $WITH_DEVMAPPER -eq 1 ]; then
+ check_libdevmapper
+ else
diff --git a/emulators/virtualbox-ose-71/files/patch-doc_manual_en__US_dita_UserManual.ditamap b/emulators/virtualbox-ose-71/files/patch-doc_manual_en__US_dita_UserManual.ditamap
new file mode 100644
index 000000000000..93550ddbf766
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-doc_manual_en__US_dita_UserManual.ditamap
@@ -0,0 +1,11 @@
+--- doc/manual/en_US/dita/UserManual.ditamap.orig 2025-04-14 17:41:38 UTC
++++ doc/manual/en_US/dita/UserManual.ditamap
+@@ -613,7 +613,7 @@
+ <topicref href="topics/security-model.dita"/>
+ <topicref href="topics/secure-config-vms.dita">
+ <topicref href="topics/security-networking.dita"/>
+- <topicref href="topics/security-of-remote-vms.dita"/>
++<!-- <topicref href="topics/security-of-remote-vms.dita"/> -->
+ <topicref href="topics/security-vrdp-auth.dita"/>
+ <topicref href="topics/security_clipboard.dita"/>
+ <topicref href="topics/security-shared-folders.dita"/>
diff --git a/emulators/virtualbox-ose-71/files/patch-include-iprt-x86.h b/emulators/virtualbox-ose-71/files/patch-include-iprt-x86.h
new file mode 100644
index 000000000000..ca73a306df88
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-include-iprt-x86.h
@@ -0,0 +1,19 @@
+--- include/iprt/x86.h.orig 2021-04-20 04:22:23 UTC
++++ include/iprt/x86.h
+@@ -38,6 +38,16 @@
+ # pragma D depends_on library vbox-types.d
+ #endif
+
++/* Workaround for FreeBSD machine/specialreg.h defining MSRs */
++#ifdef RT_OS_FREEBSD
++# undef MSR_P5_MC_ADDR
++# undef MSR_P5_MC_TYPE
++# undef MSR_IA32_PLATFORM_ID
++# undef MSR_BBL_CR_CTL3
++# undef MSR_IA32_MISC_ENABLE
++# undef MSR_IA32_FEATURE_CONTROL
++#endif
++
+ /** Workaround for Solaris sys/regset.h defining CS, DS and sys/controlregs.h
+ * defining MSR_IA32_FLUSH_CMD */
+ #ifdef RT_OS_SOLARIS
diff --git a/emulators/virtualbox-ose-71/files/patch-include_VBox_com_array.h b/emulators/virtualbox-ose-71/files/patch-include_VBox_com_array.h
new file mode 100644
index 000000000000..9d65058e6b50
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-include_VBox_com_array.h
@@ -0,0 +1,36 @@
+--- include/VBox/com/array.h.orig 2021-01-07 15:31:25 UTC
++++ include/VBox/com/array.h
+@@ -171,7 +171,7 @@
+
+ #include "VBox/com/defs.h"
+
+-#if RT_GNUC_PREREQ(4, 6) || (defined(_MSC_VER) && (_MSC_VER >= 1600))
++#if RT_GNUC_PREREQ(4, 6) || (defined(_MSC_VER) && (_MSC_VER >= 1600)) || defined(_LIBCPP_VERSION)
+ /** @def VBOX_WITH_TYPE_TRAITS
+ * Type traits are a C++ 11 feature, so not available everywhere (yet).
+ * Only GCC 4.6 or newer and MSVC++ 16.0 (Visual Studio 2010) or newer.
+@@ -960,12 +960,12 @@ class SafeArray : public Traits (public)
+ {
+ /** @todo r=klaus should do this as a AssertCompile, but cannot find a way which works. */
+ Assert(sizeof(T) <= sizeof(Zeroes));
+- AssertReturn(m.arr != NULL, *(T *)&Zeroes[0]);
+- AssertReturn(aIdx < size(), *(T *)&Zeroes[0]);
++ AssertReturn(m.arr != NULL, *((T *)1));
++ AssertReturn(aIdx < size(), *((T *)1));
+ #ifdef VBOX_WITH_XPCOM
+ return m.arr[aIdx];
+ #else
+- AssertReturn(m.raw != NULL, *(T *)&Zeroes[0]);
++ AssertReturn(m.raw != NULL, *((T *)1));
+ return m.raw[aIdx];
+ #endif
+ }
+@@ -980,7 +980,7 @@ class SafeArray : public Traits (public)
+ #ifdef VBOX_WITH_XPCOM
+ return m.arr[aIdx];
+ #else
+- AssertReturn(m.raw != NULL, *(const T *)&Zeroes[0]);
++ AssertReturn(m.raw != NULL, *((T *)1));
+ return m.raw[aIdx];
+ #endif
+ }
diff --git a/emulators/virtualbox-ose-71/files/patch-include_VBox_sup.h b/emulators/virtualbox-ose-71/files/patch-include_VBox_sup.h
new file mode 100644
index 000000000000..9cf3fabe63f1
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-include_VBox_sup.h
@@ -0,0 +1,11 @@
+--- include/VBox/sup.h.orig 2024-12-27 04:08:45.986426000 +0100
++++ include/VBox/sup.h 2024-12-27 04:09:08.925387000 +0100
+@@ -2248,7 +2248,7 @@
+
+ SUPR0DECL(void) SUPR0BadContext(PSUPDRVSESSION pSession, const char *pszFile, uint32_t uLine, const char *pszExpr);
+
+-#if defined(RT_OS_LINUX) || defined(RT_OS_SOLARIS) || defined(RT_OS_FREEBSD)
++#if defined(RT_OS_LINUX) || defined(RT_OS_SOLARIS)
+ /**
+ * Translates a physical address to a virtual mapping (valid up to end of page).
+ * @returns VBox status code.
diff --git a/emulators/virtualbox-ose-71/files/patch-include_iprt_string.h b/emulators/virtualbox-ose-71/files/patch-include_iprt_string.h
new file mode 100644
index 000000000000..95119057d1ca
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-include_iprt_string.h
@@ -0,0 +1,14 @@
+--- include/iprt/string.h.orig 2021-01-07 15:31:33 UTC
++++ include/iprt/string.h
+@@ -46,6 +46,11 @@
+ #elif defined(RT_OS_FREEBSD) && defined(_KERNEL)
+ RT_C_DECLS_BEGIN
+ # include <sys/libkern.h>
++ /*
++ * Kludge for the FreeBSD kernel:
++ * sys/libkern.h includes sys/param.h via sys/systm.h since r335879.
++ */
++# undef PVM
+ RT_C_DECLS_END
+
+ #elif defined(RT_OS_NETBSD) && defined(_KERNEL)
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
new file mode 100644
index 000000000000..e790f372f95f
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
@@ -0,0 +1,284 @@
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2022-10-06 19:03:06.000000000 +0200
++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2024-12-26 15:28:38.066230000 +0100
+@@ -55,6 +55,7 @@
+ #include <sys/uio.h>
+ #include <sys/bus.h>
+ #include <sys/poll.h>
++#include <sys/proc.h>
+ #include <sys/selinfo.h>
+ #include <sys/queue.h>
+ #include <sys/lock.h>
+@@ -71,6 +72,7 @@
+ #include <VBox/version.h>
+ #include <VBox/log.h>
+ #include <iprt/assert.h>
++#include <iprt/err.h>
+ #include <iprt/initterm.h>
+ #include <iprt/process.h>
+ #include <iprt/string.h>
+@@ -112,8 +114,6 @@
+ struct resource *pIrqRes;
+ /** Pointer to the IRQ handler. */
+ void *pfnIrqHandler;
+- /** VMMDev version */
+- uint32_t u32Version;
+ };
+
+
+@@ -123,8 +123,7 @@
+ /*
+ * Character device file handlers.
+ */
+-static d_fdopen_t vgdrvFreeBSDOpen;
+-static d_close_t vgdrvFreeBSDClose;
++static d_open_t vgdrvFreeBSDOpen;
+ static d_ioctl_t vgdrvFreeBSDIOCtl;
+ static int vgdrvFreeBSDIOCtlSlow(PVBOXGUESTSESSION pSession, u_long ulCmd, caddr_t pvData, struct thread *pTd);
+ static d_write_t vgdrvFreeBSDWrite;
+@@ -155,8 +154,7 @@
+ {
+ .d_version = D_VERSION,
+ .d_flags = D_TRACKCLOSE | D_NEEDMINOR,
+- .d_fdopen = vgdrvFreeBSDOpen,
+- .d_close = vgdrvFreeBSDClose,
++ .d_open = vgdrvFreeBSDOpen,
+ .d_ioctl = vgdrvFreeBSDIOCtl,
+ .d_read = vgdrvFreeBSDRead,
+ .d_write = vgdrvFreeBSDWrite,
+@@ -164,81 +162,28 @@
+ .d_name = "vboxguest"
+ };
+
++/** Device structure. */
++static struct cdev *g_pDev;
++
+ /** Device extention & session data association structure. */
+ static VBOXGUESTDEVEXT g_DevExt;
+
+-/** List of cloned device. Managed by the kernel. */
+-static struct clonedevs *g_pvgdrvFreeBSDClones;
+-/** The dev_clone event handler tag. */
+-static eventhandler_tag g_vgdrvFreeBSDEHTag;
+ /** Reference counter */
+ static volatile uint32_t cUsers;
+ /** selinfo structure used for polling. */
+ static struct selinfo g_SelInfo;
+
+-/**
+- * DEVFS event handler.
+- */
+-static void vgdrvFreeBSDClone(void *pvArg, struct ucred *pCred, char *pszName, int cchName, struct cdev **ppDev)
++static void vgdrvFreeBSDDtr(void *pSession)
+ {
+- int iUnit;
+- int rc;
+-
+- Log(("vgdrvFreeBSDClone: pszName=%s ppDev=%p\n", pszName, ppDev));
+-
+- /*
+- * One device node per user, si_drv1 points to the session.
+- * /dev/vboxguest<N> where N = {0...255}.
+- */
+- if (!ppDev)
+- return;
+- if (strcmp(pszName, "vboxguest") == 0)
+- iUnit = -1;
+- else if (dev_stdclone(pszName, NULL, "vboxguest", &iUnit) != 1)
+- return;
+- if (iUnit >= 256)
+- {
+- Log(("vgdrvFreeBSDClone: iUnit=%d >= 256 - rejected\n", iUnit));
+- return;
+- }
+-
+- Log(("vgdrvFreeBSDClone: pszName=%s iUnit=%d\n", pszName, iUnit));
+-
+- rc = clone_create(&g_pvgdrvFreeBSDClones, &g_vgdrvFreeBSDChrDevSW, &iUnit, ppDev, 0);
+- Log(("vgdrvFreeBSDClone: clone_create -> %d; iUnit=%d\n", rc, iUnit));
+- if (rc)
+- {
+- *ppDev = make_dev(&g_vgdrvFreeBSDChrDevSW,
+- iUnit,
+- UID_ROOT,
+- GID_WHEEL,
+- 0664,
+- "vboxguest%d", iUnit);
+- if (*ppDev)
+- {
+- dev_ref(*ppDev);
+- (*ppDev)->si_flags |= SI_CHEAPCLONE;
+- Log(("vgdrvFreeBSDClone: Created *ppDev=%p iUnit=%d si_drv1=%p si_drv2=%p\n",
+- *ppDev, iUnit, (*ppDev)->si_drv1, (*ppDev)->si_drv2));
+- (*ppDev)->si_drv1 = (*ppDev)->si_drv2 = NULL;
+- }
+- else
+- Log(("vgdrvFreeBSDClone: make_dev iUnit=%d failed\n", iUnit));
+- }
+- else
+- Log(("vgdrvFreeBSDClone: Existing *ppDev=%p iUnit=%d si_drv1=%p si_drv2=%p\n",
+- *ppDev, iUnit, (*ppDev)->si_drv1, (*ppDev)->si_drv2));
++ VGDrvCommonCloseSession(&g_DevExt, pSession);
++ ASMAtomicDecU32(&cUsers);
+ }
+
+ /**
+ * File open handler
+ *
+ */
+-#if __FreeBSD_version >= 700000
+-static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOpen, struct thread *pTd, struct file *pFd)
+-#else
+-static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOpen, struct thread *pTd)
+-#endif
++static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOpen, int DevType, struct thread *pTd)
+ {
+ int rc;
+ PVBOXGUESTSESSION pSession;
+@@ -250,12 +195,6 @@
+ LogFlow(("vgdrvFreeBSDOpen:\n"));
+
+ /*
+- * Try grab it (we don't grab the giant, remember).
+- */
+- if (!ASMAtomicCmpXchgPtr(&pDev->si_drv1, (void *)0x42, NULL))
+- return EBUSY;
+-
+- /*
+ * Create a new session.
+ */
+ fRequestor = VMMDEV_REQUESTOR_USERMODE | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN;
+@@ -272,47 +211,20 @@
+ rc = VGDrvCommonCreateUserSession(&g_DevExt, fRequestor, &pSession);
+ if (RT_SUCCESS(rc))
+ {
+- if (ASMAtomicCmpXchgPtr(&pDev->si_drv1, pSession, (void *)0x42))
+- {
+- Log(("vgdrvFreeBSDOpen: success - g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, (int)RTProcSelf()));
++ Log(("vgdrvFreeBSDOpen: success - g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, (int)RTProcSelf()));
++ rc = devfs_set_cdevpriv(pSession, vgdrvFreeBSDDtr);
++ if (rc)
++ VGDrvCommonCloseSession(&g_DevExt, pSession);
++ else
+ ASMAtomicIncU32(&cUsers);
+- return 0;
+- }
+-
+- VGDrvCommonCloseSession(&g_DevExt, pSession);
++ return rc;
+ }
+
+ LogRel(("vgdrvFreeBSDOpen: failed. rc=%d\n", rc));
+ return RTErrConvertToErrno(rc);
+ }
+
+-/**
+- * File close handler
+- *
+- */
+-static int vgdrvFreeBSDClose(struct cdev *pDev, int fFile, int DevType, struct thread *pTd)
+-{
+- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1;
+- Log(("vgdrvFreeBSDClose: fFile=%#x pSession=%p\n", fFile, pSession));
+
+- /*
+- * Close the session if it's still hanging on to the device...
+- */
+- if (RT_VALID_PTR(pSession))
+- {
+- VGDrvCommonCloseSession(&g_DevExt, pSession);
+- if (!ASMAtomicCmpXchgPtr(&pDev->si_drv1, NULL, pSession))
+- Log(("vgdrvFreeBSDClose: si_drv1=%p expected %p!\n", pDev->si_drv1, pSession));
+- ASMAtomicDecU32(&cUsers);
+- /* Don't use destroy_dev here because it may sleep resulting in a hanging user process. */
+- destroy_dev_sched(pDev);
+- }
+- else
+- Log(("vgdrvFreeBSDClose: si_drv1=%p!\n", pSession));
+- return 0;
+-}
+-
+-
+ /**
+ * I/O control request.
+ *
+@@ -326,8 +238,12 @@
+ static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd)
+ {
+ PVBOXGUESTSESSION pSession;
+- devfs_get_cdevpriv((void **)&pSession);
++ int rc;
+
++ rc = devfs_get_cdevpriv((void **)&pSession);
++ if (rc)
++ return rc;
++
+ /*
+ * Deal with the fast ioctl path first.
+ */
+@@ -526,8 +442,10 @@
+
+ LogFlow(("vgdrvFreeBSDPoll: fEvents=%d\n", fEvents));
+
+- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1;
+- if (RT_UNLIKELY(!RT_VALID_PTR(pSession))) {
++
++ rc = devfs_get_cdevpriv((void **)&pSession);
++ if (rc)
++ {
+ Log(("vgdrvFreeBSDPoll: no state data for %s\n", devtoname(pDev)));
+ return (fEvents & (POLLHUP|POLLIN|POLLRDNORM|POLLOUT|POLLWRNORM));
+ }
+@@ -568,11 +486,8 @@
+ /*
+ * Reverse what we did in vgdrvFreeBSDAttach.
+ */
+- if (g_vgdrvFreeBSDEHTag != NULL)
+- EVENTHANDLER_DEREGISTER(dev_clone, g_vgdrvFreeBSDEHTag);
++ destroy_dev(g_pDev);
+
+- clone_cleanup(&g_pvgdrvFreeBSDClones);
+-
+ vgdrvFreeBSDRemoveIRQ(pDevice, pState);
+
+ if (pState->pVMMDevMemRes)
+@@ -737,18 +652,21 @@
+ VGDrvCommonProcessOptionsFromHost(&g_DevExt);
+
+ /*
+- * Configure device cloning.
++ * Configure device.
+ */
+- clone_setup(&g_pvgdrvFreeBSDClones);
+- g_vgdrvFreeBSDEHTag = EVENTHANDLER_REGISTER(dev_clone, vgdrvFreeBSDClone, 0, 1000);
+- if (g_vgdrvFreeBSDEHTag)
++ g_pDev = make_dev(&g_vgdrvFreeBSDChrDevSW,
++ 0,
++ UID_ROOT,
++ GID_WHEEL,
++ 0664,
++ "vboxguest");
++ if (g_pDev)
+ {
+ printf(DEVICE_NAME ": loaded successfully\n");
+ return 0;
+ }
+
+- printf(DEVICE_NAME ": EVENTHANDLER_REGISTER(dev_clone,,,) failed\n");
+- clone_cleanup(&g_pvgdrvFreeBSDClones);
++ printf(DEVICE_NAME ": make_dev failed\n");
+ vgdrvFreeBSDRemoveIRQ(pDevice, pState);
+ }
+ else
+@@ -792,8 +710,12 @@
+ sizeof(struct VBoxGuestDeviceState),
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE(vboxguest, pci, vgdrvFreeBSDDriver, 0, 0);
++#else
+ static devclass_t vgdrvFreeBSDClass;
+
+ DRIVER_MODULE(vboxguest, pci, vgdrvFreeBSDDriver, vgdrvFreeBSDClass, 0, 0);
++#endif
+ MODULE_VERSION(vboxguest, 1);
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
new file mode 100644
index 000000000000..476346a59b13
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
@@ -0,0 +1,27 @@
+--- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2019-04-16 10:09:09 UTC
++++ src/VBox/Additions/common/VBoxGuest/freebsd/Makefile
+@@ -25,7 +25,7 @@
+ #
+ KMOD = vboxguest
+
+-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
++CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_GUEST -DIN_GUEST_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+
+ .if (${MACHINE_ARCH} == "i386")
+ CFLAGS += -DRT_ARCH_X86
+@@ -80,6 +80,7 @@ SRCS += \
+ handletable.c \
+ handletablectx.c \
+ once.c \
++ term.c \
+ thread.c
+
+ .PATH: ${.CURDIR}/common/string
+@@ -147,6 +148,7 @@ SRCS += \
+
+ .PATH: ${.CURDIR}/r0drv
+ SRCS += \
++ alloc-ef-r0drv.c \
+ alloc-r0drv.c \
+ initterm-r0drv.c \
+ memobj-r0drv.c \
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-files_vboxguest b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-files_vboxguest
new file mode 100644
index 000000000000..faecf870532b
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-files_vboxguest
@@ -0,0 +1,34 @@
+--- src/VBox/Additions/common/VBoxGuest/freebsd/files_vboxguest.orig 2019-01-25 18:12:28 UTC
++++ src/VBox/Additions/common/VBoxGuest/freebsd/files_vboxguest
+@@ -63,6 +63,7 @@ FILES_VBOXGUEST_NOBIN=" \
+ ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \
+ ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \
+ ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \
++ ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \
+ ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \
+ ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \
+ ${PATH_ROOT}/include/iprt/crc.h=>include/iprt/crc.h \
+@@ -111,6 +112,7 @@ FILES_VBOXGUEST_NOBIN=" \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletable.h=>common/misc/handletable.h \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletablectx.cpp=>common/misc/handletablectx.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/once.cpp=>common/misc/once.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/misc/term.cpp=>common/misc/term.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/thread.cpp=>common/misc/thread.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg1Weak.cpp=>common/misc/RTAssertMsg1Weak.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg2.cpp=>common/misc/RTAssertMsg2.c \
+@@ -181,6 +183,7 @@ FILES_VBOXGUEST_NOBIN=" \
+ ${PATH_ROOT}/src/VBox/Runtime/generic/errvars-generic.cpp=>generic/errvars-generic.c \
+ ${PATH_ROOT}/src/VBox/Runtime/generic/timer-generic.cpp=>generic/timer-generic.c \
+ ${PATH_ROOT}/src/VBox/Runtime/generic/mppresent-generic.cpp=>generic/mppresent-generic.c \
++ ${PATH_ROOT}/src/VBox/Runtime/r0drv/alloc-ef-r0drv.cpp=>r0drv/alloc-ef-r0drv.c \
+ ${PATH_ROOT}/src/VBox/Runtime/r0drv/alloc-r0drv.cpp=>r0drv/alloc-r0drv.c \
+ ${PATH_ROOT}/src/VBox/Runtime/r0drv/alloc-r0drv.h=>r0drv/alloc-r0drv.h \
+ ${PATH_ROOT}/src/VBox/Runtime/r0drv/initterm-r0drv.cpp=>r0drv/initterm-r0drv.c \
+@@ -207,6 +210,7 @@ FILES_VBOXGUEST_NOBIN=" \
+ ${PATH_ROOT}/src/VBox/Runtime/r0drv/freebsd/sleepqueue-r0drv-freebsd.h=>r0drv/freebsd/sleepqueue-r0drv-freebsd.h \
+ ${PATH_ROOT}/src/VBox/Runtime/r0drv/generic/semspinmutex-r0drv-generic.c=>r0drv/generic/semspinmutex-r0drv-generic.c \
+ ${PATH_ROOT}/src/VBox/Runtime/r0drv/generic/mpnotification-r0drv-generic.cpp=>r0drv/generic/mpnotification-r0drv-generic.c \
++ ${PATH_ROOT}/src/VBox/Runtime/r0drv/generic/threadctxhooks-r0drv-generic.cpp=>r0drv/generic/threadctxhooks-r0drv-generic.c \
+ ${PATH_ROOT}/src/VBox/Runtime/r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.cpp=>r0drv/generic/RTMpIsCpuWorkPending-r0drv-generic.c \
+ ${PATH_ROOT}/src/VBox/Runtime/r0drv/memobj-r0drv.cpp=>r0drv/memobj-r0drv.c \
+ ${PATH_ROOT}/src/VBox/Runtime/VBox/log-vbox.cpp=>VBox/log-vbox.c \
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient
new file mode 100644
index 000000000000..56225943a922
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient
@@ -0,0 +1,25 @@
+--- src/VBox/Additions/x11/Installer/98vboxadd-xclient.orig 2025-01-21 19:49:30.000000000 +0700
++++ src/VBox/Additions/x11/Installer/98vboxadd-xclient 2025-01-23 00:43:43.597269000 +0700
+@@ -42,15 +42,15 @@
+ # not use "exit" here as this script is "source"d, not executed.
+
+ # Check wheather X11 or Wayland version of VBoxClient should be started.
+- vbox_wl_check=$(/usr/bin/vboxwl --check 2> /dev/null)
++ vbox_wl_check=$(/usr/local/bin/vboxwl --check 2> /dev/null)
+ if test "$vbox_wl_check" = "WL"; then
+- /usr/bin/VBoxClient --wayland
++ /usr/local/bin/VBoxClient --wayland
+ else
+- /usr/bin/VBoxClient --clipboard
+- /usr/bin/VBoxClient --seamless
+- /usr/bin/VBoxClient --draganddrop
++ /usr/local/bin/VBoxClient --clipboard
++ /usr/local/bin/VBoxClient --seamless
++ /usr/local/bin/VBoxClient --draganddrop
+ fi
+
+- /usr/bin/VBoxClient --checkhostversion
+- /usr/bin/VBoxClient --vmsvga-session # In case VMSVGA emulation is enabled
++ /usr/local/bin/VBoxClient --checkhostversion
++ /usr/local/bin/VBoxClient --vmsvga-session # In case VMSVGA emulation is enabled
+ fi
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-vboxclient.desktop b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-vboxclient.desktop
new file mode 100644
index 000000000000..a76eb7616038
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-vboxclient.desktop
@@ -0,0 +1,10 @@
+--- src/VBox/Additions/x11/Installer/vboxclient.desktop.orig 2020-05-13 19:37:09 UTC
++++ src/VBox/Additions/x11/Installer/vboxclient.desktop
+@@ -8,6 +8,6 @@ Comment[C]=VirtualBox User Session Services
+ Comment=VirtualBox User Session Services
+ Comment[it]=Servizi di sessione utente di VirtualBox
+ Comment[pl]=Usługi sesji użytkownika VirtualBox
+-Exec=/usr/bin/VBoxClient-all
++Exec=/usr/local/bin/VBoxClient-all
+ X-GNOME-Autostart-enabled=true
+ X-KDE-autostart-after=panel
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-DrvNATlibslirp.cpp b/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-DrvNATlibslirp.cpp
new file mode 100644
index 000000000000..11ee43504054
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-DrvNATlibslirp.cpp
@@ -0,0 +1,10 @@
+--- src/VBox/Devices/Network/DrvNATlibslirp.cpp.orig 2025-01-25 00:56:57.537046000 +0700
++++ src/VBox/Devices/Network/DrvNATlibslirp.cpp 2025-01-25 00:58:05.112538000 +0700
+@@ -57,6 +57,7 @@
+
+ #ifdef RT_OS_FREEBSD
+ # include <netinet/in.h>
++# include <sys/socket.h>
+ #endif
+
+ #include <iprt/asm.h>
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-slirp-bsd-sys-mbuf.h b/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-slirp-bsd-sys-mbuf.h
new file mode 100644
index 000000000000..b6ed2d2915db
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-slirp-bsd-sys-mbuf.h
@@ -0,0 +1,12 @@
+--- src/VBox/Devices/Network/slirp/bsd/sys/mbuf.h.orig 2020-05-13 19:42:23 UTC
++++ src/VBox/Devices/Network/slirp/bsd/sys/mbuf.h
+@@ -245,6 +245,9 @@ struct mbuf {
+ #define M_FRAG 0x00000800 /* packet is a fragment of a larger packet */
+ #define M_FIRSTFRAG 0x00001000 /* packet is first fragment */
+ #define M_LASTFRAG 0x00002000 /* packet is last fragment */
++#ifdef M_SKIP_FIREWALL
++#undef M_SKIP_FIREWALL
++#endif
+ #define M_SKIP_FIREWALL 0x00004000 /* skip firewall processing */
+ #define M_FREELIST 0x00008000 /* mbuf is on the free list */
+ #define M_VLANTAG 0x00010000 /* ether_vtag is valid */
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetAdp-Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetAdp-Makefile.kmk
new file mode 100644
index 000000000000..5b96ab56a61b
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetAdp-Makefile.kmk
@@ -0,0 +1,20 @@
+--- src/VBox/HostDrivers/VBoxNetAdp/Makefile.kmk.orig 2019-05-13 13:33:07 UTC
++++ src/VBox/HostDrivers/VBoxNetAdp/Makefile.kmk
+@@ -206,10 +206,14 @@ $$(VBoxNetAdp-src_0_OUTDIR)/Makefile: \
+ $$(if $$(eq $$(VBoxNetAdp/freebsd/Makefile_VBOX_HARDENED),$$(VBOX_WITH_HARDENING)),,FORCE) \
+ | $$(dir $$@)
+ $(QUIET)$(RM) -f -- $@
+- ifndef VBOX_WITH_HARDENING
+- $(QUIET)$(SED) -e "s;VBOX_WITH_HARDENING;;g" --output $@ $<
+- else
+ $(QUIET)$(CP) -f $< $@
++ ifndef VBOX_WITH_HARDENING
++ $(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@.tmp $@
++ $(QUIET)$(MV) -f $@.tmp $@
++ endif
++ ifndef VBOX_WITH_NETFLT_VIMAGE
++ $(QUIET)$(SED) -e "s;-DVIMAGE;;g" --output $@.tmp $@
++ $(QUIET)$(MV) -f $@.tmp $@
+ endif
+
+ endif # freebsd
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-files_vboxnetflt b/emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-files_vboxnetflt
new file mode 100644
index 000000000000..dc4e779fb6b0
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-files_vboxnetflt
@@ -0,0 +1,10 @@
+--- src/VBox/HostDrivers/VBoxNetFlt/freebsd/files_vboxnetflt.orig 2022-10-06 19:11:15.000000000 +0200
++++ src/VBox/HostDrivers/VBoxNetFlt/freebsd/files_vboxnetflt 2024-12-26 15:41:50.870345000 +0100
+@@ -72,6 +72,7 @@
+ ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \
+ ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \
+ ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \
++ ${PATH_ROOT}/include/iprt/x86.h=>include/iprt/x86.h \
+ ${PATH_ROOT}/include/iprt/x86-helpers.h=>include/iprt/x86-helpers.h \
+ ${PATH_ROOT}/include/iprt/nocrt/limits.h=>include/iprt/nocrt/limits.h \
+ ${PATH_ROOT}/include/VBox/cdefs.h=>include/VBox/cdefs.h \
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-Makefile.kmk
new file mode 100644
index 000000000000..45546433c627
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-Makefile.kmk
@@ -0,0 +1,14 @@
+--- src/VBox/Installer/Makefile.kmk.orig 2020-05-13 19:44:01 UTC
++++ src/VBox/Installer/Makefile.kmk
+@@ -41,9 +41,11 @@ ifndef VBOX_ONLY_SDK
+ if "$(KBUILD_TARGET)" == "win" && "$(KBUILD_HOST)" == "win"
+ include $(PATH_SUB_CURRENT)/win/Makefile.kmk
+ endif
++if 0
+ if "$(KBUILD_TARGET)" == "freebsd" && "$(KBUILD_HOST)" == "freebsd"
+ include $(PATH_SUB_CURRENT)/freebsd/Makefile.kmk
+ endif
++endif
+ endif
+
+ include $(PATH_SUB_CURRENT)/common/Makefile.kmk
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-freebsd-VBox.sh b/emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-freebsd-VBox.sh
new file mode 100644
index 000000000000..b4c177a54d1c
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Installer-freebsd-VBox.sh
@@ -0,0 +1,77 @@
+--- src/VBox/Installer/freebsd/VBox.sh.orig 2016-08-27 05:10:34 UTC
++++ src/VBox/Installer/freebsd/VBox.sh
+@@ -0,0 +1,74 @@
++#!/bin/sh
++#
++# Oracle VM VirtualBox startup script, FreeBSD hosts.
++#
++# Copyright (C) 2006-2012 Oracle Corporation
++#
++# This file is part of VirtualBox Open Source Edition (OSE), as
++# available from http://www.virtualbox.org. This file is free software;
++# you can redistribute it and/or modify it under the terms of the GNU
++# General Public License (GPL) as published by the Free Software
++# Foundation, in version 2 as it comes in the "COPYING" file of the
++# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
++# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
++#
++
++PATH="/sbin:/bin:/usr/sbin:/usr/bin:%%LOCALBASE%%/sbin:%%LOCALBASE%%/bin"
++CONFIG="%%VBOX_ETC%%/vbox.cfg"
++
++test -r "${CONFIG}" &&
++ . "${CONFIG}"
++test -z "${INSTALL_DIR}" &&
++ if test -d %%VBOX_DIR%% &&
++ test -f %%VBOX_DIR%%/VBoxRT.so; then
++ INSTALL_DIR=%%VBOX_DIR%%
++ else
++ >&2 echo "Could not find VirtualBox installation. Please reinstall."
++ exit 1
++ fi
++
++if [ -d /etc/vbox ]; then
++ >&2 cat <<-EOH
++ WARNING: Directory /etc/vbox found, but ignored. VirtualBox
++ configuration files are stored in %%VBOX_ETC%%/.
++ EOH
++fi
++
++# workaround for the KDE dialog problem
++KDE_FORK_SLAVES=1; export KDE_FORK_SLAVES
++
++APP=`basename $0`
++case "$APP" in
++ VirtualBox|virtualbox)
++ exec "$INSTALL_DIR/VirtualBox" "$@"
++ ;;
++ VirtualBoxVM|virtualboxvm)
++ exec "$INSTALL_DIR/VirtualBoxVM" "$@"
++ ;;
++ VBoxManage|vboxmanage)
++ exec "$INSTALL_DIR/VBoxManage" "$@"
++ ;;
++ VBoxSDL|vboxsdl)
++ exec "$INSTALL_DIR/VBoxSDL" "$@"
++ ;;
++ VBoxVRDP|VBoxHeadless|vboxheadless)
++ exec "$INSTALL_DIR/VBoxHeadless" "$@"
++ ;;
++ VBoxAutostart|vboxautostart)
++ exec "$INSTALL_DIR/VBoxAutostart" "$@"
++ ;;
++ VBoxBalloonCtrl|vboxballoonctrl)
++ exec "$INSTALL_DIR/VBoxBalloonCtrl" "$@"
++ ;;
++ VBoxBugReport|vboxbugreport)
++ exec "$INSTALL_DIR/VBoxBugReport" "$@"
++ ;;
++ vboxwebsrv)
++ exec "$INSTALL_DIR/vboxwebsrv" "$@"
++ ;;
++ *)
++ >&2 echo "Unknown application - $APP"
++ exit 1
++ ;;
++esac
++exit 0
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp b/emulators/virtualbox-ose-71/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp
new file mode 100644
index 000000000000..4cd8b7492ed9
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp
@@ -0,0 +1,11 @@
+--- src/VBox/Main/src-server/VirtualBoxImpl.cpp.orig 2021-01-07 15:41:43 UTC
++++ src/VBox/Main/src-server/VirtualBoxImpl.cpp
+@@ -2663,7 +2663,7 @@ int VirtualBox::i_encryptSettingBytes(const uint8_t *a
+ if (aCiphertextSize < 32)
+ return VERR_INVALID_PARAMETER;
+
+- AssertCompile(sizeof(m->SettingsCipherKey) >= 32);
++ // AssertCompile(sizeof(m->SettingsCipherKey) >= 32);
+
+ /* store the first 8 bytes of the cipherkey for verification */
+ for (i = 0, j = 0; i < 8; i++, j++)
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-Makefile.kmk
new file mode 100644
index 000000000000..f13be222ea9a
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-Makefile.kmk
@@ -0,0 +1,14 @@
+--- src/VBox/Runtime/Makefile.kmk.orig 2021-01-07 15:41:50 UTC
++++ src/VBox/Runtime/Makefile.kmk
+@@ -177,6 +177,11 @@ $(IPRT_OUT_DIR)/oiddb.h.ts +| $(IPRT_OUT_DIR)/oiddb.h:
+
+
+ #
++# Set the defines that utf8-posix.cpp needs. It's used by several targets.
++#
++r3/posix/utf8-posix.cpp_DEFS.freebsd = $(VBOX_ICONV_DEFS)
++
++#
+ # Unicode Specification reader used to regenerate unidata-*.cpp.
+ #
+ uniread_TEMPLATE = VBoxBldProg
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h b/emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h
new file mode 100644
index 000000000000..c18492ebdf9b
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Runtime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h
@@ -0,0 +1,39 @@
+Without the first part of this patch, any waits for periods shorter than a
+single tick return immediately leading to a lot of unnecessary spinning. For
+example, I observe that my guest's idle loop does a lot of sleeps with periods
+slightly shorter than 1 ms (1/hz), e.g. 900us. All that waiting turns into pure
+spinning and VirtualBox eats 100% of a core.
+
+The clamping improves the situation significantly. Also, it (approximately)
+follows what tvtohz does. The rest of the patch just chases an upstream
+KPI change.
+
+Submitted by: Andriy Gapon <avg@FreeBSD.org>
+--- src/VBox/Runtime/r0drv/freebsd/sleepqueue-r0drv-freebsd.h.orig 2024-07-29 13:10:32 UTC
++++ src/VBox/Runtime/r0drv/freebsd/sleepqueue-r0drv-freebsd.h
+@@ -84,6 +84,8 @@ DECLINLINE(uint32_t) rtR0SemBsdWaitUpdateTimeout(PRTR0
+ uint64_t cTicks = ASMMultU64ByU32DivByU32(uTimeout, hz, UINT32_C(1000000000));
+ if (cTicks >= INT_MAX)
+ return RTSEMWAIT_FLAGS_INDEFINITE;
++ else if (cTicks == 0 && uTimeout > 0)
++ pWait->iTimeout = 1;
+ else
+ pWait->iTimeout = (int)cTicks;
+ #endif
+@@ -300,10 +302,16 @@ DECLINLINE(void) rtR0SemBsdSignal(void *pvWaitChan)
+ DECLINLINE(void) rtR0SemBsdSignal(void *pvWaitChan)
+ {
+ sleepq_lock(pvWaitChan);
++#if __FreeBSD_version < 1500022
+ int fWakeupSwapProc = sleepq_signal(pvWaitChan, SLEEPQ_CONDVAR, 0, 0);
++#else
++ sleepq_signal(pvWaitChan, SLEEPQ_CONDVAR, 0, 0);
++#endif
+ sleepq_release(pvWaitChan);
++#if __FreeBSD_version < 1500022
+ if (fWakeupSwapProc)
+ kick_proc0();
++#endif
+ }
+
+ /**
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
new file mode 100644
index 000000000000..70b459e94da7
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
@@ -0,0 +1,71 @@
+--- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig 2021-01-07 15:34:20 UTC
++++ src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp
+@@ -67,8 +67,8 @@
+ # include <net/if.h>
+ # include <pwd.h> /* getpwuid */
+ # include <unistd.h>
+-# if !defined(RT_OS_OS2) && !defined(RT_OS_FREEBSD) && !defined(RT_OS_HAIKU)
+-# include <utmpx.h> /** @todo FreeBSD 9 should have this. */
++# if !defined(RT_OS_OS2) && !defined(RT_OS_HAIKU)
++# include <utmpx.h>
+ # endif
+ # ifdef RT_OS_OS2
+ # include <net/if_dl.h>
+@@ -528,7 +528,7 @@ static void vgsvcVMInfoWriteFixedProperties(void)
+ }
+
+
+-#if defined(VBOX_WITH_DBUS) && defined(RT_OS_LINUX) /* Not yet for Solaris/FreeBSB. */
++#if defined(VBOX_WITH_DBUS) && (defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)) /* Not yet for Solaris. */
+ /*
+ * Simple wrapper to work around compiler-specific va_list madness.
+ */
+@@ -555,12 +555,6 @@ static int vgsvcVMInfoWriteUsers(void)
+ #ifdef RT_OS_WINDOWS
+ rc = VGSvcVMInfoWinWriteUsers(&g_VMInfoPropCache, &pszUserList, &cUsersInList);
+
+-#elif defined(RT_OS_FREEBSD)
+- /** @todo FreeBSD: Port logged on user info retrieval.
+- * However, FreeBSD 9 supports utmpx, so we could use the code
+- * block below (?). */
+- rc = VERR_NOT_IMPLEMENTED;
+-
+ #elif defined(RT_OS_HAIKU)
+ /** @todo Haiku: Port logged on user info retrieval. */
+ rc = VERR_NOT_IMPLEMENTED;
+@@ -586,7 +580,7 @@ static int vgsvcVMInfoWriteUsers(void)
+ while ( (ut_user = getutxent())
+ && RT_SUCCESS(rc))
+ {
+-# ifdef RT_OS_DARWIN /* No ut_user->ut_session on Darwin */
++# if defined(RT_OS_DARWIN) || defined(RT_OS_FREEBSD) /* No ut_user->ut_session on Darwin/FreeBSD */
+ VGSvcVerbose(4, "Found entry '%s' (type: %d, PID: %RU32)\n", ut_user->ut_user, ut_user->ut_type, ut_user->ut_pid);
+ # else
+ VGSvcVerbose(4, "Found entry '%s' (type: %d, PID: %RU32, session: %RU32)\n",
+@@ -621,7 +615,7 @@ static int vgsvcVMInfoWriteUsers(void)
+ }
+
+ # ifdef VBOX_WITH_DBUS
+-# if defined(RT_OS_LINUX) /* Not yet for Solaris/FreeBSB. */
++# if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD) /* Not yet for Solaris. */
+ DBusError dbErr;
+ DBusConnection *pConnection = NULL;
+ int rc2 = RTDBusLoadLib();
+@@ -830,7 +824,7 @@ static int vgsvcVMInfoWriteUsers(void)
+ if ( fHaveLibDbus
+ && dbus_error_is_set(&dbErr))
+ dbus_error_free(&dbErr);
+-# endif /* RT_OS_LINUX */
++# endif /* RT_OS_LINUX || RT_OS_FREEBSD */
+ # endif /* VBOX_WITH_DBUS */
+
+ /** @todo Fedora/others: Handle systemd-loginctl. */
+@@ -867,7 +861,7 @@ static int vgsvcVMInfoWriteUsers(void)
+ RTMemFree(papszUsers);
+
+ endutxent(); /* Close utmpx file. */
+-#endif /* !RT_OS_WINDOWS && !RT_OS_FREEBSD && !RT_OS_HAIKU && !RT_OS_OS2 */
++#endif /* !RT_OS_WINDOWS && !RT_OS_HAIKU && !RT_OS_OS2 */
+
+ Assert(RT_FAILURE(rc) || cUsersInList == 0 || (pszUserList && *pszUserList));
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_pam_pam__vbox.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_pam_pam__vbox.cpp
new file mode 100644
index 000000000000..bd667880358f
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_common_pam_pam__vbox.cpp
@@ -0,0 +1,20 @@
+--- src/VBox/Additions/common/pam/pam_vbox.cpp.orig 2021-01-07 15:34:21 UTC
++++ src/VBox/Additions/common/pam/pam_vbox.cpp
+@@ -104,7 +104,7 @@ static void pam_vbox_writesyslog(char *pszBuf)
+ openlog("pam_vbox", LOG_PID, LOG_AUTHPRIV);
+ syslog(LOG_ERR, "%s", pszBuf);
+ closelog();
+-#elif defined(RT_OS_SOLARIS)
++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_SOLARIS)
+ syslog(LOG_ERR, "pam_vbox: %s\n", pszBuf);
+ #endif
+ }
+@@ -183,7 +183,7 @@ static int vbox_set_msg(pam_handle_t *hPAM, int iStyle
+
+ pam_message msg;
+ msg.msg_style = iStyle;
+-#ifdef RT_OS_SOLARIS
++#if defined(RT_OS_FREEBSD) || defined(RT_OS_SOLARIS)
+ msg.msg = (char*)pszText;
+ #else
+ msg.msg = pszText;
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile
new file mode 100644
index 000000000000..c38d8013a6d6
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile
@@ -0,0 +1,38 @@
+--- src/VBox/Additions/freebsd/Makefile.orig 2020-05-13 19:37:06 UTC
++++ src/VBox/Additions/freebsd/Makefile
+@@ -30,6 +30,14 @@ all:
+ cp vboxvfs/vboxvfs.ko .; \
+ fi; \
+ fi
++ @echo
++ @if [ -d mount_vboxvfs ]; then \
++ echo "=== Building mount_vboxvfs binary ==="; \
++ $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C mount_vboxvfs clean obj depend all; \
++ if [ -f mount_vboxvfs ]; then \
++ cp mount_vboxvfs/mount_vboxvfs .; \
++ fi; \
++ fi
+
+
+ install:
+@@ -37,13 +45,19 @@ install:
+ @if [ -d vboxvfs ]; then \
+ $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxvfs install; \
+ fi
++ @if [ -d mount_vboxvfs ]; then \
++ $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C mount_vboxvfs install; \
++ fi
+
+ clean:
+ @$(MAKE) -C vboxguest clean
+ @if [ -d vboxvfs ]; then \
+ $(MAKE) -C vboxvfs clean; \
+ fi
+- rm -f vboxguest.*o vboxvfs.*o
++ @if [ -d mount_vboxvfs ]; then \
++ $(MAKE) -C mount_vboxvfs clean; \
++ fi
++ rm -f vboxguest.*o vboxvfs.*o mount_vboxvfs
+
+ load:
+ @/sbin/kldunload vboxvfs || true
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile.kmk
new file mode 100644
index 000000000000..f9d19d679e4a
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_Makefile.kmk
@@ -0,0 +1,31 @@
+--- src/VBox/Additions/freebsd/Makefile.kmk.orig 2021-01-07 15:34:22 UTC
++++ src/VBox/Additions/freebsd/Makefile.kmk
+@@ -23,8 +23,9 @@ $(error "The FreeBSD guest additions installer can onl
+ endif
+
+ # Include sub-makefiles.
+-#include $(PATH_SUB_CURRENT)/vboxvfs/Makefile.kmk
+-include $(PATH_SUB_CURRENT)/drm/Makefile.kmk
++include $(PATH_SUB_CURRENT)/vboxvfs/Makefile.kmk
++#include $(PATH_SUB_CURRENT)/drm/Makefile.kmk
++include $(PATH_SUB_CURRENT)/mount_vboxvfs/Makefile.kmk
+
+ #
+ # Globals
+@@ -66,11 +67,14 @@ VBOX_FBSD_ADD_STRIP_BIN = \
+ vboxvideo_drv_14.so \
+ vboxvideo_drv_15.so \
+ vboxvideo_drv_16.so \
+- vboxvideo_drv_17.so
++ vboxvideo_drv_17.so \
++ $(if $(VBOX_WITH_PAM),pam_vbox.so,) \
++ VBoxOGL.so \
++ mount_vboxvfs
+
+ VBOX_FBSD_ADD_MODULES = \
+ vboxguest \
+- vboxvideo_drm
++ vboxvfs
+
+ #
+ # All the bin files that go into the archives.
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_drm_vboxvideo__drm.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_drm_vboxvideo__drm.c
new file mode 100644
index 000000000000..d4e5f3fc5a33
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_drm_vboxvideo__drm.c
@@ -0,0 +1,17 @@
+--- src/VBox/Additions/freebsd/drm/vboxvideo_drm.c.orig 2022-07-26 18:05:21 UTC
++++ src/VBox/Additions/freebsd/drm/vboxvideo_drm.c
+@@ -154,10 +154,14 @@ static driver_t vboxvideo_driver = {
+ sizeof(struct drm_device)
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE(vboxvideo, vgapci, vboxvideo_driver, 0, 0);
++#else
+ extern devclass_t drm_devclass;
+ #if __FreeBSD_version >= 700010
+ DRIVER_MODULE(vboxvideo, vgapci, vboxvideo_driver, drm_devclass, 0, 0);
+ #else
+ DRIVER_MODULE(vboxvideo, pci, vboxvideo_driver, drm_devclass, 0, 0);
++#endif
+ #endif
+ MODULE_DEPEND(vboxvideo, drm, 1, 1, 1);
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
new file mode 100644
index 000000000000..270472c045e3
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
@@ -0,0 +1,31 @@
+--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC
++++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk
+@@ -0,0 +1,28 @@
++# $Id: Makefile.kmk $
++## @file
++# Sub-Makefile for the FreeBSD Shared folder mount utility.
++#
++
++SUB_DEPTH = ../../../../..
++include $(KBUILD_PATH)/subheader.kmk
++
++ifneq ($(KBUILD_HOST),freebsd)
++$(error "The FreeBSD guest additions can only be built on FreeBSD!")
++endif
++
++MOUNT= $(VBOX_FREEBSD_SRC)/../sbin/mount
++
++CFLAGS+=-I$(MOUNT)
++
++PROGRAMS += mount_vboxvfs
++mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe
++mount_vboxvfs_SOURCES = mount_vboxvfs.c
++
++ifdef HAVE_MNTOPTS_IN_LIBUTIL
++mount_vboxvfs_LIBS = util
++else
++mount_vboxvfs_SOURCES += $(MOUNT)/getmntopts.c
++endif
++
++include $(FILE_KBUILD_SUB_FOOTER)
++
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.8 b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.8
new file mode 100644
index 000000000000..88460e155de3
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.8
@@ -0,0 +1,56 @@
+--- src/VBox/Additions/freebsd/mount_vboxvfs/mount_vboxvfs.8.orig 1970-01-01 01:00:00.000000000 +0100
++++ src/VBox/Additions/freebsd/mount_vboxvfs/mount_vboxvfs.8 2017-07-12 19:24:26.106029000 +0200
+@@ -0,0 +1,53 @@
++.\"
++.\" Copyright (c) 1992, 1993, 1994
++.\" The Regents of the University of California. All rights reserved.
++.\"
++.\" Redistribution and use in source and binary forms, with or without
++.\" modification, are permitted provided that the following conditions
++.\" are met:
++.\" 1. Redistributions of source code must retain the above copyright
++.\" notice, this list of conditions and the following disclaimer.
++.\" 2. Redistributions in binary form must reproduce the above copyright
++.\" notice, this list of conditions and the following disclaimer in the
++.\" documentation and/or other materials provided with the distribution.
++.\" 4. Neither the name of the University nor the names of its contributors
++.\" may be used to endorse or promote products derived from this software
++.\" without specific prior written permission.
++.\"
++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++.\" SUCH DAMAGE.
++.\"
++.Dd August 5, 2013
++.Dt MOUNT_VBOXFS 8
++.Os
++.Sh NAME
++.Nm mount_vboxfs
++.Nd "Mount the VirtualBox shared folder NAME from the host system to MOUNTPOINT"
++.Sh SYNOPSIS
++.Nm
++.Op Fl o Ar options
++.Ar NAME
++.Ar MOUNTPOINT
++.Sh DESCRIPTION
++The
++.Nm
++Mount the VirtualBox shared folder NAME from the host system to MOUNTPOINT
++.Pp
++The options are as follows:
++.Bl -tag -width indent
++.Fl w
++mount the shared folder writably (the default)
++.Fl r
++mount the shared folder read-only
++.Fl o
++OPTION[,OPTION...] use the mount options specified
++.El
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.c
new file mode 100644
index 000000000000..7dd7e6271e03
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_mount__vboxvfs.c
@@ -0,0 +1,171 @@
+--- src/VBox/Additions/freebsd/mount_vboxvfs/mount_vboxvfs.c.orig 1970-01-01 01:00:00.000000000 +0100
++++ src/VBox/Additions/freebsd/mount_vboxvfs/mount_vboxvfs.c 2017-07-12 19:24:26.106029000 +0200
+@@ -0,0 +1,168 @@
++/*
++* Copyright (c) 1992, 1993, 1994
++* The Regents of the University of California. All rights reserved.
++*
++* Redistribution and use in source and binary forms, with or without
++* modification, are permitted provided that the following conditions
++* are met:
++* 1. Redistributions of source code must retain the above copyright
++* notice, this list of conditions and the following disclaimer.
++* 2. Redistributions in binary form must reproduce the above copyright
++* notice, this list of conditions and the following disclaimer in the
++* documentation and/or other materials provided with the distribution.
++* 4. Neither the name of the University nor the names of its contributors
++* may be used to endorse or promote products derived from this software
++* without specific prior written permission.
++*
++* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++* SUCH DAMAGE.
++*/
++
++#include <sys/cdio.h>
++#include <sys/stat.h>
++#include <sys/file.h>
++#include <sys/iconv.h>
++#include <sys/param.h>
++#include <sys/linker.h>
++#include <sys/module.h>
++#include <sys/mount.h>
++#include <sys/uio.h>
++
++#include <err.h>
++#include <errno.h>
++#include <stdlib.h>
++#include <stdio.h>
++#include <string.h>
++#include <sysexits.h>
++#include <unistd.h>
++
++#include "mntopts.h"
++
++#define MAX_HOST_NAME 256
++static char mount_point[MAXPATHLEN + 1];
++static char vboxfs_vfsname[] = "vboxvfs";
++static struct mntopt mopts[] = {
++ MOPT_STDOPTS,
++ MOPT_END
++};
++
++static void usage(void) __dead2;
++
++static void
++usage(void)
++{
++ fprintf(stderr,
++ "Usage: [OPTIONS] NAME MOUNTPOINT\n"
++ "Mount the VirtualBox shared folder NAME to MOUNTPOINT.\n"
++ "\nOptions:\n"
++ " -w mount the shared folder writable \n"
++ " -r mount the shared folder read-only (the default)\n");
++ exit(1);
++}
++
++int
++main(int argc, char *argv[])
++{
++ struct iovec *iov;
++ struct stat st;
++ char *host_name;
++ char errmsg[255];
++ uid_t uid;
++ gid_t gid;
++ mode_t dir_mode, file_mode;
++ int iovlen;
++ int ronly = 0;
++ int error, ch;
++ int mntflags = 0;
++
++ iov = NULL;
++ iovlen = 0;
++ errmsg[0] = '\0';
++ uid = (uid_t)-1;
++ gid = (gid_t)-1;
++ file_mode = 0;
++ dir_mode = 0;
++
++ while ((ch = getopt(argc, argv, "rwo:h")) != -1)
++ switch(ch) {
++ default:
++ fprintf(stderr, "unknown option `%c:%#x'\n", ch, ch);
++ return (1);
++
++ case '?':
++ case 'h':
++ usage();
++ case 'r':
++ ronly = 1;
++ break;
++ case 'w':
++ ronly = 0;
++ break;
++ case 'o':
++ getmntopts(optarg, mopts, &mntflags, 0);
++ break;
++ }
++
++ if (argc - optind < 2)
++ usage();
++
++ host_name = argv[optind];
++ realpath(argv[optind+1], mount_point);
++
++ if (stat(mount_point, &st) == -1)
++ err(EX_OSERR, "could not find mount point %s", mount_point);
++
++ if (!S_ISDIR(st.st_mode)) {
++ errno = ENOTDIR;
++ err(EX_OSERR, "can't mount on %s", mount_point);
++ }
++
++ if (strlen(host_name) > MAX_HOST_NAME - 1)
++ err(EX_OSERR, "host name is too big %s", host_name);
++
++ if (ronly == 0)
++ mntflags |= MNT_ASYNC;
++ if (uid == (uid_t)-1)
++ uid = st.st_uid;
++ if (gid == (gid_t)-1)
++ gid = st.st_gid;
++ if (file_mode == 0)
++ file_mode = st.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO);
++ if (dir_mode == 0) {
++ dir_mode = file_mode;
++ if (dir_mode & S_IRUSR)
++ dir_mode |= S_IXUSR;
++ if (dir_mode & S_IRGRP)
++ dir_mode |= S_IXGRP;
++ if (dir_mode & S_IROTH)
++ dir_mode |= S_IXOTH;
++ }
++
++ build_iovec(&iov, &iovlen, "fstype", vboxfs_vfsname, (size_t)-1);
++ build_iovec(&iov, &iovlen, "fspath", mount_point, (size_t)-1);
++ build_iovec(&iov, &iovlen, "from", host_name, (size_t)-1);
++ build_iovec_argf(&iov, &iovlen, "uid", "%d", uid);
++ build_iovec_argf(&iov, &iovlen, "gid", "%d", gid);
++ build_iovec_argf(&iov, &iovlen, "file_mode", "%o", file_mode);
++ build_iovec_argf(&iov, &iovlen, "dir_mode", "%o", dir_mode);
++ build_iovec(&iov, &iovlen, "errmsg", errmsg, sizeof(errmsg));
++
++ error = nmount(iov, iovlen, mntflags);
++ if (error == -1) {
++ if (errmsg[0] != '\0')
++ err(1, "%s: error: %s", mount_point, errmsg);
++ else
++ err(1, "%s: error %d", mount_point, error);
++ }
++
++ return (0);
++}
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_bcmp.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_bcmp.c
new file mode 100644
index 000000000000..fb4d7fac8c06
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_bcmp.c
@@ -0,0 +1,12 @@
+--- src/VBox/Additions/freebsd/vboxvfs/bcmp.c.orig 2021-02-21 19:09:22 UTC
++++ src/VBox/Additions/freebsd/vboxvfs/bcmp.c
+@@ -0,0 +1,9 @@
++#include <sys/types.h>
++
++int bcmp(const void *b1, const void *b2, size_t len);
++
++int
++bcmp(const void *b1, const void *b2, size_t len)
++{
++ return __builtin_memcmp((b1), (b2), (len));
++}
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs.h b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs.h
new file mode 100644
index 000000000000..858e894c7b6b
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs.h
@@ -0,0 +1,428 @@
+--- src/VBox/Additions/freebsd/vboxvfs/vboxvfs.h.orig 2021-01-07 15:34:22 UTC
++++ src/VBox/Additions/freebsd/vboxvfs/vboxvfs.h
+@@ -1,8 +1,3 @@
+-/* $Id: vboxvfs.h $ */
+-/** @file
+- * Description.
+- */
+-
+ /*
+ * Copyright (C) 2010-2020 Oracle Corporation
+ *
+@@ -24,72 +19,378 @@
+ #define VBOXVFS_VFSNAME "vboxvfs"
+ #define VBOXVFS_VERSION 1
+
+-#define MAX_HOST_NAME 256
+-#define MAX_NLS_NAME 32
++#define MAX_HOST_NAME 256
++#define MAX_NLS_NAME 32
++//#define MODEMASK 07777 /* mode bits plus permission bits */
++/** Helper macros */
++#define VFSTOVBOXFS(mp) ((struct vboxfs_mnt *)((mp)->mnt_data))
++#define VP_TO_VBOXFS_NODE(vp) ((struct vboxfs_node *)(vp)->v_data)
++#define VBOXTOV(np) ((struct vnode *)(np)->n_vnode)
+
+-struct vboxvfs_mount_info {
+- char name[MAX_HOST_NAME];
+- char nls_name[MAX_NLS_NAME];
+- int uid;
+- int gid;
+- int ttl;
+-};
++#define ROOTDIR_INO 1
++#define THEFILE_INO 2
++#define THEFILE_NAME "thefile"
+
++#define VBOXFS_NODE_LOCK(node) mtx_lock(&(node)->sf_interlock)
++#define VBOXFS_NODE_UNLOCK(node) mtx_unlock(&(node)->sf_interlock)
++#define VBOXFS_NODE_MTX(node) (&(node)->sf_interlock)
++#define VBOXFS_NODE_ASSERT_LOCKED(node) mtx_assert(VBOXFS_NODE_MTX(node), \
++ MA_OWNED)
++
++#ifdef INVARIANTS
++#define VBOXFS_ASSERT_LOCKED(node) do { \
++ MPASS(node != NULL); \
++ MPASS(node->sf_vnode != NULL); \
++ if (!VOP_ISLOCKED(node->sf_vnode) && \
++ !mtx_owned(VBOXFS_NODE_MTX(node))) \
++ panic("vboxfs: node is not locked: %p", node); \
++ } while (0)
++#define VBOXFS_ASSERT_ELOCKED(node) do { \
++ MPASS((node) != NULL); \
++ MPASS((node)->sf_vnode != NULL); \
++ mtx_assert(VBOXFS_NODE_MTX(node), MA_OWNED); \
++ ASSERT_VOP_LOCKED((node)->sf_vnode, "vboxfs"); \
++ } while (0)
++#else
++#define VBOXFS_ASSERT_LOCKED(node) (void)0
++#define VBOXFS_ASSERT_ELOCKED(node) (void)0
++#endif
++
++#define VBOXFS_VNODE_ALLOCATING 1
++#define VBOXFS_VNODE_WANT 2
++#define VBOXFS_VNODE_DOOMED 4
++#define VBOXFS_VNODE_WRECLAIM 8
++
++MALLOC_DECLARE(M_VBOXVFS);
++
+ #ifdef _KERNEL
++#ifndef FREEBSD_STYLE
++#include "../../../../../include/iprt/nocrt/limits.h"
++#include "../../../../../include/iprt/alloc.h"
++#include "../../../../../include/iprt/asm.h"
++#include "../../../../../include/iprt/asm-amd64-x86.h"
++#include "../../../../../include/iprt/asm-math.h"
++#include "../../../../../include/iprt/assert.h"
++#include "../../../../../include/iprt/cdefs.h"
++#include "../../../../../include/iprt/err.h"
++#include "../../../../../include/iprt/fs.h"
++#include "../../../../../include/iprt/log.h"
++#include "../../../../../include/iprt/mem.h"
++#include "../../../../../include/iprt/param.h"
++#include "../../../../../include/iprt/path.h"
++#include "../../../../../include/iprt/semaphore.h"
++#include "../../../../../include/iprt/stdarg.h"
++#include "../../../../../include/iprt/stdint.h"
++#include "../../../../../include/iprt/string.h"
++#include "../../../../../include/iprt/time.h"
++#include "../../../../../include/iprt/types.h"
++#include "../../../../../include/iprt/uni.h"
+
+-#include <VBox/VBoxGuestLibSharedFolders.h>
++#else
++
++#include "iprt/nocrt/limits.h"
++#include "iprt/alloc.h"
++#include "iprt/asm.h"
++#include "iprt/asm-amd64-x86.h"
++#include "iprt/asm-math.h"
++#include "iprt/assert.h"
++#include "iprt/cdefs.h"
++#include "iprt/err.h"
++#include "iprt/fs.h"
++#include "iprt/log.h"
++#include "iprt/mem.h"
++#include "iprt/param.h"
++#include "iprt/path.h"
++#include "iprt/semaphore.h"
++#include "iprt/stdarg.h"
++#include "iprt/stdint.h"
++#include "iprt/string.h"
++#include "iprt/time.h"
++#include "iprt/types.h"
++#include "iprt/uni.h"
++
++#include "common/VBoxGuestLib/SysHlp.h"
++
++#endif /* !FREEBSD_STYLE */
++
+ #include <sys/mount.h>
+ #include <sys/vnode.h>
++#include <sys/_timespec.h>
+
+-struct vboxvfsmount {
+- uid_t uid;
+- gid_t gid;
+- mode_t file_mode;
+- mode_t dir_mode;
+- struct mount *mp;
+- struct ucred *owner;
+- u_int flags;
+- long nextino;
+- int caseopt;
+- int didrele;
++#include <VBox/VBoxGuestLibSharedFolders.h>
++
++#if __FreeBSD_version >= 1400093
++typedef __enum_uint8(vtype) enum_vtype_t;
++#else
++typedef enum vtype enum_vtype_t;
++#endif
++
++#define VBOXVFS_DEBUG(lvl, ...) do { \
++ if (vboxvfs_debug >= (lvl)) { \
++ printf("VBOXVFS[%u]: ", lvl); \
++ printf(__VA_ARGS__); \
++ printf("\n"); \
++ } \
++} while (0)
++
++/*
++ * representation of an active mount point
++ */
++struct sfp_mount {
++ VBGLSFMAP map;
+ };
+
+-/* structs - stolen from the linux shared module code */
++/*
++ * Mount / Unmount a shared folder.
++ *
++ * sfprov_mount() takes as input the connection pointer and the name of
++ * the shared folder. On success, it returns zero and supplies an
++ * sfp_mount_t handle. On failure it returns any relevant errno value.
++ *
++ * sfprov_unmount() unmounts the mounted file system. It returns 0 on
++ * success and any relevant errno on failure.
++ */
++typedef struct sfp_mount sfp_mount_t;
++
++struct sfp_file {
++ SHFLHANDLE handle;
++ VBGLSFMAP map; /* need this again for the close operation */
++};
++
++typedef struct sfp_file sfp_file_t;
++
++/*
++ * File operations: open/close/read/write/etc.
++ *
++ * open/create can return any relevant errno, however ENOENT
++ * generally means that the host file didn't exist.
++ */
++typedef struct sffs_stat {
++ mode_t sf_mode;
++ off_t sf_size;
++ off_t sf_alloc;
++ struct timespec sf_atime;
++ struct timespec sf_mtime;
++ struct timespec sf_ctime;
++} sffs_stat_t;
++
++/*
++ * Read directory entries.
++ */
++/*
++ * a singly linked list of buffers, each containing an array of stat's+dirent's.
++ * sf_len is length of the sf_entries array, in bytes.
++ */
++typedef struct sffs_dirents {
++ struct sffs_dirents *sf_next;
++ long long sf_len;
++ struct sffs_dirent {
++ sffs_stat_t sf_stat;
++ struct dirent sf_entry; /* this is variable length */
++ off_t sf_off;
++ } sf_entries[1];
++} sffs_dirents_t;
++
++/*
++ * Shared Folders filesystem per-mount data structure.
++ */
++struct vboxfs_mnt {
++ struct mount *sf_vfsp; /* filesystem's vfs struct */
++ sfp_mount_t *sf_handle; /* guest-host communication handle */
++ uid_t sf_uid; /* owner of all shared folders */
++ gid_t sf_gid; /* group of all shared folders */
++ mode_t sf_dmode; /* mode of all directories */
++ mode_t sf_fmode; /* mode of all files */
++ mode_t sf_dmask; /* mask of all directories */
++ mode_t sf_fmask; /* mask of all files */
++ int sf_stat_ttl; /* ttl for stat caches (in ms) */
++ int sf_fsync; /* whether to honor fsync or not */
++ uint64_t sf_ino; /* per FS ino generator */
++ uma_zone_t sf_node_pool;
++ struct vboxfs_node *sf_root;
++};
++
++/*
++ * vboxfs_node is the file system dependent vnode data for vboxfs.
++ * vboxfs_node's also track all files ever accessed, both open and closed.
++ * It duplicates some of the information in vnode, since it holds
++ * information for files that may have been completely closed.
++ *
++ */
++struct vboxfs_node {
++ struct vboxfs_mnt *vboxfsmp; /* containing mounted file system */
++ char *sf_path; /* full pathname to file or dir */
++ uint64_t sf_ino; /* assigned unique ID number */
++ struct vnode *sf_vnode; /* vnode if active */
++ sfp_file_t *sf_file; /* non NULL if open */
++ struct vboxfs_node *sf_parent; /* parent sfnode of this one */
++ uint32_t sf_opencnt; /* sf_file reference counter */
++ uint16_t sf_children; /* number of children sfnodes */
++ uint8_t sf_type; /* VDIR or VREG */
++ uint8_t sf_vpstate; /* XXX: ADD COMMENT */
++ uint8_t sf_is_stale; /* this is stale and should be purged */
++ sffs_stat_t sf_stat; /* cached file attrs for this node */
++ uint64_t sf_stat_time; /* last-modified time of sf_stat */
++ sffs_dirents_t *sf_dir_list; /* list of entries for this directory */
++
++ /* interlock to protect sf_vpstate, sf_file and sf_opencnt */
++ struct mtx sf_interlock;
++};
++
++struct vboxfs_mount_info {
++ char name[MAX_HOST_NAME]; /* share name */
++ char nls_name[MAX_NLS_NAME];/* name of an I/O charset */
++ int uid; /* user ID for all entries, default 0=root */
++ int gid; /* group ID for all entries, default 0=root */
++ int ttl; /* time to live */
++ int dmode; /* mode for directories if != 0xffffffff */
++ int fmode; /* mode for regular files if != 0xffffffff */
++ int dmask; /* umask applied to directories */
++ int fmask; /* umask applied to regular files */
++};
++
+ struct sf_glob_info {
+- VBGLSFMAP map;
+-/* struct nls_table *nls;*/
+- int ttl;
+- int uid;
+- int gid;
+- struct vnode *vnode_root;
++ VBGLSFMAP map;
++/* struct nls_table *nls;*/
++ int ttl;
++ int uid;
++ int gid;
++ struct vnode *vnode_root;
+ };
+
++/** Per-file system mount instance data. */
++typedef struct vboxfs_globinfo
++{
++ VBGLSFMAP Map;
++ int Ttl;
++ int Uid;
++ int Gid;
++ struct mount *pVFS;
++ struct vboxfs_node *pVNodeRoot;
++} vboxfs_globinfo_t;
++
+ struct sf_inode_info {
+- SHFLSTRING *path;
+- int force_restat;
++ SHFLSTRING *path;
++ int force_restat;
+ };
+
+ #if 0
+ struct sf_dir_info {
+- struct list_head info_list;
++ struct list_head info_list;
+ };
+ #endif
+
+ struct sf_dir_buf {
+- size_t nb_entries;
+- size_t free_bytes;
+- size_t used_bytes;
+- void *buf;
++ size_t nb_entries;
++ size_t free_bytes;
++ size_t used_bytes;
++ void *buf;
+ #if 0
+- struct list_head head;
++ struct list_head head;
+ #endif
+ };
+
+ struct sf_reg_info {
+- SHFLHANDLE handle;
++ SHFLHANDLE handle;
+ };
+
++int vboxfs_alloc_vp(struct mount *, struct vboxfs_node *, int,
++ struct vnode **);
++void vboxfs_free_vp(struct vnode *);
++
++int vboxfs_alloc_node(struct mount *, struct vboxfs_mnt *, const char*,
++ enum_vtype_t, uid_t, gid_t, mode_t, struct vboxfs_node *,
++ struct vboxfs_node **);
++void vboxfs_free_node(struct vboxfs_mnt *, struct vboxfs_node *);
++
++/*
++ * These are the provider interfaces used by sffs to access the underlying
++ * shared file system.
++ */
++#define SFPROV_VERSION 1
++
++/*
++ * Initialization and termination.
++ * sfprov_connect() is called once before any other interfaces and returns
++ * a handle used in further calls. The argument should be SFPROV_VERSION
++ * from above. On failure it returns a NULL pointer.
++ *
++ * sfprov_disconnect() must only be called after all sf file systems have been
++ * unmounted.
++ */
++typedef struct sfp_connection sfp_connection_t;
++
++extern sfp_connection_t *sfprov_connect(int);
++extern void sfprov_disconnect(void);
++
++extern int sfprov_mount(char *, sfp_mount_t **);
++extern int sfprov_unmount(sfp_mount_t *);
++
++/*
++ * query information about a mounted file system
++ */
++typedef struct sffs_fsinfo {
++ uint64_t blksize;
++ uint64_t blksused;
++ uint64_t blksavail;
++ uint32_t maxnamesize;
++ uint32_t readonly;
++ uint32_t serial;
++} sffs_fsinfo_t;
++
++extern int sfprov_get_fsinfo(sfp_mount_t *, sffs_fsinfo_t *);
++
++extern int sfprov_create(sfp_mount_t *, char *path, mode_t mode,
++ sffs_stat_t *stat);
++extern int sfprov_open(sfp_mount_t *, char *path, sfp_file_t **fp);
++extern int sfprov_close(sfp_file_t *fp);
++extern int sfprov_read(sfp_file_t *, char * buffer, uint64_t offset,
++ uint32_t *numbytes, int buflocked);
++extern int sfprov_write(sfp_file_t *, char * buffer, uint64_t offset,
++ uint32_t *numbytes, int buflocked);
++extern int sfprov_fsync(sfp_file_t *fp);
++
++
++/*
++ * get/set information about a file (or directory) using pathname
++ */
++extern int sfprov_get_mode(sfp_mount_t *, char *, mode_t *);
++extern int sfprov_get_size(sfp_mount_t *, char *, uint64_t *);
++extern int sfprov_get_atime(sfp_mount_t *, char *, struct timespec *);
++extern int sfprov_get_mtime(sfp_mount_t *, char *, struct timespec *);
++extern int sfprov_get_ctime(sfp_mount_t *, char *, struct timespec *);
++extern int sfprov_get_attr(sfp_mount_t *, char *, sffs_stat_t *);
++extern int sfprov_set_attr(sfp_mount_t *, char *, mode_t,
++ struct timespec, struct timespec, struct timespec);
++extern int sfprov_set_size(sfp_mount_t *, char *, uint64_t);
++
++
++/*
++ * File/Directory operations
++ */
++extern int sfprov_trunc(sfp_mount_t *, char *);
++extern int sfprov_remove(sfp_mount_t *, char *path, u_int is_link);
++extern int sfprov_mkdir(sfp_mount_t *, char *path, mode_t mode,
++ sffs_stat_t *stat);
++extern int sfprov_rmdir(sfp_mount_t *, char *path);
++extern int sfprov_rename(sfp_mount_t *, char *from, char *to, u_int is_dir);
++
++
++/*
++ * Symbolic link operations
++ */
++extern int sfprov_set_show_symlinks(void);
++extern int sfprov_readlink(sfp_mount_t *, char *path, char *target,
++ size_t tgt_size);
++extern int sfprov_symlink(sfp_mount_t *, char *linkname, char *target,
++ sffs_stat_t *stat);
++
++#define SFFS_DIRENTS_SIZE 8192
++#define SFFS_DIRENTS_OFF (offsetof(sffs_dirents_t, sf_entries[0]))
++
++extern int sfprov_readdir(sfp_mount_t *mnt, char *path,
++ sffs_dirents_t **dirents);
++
+ #endif /* KERNEL */
+
+ #endif /* !GA_INCLUDED_SRC_freebsd_vboxvfs_vboxvfs_h */
+-
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__prov.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__prov.c
new file mode 100644
index 000000000000..e606c4f1de6f
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__prov.c
@@ -0,0 +1,1015 @@
+--- src/VBox/Additions/freebsd/vboxvfs/vboxvfs_prov.c.orig 2024-08-15 13:18:37.777504000 +0900
++++ src/VBox/Additions/freebsd/vboxvfs/vboxvfs_prov.c 2024-08-15 13:18:37.777446000 +0900
+@@ -0,0 +1,1012 @@
++/*
++ * Copyright (C) 2008-2016 Oracle Corporation
++ *
++ * This file is part of VirtualBox Open Source Edition (OSE), as
++ * available from http://www.virtualbox.org. This file is free software;
++ * you can redistribute it and/or modify it under the terms of the GNU
++ * General Public License (GPL) as published by the Free Software
++ * Foundation, in version 2 as it comes in the "COPYING" file of the
++ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
++ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
++ *
++ * The contents of this file may alternatively be used under the terms
++ * of the Common Development and Distribution License Version 1.0
++ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
++ * VirtualBox OSE distribution, in which case the provisions of the
++ * CDDL are applicable instead of those of the GPL.
++ *
++ * You may elect to license modified versions of this file under the
++ * terms and conditions of either the GPL or the CDDL or both.
++ */
++
++/*
++ * Provider interfaces for shared folder file system.
++ */
++
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <sys/param.h>
++#include <sys/systm.h>
++#include <sys/kernel.h>
++#include <sys/malloc.h>
++#include <sys/mount.h>
++#include <sys/vnode.h>
++#include <sys/dirent.h>
++#include <sys/proc.h>
++#include <vm/vm.h>
++#include <vm/pmap.h>
++#include <vm/vm_kern.h>
++#include <vm/vm_map.h>
++#include <vm/vm_object.h>
++#include <vm/vm_extern.h>
++#include <vm/uma.h>
++#include "vboxvfs.h"
++
++#define DIRENT_RECLEN(namelen) \
++ ((offsetof(struct dirent, d_name[0]) + 1 + (namelen) + 7) & ~ 7)
++#define DIRENT_NAMELEN(reclen) \
++ ((reclen) - (offsetof(struct dirent, d_name[0])))
++
++static VBGLSFCLIENT vbox_client;
++
++extern u_int vboxvfs_debug;
++
++static int
++sfprov_vbox2errno(int rc)
++{
++ if (rc == VERR_ACCESS_DENIED)
++ return (EACCES);
++ if (rc == VERR_INVALID_NAME)
++ return (ENOENT);
++ return (RTErrConvertToErrno(rc));
++}
++
++/*
++ * utility to create strings
++ */
++static SHFLSTRING *
++sfprov_string(char *path, int *sz)
++{
++ SHFLSTRING *str;
++ int len = strlen(path);
++
++ *sz = len + 1 + sizeof (*str) - sizeof (str->String);
++ str = malloc(*sz, M_VBOXVFS, M_WAITOK | M_ZERO);
++ str->u16Size = len + 1;
++ str->u16Length = len;
++ strcpy(str->String.utf8, path);
++ return (str);
++}
++
++sfp_connection_t *
++sfprov_connect(int version)
++{
++ /* only one version for now, so must match */
++ int error = -1;
++
++ if (version != SFPROV_VERSION) {
++ printf("%s: version mismatch (%d, expected %d)\n", __func__,
++ version, SFPROV_VERSION);
++ return (NULL);
++ }
++
++ if (RT_FAILURE(VbglR0SfInit()))
++ return (NULL);
++
++ if (RT_FAILURE(VbglR0SfConnect(&vbox_client))) {
++ VbglR0SfTerm();
++ return (NULL);
++ }
++
++ if (RT_FAILURE(VbglR0SfSetUtf8(&vbox_client))) {
++ VbglR0SfDisconnect(&vbox_client);
++ VbglR0SfTerm();
++ return (NULL);
++ }
++ return ((sfp_connection_t *)&vbox_client);
++}
++
++void
++sfprov_disconnect()
++{
++ VbglR0SfDisconnect(&vbox_client);
++ VbglR0SfTerm();
++}
++
++int
++sfprov_mount(char *path, sfp_mount_t **mnt)
++{
++ sfp_mount_t *m;
++ SHFLSTRING *str;
++ int size;
++ int rc;
++
++ VBOXVFS_DEBUG(1, "%s: Enter", __FUNCTION__);
++ VBOXVFS_DEBUG(1, "%s: path: [%s]", __FUNCTION__, path);
++
++ m = malloc(sizeof (*m), M_VBOXVFS, M_WAITOK | M_ZERO);
++ str = sfprov_string(path, &size);
++
++ int error;
++ rc = VbglR0SfMapFolder(&vbox_client, str, &m->map);
++ if (RT_FAILURE(rc)) {
++ free(m, M_VBOXVFS);
++ *mnt = NULL;
++ error = sfprov_vbox2errno(rc);
++ } else {
++ *mnt = m;
++ error = 0;
++ }
++ free(str, M_VBOXVFS);
++ printf("%s(%s): error=%d rc=%d\n", __func__, path, error, rc);
++ return (error);
++}
++
++int
++sfprov_unmount(sfp_mount_t *mnt)
++{
++ int rc;
++
++ rc = VbglR0SfUnmapFolder(&vbox_client, &mnt->map);
++ if (RT_FAILURE(rc)) {
++ printf("sfprov_unmount: VbglR0SfUnmapFolder() failed rc=%d\n", rc);
++ rc = sfprov_vbox2errno(rc);
++ } else {
++ rc = 0;
++ }
++
++ free(mnt, M_VBOXVFS);
++ return (rc);
++}
++
++/*
++ * query information about a mounted file system
++ */
++int
++sfprov_get_fsinfo(sfp_mount_t *mnt, sffs_fsinfo_t *fsinfo)
++{
++ int rc;
++ SHFLVOLINFO info;
++ uint32_t bytes = sizeof(SHFLVOLINFO);
++ size_t bytesused;
++
++ rc = VbglR0SfFsInfo(&vbox_client, &mnt->map, 0,
++ (SHFL_INFO_GET | SHFL_INFO_VOLUME), &bytes, (SHFLDIRINFO *)&info);
++ if (RT_FAILURE(rc))
++ return (sfprov_vbox2errno(rc));
++
++ fsinfo->blksize = info.ulBytesPerAllocationUnit;
++ bytesused =
++ info.ullTotalAllocationBytes - info.ullAvailableAllocationBytes;
++ fsinfo->blksused = bytesused / info.ulBytesPerAllocationUnit;
++ fsinfo->blksavail = info.ullAvailableAllocationBytes /
++ info.ulBytesPerAllocationUnit;
++ fsinfo->maxnamesize = info.fsProperties.cbMaxComponent;
++ fsinfo->readonly = info.fsProperties.fReadOnly;
++ fsinfo->serial = info.ulSerial;
++ return (0);
++}
++
++/*
++ * file/directory information conversions.
++ */
++static void
++sfprov_fmode_from_mode(RTFMODE *fMode, mode_t mode)
++{
++ RTFMODE m = 0;
++
++#define mode_set(r) ((mode & (S_##r)) ? RTFS_UNIX_##r : 0)
++ m = mode_set (ISUID);
++ m |= mode_set (ISGID);
++ m |= (mode & S_ISVTX) ? RTFS_UNIX_ISTXT : 0;
++ m |= mode_set (IRUSR);
++ m |= mode_set (IWUSR);
++ m |= mode_set (IXUSR);
++ m |= mode_set (IRGRP);
++ m |= mode_set (IWGRP);
++ m |= mode_set (IXGRP);
++ m |= mode_set (IROTH);
++ m |= mode_set (IWOTH);
++ m |= mode_set (IXOTH);
++
++ if (S_ISDIR(mode))
++ m |= RTFS_TYPE_DIRECTORY;
++ else if (S_ISREG(mode))
++ m |= RTFS_TYPE_FILE;
++ else if (S_ISFIFO(mode))
++ m |= RTFS_TYPE_FIFO;
++ else if (S_ISCHR(mode))
++ m |= RTFS_TYPE_DEV_CHAR;
++ else if (S_ISBLK(mode))
++ m |= RTFS_TYPE_DEV_BLOCK;
++ else if (S_ISLNK(mode))
++ m |= RTFS_TYPE_SYMLINK;
++ else if (S_ISSOCK(mode))
++ m |= RTFS_TYPE_SOCKET;
++ else
++ m |= RTFS_TYPE_FILE;
++
++ *fMode = m;
++}
++
++static void
++sfprov_mode_from_fmode(mode_t *mode, RTFMODE fMode)
++{
++ mode_t m = 0;
++
++ if (RTFS_IS_DIRECTORY(fMode))
++ m |= S_IFDIR;
++ else if (RTFS_IS_FILE(fMode))
++ m |= S_IFREG;
++ else if (RTFS_IS_FIFO(fMode))
++ m |= S_IFIFO;
++ else if (RTFS_IS_DEV_CHAR(fMode))
++ m |= S_IFCHR;
++ else if (RTFS_IS_DEV_BLOCK(fMode))
++ m |= S_IFBLK;
++ else if (RTFS_IS_SYMLINK(fMode))
++ m |= S_IFLNK;
++ else if (RTFS_IS_SOCKET(fMode))
++ m |= S_IFSOCK;
++
++ if (fMode & RTFS_UNIX_IRUSR)
++ m |= S_IRUSR;
++ if (fMode & RTFS_UNIX_IWUSR)
++ m |= S_IWUSR;
++ if (fMode & RTFS_UNIX_IXUSR)
++ m |= S_IXUSR;
++ if (fMode & RTFS_UNIX_IRGRP)
++ m |= S_IRGRP;
++ if (fMode & RTFS_UNIX_IWGRP)
++ m |= S_IWGRP;
++ if (fMode & RTFS_UNIX_IXGRP)
++ m |= S_IXGRP;
++ if (fMode & RTFS_UNIX_IROTH)
++ m |= S_IROTH;
++ if (fMode & RTFS_UNIX_IWOTH)
++ m |= S_IWOTH;
++ if (fMode & RTFS_UNIX_IXOTH)
++ m |= S_IXOTH;
++ if (fMode & RTFS_UNIX_ISUID)
++ m |= S_ISUID;
++ if (fMode & RTFS_UNIX_ISGID)
++ m |= S_ISGID;
++ if (fMode & RTFS_UNIX_ISTXT)
++ m |= S_ISVTX;
++ *mode = m;
++}
++
++static void
++sfprov_ftime_from_timespec(struct timespec *time, RTTIMESPEC *ts)
++{
++ uint64_t nanosec = RTTimeSpecGetNano(ts);
++ time->tv_sec = nanosec / UINT64_C(1000000000);
++ time->tv_nsec = nanosec % UINT64_C(1000000000);
++}
++
++static void
++sfprov_stat_from_info(sffs_stat_t *stat, SHFLFSOBJINFO *info)
++{
++ sfprov_mode_from_fmode(&stat->sf_mode, info->Attr.fMode);
++ stat->sf_size = info->cbObject;
++ stat->sf_alloc = info->cbAllocated;
++ sfprov_ftime_from_timespec(&stat->sf_atime, &info->AccessTime);
++ sfprov_ftime_from_timespec(&stat->sf_mtime, &info->ModificationTime);
++ sfprov_ftime_from_timespec(&stat->sf_ctime, &info->ChangeTime);
++}
++
++/*
++ * File operations: open/close/read/write/etc.
++ *
++ * open/create can return any relevant errno, however ENOENT
++ * generally means that the host file didn't exist.
++ */
++int
++sfprov_create(
++ sfp_mount_t *mnt,
++ char *path,
++ mode_t mode,
++ sffs_stat_t *stat)
++{
++ int rc;
++ SHFLCREATEPARMS parms;
++ SHFLSTRING *str;
++ int size;
++ sfp_file_t *newfp;
++
++ str = sfprov_string(path, &size);
++ parms.Handle = SHFL_HANDLE_NIL;
++ parms.Info.cbObject = 0;
++ sfprov_fmode_from_mode(&parms.Info.Attr.fMode, mode);
++ parms.CreateFlags = SHFL_CF_ACT_CREATE_IF_NEW |
++ SHFL_CF_ACT_REPLACE_IF_EXISTS | SHFL_CF_ACCESS_READWRITE;
++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms);
++ free(str, M_VBOXVFS);
++
++ if (RT_FAILURE(rc))
++ return (sfprov_vbox2errno(rc));
++ if (parms.Handle == SHFL_HANDLE_NIL) {
++ if (parms.Result == SHFL_FILE_EXISTS)
++ return (EEXIST);
++ return (ENOENT);
++ }
++ (void)VbglR0SfClose(&vbox_client, &mnt->map, parms.Handle);
++ sfprov_stat_from_info(stat, &parms.Info);
++ return (0);
++}
++
++int
++sfprov_open(sfp_mount_t *mnt, char *path, sfp_file_t **fp)
++{
++ int rc;
++ SHFLCREATEPARMS parms;
++ SHFLSTRING *str;
++ int size;
++ sfp_file_t *newfp;
++
++ /*
++ * First we attempt to open it read/write. If that fails we
++ * try read only.
++ */
++ bzero(&parms, sizeof(parms));
++ str = sfprov_string(path, &size);
++ parms.Handle = SHFL_HANDLE_NIL;
++ parms.Info.cbObject = 0;
++ parms.CreateFlags = SHFL_CF_ACT_FAIL_IF_NEW | SHFL_CF_ACCESS_READWRITE;
++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms);
++ if (RT_FAILURE(rc) && rc != VERR_ACCESS_DENIED) {
++ free(str, M_VBOXVFS);
++ return (sfprov_vbox2errno(rc));
++ }
++ if (parms.Handle == SHFL_HANDLE_NIL) {
++ if (parms.Result == SHFL_PATH_NOT_FOUND ||
++ parms.Result == SHFL_FILE_NOT_FOUND) {
++ free(str, M_VBOXVFS);
++ return (ENOENT);
++ }
++ parms.CreateFlags =
++ SHFL_CF_ACT_FAIL_IF_NEW | SHFL_CF_ACCESS_READ;
++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms);
++ if (RT_FAILURE(rc)) {
++ free(str, M_VBOXVFS);
++ return (sfprov_vbox2errno(rc));
++ }
++ if (parms.Handle == SHFL_HANDLE_NIL) {
++ free(str, M_VBOXVFS);
++ return (ENOENT);
++ }
++ }
++ else
++ free(str, M_VBOXVFS);
++ newfp = malloc(sizeof(sfp_file_t), M_VBOXVFS, M_WAITOK | M_ZERO);
++ newfp->handle = parms.Handle;
++ newfp->map = mnt->map;
++ *fp = newfp;
++ return (0);
++}
++
++int
++sfprov_trunc(sfp_mount_t *mnt, char *path)
++{
++ int rc;
++ SHFLCREATEPARMS parms;
++ SHFLSTRING *str;
++ int size;
++
++ /*
++ * open it read/write.
++ */
++ str = sfprov_string(path, &size);
++ parms.Handle = 0;
++ parms.Info.cbObject = 0;
++ parms.CreateFlags = SHFL_CF_ACT_FAIL_IF_NEW | SHFL_CF_ACCESS_READWRITE |
++ SHFL_CF_ACT_OVERWRITE_IF_EXISTS;
++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms);
++ free(str, M_VBOXVFS);
++
++ if (RT_FAILURE(rc)) {
++ return (sfprov_vbox2errno(rc));
++ }
++ (void)VbglR0SfClose(&vbox_client, &mnt->map, parms.Handle);
++ return (0);
++}
++
++int
++sfprov_close(sfp_file_t *fp)
++{
++ int rc;
++
++ rc = VbglR0SfClose(&vbox_client, &fp->map, fp->handle);
++ free(fp, M_VBOXVFS);
++ return (0);
++}
++
++int
++sfprov_read(sfp_file_t *fp, char *buffer, uint64_t offset, uint32_t *numbytes,
++ int buflocked)
++{
++ int rc;
++
++ rc = VbglR0SfRead(&vbox_client, &fp->map, fp->handle, offset,
++ numbytes, (uint8_t *)buffer, buflocked);
++ if (RT_FAILURE(rc))
++ return (sfprov_vbox2errno(rc));
++ return (0);
++}
++
++int
++sfprov_write(sfp_file_t *fp, char *buffer, uint64_t offset, uint32_t *numbytes,
++ int buflocked)
++{
++ int rc;
++
++ rc = VbglR0SfWrite(&vbox_client, &fp->map, fp->handle, offset,
++ numbytes, (uint8_t *)buffer, buflocked);
++ if (RT_FAILURE(rc))
++ return (sfprov_vbox2errno(rc));
++ return (0);
++}
++
++int
++sfprov_fsync(sfp_file_t *fp)
++{
++ int rc;
++
++ rc = VbglR0SfFlush(&vbox_client, &fp->map, fp->handle);
++ if (RT_FAILURE(rc))
++ return (sfprov_vbox2errno(rc));
++ return (0);
++}
++
++
++static int
++sfprov_getinfo(sfp_mount_t *mnt, char *path, PSHFLFSOBJINFO info)
++{
++ int rc;
++ SHFLCREATEPARMS parms;
++ SHFLSTRING *str;
++ int size;
++
++ str = sfprov_string(path, &size);
++ parms.Handle = 0;
++ parms.Info.cbObject = 0;
++ parms.CreateFlags = SHFL_CF_LOOKUP | SHFL_CF_ACT_FAIL_IF_NEW;
++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms);
++ free(str, M_VBOXVFS);
++
++ if (RT_FAILURE(rc))
++ return (sfprov_vbox2errno(rc));
++ if (parms.Result != SHFL_FILE_EXISTS)
++ return (ENOENT);
++ *info = parms.Info;
++ return (0);
++}
++
++/*
++ * get information about a file (or directory)
++ */
++int
++sfprov_get_mode(sfp_mount_t *mnt, char *path, mode_t *mode)
++{
++ int rc;
++ SHFLFSOBJINFO info;
++
++ rc = sfprov_getinfo(mnt, path, &info);
++ if (rc)
++ return (rc);
++ sfprov_mode_from_fmode(mode, info.Attr.fMode);
++ return (0);
++}
++
++int
++sfprov_get_size(sfp_mount_t *mnt, char *path, uint64_t *size)
++{
++ int rc;
++ SHFLFSOBJINFO info;
++
++ rc = sfprov_getinfo(mnt, path, &info);
++ if (rc)
++ return (rc);
++ *size = info.cbObject;
++ return (0);
++}
++
++
++int
++sfprov_get_atime(sfp_mount_t *mnt, char *path, struct timespec *time)
++{
++ int rc;
++ SHFLFSOBJINFO info;
++
++ rc = sfprov_getinfo(mnt, path, &info);
++ if (rc)
++ return (rc);
++ sfprov_ftime_from_timespec(time, &info.AccessTime);
++ return (0);
++}
++
++int
++sfprov_get_mtime(sfp_mount_t *mnt, char *path, struct timespec *time)
++{
++ int rc;
++ SHFLFSOBJINFO info;
++
++ rc = sfprov_getinfo(mnt, path, &info);
++ if (rc)
++ return (rc);
++ sfprov_ftime_from_timespec(time, &info.ModificationTime);
++ return (0);
++}
++
++int
++sfprov_get_ctime(sfp_mount_t *mnt, char *path, struct timespec *time)
++{
++ int rc;
++ SHFLFSOBJINFO info;
++
++ rc = sfprov_getinfo(mnt, path, &info);
++ if (rc)
++ return (rc);
++ sfprov_ftime_from_timespec(time, &info.ChangeTime);
++ return (0);
++}
++
++int
++sfprov_get_attr(sfp_mount_t *mnt, char *path, sffs_stat_t *attr)
++{
++ int rc;
++ SHFLFSOBJINFO info;
++
++ rc = sfprov_getinfo(mnt, path, &info);
++ if (rc)
++ return (rc);
++ sfprov_stat_from_info(attr, &info);
++ return (0);
++}
++
++static void
++sfprov_timespec_from_ftime(RTTIMESPEC *ts, struct timespec time)
++{
++ uint64_t nanosec = UINT64_C(1000000000) * time.tv_sec + time.tv_nsec;
++ RTTimeSpecSetNano(ts, nanosec);
++}
++
++int
++sfprov_set_attr(
++ sfp_mount_t *mnt,
++ char *path,
++ mode_t mode,
++ struct timespec atime,
++ struct timespec mtime,
++ struct timespec ctime)
++{
++ int rc, err;
++ SHFLCREATEPARMS parms;
++ SHFLSTRING *str;
++ SHFLFSOBJINFO info;
++ uint32_t bytes;
++ int str_size;
++
++ str = sfprov_string(path, &str_size);
++ parms.Handle = 0;
++ parms.Info.cbObject = 0;
++ parms.CreateFlags = SHFL_CF_ACT_OPEN_IF_EXISTS
++ | SHFL_CF_ACT_FAIL_IF_NEW
++ | SHFL_CF_ACCESS_ATTR_WRITE;
++
++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms);
++
++ if (RT_FAILURE(rc)) {
++ printf("sfprov_set_attr: VbglR0SfCreate(%s) failed rc=%d\n",
++ path, rc);
++ err = sfprov_vbox2errno(rc);
++ goto fail2;
++ }
++ if (parms.Result != SHFL_FILE_EXISTS) {
++ err = ENOENT;
++ goto fail1;
++ }
++
++ RT_ZERO(info);
++#if 0
++ if (mask & AT_MODE)
++ sfprov_fmode_from_mode(&info.Attr.fMode, mode);
++ if (mask & AT_ATIME)
++ sfprov_timespec_from_ftime(&info.AccessTime, atime);
++ if (mask & AT_MTIME)
++ sfprov_timespec_from_ftime(&info.ModificationTime, mtime);
++ if (mask & AT_CTIME)
++ sfprov_timespec_from_ftime(&info.ChangeTime, ctime);
++#endif
++ bytes = sizeof(info);
++ rc = VbglR0SfFsInfo(&vbox_client, &mnt->map, parms.Handle,
++ (SHFL_INFO_SET | SHFL_INFO_FILE), &bytes, (SHFLDIRINFO *)&info);
++ if (RT_FAILURE(rc)) {
++ if (rc != VERR_ACCESS_DENIED && rc != VERR_WRITE_PROTECT)
++ {
++ printf("sfprov_set_attr: VbglR0SfFsInfo(%s, FILE) failed rc=%d\n",
++ path, rc);
++ }
++ err = sfprov_vbox2errno(rc);
++ goto fail1;
++ }
++
++ err = 0;
++
++fail1:
++ rc = VbglR0SfClose(&vbox_client, &mnt->map, parms.Handle);
++ if (RT_FAILURE(rc)) {
++ printf("sfprov_set_attr: VbglR0SfClose(%s) failed rc=%d\n",
++ path, rc);
++ }
++fail2:
++ free(str, M_VBOXVFS);
++ return err;
++}
++
++int
++sfprov_set_size(sfp_mount_t *mnt, char *path, uint64_t size)
++{
++ int rc, err;
++ SHFLCREATEPARMS parms;
++ SHFLSTRING *str;
++ SHFLFSOBJINFO info;
++ uint32_t bytes;
++ int str_size;
++
++ str = sfprov_string(path, &str_size);
++ parms.Handle = 0;
++ parms.Info.cbObject = 0;
++ parms.CreateFlags = SHFL_CF_ACT_OPEN_IF_EXISTS
++ | SHFL_CF_ACT_FAIL_IF_NEW
++ | SHFL_CF_ACCESS_WRITE;
++
++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms);
++
++ if (RT_FAILURE(rc)) {
++ printf("sfprov_set_size: VbglR0SfCreate(%s) failed rc=%d\n",
++ path, rc);
++ err = sfprov_vbox2errno(rc);
++ goto fail2;
++ }
++ if (parms.Result != SHFL_FILE_EXISTS) {
++ err = ENOENT;
++ goto fail1;
++ }
++
++ RT_ZERO(info);
++ info.cbObject = size;
++ bytes = sizeof(info);
++ rc = VbglR0SfFsInfo(&vbox_client, &mnt->map, parms.Handle,
++ (SHFL_INFO_SET | SHFL_INFO_SIZE), &bytes, (SHFLDIRINFO *)&info);
++ if (RT_FAILURE(rc)) {
++ printf("sfprov_set_size: VbglR0SfFsInfo(%s, SIZE) failed rc=%d\n",
++ path, rc);
++ err = sfprov_vbox2errno(rc);
++ goto fail1;
++ }
++
++ err = 0;
++
++fail1:
++ rc = VbglR0SfClose(&vbox_client, &mnt->map, parms.Handle);
++ if (RT_FAILURE(rc)) {
++ printf("sfprov_set_size: VbglR0SfClose(%s) failed rc=%d\n",
++ path, rc);
++ }
++fail2:
++ free(str, M_VBOXVFS);
++ return err;
++}
++
++/*
++ * Directory operations
++ */
++int
++sfprov_mkdir(
++ sfp_mount_t *mnt,
++ char *path,
++ mode_t mode,
++ sffs_stat_t *stat)
++{
++ int rc;
++ SHFLCREATEPARMS parms;
++ SHFLSTRING *str;
++ int size;
++
++ str = sfprov_string(path, &size);
++ parms.Handle = SHFL_HANDLE_NIL;
++ parms.Info.cbObject = 0;
++ sfprov_fmode_from_mode(&parms.Info.Attr.fMode, mode);
++ parms.CreateFlags = SHFL_CF_DIRECTORY | SHFL_CF_ACT_CREATE_IF_NEW |
++ SHFL_CF_ACT_FAIL_IF_EXISTS | SHFL_CF_ACCESS_READ;
++ rc = VbglR0SfCreate(&vbox_client, &mnt->map, str, &parms);
++ free(str, M_VBOXVFS);
++
++ if (RT_FAILURE(rc))
++ return (sfprov_vbox2errno(rc));
++ if (parms.Handle == SHFL_HANDLE_NIL) {
++ if (parms.Result == SHFL_FILE_EXISTS)
++ return (EEXIST);
++ return (ENOENT);
++ }
++ (void)VbglR0SfClose(&vbox_client, &mnt->map, parms.Handle);
++ sfprov_stat_from_info(stat, &parms.Info);
++ return (0);
++}
++
++int
++sfprov_set_show_symlinks(void)
++{
++ int rc;
++
++ rc = VbglR0SfSetSymlinks(&vbox_client);
++ if (RT_FAILURE(rc))
++ return (sfprov_vbox2errno(rc));
++
++ return (0);
++}
++
++int
++sfprov_remove(sfp_mount_t *mnt, char *path, u_int is_link)
++{
++ int rc;
++ SHFLSTRING *str;
++ int size;
++
++ str = sfprov_string(path, &size);
++ rc = VbglR0SfRemove(&vbox_client, &mnt->map, str,
++ SHFL_REMOVE_FILE | (is_link ? SHFL_REMOVE_SYMLINK : 0));
++ free(str, M_VBOXVFS);
++ if (RT_FAILURE(rc))
++ return (sfprov_vbox2errno(rc));
++ return (0);
++}
++
++int
++sfprov_readlink(
++ sfp_mount_t *mnt,
++ char *path,
++ char *target,
++ size_t tgt_size)
++{
++ int rc;
++ SHFLSTRING *str;
++ int size;
++
++ str = sfprov_string(path, &size);
++
++ rc = VbglR0SfReadLink(&vbox_client, &mnt->map, str, (uint32_t) tgt_size,
++ target);
++ if (RT_FAILURE(rc))
++ rc = sfprov_vbox2errno(rc);
++
++ free(str, M_VBOXVFS);
++ return (rc);
++}
++
++int
++sfprov_symlink(
++ sfp_mount_t *mnt,
++ char *linkname,
++ char *target,
++ sffs_stat_t *stat)
++{
++ int rc;
++ SHFLSTRING *lnk, *tgt;
++ int lnk_size, tgt_size;
++ SHFLFSOBJINFO info;
++
++ lnk = sfprov_string(linkname, &lnk_size);
++ tgt = sfprov_string(target, &tgt_size);
++
++ rc = VbglR0SfSymlink(&vbox_client, &mnt->map, lnk, tgt, &info);
++ if (RT_FAILURE(rc)) {
++ rc = sfprov_vbox2errno(rc);
++ goto done;
++ }
++
++ if (stat != NULL)
++ sfprov_stat_from_info(stat, &info);
++
++done:
++ free(lnk, M_VBOXVFS);
++ free(tgt, M_VBOXVFS);
++
++ return (rc);
++}
++
++int
++sfprov_rmdir(sfp_mount_t *mnt, char *path)
++{
++ int rc;
++ SHFLSTRING *str;
++ int size;
++
++ str = sfprov_string(path, &size);
++ rc = VbglR0SfRemove(&vbox_client, &mnt->map, str, SHFL_REMOVE_DIR);
++ free(str, M_VBOXVFS);
++ if (RT_FAILURE(rc))
++ return (sfprov_vbox2errno(rc));
++ return (0);
++}
++
++int
++sfprov_rename(sfp_mount_t *mnt, char *from, char *to, u_int is_dir)
++{
++ int rc;
++ SHFLSTRING *old, *new;
++ int old_size, new_size;
++
++ old = sfprov_string(from, &old_size);
++ new = sfprov_string(to, &new_size);
++ rc = VbglR0SfRename(&vbox_client, &mnt->map, old, new,
++ (is_dir ? SHFL_RENAME_DIR : SHFL_RENAME_FILE) |
++ SHFL_RENAME_REPLACE_IF_EXISTS);
++ free(old, M_VBOXVFS);
++ free(new, M_VBOXVFS);
++ if (RT_FAILURE(rc))
++ return (sfprov_vbox2errno(rc));
++ return (0);
++}
++
++/*
++ * Read all filenames in a directory.
++ *
++ * - success - all entries read and returned
++ * - ENOENT - Couldn't open the directory for reading
++ * - EINVAL - Internal error of some kind
++ *
++ * On successful return, *dirents points to a list of sffs_dirents_t;
++ * for each dirent, all fields except the d_ino will be set appropriately.
++ * The caller is responsible for freeing the dirents buffer.
++ */
++int
++sfprov_readdir(
++ sfp_mount_t *mnt,
++ char *path,
++ sffs_dirents_t **dirents)
++{
++ int error;
++ char *cp;
++ int len;
++ SHFLSTRING *mask_str = NULL; /* must be path with "/" appended */
++ int mask_size;
++ sfp_file_t *fp;
++ uint32_t infobuff_alloc = 16384;
++ SHFLDIRINFO *infobuff = NULL, *info;
++ uint32_t numbytes;
++ uint32_t nents;
++ uint32_t size;
++ off_t offset;
++ sffs_dirents_t *cur_buf;
++ struct sffs_dirent *dirent;
++ unsigned short reclen;
++ unsigned short entlen;
++
++ *dirents = NULL;
++
++ error = sfprov_open(mnt, path, &fp);
++ if (error != 0)
++ return (ENOENT);
++
++ /*
++ * Allocate the first dirents buffers.
++ */
++ *dirents = malloc(SFFS_DIRENTS_SIZE, M_VBOXVFS, M_WAITOK | M_ZERO);
++ if (*dirents == NULL) {
++ error = (ENOSPC);
++ goto done;
++ }
++ cur_buf = *dirents;
++ cur_buf->sf_next = NULL;
++ cur_buf->sf_len = 0;
++
++ /*
++ * Create mask that VBox expects. This needs to be the directory path,
++ * plus a "*" wildcard to get all files.
++ */
++ len = strlen(path) + 3;
++ cp = malloc(len, M_VBOXVFS, M_WAITOK | M_ZERO);
++ if (cp == NULL) {
++ error = (ENOSPC);
++ goto done;
++ }
++ strcpy(cp, path);
++ strcat(cp, "/*");
++ mask_str = sfprov_string(cp, &mask_size);
++ free(cp, M_VBOXVFS);
++
++ /*
++ * Now loop using VbglR0SfDirInfo
++ */
++ infobuff = malloc(infobuff_alloc, M_VBOXVFS, M_WAITOK | M_ZERO);
++ if (infobuff == NULL) {
++ error = (ENOSPC);
++ goto done;
++ }
++
++ offset = 0;
++ for (;;) {
++ numbytes = infobuff_alloc;
++ error = VbglR0SfDirInfo(&vbox_client, &fp->map, fp->handle,
++ mask_str, 0, 0, &numbytes, infobuff, &nents);
++
++ switch (error) {
++ case VINF_SUCCESS:
++ /* fallthrough */
++ case VERR_NO_MORE_FILES:
++ break;
++ case VERR_NO_TRANSLATION:
++ /* XXX ??? */
++ break;
++ default:
++ error = sfprov_vbox2errno(error);
++ goto done;
++ }
++
++ /*
++ * Create the dirent_t's and save the stats for each name
++ */
++ for (info = infobuff; (char *) info < (char *) infobuff + numbytes; nents--) {
++ size_t buflen;
++
++ /* expand buffers if we need more space */
++ reclen = DIRENT_RECLEN(strlen(info->name.String.utf8));
++ entlen = sizeof(struct sffs_dirent) + reclen;
++ buflen = SFFS_DIRENTS_OFF + cur_buf->sf_len + entlen;
++ if (buflen > SFFS_DIRENTS_SIZE) {
++ cur_buf->sf_next = malloc(SFFS_DIRENTS_SIZE,
++ M_VBOXVFS, M_WAITOK | M_ZERO);
++ if (cur_buf->sf_next == NULL) {
++ error = ENOSPC;
++ goto done;
++ }
++ cur_buf = cur_buf->sf_next;
++ cur_buf->sf_next = NULL;
++ cur_buf->sf_len = 0;
++ }
++
++ /* create the dirent with the name, offset, and len */
++ dirent = (struct sffs_dirent *)
++ (((char *) &cur_buf->sf_entries[0]) + cur_buf->sf_len);
++ strncpy(&dirent->sf_entry.d_name[0],
++ info->name.String.utf8, DIRENT_NAMELEN(reclen));
++ dirent->sf_entry.d_reclen = reclen;
++ dirent->sf_entry.d_namlen = strlen(info->name.String.utf8);
++ dirent->sf_entry.d_name[dirent->sf_entry.d_namlen] = 0;
++ offset += entlen;
++ dirent->sf_off = offset;
++
++ /* save the stats */
++ sfprov_stat_from_info(&dirent->sf_stat, &info->Info);
++
++ /* next info */
++ cur_buf->sf_len += entlen;
++ size = offsetof (SHFLDIRINFO, name.String) + info->name.u16Size;
++ info = (SHFLDIRINFO *) ((uintptr_t) info + size);
++ }
++ KASSERT(nents == 0, ("nents != 0"));
++ KASSERT((char *) info == (char *) infobuff + numbytes, "(char *) info != (char *) infobuff + numbytes");
++
++ if (error == VERR_NO_MORE_FILES)
++ break;
++ }
++ error = 0;
++
++done:
++ if (error != 0) {
++ while (*dirents) {
++ cur_buf = (*dirents)->sf_next;
++ free(*dirents, M_VBOXVFS);
++ *dirents = cur_buf;
++ }
++ }
++ if (infobuff != NULL)
++ free(infobuff, M_VBOXVFS);
++ if (mask_str != NULL)
++ free(mask_str, M_VBOXVFS);
++ sfprov_close(fp);
++
++ return (error);
++}
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c
new file mode 100644
index 000000000000..8fa76bdf2b8a
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c
@@ -0,0 +1,645 @@
+--- src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vfsops.c.orig 2021-04-28 16:24:46 UTC
++++ src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vfsops.c
+@@ -1,8 +1,3 @@
+-/* $Id: vboxvfs_vfsops.c $ */
+-/** @file
+- * Description.
+- */
+-
+ /*
+ * Copyright (C) 2008-2020 Oracle Corporation
+ *
+@@ -14,245 +9,478 @@
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ */
+-
+-#include "vboxvfs.h"
++#include <sys/types.h>
+ #include <sys/param.h>
+ #include <sys/systm.h>
+ #include <sys/proc.h>
+ #include <sys/bio.h>
+ #include <sys/buf.h>
++#include <sys/conf.h>
++#include <sys/dirent.h>
+ #include <sys/kernel.h>
+ #include <sys/sysctl.h>
+ #include <sys/vnode.h>
+ #include <sys/mount.h>
++#include <sys/namei.h>
++#include <sys/fcntl.h>
++#include <sys/priv.h>
+ #include <sys/stat.h>
+ #include <sys/malloc.h>
+ #include <sys/module.h>
++#include <sys/sbuf.h>
+
+-#include <iprt/mem.h>
++#include <geom/geom.h>
++#include <geom/geom_vfs.h>
+-
++#include <vm/uma.h>
++#include "vboxvfs.h"
++
+ #define VFSMP2SFGLOBINFO(mp) ((struct sf_glob_info *)mp->mnt_data)
+
+-static int vboxvfs_version = VBOXVFS_VERSION;
++#ifdef MALLOC_DECLARE
++MALLOC_DEFINE(M_VBOXVFS, "vboxvfs", "VBOX VFS");
++#endif
+
+-SYSCTL_NODE(_vfs, OID_AUTO, vboxvfs, CTLFLAG_RW, 0, "VirtualBox shared filesystem");
+-SYSCTL_INT(_vfs_vboxvfs, OID_AUTO, version, CTLFLAG_RD, &vboxvfs_version, 0, "");
++static sfp_connection_t *sfprov = NULL;
+
+-/* global connection to the host service. */
+-static VBGLSFCLIENT g_vboxSFClient;
++static int vboxfs_version = VBOXVFS_VERSION;
++u_int vboxvfs_debug = 1;
+
+-static vfs_init_t vboxvfs_init;
+-static vfs_uninit_t vboxvfs_uninit;
+-static vfs_cmount_t vboxvfs_cmount;
+-static vfs_mount_t vboxvfs_mount;
+-static vfs_root_t vboxvfs_root;
+-static vfs_quotactl_t vboxvfs_quotactl;
+-static vfs_statfs_t vboxvfs_statfs;
+-static vfs_unmount_t vboxvfs_unmount;
++SYSCTL_NODE(_vfs, OID_AUTO, vboxfs, CTLFLAG_RW, 0, "VirtualBox shared filesystem");
++SYSCTL_INT(_vfs_vboxfs, OID_AUTO, version, CTLFLAG_RD, &vboxfs_version, 0, "");
++SYSCTL_UINT(_vfs_vboxfs, OID_AUTO, debug, CTLFLAG_RW, &vboxvfs_debug, 0, "Debug level");
+
+-static struct vfsops vboxvfs_vfsops = {
+- .vfs_init = vboxvfs_init,
+- .vfs_cmount = vboxvfs_cmount,
+- .vfs_mount = vboxvfs_mount,
+- .vfs_quotactl = vboxvfs_quotactl,
+- .vfs_root = vboxvfs_root,
+- .vfs_statfs = vboxvfs_statfs,
+- .vfs_sync = vfs_stdsync,
+- .vfs_uninit = vboxvfs_uninit,
+- .vfs_unmount = vboxvfs_unmount,
++static vfs_init_t vboxfs_init;
++static vfs_uninit_t vboxfs_uninit;
++static vfs_cmount_t vboxfs_cmount;
++static vfs_mount_t vboxfs_mount;
++static vfs_root_t vboxfs_root;
++static vfs_quotactl_t vboxfs_quotactl;
++static vfs_statfs_t vboxfs_statfs;
++static vfs_unmount_t vboxfs_unmount;
++
++static struct vfsops vboxfs_vfsops = {
++ .vfs_init = vboxfs_init,
++ .vfs_cmount = vboxfs_cmount,
++ .vfs_mount = vboxfs_mount,
++ .vfs_quotactl = vboxfs_quotactl,
++ .vfs_root = vboxfs_root,
++ .vfs_statfs = vboxfs_statfs,
++ .vfs_sync = vfs_stdsync,
++ .vfs_uninit = vboxfs_uninit,
++ .vfs_unmount = vboxfs_unmount
+ };
+
+
+-VFS_SET(vboxvfs_vfsops, vboxvfs, VFCF_NETWORK);
++VFS_SET(vboxfs_vfsops, vboxvfs, VFCF_NETWORK);
+ MODULE_DEPEND(vboxvfs, vboxguest, 1, 1, 1);
+
+-static int vboxvfs_cmount(struct mntarg *ma, void * data, int flags, struct thread *td)
++/*
++ * Allocates a new node of type 'type' inside the 'tmp' mount point, with
++ * its owner set to 'uid', its group to 'gid' and its mode set to 'mode',
++ * using the credentials of the process 'p'.
++ *
++ * If the node type is set to 'VDIR', then the parent parameter must point
++ * to the parent directory of the node being created. It may only be NULL
++ * while allocating the root node.
++ *
++ * If the node type is set to 'VBLK' or 'VCHR', then the rdev parameter
++ * specifies the device the node represents.
++ *
++ * If the node type is set to 'VLNK', then the parameter target specifies
++ * the file name of the target file for the symbolic link that is being
++ * created.
++ *
++ * Note that new nodes are retrieved from the available list if it has
++ * items or, if it is empty, from the node pool as long as there is enough
++ * space to create them.
++ *
++ * Returns zero on success or an appropriate error code on failure.
++ */
++int
++vboxfs_alloc_node(struct mount *mp, struct vboxfs_mnt *vsfmp, const char *fullpath,
++ enum_vtype_t type, uid_t uid, gid_t gid, mode_t mode, struct vboxfs_node *parent,
++ struct vboxfs_node **node)
+ {
+- struct vboxvfs_mount_info args;
+- int rc = 0;
++ struct vboxfs_node *nnode;
+
+- printf("%s: Enter\n", __FUNCTION__);
++ if ((mp->mnt_kern_flag & MNTK_UNMOUNT) != 0) {
++ /*
++ * When a new tmpfs node is created for fully
++ * constructed mount point, there must be a parent
++ * node, which vnode is locked exclusively. As
++ * consequence, if the unmount is executing in
++ * parallel, vflush() cannot reclaim the parent vnode.
++ * Due to this, the check for MNTK_UNMOUNT flag is not
++ * racy: if we did not see MNTK_UNMOUNT flag, then tmp
++ * cannot be destroyed until node construction is
++ * finished and the parent vnode unlocked.
++ *
++ * Tmpfs does not need to instantiate new nodes during
++ * unmount.
++ */
++ return (EBUSY);
++ }
+
+- rc = copyin(data, &args, sizeof(struct vboxvfs_mount_info));
+- if (rc)
+- return rc;
++ nnode = (struct vboxfs_node *)uma_zalloc_arg(
++ vsfmp->sf_node_pool, vsfmp, M_WAITOK);
+
+- ma = mount_argf(ma, "uid", "%d", args.uid);
+- ma = mount_argf(ma, "gid", "%d", args.gid);
+- ma = mount_arg(ma, "from", args.name, -1);
++ /* Generic initialization. */
++ nnode->sf_type = type;
++ nnode->sf_ino = vsfmp->sf_ino++;
++ nnode->sf_path = strdup(fullpath, M_VBOXVFS);
++ nnode->sf_parent = parent;
++ nnode->vboxfsmp = vsfmp;
+
+- rc = kernel_mount(ma, flags);
++ /* Type-specific initialization. */
++ switch (nnode->sf_type) {
++ case VBLK:
++ case VCHR:
++ case VDIR:
++ case VFIFO:
++ case VSOCK:
++ case VLNK:
++ case VREG:
++ break;
+
+- printf("%s: Leave rc=%d\n", __FUNCTION__, rc);
++ default:
++ panic("vboxfs_alloc_node: type %p %d", nnode, (int)nnode->sf_type);
++ }
+
+- return rc;
++ *node = nnode;
++ return 0;
+ }
+
+-static const char *vboxvfs_opts[] = {
+- "uid", "gid", "from", "fstype", "fspath", "errmsg", NULL
+-};
+-
+-static int vboxvfs_mount(struct mount *mp, struct thread *td)
++void
++vboxfs_free_node(struct vboxfs_mnt *vboxfs, struct vboxfs_node *node)
+ {
+- int rc;
+- char *pszShare;
+- int cbShare, cbOption;
+- int uid = 0, gid = 0;
+- struct sf_glob_info *pShFlGlobalInfo;
+- SHFLSTRING *pShFlShareName = NULL;
+- int cbShFlShareName;
+
+- printf("%s: Enter\n", __FUNCTION__);
++#ifdef INVARIANTS
++ TMPFS_NODE_LOCK(node);
++ MPASS(node->sf_vnode == NULL);
++ MPASS((node->sf_vpstate & TMPFS_VNODE_ALLOCATING) == 0);
++ TMPFS_NODE_UNLOCK(node);
++#endif
++ if (node->sf_path)
++ free(node->sf_path, M_VBOXVFS);
+
+- if (mp->mnt_flag & (MNT_UPDATE | MNT_ROOTFS))
+- return EOPNOTSUPP;
++ uma_zfree(vboxfs->sf_node_pool, node);
++}
+
+- if (vfs_filteropt(mp->mnt_optnew, vboxvfs_opts))
+- {
+- vfs_mount_error(mp, "%s", "Invalid option");
+- return EINVAL;
+- }
++static int
++vboxfs_cmount(struct mntarg *ma, void *data, uint64_t flags)
++{
++ struct vboxfs_mount_info args;
++ int error = 0;
+
+- rc = vfs_getopt(mp->mnt_optnew, "from", (void **)&pszShare, &cbShare);
+- if (rc || pszShare[cbShare-1] != '\0' || cbShare > 0xfffe)
+- return EINVAL;
++ if (data == NULL)
++ return (EINVAL);
++ error = copyin(data, &args, sizeof(struct vboxfs_mount_info));
++ if (error)
++ return (error);
+
+- rc = vfs_getopt(mp->mnt_optnew, "gid", (void **)&gid, &cbOption);
+- if ((rc != ENOENT) && (rc || cbOption != sizeof(gid)))
+- return EINVAL;
++ ma = mount_argf(ma, "uid", "%d", args.uid);
++ ma = mount_argf(ma, "gid", "%d", args.gid);
++ ma = mount_argf(ma, "file_mode", "%d", args.fmode);
++ ma = mount_argf(ma, "dir_mode", "%d", args.dmode);
++ ma = mount_arg(ma, "from", args.name, -1);
+
+- rc = vfs_getopt(mp->mnt_optnew, "uid", (void **)&uid, &cbOption);
+- if ((rc != ENOENT) && (rc || cbOption != sizeof(uid)))
+- return EINVAL;
++ return (kernel_mount(ma, flags));
++}
+
+- pShFlGlobalInfo = RTMemAllocZ(sizeof(struct sf_glob_info));
+- if (!pShFlGlobalInfo)
+- return ENOMEM;
++static const char *vboxfs_opts[] = {
++ "fstype",
++ "fspath",
++ "from",
++ "uid",
++ "gid",
++ "file_mode",
++ "dir_mode",
++ "errmsg",
++ NULL
++};
+
+- cbShFlShareName = offsetof (SHFLSTRING, String.utf8) + cbShare + 1;
+- pShFlShareName = RTMemAllocZ(cbShFlShareName);
+- if (!pShFlShareName)
+- return VERR_NO_MEMORY;
++#define VBOX_INTOPT(optname, val, base) do { \
++ char *ep, *optarg = NULL; \
++ if (vfs_getopt(opts, optname, (void **)&optarg, NULL) == 0) { \
++ if (optarg != NULL && *optarg == '\0') \
++ optarg = NULL; \
++ if (optarg != NULL) \
++ val = strtoul(optarg, &ep, base); \
++ if (optarg == NULL || *ep != '\0') { \
++ struct sbuf *sb = sbuf_new_auto(); \
++ sbuf_printf(sb, "Invalid %s: \"%s\"", optname, \
++ optarg); \
++ sbuf_finish(sb); \
++ vfs_mount_error(mp, sbuf_data(sb)); \
++ sbuf_delete(sb); \
++ return (EINVAL); \
++ } \
++ } \
++} while (0)
+
+- pShFlShareName->u16Length = cbShare;
+- pShFlShareName->u16Size = cbShare + 1;
+- memcpy (pShFlShareName->String.utf8, pszShare, cbShare + 1);
++static int
++vboxfs_node_ctor(void *mem, int size, void *arg, int flags)
++{
++ struct vboxfs_node *node = (struct vboxfs_node *)mem;
+
+- rc = VbglR0SfMapFolder (&g_vboxSFClient, pShFlShareName, &pShFlGlobalInfo->map);
+- RTMemFree(pShFlShareName);
++ node->sf_vnode = NULL;
++ node->sf_vpstate = 0;
+
+- if (RT_FAILURE (rc))
+- {
+- RTMemFree(pShFlGlobalInfo);
+- printf("VbglR0SfMapFolder failed rc=%d\n", rc);
+- return EPROTO;
+- }
++ return (0);
++}
+
+- pShFlGlobalInfo->uid = uid;
+- pShFlGlobalInfo->gid = gid;
++static void
++vboxfs_node_dtor(void *mem, int size, void *arg)
++{
++ struct vboxfs_node *node = (struct vboxfs_node *)mem;
++ node->sf_type = VNON;
++}
+
+- mp->mnt_data = pShFlGlobalInfo;
++static int
++vboxfs_node_init(void *mem, int size, int flags)
++{
++ struct vboxfs_node *node = (struct vboxfs_node *)mem;
++ node->sf_ino = 0;
+
+- /** @todo root vnode. */
++ mtx_init(&node->sf_interlock, "tmpfs node interlock", NULL, MTX_DEF);
+
+- vfs_getnewfsid(mp);
+- vfs_mountedfrom(mp, pszShare);
++ return (0);
++}
+
+- printf("%s: Leave rc=0\n", __FUNCTION__);
++static void
++vboxfs_node_fini(void *mem, int size)
++{
++ struct vboxfs_node *node = (struct vboxfs_node *)mem;
+
+- return 0;
++ mtx_destroy(&node->sf_interlock);
+ }
+
+-static int vboxvfs_unmount(struct mount *mp, int mntflags, struct thread *td)
++static int
++vboxfs_mount(struct mount *mp)
+ {
+- struct sf_glob_info *pShFlGlobalInfo = VFSMP2SFGLOBINFO(mp);
+- int rc;
+- int flags = 0;
++ struct vboxfs_mnt *vboxfsmp = NULL;
++ struct vfsoptlist *opts = mp->mnt_optnew;
++ sfp_mount_t *handle = NULL;
++ int readonly = 0;
++ sffs_fsinfo_t fsinfo;
++ int error, share_len;
++ char *share_name;
++ mode_t file_mode = 0, dir_mode = 0;
++ uid_t uid = 0;
++ gid_t gid = 0;
++ struct vboxfs_node *root;
+
+- rc = VbglR0SfUnmapFolder(&g_vboxSFClient, &pShFlGlobalInfo->map);
+- if (RT_FAILURE(rc))
+- printf("Failed to unmap shared folder\n");
++ if (mp->mnt_flag & (MNT_UPDATE | MNT_ROOTFS))
++ return (EOPNOTSUPP);
+
+- if (mntflags & MNT_FORCE)
+- flags |= FORCECLOSE;
++ if (vfs_filteropt(opts, vboxfs_opts)) {
++ vfs_mount_error(mp, "%s", "Invalid option");
++ return (EINVAL);
++ }
+
+- /* There is 1 extra root vnode reference (vnode_root). */
+- rc = vflush(mp, 1, flags, td);
+- if (rc)
+- return rc;
++ VBOX_INTOPT("uid", uid, 10);
++ VBOX_INTOPT("gid", gid, 10);
++ VBOX_INTOPT("file_mode", file_mode, 8);
++ VBOX_INTOPT("dir_mode", dir_mode, 8);
++ VBOX_INTOPT("ro", readonly, 10);
+
++ error = vfs_getopt(opts, "from", (void **)&share_name, &share_len);
++ if (error != 0 || share_len == 0) {
++ vfs_mount_error(mp, "Invalid from");
++ return (EINVAL);
++ }
+
+- RTMemFree(pShFlGlobalInfo);
+- mp->mnt_data = NULL;
++ vboxfsmp = malloc(sizeof(struct vboxfs_mnt), M_VBOXVFS, M_WAITOK | M_ZERO);
++ vboxfsmp->sf_uid = uid;
++ vboxfsmp->sf_gid = gid;
++ vboxfsmp->sf_fmode = file_mode & (S_IRWXU | S_IRWXG | S_IRWXO);
++ vboxfsmp->sf_dmode = dir_mode & (S_IRWXU | S_IRWXG | S_IRWXO);
++ vboxfsmp->sf_ino = 3;
++ vboxfsmp->sf_stat_ttl = 200;
+
+- return 0;
++ /* Invoke Hypervisor mount interface before proceeding */
++ error = sfprov_mount(share_name, &handle);
++ if (error)
++ return (error);
++
++ /* Determine whether the filesystem must be read-only. */
++ error = sfprov_get_fsinfo(handle, &fsinfo);
++ if (error != 0) {
++ sfprov_unmount(handle);
++ return (error);
++ }
++ if (readonly == 0)
++ readonly = (fsinfo.readonly != 0);
++
++ vboxfsmp->sf_handle = handle;
++ vboxfsmp->sf_vfsp = mp;
++
++ vboxfsmp->sf_node_pool = uma_zcreate("VBOXFS node",
++ sizeof(struct vboxfs_node),
++ vboxfs_node_ctor, vboxfs_node_dtor,
++ vboxfs_node_init, vboxfs_node_fini,
++ UMA_ALIGN_PTR, 0);
++
++ /* Allocate the root node. */
++ error = vboxfs_alloc_node(mp, vboxfsmp, "", VDIR, 0,
++ 0, 0755, NULL, &root);
++
++ if (error != 0 || root == NULL) {
++ uma_zdestroy(vboxfsmp->sf_node_pool);
++ free(vboxfsmp, M_VBOXVFS);
++ return error;
++ }
++
++ root->sf_parent = root;
++ vboxfsmp->sf_root = root;
++
++ MNT_ILOCK(mp);
++ mp->mnt_data = vboxfsmp;
++ mp->mnt_stat.f_fsid.val[0] = fsinfo.serial;
++ mp->mnt_stat.f_fsid.val[1] = 0;
++ mp->mnt_flag |= MNT_LOCAL;
++ if (readonly != 0)
++ mp->mnt_flag |= MNT_RDONLY;
++
++ mp->mnt_kern_flag |= MNTK_LOOKUP_SHARED | MNTK_EXTENDED_SHARED;
++ MNT_IUNLOCK(mp);
++ vfs_mountedfrom(mp, share_name);
++
++ return (0);
+ }
+
+-static int vboxvfs_root(struct mount *mp, int flags, struct vnode **vpp, struct thread *td)
++/*
++ * Unmount a shared folder.
++ *
++ * vboxfs_unmount umounts the mounted file system. It return 0
++ * on sucess and any relevant errno on failure.
++ */
++static int
++vboxfs_unmount(struct mount *mp, int mntflags)
+ {
+- int rc = 0;
+- struct sf_glob_info *pShFlGlobalInfo = VFSMP2SFGLOBINFO(mp);
+- struct vnode *vp;
++ struct vboxfs_mnt *vboxfsmp;
++ struct thread *td;
++ int error;
++ int flags;
+
+- printf("%s: Enter\n", __FUNCTION__);
++ vboxfsmp = VFSTOVBOXFS(mp);
++ td = curthread;
++ flags = 0;
++ if (mntflags & MNT_FORCE)
++ flags |= FORCECLOSE;
+
+- vp = pShFlGlobalInfo->vnode_root;
+- VREF(vp);
++ error = vflush(mp, 0, flags, td);
++ if (error)
++ return (error);
+
+- vn_lock(vp, flags | LK_RETRY, td);
+- *vpp = vp;
++ /* Invoke Hypervisor unmount interface before proceeding */
++ error = sfprov_unmount(vboxfsmp->sf_handle);
++ if (error != 0) {
++ /* TBD anything here? */
++ }
+
+- printf("%s: Leave\n", __FUNCTION__);
++ uma_zdestroy(vboxfsmp->sf_node_pool);
+
+- return rc;
++ free(vboxfsmp, M_VBOXVFS);
++ MNT_ILOCK(mp);
++ mp->mnt_data = NULL;
++ mp->mnt_flag &= ~MNT_LOCAL;
++ MNT_IUNLOCK(mp);
++
++ return (0);
+ }
+
+-static int vboxvfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg, struct thread *td)
++static int
++vboxfs_root(struct mount *mp, int flags, struct vnode **vpp)
+ {
+- return EOPNOTSUPP;
++ int error;
++ error = vboxfs_alloc_vp(mp, VFSTOVBOXFS(mp)->sf_root, flags, vpp);
++
++ if (!error)
++ (*vpp)->v_vflag |= VV_ROOT;
++
++ return error;
+ }
+
+-int vboxvfs_init(struct vfsconf *vfsp)
++/*
++ * Do operation associated with quotas, not supported
++ */
++static int
++vboxfs_quotactl(struct mount *mp, int cmd, uid_t uid, void *arg
++#if __FreeBSD_version >= 1400018
++ , bool *mp_busy
++#endif
++ )
+ {
+- int rc;
++ return (EOPNOTSUPP);
++}
+
+- /* Initialize the R0 guest library. */
+- rc = VbglR0SfInit();
+- if (RT_FAILURE(rc))
+- return ENXIO;
++/*
++ * Initialize the filesystem globals.
++ */
++static int
++vboxfs_init(struct vfsconf *vfsp)
++{
++ int error;
+
+- /* Connect to the host service. */
+- rc = VbglR0SfConnect(&g_vboxSFClient);
+- if (RT_FAILURE(rc))
+- {
+- printf("Failed to get connection to host! rc=%d\n", rc);
+- VbglR0SfTerm();
+- return ENXIO;
+- }
++ DROP_GIANT();
+
+- rc = VbglR0SfSetUtf8(&g_vboxSFClient);
+- if (RT_FAILURE (rc))
+- {
+- printf("VbglR0SfSetUtf8 failed, rc=%d\n", rc);
+- VbglR0SfDisconnect(&g_vboxSFClient);
+- VbglR0SfTerm();
+- return EPROTO;
+- }
++ sfprov = sfprov_connect(SFPROV_VERSION);
++ if (sfprov == NULL) {
++ printf("%s: couldn't connect to sf provider", __func__);
++ return (ENODEV);
++ }
+
+- printf("Successfully loaded shared folder module\n");
++ error = sfprov_set_show_symlinks();
++ if (error != 0)
++ printf("%s: host unable to show symlinks, error=%d\n",
++ __func__, error);
+
+- return 0;
++ PICKUP_GIANT();
++ return (0);
+ }
+
+-int vboxvfs_uninit(struct vfsconf *vfsp)
++/*
++ * Undo the work of vboxfs_init().
++ */
++static int
++vboxfs_uninit(struct vfsconf *vfsp)
+ {
+- VbglR0SfDisconnect(&g_vboxSFClient);
+- VbglR0SfTerm();
+
+- return 0;
++ DROP_GIANT();
++ sfprov_disconnect();
++ PICKUP_GIANT();
++ return (0);
+ }
+
+-int vboxvfs_statfs(struct mount *mp, struct statfs *sbp, struct thread *td)
++/*
++ * Get filesystem statistics.
++ */
++static int
++vboxfs_statfs(struct mount *mp, struct statfs *sbp)
+ {
+- return 0;
++ struct vboxfs_mnt *vboxfsmp;
++ sffs_fsinfo_t fsinfo;
++ int error;
++
++ vboxfsmp = VFSTOVBOXFS(mp);
++
++ error = sfprov_get_fsinfo(vboxfsmp->sf_handle, &fsinfo);
++ if (error != 0)
++ return (error);
++
++ sbp->f_iosize = fsinfo.blksize;
++ sbp->f_bsize = fsinfo.blksize;
++
++ sbp->f_bfree = fsinfo.blksavail;
++ sbp->f_bavail = fsinfo.blksavail;
++ sbp->f_files = fsinfo.blksavail / 4; /* some kind of reasonable value */
++ sbp->f_ffree = fsinfo.blksavail / 4;
++
++ sbp->f_blocks = fsinfo.blksused + sbp->f_bavail;
++ sbp->f_fsid.val[0] = mp->mnt_stat.f_fsid.val[0];
++ sbp->f_fsid.val[1] = mp->mnt_stat.f_fsid.val[1];
++ sbp->f_namemax = fsinfo.maxnamesize;
++
++ return (0);
+ }
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c
new file mode 100644
index 000000000000..edd43c7c03c7
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c
@@ -0,0 +1,1543 @@
+--- src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c.orig 2023-07-12 15:59:35 UTC
++++ src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c
+@@ -14,228 +14,1416 @@
+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+ */
+-
+-#include "vboxvfs.h"
+ #include <sys/param.h>
+ #include <sys/systm.h>
+ #include <sys/namei.h>
+ #include <sys/kernel.h>
+-#include <sys/proc.h>
++#include <sys/types.h>
++#include <sys/malloc.h>
++#include <sys/stat.h>
+ #include <sys/bio.h>
++#include <sys/conf.h>
+ #include <sys/buf.h>
+-#include <sys/fcntl.h>
++#include <sys/iconv.h>
+ #include <sys/mount.h>
+-#include <sys/unistd.h>
+ #include <sys/vnode.h>
+-#include <sys/limits.h>
+-#include <sys/lockf.h>
+-#include <sys/stat.h>
++#include <sys/dirent.h>
++#include <sys/queue.h>
++#include <sys/unistd.h>
++#include <sys/endian.h>
+
+-#include <vm/vm.h>
+-#include <vm/vm_extern.h>
++#include <vm/uma.h>
+
++#include "vboxvfs.h"
++
++#if __FreeBSD_version < 1300063
++#define VN_IS_DOOMED(vp) (((vp)->v_iflag & VI_DOOMED) != 0)
++#endif
++
+ /*
+ * Prototypes for VBOXVFS vnode operations
+ */
+-static vop_create_t vboxvfs_create;
+-static vop_mknod_t vboxvfs_mknod;
+-static vop_open_t vboxvfs_open;
+-static vop_close_t vboxvfs_close;
+-static vop_access_t vboxvfs_access;
+-static vop_getattr_t vboxvfs_getattr;
+-static vop_setattr_t vboxvfs_setattr;
+-static vop_read_t vboxvfs_read;
+-static vop_write_t vboxvfs_write;
+-static vop_fsync_t vboxvfs_fsync;
+-static vop_remove_t vboxvfs_remove;
+-static vop_link_t vboxvfs_link;
+-static vop_lookup_t vboxvfs_lookup;
+-static vop_rename_t vboxvfs_rename;
+-static vop_mkdir_t vboxvfs_mkdir;
+-static vop_rmdir_t vboxvfs_rmdir;
+-static vop_symlink_t vboxvfs_symlink;
+-static vop_readdir_t vboxvfs_readdir;
+-static vop_strategy_t vboxvfs_strategy;
+-static vop_print_t vboxvfs_print;
+-static vop_pathconf_t vboxvfs_pathconf;
+-static vop_advlock_t vboxvfs_advlock;
+-static vop_getextattr_t vboxvfs_getextattr;
+-static vop_ioctl_t vboxvfs_ioctl;
+-static vop_getpages_t vboxvfs_getpages;
+-static vop_inactive_t vboxvfs_inactive;
+-static vop_putpages_t vboxvfs_putpages;
+-static vop_reclaim_t vboxvfs_reclaim;
++static vop_create_t vboxfs_create;
++static vop_open_t vboxfs_open;
++static vop_close_t vboxfs_close;
++static vop_access_t vboxfs_access;
++static vop_getattr_t vboxfs_getattr;
++static vop_setattr_t vboxfs_setattr;
++static vop_read_t vboxfs_read;
++static vop_readlink_t vboxfs_readlink;
++static vop_write_t vboxfs_write;
++static vop_fsync_t vboxfs_fsync;
++static vop_remove_t vboxfs_remove;
++static vop_link_t vboxfs_link;
++static vop_lookup_t vboxfs_lookup;
++static vop_cachedlookup_t vboxfs_cachedlookup;
++static vop_rename_t vboxfs_rename;
++static vop_mkdir_t vboxfs_mkdir;
++static vop_rmdir_t vboxfs_rmdir;
++static vop_symlink_t vboxfs_symlink;
++static vop_readdir_t vboxfs_readdir;
++static vop_print_t vboxfs_print;
++static vop_pathconf_t vboxfs_pathconf;
++static vop_advlock_t vboxfs_advlock;
++static vop_ioctl_t vboxfs_ioctl;
++static vop_inactive_t vboxfs_inactive;
++static vop_reclaim_t vboxfs_reclaim;
++static vop_vptofh_t vboxfs_vptofh;
+
+-struct vop_vector vboxvfs_vnodeops = {
+- .vop_default = &default_vnodeops,
++struct vop_vector vboxfs_vnodeops = {
++ .vop_default = &default_vnodeops,
+
+- .vop_access = vboxvfs_access,
+- .vop_advlock = vboxvfs_advlock,
+- .vop_close = vboxvfs_close,
+- .vop_create = vboxvfs_create,
+- .vop_fsync = vboxvfs_fsync,
+- .vop_getattr = vboxvfs_getattr,
+- .vop_getextattr = vboxvfs_getextattr,
+- .vop_getpages = vboxvfs_getpages,
+- .vop_inactive = vboxvfs_inactive,
+- .vop_ioctl = vboxvfs_ioctl,
+- .vop_link = vboxvfs_link,
+- .vop_lookup = vboxvfs_lookup,
+- .vop_mkdir = vboxvfs_mkdir,
+- .vop_mknod = vboxvfs_mknod,
+- .vop_open = vboxvfs_open,
+- .vop_pathconf = vboxvfs_pathconf,
+- .vop_print = vboxvfs_print,
+- .vop_putpages = vboxvfs_putpages,
+- .vop_read = vboxvfs_read,
+- .vop_readdir = vboxvfs_readdir,
+- .vop_reclaim = vboxvfs_reclaim,
+- .vop_remove = vboxvfs_remove,
+- .vop_rename = vboxvfs_rename,
+- .vop_rmdir = vboxvfs_rmdir,
+- .vop_setattr = vboxvfs_setattr,
+- .vop_strategy = vboxvfs_strategy,
+- .vop_symlink = vboxvfs_symlink,
+- .vop_write = vboxvfs_write,
++ .vop_access = vboxfs_access,
++ .vop_advlock = VOP_EOPNOTSUPP,
++ .vop_close = vboxfs_close,
++ .vop_create = vboxfs_create,
++ .vop_fsync = vboxfs_fsync,
++ .vop_getattr = vboxfs_getattr,
++ .vop_getextattr = VOP_EOPNOTSUPP,
++ .vop_inactive = vboxfs_inactive,
++ .vop_ioctl = vboxfs_ioctl,
++ .vop_link = vboxfs_link,
++ .vop_lookup = vboxfs_lookup,
++ .vop_cachedlookup = vboxfs_cachedlookup,
++ .vop_mkdir = vboxfs_mkdir,
++ .vop_mknod = VOP_EOPNOTSUPP,
++ .vop_open = vboxfs_open,
++ .vop_pathconf = vboxfs_pathconf,
++ .vop_print = vboxfs_print,
++ .vop_read = vboxfs_read,
++ .vop_readdir = vboxfs_readdir,
++ .vop_readlink = vboxfs_readlink,
++ .vop_reclaim = vboxfs_reclaim,
++ .vop_remove = vboxfs_remove,
++ .vop_rename = vboxfs_rename,
++ .vop_rmdir = vboxfs_rmdir,
++ .vop_setattr = vboxfs_setattr,
++ .vop_vptofh = vboxfs_vptofh,
++ .vop_symlink = vboxfs_symlink,
++ .vop_write = vboxfs_write,
++ .vop_bmap = VOP_EOPNOTSUPP
+ };
++#if __FreeBSD_version > 1300068
++VFS_VOP_VECTOR_REGISTER(vboxfs_vnodeops);
++#endif
+
+-static int vboxvfs_access(struct vop_access_args *ap)
++static uint64_t
++vsfnode_cur_time_usec(void)
+ {
+- return 0;
++ struct timeval now;
++
++ getmicrotime(&now);
++
++ return (now.tv_sec*1000 + now.tv_usec);
+ }
+
+-static int vboxvfs_open(struct vop_open_args *ap)
++static int
++vsfnode_stat_cached(struct vboxfs_node *np)
+ {
+- return 0;
++ return (vsfnode_cur_time_usec() - np->sf_stat_time) <
++ np->vboxfsmp->sf_stat_ttl * 1000UL;
+ }
+
+-static int vboxvfs_close(struct vop_close_args *ap)
++static int
++vsfnode_update_stat_cache(struct vboxfs_node *np)
+ {
+- return 0;
++ int error;
++
++ error = sfprov_get_attr(np->vboxfsmp->sf_handle, np->sf_path,
++ &np->sf_stat);
++#if 0
++ if (error == ENOENT)
++ sfnode_make_stale(node);
++#endif
++ if (error == 0)
++ np->sf_stat_time = vsfnode_cur_time_usec();
++
++ return (error);
+ }
+
+-static int vboxvfs_getattr(struct vop_getattr_args *ap)
++/*
++ * Need to clear v_object for insmntque failure.
++ */
++static void
++vboxfs_insmntque_dtr(struct vnode *vp, void *dtr_arg)
+ {
+- return 0;
++
++ // XXX: vboxfs_destroy_vobject(vp, vp->v_object);
++ vp->v_object = NULL;
++ vp->v_data = NULL;
++ vp->v_op = &dead_vnodeops;
++ vgone(vp);
++ vput(vp);
+ }
+
+-static int vboxvfs_setattr(struct vop_setattr_args *ap)
++/*
++ * Allocates a new vnode for the node node or returns a new reference to
++ * an existing one if the node had already a vnode referencing it. The
++ * resulting locked vnode is returned in *vpp.
++ *
++ * Returns zero on success or an appropriate error code on failure.
++ */
++int
++vboxfs_alloc_vp(struct mount *mp, struct vboxfs_node *node, int lkflag,
++ struct vnode **vpp)
+ {
+- return 0;
++ struct vnode *vp;
++ int error;
++
++ error = 0;
++loop:
++ VBOXFS_NODE_LOCK(node);
++loop1:
++ if ((vp = node->sf_vnode) != NULL) {
++ MPASS((node->sf_vpstate & VBOXFS_VNODE_DOOMED) == 0);
++ VI_LOCK(vp);
++ if ((node->sf_type == VDIR && node->sf_parent == NULL) ||
++ (VN_IS_DOOMED(vp) &&
++ (lkflag & LK_NOWAIT) != 0)) {
++ VI_UNLOCK(vp);
++ VBOXFS_NODE_UNLOCK(node);
++ error = ENOENT;
++ vp = NULL;
++ goto out;
++ }
++ if (VN_IS_DOOMED(vp)) {
++ VI_UNLOCK(vp);
++ node->sf_vpstate |= VBOXFS_VNODE_WRECLAIM;
++ while ((node->sf_vpstate & VBOXFS_VNODE_WRECLAIM) != 0) {
++ msleep(&node->sf_vnode, VBOXFS_NODE_MTX(node),
++ 0, "vsfE", 0);
++ }
++ goto loop1;
++ }
++ VBOXFS_NODE_UNLOCK(node);
++#if __FreeBSD_version < 1300109
++ error = vget(vp, lkflag | LK_INTERLOCK, curthread);
++#else
++ error = vget(vp, lkflag | LK_INTERLOCK);
++#endif
++ if (error == ENOENT)
++ goto loop;
++ if (error != 0) {
++ vp = NULL;
++ goto out;
++ }
++
++ /*
++ * Make sure the vnode is still there after
++ * getting the interlock to avoid racing a free.
++ */
++ if (node->sf_vnode == NULL || node->sf_vnode != vp) {
++ vput(vp);
++ goto loop;
++ }
++
++ goto out;
++ }
++
++ if ((node->sf_vpstate & VBOXFS_VNODE_DOOMED) ||
++ (node->sf_type == VDIR && node->sf_parent == NULL)) {
++ VBOXFS_NODE_UNLOCK(node);
++ error = ENOENT;
++ vp = NULL;
++ goto out;
++ }
++
++ /*
++ * otherwise lock the vp list while we call getnewvnode
++ * since that can block.
++ */
++ if (node->sf_vpstate & VBOXFS_VNODE_ALLOCATING) {
++ node->sf_vpstate |= VBOXFS_VNODE_WANT;
++ error = msleep((caddr_t) &node->sf_vpstate,
++ VBOXFS_NODE_MTX(node), PDROP | PCATCH,
++ "vboxfs_alloc_vp", 0);
++ if (error)
++ return error;
++
++ goto loop;
++ } else
++ node->sf_vpstate |= VBOXFS_VNODE_ALLOCATING;
++
++ VBOXFS_NODE_UNLOCK(node);
++
++ /* Get a new vnode and associate it with our node. */
++ error = getnewvnode("vboxfs", mp, &vboxfs_vnodeops, &vp);
++ if (error != 0)
++ goto unlock;
++ MPASS(vp != NULL);
++
++ /* lkflag is ignored, the lock is exclusive */
++ (void) vn_lock(vp, lkflag | LK_RETRY);
++
++ vp->v_data = node;
++ vp->v_type = node->sf_type;
++
++ /* Type-specific initialization. */
++ switch (node->sf_type) {
++ case VBLK:
++ /* FALLTHROUGH */
++ case VCHR:
++ /* FALLTHROUGH */
++ case VLNK:
++ /* FALLTHROUGH */
++ case VSOCK:
++ /* FALLTHROUGH */
++ case VFIFO:
++ /* FALLTHROUGH */
++ case VREG:
++ break;
++ case VDIR:
++ MPASS(node->sf_parent != NULL);
++ if (node->sf_parent == node)
++ vp->v_vflag |= VV_ROOT;
++ break;
++
++ default:
++ panic("vboxfs_alloc_vp: type %p %d", node, (int)node->sf_type);
++ }
++
++ if (vp->v_type != VFIFO)
++ VN_LOCK_ASHARE(vp);
++
++#if __FreeBSD_version < 1400051
++ error = insmntque1(vp, mp, vboxfs_insmntque_dtr, NULL);
++#else
++ error = insmntque(vp, mp);
++#endif
++ if (error) {
++#if __FreeBSD_version >= 1400051
++ vboxfs_insmntque_dtr(vp, NULL);
++#endif
++ vp = NULL;
++ }
++
++unlock:
++ VBOXFS_NODE_LOCK(node);
++
++ MPASS(node->sf_vpstate & VBOXFS_VNODE_ALLOCATING);
++ node->sf_vpstate &= ~VBOXFS_VNODE_ALLOCATING;
++ node->sf_vnode = vp;
++
++ if (node->sf_vpstate & VBOXFS_VNODE_WANT) {
++ node->sf_vpstate &= ~VBOXFS_VNODE_WANT;
++ VBOXFS_NODE_UNLOCK(node);
++ wakeup((caddr_t) &node->sf_vpstate);
++ } else
++ VBOXFS_NODE_UNLOCK(node);
++
++out:
++ *vpp = vp;
++
++#ifdef INVARIANTS
++ if (error == 0) {
++ MPASS(*vpp != NULL && VOP_ISLOCKED(*vpp));
++ VBOXFS_NODE_LOCK(node);
++ MPASS(*vpp == node->sf_vnode);
++ VBOXFS_NODE_UNLOCK(node);
++ }
++#endif
++
++ return error;
+ }
+
+-static int vboxvfs_read(struct vop_read_args *ap)
++/*
++ * Destroys the association between the vnode vp and the node it
++ * references.
++ */
++void
++vboxfs_free_vp(struct vnode *vp)
+ {
+- return 0;
++ struct vboxfs_node *node;
++
++ node = VP_TO_VBOXFS_NODE(vp);
++
++ VBOXFS_NODE_ASSERT_LOCKED(node);
++ node->sf_vnode = NULL;
++ if ((node->sf_vpstate & VBOXFS_VNODE_WRECLAIM) != 0)
++ wakeup(&node->sf_vnode);
++ node->sf_vpstate &= ~VBOXFS_VNODE_WRECLAIM;
++ vp->v_data = NULL;
+ }
+
+-static int vboxvfs_write(struct vop_write_args *ap)
++/*
++ * Allocate new vboxfs_node and vnode for given file
++ */
++static int
++vboxfs_alloc_file(struct vboxfs_mnt *vboxfsmp, const char *fullpath,
++ enum_vtype_t type, mode_t mode, struct vboxfs_node *parent,
++ int lkflag, struct vnode **vpp)
+ {
+- return 0;
++ int error;
++ struct vboxfs_node *unode;
++
++ error = vboxfs_alloc_node(vboxfsmp->sf_vfsp, vboxfsmp, fullpath, type,
++ vboxfsmp->sf_uid, vboxfsmp->sf_gid, mode, parent, &unode);
++
++ if (error)
++ goto out;
++
++ error = vboxfs_alloc_vp(vboxfsmp->sf_vfsp, unode, lkflag, vpp);
++ if (error)
++ vboxfs_free_node(vboxfsmp, unode);
++
++out:
++ return (error);
+ }
+
+-static int vboxvfs_create(struct vop_create_args *ap)
++static int
++vboxfs_vn_get_ino_alloc(struct mount *mp, void *arg, int lkflags,
++ struct vnode **rvp)
+ {
+- return 0;
++
++ return (vboxfs_alloc_vp(mp, arg, lkflags, rvp));
+ }
+
+-static int vboxvfs_remove(struct vop_remove_args *ap)
++/*
++ * Construct a new pathname given an sfnode plus an optional tail
++ * component of length len
++ * This handles ".." and "."
++ */
++static char *
++sfnode_construct_path(struct vboxfs_node *node, char *tail, int len)
+ {
+- return 0;
++ char *p;
++ size_t dstsz;
++
++ if (len <= 2 && tail[0] == '.' && (len == 1 || tail[1] == '.'))
++ panic("construct path for %s", tail);
++ dstsz = strlen(node->sf_path) + 1 + len + 1;
++ p = malloc(dstsz, M_VBOXVFS, M_WAITOK);
++ strcpy(p, node->sf_path);
++ strcat(p, "/");
++ strlcat(p, tail, dstsz);
++ return (p);
+ }
+
+-static int vboxvfs_rename(struct vop_rename_args *ap)
++static int
++vboxfs_access(struct vop_access_args *ap)
+ {
+- return 0;
++ struct vnode *vp = ap->a_vp;
++ accmode_t accmode = ap->a_accmode;
++ struct vboxfs_node *node;
++ int error;
++ mode_t m;
++
++ MPASS(VOP_ISLOCKED(vp));
++
++ node = VP_TO_VBOXFS_NODE(vp);
++
++ if ((accmode & VWRITE) && (vp->v_mount->mnt_flag & MNT_RDONLY)) {
++ switch (vp->v_type) {
++ case VDIR:
++ case VLNK:
++ case VREG:
++ return (EROFS);
++ /* NOT REACHED */
++ default:
++ break;
++ }
++ }
++
++ if (vsfnode_stat_cached(node))
++ error = 0;
++ else
++ error = vsfnode_update_stat_cache(node);
++ m = (error == 0) ? node->sf_stat.sf_mode : 0;
++
++#if __FreeBSD_version < 1300105
++ return (vaccess(vp->v_type, m, node->vboxfsmp->sf_uid,
++ node->vboxfsmp->sf_gid, accmode, ap->a_cred, NULL));
++#else
++ return (vaccess(vp->v_type, m, node->vboxfsmp->sf_uid,
++ node->vboxfsmp->sf_gid, accmode, ap->a_cred));
++#endif
+ }
+
+-static int vboxvfs_link(struct vop_link_args *ap)
++/*
++ * Clears the (cached) directory listing for the node.
++ */
++static void
++vfsnode_clear_dir_list(struct vboxfs_node *np)
+ {
+- return EOPNOTSUPP;
++ while (np->sf_dir_list != NULL) {
++ sffs_dirents_t *next = np->sf_dir_list->sf_next;
++ free(np->sf_dir_list, M_VBOXVFS);
++ np->sf_dir_list = next;
++ }
+ }
+
+-static int vboxvfs_symlink(struct vop_symlink_args *ap)
++static int
++vboxfs_get_sfp_file(struct vboxfs_node *np)
+ {
+- return EOPNOTSUPP;
++ sfp_file_t *fp;
++ int error;
++
++ fp = NULL;
++ VBOXFS_NODE_LOCK(np);
++ for (;;) {
++ if (np->sf_file != NULL) {
++ if (fp != NULL)
++ (void) sfprov_close(fp);
++ np->sf_opencnt++;
++ fp = np->sf_file;
++ break;
++ } else if (fp != NULL) {
++ np->sf_file = fp;
++ KASSERT(np->sf_opencnt == 0,
++ ("np %p opencnt (%d) must be zero.",
++ np, np->sf_opencnt));
++ np->sf_opencnt = 1;
++ break;
++ }
++ VBOXFS_NODE_UNLOCK(np);
++ error = sfprov_open(np->vboxfsmp->sf_handle, np->sf_path, &fp);
++ if (error != 0)
++ return (error);
++ VBOXFS_NODE_LOCK(np);
++ }
++ VBOXFS_NODE_UNLOCK(np);
++
++ return (0);
+ }
+
+-static int vboxvfs_mknod(struct vop_mknod_args *ap)
++static void
++vboxfs_put_sfp_file(struct vboxfs_node *np)
+ {
+- return EOPNOTSUPP;
++ VBOXFS_NODE_LOCK(np);
++ np->sf_opencnt--;
++ if (np->sf_opencnt == 0) {
++ (void) sfprov_close(np->sf_file);
++ np->sf_file = NULL;
++ }
++ VBOXFS_NODE_UNLOCK(np);
+ }
+
+-static int vboxvfs_mkdir(struct vop_mkdir_args *ap)
++static int
++vboxfs_open(struct vop_open_args *ap)
+ {
+- return 0;
++ struct vboxfs_node *np;
++ int error;
++
++ MPASS(VOP_ISLOCKED(vp));
++
++ np = VP_TO_VBOXFS_NODE(ap->a_vp);
++ error = vboxfs_get_sfp_file(np);
++ if (error != 0)
++ goto out;
++
++ vnode_create_vobject(ap->a_vp, 0, ap->a_td);
++out:
++ MPASS(VOP_ISLOCKED(vp));
++
++ return (error);
+ }
+
+-static int vboxvfs_rmdir(struct vop_rmdir_args *ap)
++static void
++vfsnode_invalidate_stat_cache(struct vboxfs_node *np)
+ {
+- return 0;
++ np->sf_stat_time = 0;
+ }
+
+-static int vboxvfs_readdir(struct vop_readdir_args *ap)
++static int
++vboxfs_close(struct vop_close_args *ap)
+ {
+- return 0;
++ struct vnode *vp = ap->a_vp;
++ struct vboxfs_node *np;
++
++ np = VP_TO_VBOXFS_NODE(vp);
++
++ /*
++ * Free the directory entries for the node. We do this on this call
++ * here because the directory node may not become inactive for a long
++ * time after the readdir is over. Case in point, if somebody cd's into
++ * the directory then it won't become inactive until they cd away again.
++ * In such a case we would end up with the directory listing not getting
++ * updated (i.e. the result of 'ls' always being the same) until they
++ * change the working directory.
++ */
++ vfsnode_clear_dir_list(np);
++
++ vfsnode_invalidate_stat_cache(np);
++
++ vboxfs_put_sfp_file(np);
++
++ return (0);
+ }
+
+-static int vboxvfs_fsync(struct vop_fsync_args *ap)
++static int
++vboxfs_getattr(struct vop_getattr_args *ap)
+ {
+- return 0;
++ struct vnode *vp = ap->a_vp;
++ struct vattr *vap = ap->a_vap;
++ struct vboxfs_node *np = VP_TO_VBOXFS_NODE(vp);
++ struct vboxfs_mnt *mp = np->vboxfsmp;
++ mode_t mode;
++ int error = 0;
++
++ mode = 0;
++ vap->va_type = vp->v_type;
++
++ vap->va_nlink = 1; /* number of references to file */
++ vap->va_uid = mp->sf_uid; /* owner user id */
++ vap->va_gid = mp->sf_gid; /* owner group id */
++ vap->va_rdev = NODEV; /* device the special file represents */
++ vap->va_gen = VNOVAL; /* generation number of file */
++ vap->va_flags = 0; /* flags defined for file */
++ vap->va_filerev = 0; /* file modification number */
++ vap->va_vaflags = 0; /* operations flags */
++ vap->va_fileid = np->sf_ino; /* file id */
++ vap->va_fsid = vp->v_mount->mnt_stat.f_fsid.val[0];
++ if (vap->va_fileid == 0)
++ vap->va_fileid = 2;
++
++ vap->va_atime.tv_sec = VNOVAL;
++ vap->va_atime.tv_nsec = VNOVAL;
++ vap->va_mtime.tv_sec = VNOVAL;
++ vap->va_mtime.tv_nsec = VNOVAL;
++ vap->va_ctime.tv_sec = VNOVAL;
++ vap->va_ctime.tv_nsec = VNOVAL;
++
++ if (!vsfnode_stat_cached(np)) {
++ error = vsfnode_update_stat_cache(np);
++ if (error != 0)
++ goto done;
++ }
++
++ vap->va_atime = np->sf_stat.sf_atime;
++ vap->va_mtime = np->sf_stat.sf_mtime;
++ vap->va_ctime = np->sf_stat.sf_ctime;
++
++ mode = np->sf_stat.sf_mode;
++
++ vap->va_mode = mode;
++ if (S_ISDIR(mode)) {
++ vap->va_type = VDIR; /* vnode type (for create) */
++ vap->va_mode = mp->sf_dmode != 0 ? (mp->sf_dmode & 0777) : vap->va_mode;
++ vap->va_mode &= ~mp->sf_dmask;
++ vap->va_mode |= S_IFDIR;
++ } else if (S_ISREG(mode)) {
++ vap->va_type = VREG;
++ vap->va_mode = mp->sf_fmode != 0 ? (mp->sf_fmode & 0777) : vap->va_mode;
++ vap->va_mode &= ~mp->sf_fmask;
++ vap->va_mode |= S_IFREG;
++ } else if (S_ISFIFO(mode))
++ vap->va_type = VFIFO;
++ else if (S_ISCHR(mode))
++ vap->va_type = VCHR;
++ else if (S_ISBLK(mode))
++ vap->va_type = VBLK;
++ else if (S_ISLNK(mode)) {
++ vap->va_type = VLNK;
++ vap->va_mode = mp->sf_fmode != 0 ? (mp->sf_fmode & 0777) : vap->va_mode;
++ vap->va_mode &= ~mp->sf_fmask;
++ vap->va_mode |= S_IFLNK;
++ } else if (S_ISSOCK(mode))
++ vap->va_type = VSOCK;
++
++ vap->va_size = np->sf_stat.sf_size;
++ vap->va_blocksize = 512;
++ /* bytes of disk space held by file */
++ vap->va_bytes = (np->sf_stat.sf_alloc + 511) / 512;
++
++done:
++ return (error);
+ }
+
+-static int vboxvfs_print (struct vop_print_args *ap)
++static int
++vboxfs_setattr(struct vop_setattr_args *ap)
+ {
+- return 0;
++ struct vnode *vp = ap->a_vp;
++ struct vattr *vap = ap->a_vap;
++ struct vboxfs_node *np = VP_TO_VBOXFS_NODE(vp);
++ int error;
++ mode_t mode;
++
++ mode = vap->va_mode;
++ if (vp->v_type == VREG)
++ mode |= S_IFREG;
++ else if (vp->v_type == VDIR)
++ mode |= S_IFDIR;
++ else if (vp->v_type == VBLK)
++ mode |= S_IFBLK;
++ else if (vp->v_type == VCHR)
++ mode |= S_IFCHR;
++ else if (vp->v_type == VLNK)
++ mode |= S_IFLNK;
++ else if (vp->v_type == VFIFO)
++ mode |= S_IFIFO;
++ else if (vp->v_type == VSOCK)
++ mode |= S_IFSOCK;
++
++ vfsnode_invalidate_stat_cache(np);
++
++ error = sfprov_set_attr(np->vboxfsmp->sf_handle, np->sf_path,
++ mode, vap->va_atime, vap->va_mtime, vap->va_ctime);
++#if 0
++ if (error == ENOENT)
++ sfnode_make_stale(np);
++#endif
++ if (vap->va_size != (u_quad_t)VNOVAL) {
++ switch (vp->v_type) {
++ case VDIR:
++ return (EISDIR);
++ case VLNK:
++ /* FALLTHROUGH */
++ case VREG:
++ error = sfprov_set_size(np->vboxfsmp->sf_handle, np->sf_path, vap->va_size);
++ break;
++ case VCHR:
++ /* FALLTHROUGH */
++ case VBLK:
++ /* FALLTHROUGH */
++ case VSOCK:
++ /* FALLTHROUGH */
++ case VFIFO:
++ /* FALLTHROUGH */
++ case VNON:
++ /* FALLTHROUGH */
++ case VBAD:
++ /* FALLTHROUGH */
++ case VMARKER:
++ return (0);
++ }
++ }
++
++ return (error);
+ }
+
+-static int vboxvfs_pathconf (struct vop_pathconf_args *ap)
++#define blkoff(vboxfsmp, loc) ((loc) & (vboxfsmp)->bmask)
++
++static int
++vboxfs_read(struct vop_read_args *ap)
+ {
+- return 0;
++ struct vnode *vp = ap->a_vp;
++ struct uio *uio = ap->a_uio;
++ struct vboxfs_node *np = VP_TO_VBOXFS_NODE(vp);
++ int error = 0;
++ uint32_t bytes;
++ uint32_t done;
++ unsigned long offset;
++ ssize_t total;
++ void *tmpbuf;
++
++ if (vp->v_type == VDIR)
++ return (EISDIR);
++
++ if (vp->v_type != VREG)
++ return (EINVAL);
++
++ if (uio->uio_offset < 0)
++ return (EINVAL);
++
++ total = uio->uio_resid;
++ if (total == 0)
++ return (0);
++
++ /*
++ * XXXGONZO: this is just to get things working
++ * should be optimized
++ */
++ tmpbuf = contigmalloc(PAGE_SIZE, M_DEVBUF, M_WAITOK, 0, ~0, PAGE_SIZE, 0);
++ if (tmpbuf == 0)
++ return (ENOMEM);
++
++ /*
++ * XXX VOP_READ() is called without VOP_OPEN() on exec case.
++ * We need to ensure the file is opened here.
++ */
++ error = vboxfs_get_sfp_file(np);
++ if (error != 0) /* Maybe removed on the host. */
++ return (EIO);
++ do {
++ offset = uio->uio_offset;
++ done = bytes = min(PAGE_SIZE, uio->uio_resid);
++ error = sfprov_read(np->sf_file, tmpbuf,
++ offset, &done, 0);
++ if (error == 0 && done > 0)
++ error = uiomove(tmpbuf, done, uio);
++ } while (error == 0 && uio->uio_resid > 0 && done > 0);
++ vboxfs_put_sfp_file(np);
++
++ contigfree(tmpbuf, PAGE_SIZE, M_DEVBUF);
++
++ /* a partial read is never an error */
++ if (total != uio->uio_resid)
++ error = 0;
++
++ return (error);
+ }
+
+-static int vboxvfs_strategy (struct vop_strategy_args *ap)
++static int
++vboxfs_write(struct vop_write_args *ap)
+ {
+- return 0;
++ struct vnode *vp = ap->a_vp;
++ struct uio *uio = ap->a_uio;
++ struct vboxfs_node *np = VP_TO_VBOXFS_NODE(vp);
++ int error = 0;
++ uint32_t bytes;
++ uint32_t done;
++ unsigned long offset;
++ ssize_t total;
++ void *tmpbuf;
++
++ if (vp->v_type == VDIR)
++ return (EISDIR);
++
++ if (vp->v_type != VREG)
++ return (EINVAL);
++
++ if (uio->uio_offset < 0)
++ return (EINVAL);
++
++ total = uio->uio_resid;
++ if (total == 0)
++ return (0);
++
++ /*
++ * XXXGONZO: this is just to get things working
++ * should be optimized
++ */
++ tmpbuf = contigmalloc(PAGE_SIZE, M_DEVBUF, M_WAITOK, 0, ~0, PAGE_SIZE, 0);
++ if (tmpbuf == 0)
++ return (ENOMEM);
++
++ do {
++ offset = uio->uio_offset;
++ bytes = min(PAGE_SIZE, uio->uio_resid);
++ error = uiomove(tmpbuf, bytes, uio);
++ if (error != 0)
++ break;
++ done = bytes;
++ error = sfprov_write(np->sf_file, tmpbuf,
++ offset, &done, 0);
++ if (error != 0)
++ break;
++ total -= done;
++ if (done != bytes)
++ uio->uio_resid += bytes - done;
++ } while (error == 0 && uio->uio_resid > 0 && done > 0);
++
++ contigfree(tmpbuf, PAGE_SIZE, M_DEVBUF);
++
++ /* a partial write is never an error */
++ if (total != uio->uio_resid)
++ error = 0;
++
++ return (error);
+ }
+
+-static int vboxvfs_ioctl(struct vop_ioctl_args *ap)
++static int
++vboxfs_create(struct vop_create_args *ap)
+ {
+- return ENOTTY;
++ struct vnode *dvp = ap->a_dvp;
++ struct vnode **vpp = ap->a_vpp;
++ struct componentname *cnp = ap->a_cnp;
++ struct vattr *vap = ap->a_vap;
++ sffs_stat_t stat;
++ char *fullpath = NULL;
++ struct vboxfs_node *dir = VP_TO_VBOXFS_NODE(dvp);
++ int error;
++ struct vboxfs_mnt *vboxfsmp = dir->vboxfsmp;
++
++ MPASS(vap->va_type == VREG);
++
++ fullpath = sfnode_construct_path(dir, cnp->cn_nameptr, cnp->cn_namelen);
++ error = sfprov_create(dir->vboxfsmp->sf_handle, fullpath, vap->va_mode,
++ &stat);
++
++ if (error)
++ goto out;
++
++ error = vboxfs_alloc_file(vboxfsmp, fullpath, VREG, vap->va_mode, dir, cnp->cn_lkflags, vpp);
++
++out:
++ if (fullpath)
++ free(fullpath, M_VBOXVFS);
++
++ if (error == 0) {
++ vfsnode_clear_dir_list(dir);
++ if ((cnp->cn_flags & MAKEENTRY) != 0)
++ cache_enter(dvp, *vpp, cnp);
++ }
++
++ return (error);
+ }
+
+-static int vboxvfs_getextattr(struct vop_getextattr_args *ap)
++static int
++vboxfs_remove(struct vop_remove_args *ap)
+ {
+- return 0;
++ struct vnode *dvp = ap->a_dvp;
++ struct vnode *vp = ap->a_vp;
++ struct vboxfs_node *np, *dir;
++
++ int error;
++
++ MPASS(VOP_ISLOCKED(dvp));
++ MPASS(VOP_ISLOCKED(vp));
++
++ error = 0;
++
++ np = VP_TO_VBOXFS_NODE(vp);
++ dir = VP_TO_VBOXFS_NODE(vp);
++
++ error = sfprov_remove(np->vboxfsmp->sf_handle, np->sf_path,
++ np->sf_type == VLNK);
++
++#if 0
++ if (error == ENOENT || error == 0)
++ sfnode_make_stale(np);
++#endif
++
++ if (error == 0)
++ vfsnode_clear_dir_list(dir);
++
++out:
++ return (error);
+ }
+
+-static int vboxvfs_advlock(struct vop_advlock_args *ap)
++static int
++vboxfs_rename(struct vop_rename_args *ap)
+ {
+- return 0;
++ struct vnode *fvp;
++ struct vnode *fdvp;
++ struct vnode *tvp;
++ struct vnode *tdvp;
++ struct componentname *fcnp;
++ struct componentname *tcnp;
++ struct vboxfs_node *np;
++ int ret;
++
++ fvp = ap->a_fvp;
++ fdvp = ap->a_fdvp;
++ tvp = ap->a_tvp;
++ tdvp = ap->a_tdvp;
++ fcnp = ap->a_fcnp;
++ tcnp = ap->a_tcnp;
++
++ /* Check for cross-device rename */
++ if ((fvp->v_mount != tdvp->v_mount) ||
++ (tvp && (fvp->v_mount != tvp->v_mount))) {
++ ret = EXDEV;
++ goto out;
++ }
++ np = VP_TO_VBOXFS_NODE(fvp);
++ if (np == NULL)
++ return (0);
++ ret = sfprov_rename(np->vboxfsmp->sf_handle,
++ fcnp->cn_nameptr, tcnp->cn_nameptr, fvp->v_type == VDIR);
++out:
++ if (tdvp == tvp)
++ vrele(tdvp);
++ else
++ vput(tdvp);
++ if (tvp)
++ vput(tvp);
++ vrele(fdvp);
++ vrele(fvp);
++ return (ret);
+ }
+
+-static int vboxvfs_lookup(struct vop_lookup_args *ap)
++static int
++vboxfs_link(struct vop_link_args *ap)
+ {
+- return 0;
++ return (EOPNOTSUPP);
+ }
+
+-static int vboxvfs_inactive(struct vop_inactive_args *ap)
++static int
++vboxfs_symlink(struct vop_symlink_args *ap)
+ {
+- return 0;
++ struct vnode *dvp = ap->a_dvp;
++ struct vnode **vpp = ap->a_vpp;
++ struct componentname *cnp = ap->a_cnp;
++ struct vattr *vap = ap->a_vap;
++ sffs_stat_t stat;
++ char *fullpath = NULL;
++ struct vboxfs_node *dir = VP_TO_VBOXFS_NODE(dvp);
++ int error;
++ struct vboxfs_mnt *vboxfsmp = dir->vboxfsmp;
++
++ MPASS(vap->va_type == VLNK);
++
++ fullpath = sfnode_construct_path(dir, cnp->cn_nameptr, cnp->cn_namelen);
++ error = sfprov_symlink(dir->vboxfsmp->sf_handle, fullpath, ap->a_target, &stat);
++
++ if (error)
++ goto out;
++
++ error = vboxfs_alloc_file(vboxfsmp, fullpath, VLNK, vap->va_mode, dir, cnp->cn_lkflags, vpp);
++
++out:
++ if (fullpath)
++ free(fullpath, M_VBOXVFS);
++
++ if (error == 0)
++ vfsnode_clear_dir_list(dir);
++
++ return (error);
+ }
+
+-static int vboxvfs_reclaim(struct vop_reclaim_args *ap)
++static int
++vboxfs_mkdir(struct vop_mkdir_args *ap)
+ {
+- return 0;
++ struct vnode *dvp = ap->a_dvp;
++ struct vnode **vpp = ap->a_vpp;
++ struct componentname *cnp = ap->a_cnp;
++ struct vattr *vap = ap->a_vap;
++ sffs_stat_t stat;
++ char *fullpath = NULL;
++ struct vboxfs_node *dir = VP_TO_VBOXFS_NODE(dvp);
++ int error;
++ struct vboxfs_mnt *vboxfsmp = dir->vboxfsmp;
++
++ MPASS(vap->va_type == VDIR);
++
++ fullpath = sfnode_construct_path(dir, cnp->cn_nameptr, cnp->cn_namelen);
++ error = sfprov_mkdir(dir->vboxfsmp->sf_handle, fullpath, vap->va_mode,
++ &stat);
++
++ if (error)
++ goto out;
++
++ error = vboxfs_alloc_file(vboxfsmp, fullpath, VDIR, vap->va_mode, dir, cnp->cn_lkflags, vpp);
++
++out:
++ if (fullpath)
++ free(fullpath, M_VBOXVFS);
++
++ if (error == 0)
++ vfsnode_clear_dir_list(dir);
++
++ return (error);
+ }
+
+-static int vboxvfs_getpages(struct vop_getpages_args *ap)
++static int
++vboxfs_rmdir(struct vop_rmdir_args *ap)
+ {
+- return 0;
++ struct vnode *dvp = ap->a_dvp;
++ struct vnode *vp = ap->a_vp;
++ struct vboxfs_node *np, *dir;
++
++ int error;
++
++ MPASS(VOP_ISLOCKED(dvp));
++ MPASS(VOP_ISLOCKED(vp));
++
++ error = 0;
++
++ np = VP_TO_VBOXFS_NODE(vp);
++ dir = VP_TO_VBOXFS_NODE(vp);
++
++ error = sfprov_rmdir(np->vboxfsmp->sf_handle, np->sf_path);
++
++#if 0
++ if (error == ENOENT || error == 0)
++ sfnode_make_stale(np);
++#endif
++
++ if (error == 0)
++ vfsnode_clear_dir_list(dir);
++
++out:
++ return (error);
+ }
+
+-static int vboxvfs_putpages(struct vop_putpages_args *ap)
++static int
++vboxfs_readdir(struct vop_readdir_args *ap)
+ {
+- return 0;
++ int *eofp = ap->a_eofflag;
++ struct vnode *vp = ap->a_vp;
++ struct uio *uio = ap->a_uio;
++ struct vboxfs_node *dir = VP_TO_VBOXFS_NODE(vp);
++ struct vboxfs_node *node = NULL;
++ struct sffs_dirent *dirent = NULL;
++ sffs_dirents_t *cur_buf;
++ off_t offset = 0;
++ off_t orig_off = uio->uio_offset;
++ int error = 0;
++ int dummy_eof;
++
++ if (vp->v_type != VDIR)
++ return (ENOTDIR);
++
++ if (eofp == NULL)
++ eofp = &dummy_eof;
++ *eofp = 0;
++
++ /*
++ * Get the directory entry names from the host. This gets all
++ * entries. These are stored in a linked list of sffs_dirents_t
++ * buffers, each of which contains a list of dirent64_t's.
++ */
++ if (dir->sf_dir_list == NULL) {
++ error = sfprov_readdir(dir->vboxfsmp->sf_handle, dir->sf_path,
++ &dir->sf_dir_list);
++ if (error != 0)
++ goto done;
++ }
++
++ /*
++ * Validate and skip to the desired offset.
++ */
++ cur_buf = dir->sf_dir_list;
++ offset = 0;
++
++ while (cur_buf != NULL && offset + cur_buf->sf_len <= uio->uio_offset) {
++ offset += cur_buf->sf_len;
++ cur_buf = cur_buf->sf_next;
++ }
++
++ if (cur_buf == NULL && offset != uio->uio_offset) {
++ error = EINVAL;
++ goto done;
++ }
++
++ if (cur_buf != NULL && offset != uio->uio_offset) {
++ off_t off = offset;
++ int step;
++ dirent = &cur_buf->sf_entries[0];
++
++ while (off < uio->uio_offset) {
++ if (dirent->sf_off == uio->uio_offset)
++ break;
++ step = sizeof(struct sffs_dirent) + dirent->sf_entry.d_reclen;
++ dirent = (struct sffs_dirent *) (((char *) dirent) + step);
++ off += step;
++ }
++
++ if (off >= uio->uio_offset) {
++ error = EINVAL;
++ goto done;
++ }
++ }
++
++ offset = uio->uio_offset - offset;
++
++ /*
++ * Lookup each of the names, so that we have ino's, and copy to
++ * result buffer.
++ */
++ while (cur_buf != NULL) {
++ if (offset >= cur_buf->sf_len) {
++ cur_buf = cur_buf->sf_next;
++ offset = 0;
++ continue;
++ }
++
++ dirent = (struct sffs_dirent *)
++ (((char *) &cur_buf->sf_entries[0]) + offset);
++ if (dirent->sf_entry.d_reclen > uio->uio_resid)
++ break;
++
++ if (strcmp(dirent->sf_entry.d_name, ".") == 0) {
++ node = dir;
++ } else if (strcmp(dirent->sf_entry.d_name, "..") == 0) {
++ node = dir->sf_parent;
++ if (node == NULL)
++ node = dir;
++ } else {
++#if 0
++ node = vsfnode_lookup(dir, dirent->sf_entry.d_name, VNON,
++ 0, &dirent->sf_stat, vsfnode_cur_time_usec(), NULL);
++ if (node == NULL)
++ panic("sffs_readdir() lookup failed");
++#endif
++ }
++
++ if (node)
++ dirent->sf_entry.d_fileno = node->sf_ino;
++ else
++ dirent->sf_entry.d_fileno = 0xdeadbeef;
++
++ error = uiomove(&dirent->sf_entry, dirent->sf_entry.d_reclen, uio);
++ if (error != 0)
++ break;
++
++ uio->uio_offset = dirent->sf_off;
++ offset += sizeof(struct sffs_dirent) + dirent->sf_entry.d_reclen;
++ }
++
++ if (error == 0 && cur_buf == NULL)
++ *eofp = 1;
++done:
++ if (error != 0)
++ uio->uio_offset = orig_off;
++ return (error);
+ }
+
++static int
++vboxfs_readlink(struct vop_readlink_args *v)
++{
++ struct vnode *vp = v->a_vp;
++ struct uio *uio = v->a_uio;
++
++ int error;
++ struct vboxfs_node *np;
++ void *tmpbuf;
++
++ MPASS(uio->uio_offset == 0);
++ MPASS(vp->v_type == VLNK);
++
++ np = VP_TO_VBOXFS_NODE(vp);
++
++ tmpbuf = contigmalloc(MAXPATHLEN, M_DEVBUF, M_WAITOK, 0, ~0, 1, 0);
++ if (tmpbuf == NULL)
++ return (ENOMEM);
++
++ error = sfprov_readlink(np->vboxfsmp->sf_handle, np->sf_path, tmpbuf,
++ MAXPATHLEN);
++ if (error)
++ goto done;
++
++ error = uiomove(tmpbuf, strlen(tmpbuf), uio);
++
++done:
++ if (tmpbuf)
++ contigfree(tmpbuf, MAXPATHLEN, M_DEVBUF);
++ return (error);
++}
++
++static int
++vboxfs_fsync(struct vop_fsync_args *ap)
++{
++ struct vnode *vp;
++ struct vboxfs_node *np;
++ int ret;
++
++ vp = ap->a_vp;
++ np = VP_TO_VBOXFS_NODE(vp);
++ if (np == NULL)
++ return (0);
++ ret = sfprov_fsync(np->sf_file);
++ return (ret);
++}
++
++static int
++vboxfs_print(struct vop_print_args *ap)
++{
++ struct vnode *vp = ap->a_vp;
++ struct vboxfs_node *np;
++
++ np = VP_TO_VBOXFS_NODE(vp);
++
++ if (np == NULL) {
++ printf("No vboxfs_node data\n");
++ return (0);
++ }
++
++ printf("\tpath = %s, parent = %p", np->sf_path,
++ np->sf_parent ? np->sf_parent : NULL);
++ printf("\n");
++ return (0);
++}
++
++static int
++vboxfs_pathconf(struct vop_pathconf_args *ap)
++{
++ register_t *retval = ap->a_retval;
++ int error = 0;
++
++ switch (ap->a_name) {
++ case _PC_LINK_MAX:
++ *retval = 65535;
++ break;
++ case _PC_NAME_MAX:
++ *retval = NAME_MAX;
++ break;
++ case _PC_PATH_MAX:
++ *retval = PATH_MAX;
++ break;
++ default:
++ error = EINVAL;
++ break;
++ }
++ return (error);
++}
++
++/*
++ * File specific ioctls.
++ */
++static int
++vboxfs_ioctl(struct vop_ioctl_args *ap)
++{
++ return (ENOTTY);
++}
++
++/*
++ * Lookup an entry in a directory and create a new vnode if found.
++ */
++static int
++vboxfs_lookup1(struct vnode *dvp, struct vnode **vpp,
++ struct componentname *cnp)
++{
++ char *nameptr = cnp->cn_nameptr; /* the name of the file or directory */
++ struct vnode *tdp = NULL;
++ struct vboxfs_node *node = VP_TO_VBOXFS_NODE(dvp);
++ struct vboxfs_mnt *vboxfsmp = node->vboxfsmp;
++ u_long nameiop = cnp->cn_nameiop;
++ u_long flags = cnp->cn_flags;
++ sffs_stat_t stat;
++ //long namelen;
++ ino_t id = 0;
++ int ltype, type, error = 0;
++ int lkflags = cnp->cn_lkflags;
++ char *fullpath = NULL;
++
++ *vpp = NULLVP;
++ error = ENOENT;
++ if (cnp->cn_flags & ISDOTDOT) {
++ error = vn_vget_ino_gen(dvp, vboxfs_vn_get_ino_alloc,
++ node->sf_parent, cnp->cn_lkflags, vpp);
++ error = ENOENT;
++ if (error != 0)
++ goto out;
++
++ } else if (cnp->cn_namelen == 1 && cnp->cn_nameptr[0] == '.') {
++ VREF(dvp);
++ *vpp = dvp;
++ error = 0;
++ } else {
++ mode_t m;
++ type = VNON;
++ fullpath = sfnode_construct_path(node, cnp->cn_nameptr, cnp->cn_namelen);
++ error = sfprov_get_attr(node->vboxfsmp->sf_handle,
++ fullpath, &stat);
++ // stat_time = vsfnode_cur_time_usec();
++
++ m = stat.sf_mode;
++ if (error != 0) {
++ /* The entry was not found in the directory.
++ * This is OK if we are creating or renaming an
++ * entry and are working on the last component of
++ * the path name. */
++ if ((cnp->cn_flags & ISLASTCN) &&
++ (cnp->cn_nameiop == CREATE || \
++ cnp->cn_nameiop == RENAME ||
++ (cnp->cn_nameiop == DELETE &&
++ cnp->cn_flags & DOWHITEOUT &&
++ cnp->cn_flags & ISWHITEOUT))) {
++ error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred,
++#if __FreeBSD_version < 1400037
++ cnp->cn_thread);
++#else
++ curthread);
++#endif
++ if (error != 0)
++ goto out;
++
++#if __FreeBSD_version < 1400068
++ /* Keep the component name in the buffer for
++ * future uses. */
++ cnp->cn_flags |= SAVENAME;
++#endif
++
++ error = EJUSTRETURN;
++ } else
++ error = ENOENT;
++ }
++ else {
++ if (S_ISDIR(m))
++ type = VDIR;
++ else if (S_ISREG(m))
++ type = VREG;
++ else if (S_ISLNK(m))
++ type = VLNK;
++ error = vboxfs_alloc_file(vboxfsmp, fullpath, type, 0755, node, cnp->cn_lkflags, vpp);
++ }
++ }
++
++ if ((cnp->cn_flags & MAKEENTRY) != 0)
++ cache_enter(dvp, *vpp, cnp);
++out:
++ if (fullpath)
++ free(fullpath, M_VBOXVFS);
++
++ return (error);
++}
++
++static int
++vboxfs_cachedlookup(struct vop_cachedlookup_args *ap)
++{
++ return (vboxfs_lookup1(ap->a_dvp, ap->a_vpp, ap->a_cnp));
++}
++
++static int
++vboxfs_lookup(struct vop_lookup_args *ap)
++{
++ struct vnode *dvp = ap->a_dvp;
++ struct componentname *cnp = ap->a_cnp;
++ struct vboxfs_node *np = VP_TO_VBOXFS_NODE(dvp);
++ struct timespec mtime;
++ int flags = cnp->cn_flags;
++ int error;
++
++ if (dvp->v_type != VDIR)
++ return (ENOTDIR);
++
++ if ((flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) &&
++ (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME))
++ return (EROFS);
++
++ error = vn_dir_check_exec(dvp, cnp);
++ if (error != 0)
++ return (error);
++
++ /* Check if the directory is unmodified on the host. */
++ mtime = np->sf_stat.sf_mtime;
++ error = vsfnode_update_stat_cache(np);
++ if (error == 0) {
++ if (mtime.tv_sec == np->sf_stat.sf_mtime.tv_sec &&
++ mtime.tv_nsec == np->sf_stat.sf_mtime.tv_nsec)
++ return (vfs_cache_lookup(ap));
++ }
++
++ cache_purge(dvp);
++
++ return (vboxfs_lookup1(ap->a_dvp, ap->a_vpp, ap->a_cnp));
++}
++
++static int
++vboxfs_inactive(struct vop_inactive_args *ap)
++{
++ return (0);
++}
++
++static int
++vboxfs_reclaim(struct vop_reclaim_args *ap)
++{
++ struct vnode *vp;
++ struct vboxfs_node *node;
++ struct vboxfs_mnt *vboxfsmp;
++
++ vp = ap->a_vp;
++ node = VP_TO_VBOXFS_NODE(vp);
++ vboxfsmp = node->vboxfsmp;
++
++ vnode_destroy_vobject(vp);
++ vp->v_object = NULL;
++ cache_purge(vp);
++
++ VBOXFS_NODE_LOCK(node);
++ VBOXFS_ASSERT_ELOCKED(node);
++ vboxfs_free_vp(vp);
++
++ /* If the node referenced by this vnode was deleted by the user,
++ * we must free its associated data structures (now that the vnode
++ * is being reclaimed). */
++ if ((node->sf_vpstate & VBOXFS_VNODE_ALLOCATING) == 0) {
++ node->sf_vpstate = VBOXFS_VNODE_DOOMED;
++ VBOXFS_NODE_UNLOCK(node);
++ vboxfs_free_node(vboxfsmp, node);
++ } else
++ VBOXFS_NODE_UNLOCK(node);
++
++ MPASS(vp->v_data == NULL);
++
++ return (0);
++}
++
++static int
++vboxfs_vptofh(struct vop_vptofh_args *ap)
++{
++
++ return (EOPNOTSUPP);
++}
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
new file mode 100644
index 000000000000..afb19c804d7a
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
@@ -0,0 +1,29 @@
+--- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2019-01-25 18:24:30 UTC
++++ src/VBox/Additions/x11/vboxmouse/Makefile.kmk
+@@ -227,10 +227,22 @@ endif # neq ($(KBUILD_TARGET),linux)
+
+
+ ifdef VBOX_USE_SYSTEM_XORG_HEADERS
+- # As vboxmouse_drv is not needed at all for X.Org Server 1.7 and later do not
+- # build it in this case.
+- DLLS := $(filter-out vboxmouse_drv_%,$(DLLS))
+- SYSMODS := $(filter-out vboxmouse_drv%,$(SYSMODS))
++ ifeq ($(KBUILD_TARGET),freebsd)
++ DLLS += vboxmouse_drv_system
++ vboxmouse_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD
++ vboxmouse_drv_system_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
++ vboxmouse_drv_system_INCS := \
++ /usr/local/include/pixman-1 \
++ /usr/local/include/xorg \
++ $(PATH_SUB_CURRENT)
++ vboxmouse_drv_system_SOURCES = \
++ vboxmouse.c
++ else
++ # As vboxmouse_drv is not needed at all for X.Org Server 1.7 and later do not
++ # build it in this case.
++ DLLS := $(filter-out vboxmouse_drv_%,$(DLLS))
++ SYSMODS := $(filter-out vboxmouse_drv%,$(SYSMODS))
++ endif
+ endif
+
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp
new file mode 100644
index 000000000000..5ce43e5ce2d0
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp
@@ -0,0 +1,20 @@
+--- src/VBox/Devices/Graphics/DevVGA-SVGA.cpp.orig 2025-04-14 17:55:41 UTC
++++ src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
+@@ -178,7 +178,7 @@
+ # ifdef RT_OS_DARWIN
+ # include "DevVGA-SVGA3d-cocoa.h"
+ # endif
+-# ifdef RT_OS_LINUX
++# if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ # ifdef IN_RING3
+ # include "DevVGA-SVGA3d-glLdr.h"
+ # endif
+@@ -7685,7 +7685,7 @@ static void vmsvgaR3PowerOnDevice(PPDMDEVINS pDevIns,
+ }
+ # endif
+
+-# if defined(VBOX_WITH_VMSVGA3D) && defined(RT_OS_LINUX)
++# if defined(VBOX_WITH_VMSVGA3D) && (defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX))
+ if (pThis->svga.f3DEnabled)
+ {
+ /* The FIFO thread may use X API for accelerated screen output. */
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp
new file mode 100644
index 000000000000..3a0a22e2ef76
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp
@@ -0,0 +1,11 @@
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp.orig 2025-05-12 17:49:35 UTC
++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp
+@@ -3363,7 +3363,7 @@ static DECLCALLBACK(int) vmsvga3dBackInit(PPDMDEVINS p
+ RT_NOREF(pDevIns, pThis);
+
+ int rc;
+-#ifdef RT_OS_LINUX /** @todo Remove, this is currently needed for loading the X11 library in order to call XInitThreads(). */
++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) /** @todo Remove, this is currently needed for loading the X11 library in order to call XInitThreads(). */
+ rc = glLdrInit(pDevIns);
+ if (RT_FAILURE(rc))
+ {
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
new file mode 100644
index 000000000000..e9ae5d0b71f9
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
@@ -0,0 +1,29 @@
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig 2025-04-14 17:55:41 UTC
++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp
+@@ -196,7 +196,7 @@ int glLdrInit(PPDMDEVINS pDevIns)
+ pfn_wglDeleteContext = 0;
+ pfn_wglMakeCurrent = 0;
+ pfn_wglShareLists = 0;
+-#elif defined(RT_OS_LINUX)
++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ pfn_XConfigureWindow = 0;
+ pfn_XCloseDisplay = 0;
+ pfn_XCreateColormap = 0;
+@@ -306,7 +306,7 @@ int glLdrInit(PPDMDEVINS pDevIns)
+ GLGETPROC_(wglDeleteContext, "");
+ GLGETPROC_(wglMakeCurrent, "");
+ GLGETPROC_(wglShareLists, "");
+-#elif defined(RT_OS_LINUX)
++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ X11GETPROC_(XConfigureWindow);
+ X11GETPROC_(XCloseDisplay);
+ X11GETPROC_(XCreateColormap);
+@@ -407,7 +407,7 @@ int glLdrInit(PPDMDEVINS pDevIns)
+ GLGETPROC_(glVertexPointer, "");
+ GLGETPROC_(glViewport, "");
+
+-#ifdef RT_OS_LINUX
++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ XInitThreads();
+ #endif
+ return VINF_SUCCESS;
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
new file mode 100644
index 000000000000..52d86f546033
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
@@ -0,0 +1,11 @@
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig 2025-04-14 17:55:41 UTC
++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h
+@@ -346,7 +346,7 @@ GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC);
+ GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC);
+ #define wglShareLists pfn_wglShareLists
+
+-#elif defined(RT_OS_LINUX)
++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ /*
+ * GLX
+ */
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp
new file mode 100644
index 000000000000..74106db011ff
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp
@@ -0,0 +1,56 @@
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp.orig 2025-04-14 17:55:42 UTC
++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp
+@@ -1198,7 +1198,7 @@ static DECLCALLBACK(int) vmsvga3dBackTerminate(PVGASTA
+ RTSemEventDestroy(pState->WndRequestSem);
+ #elif defined(RT_OS_DARWIN)
+
+-#elif defined(RT_OS_LINUX)
++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ /* signal to the thread that it is supposed to exit */
+ pState->bTerminate = true;
+ /* wait for it to terminate */
+@@ -3216,7 +3216,7 @@ static DECLCALLBACK(int) vmsvga3dBackGenerateMipmaps(P
+ }
+
+
+-#ifdef RT_OS_LINUX
++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ /**
+ * X11 event handling thread.
+ *
+@@ -3246,7 +3246,7 @@ static DECLCALLBACK(int) vmsvga3dXEventThread(RTTHREAD
+ }
+ return VINF_SUCCESS;
+ }
+-#endif // RT_OS_LINUX
++#endif // RT_OS_FREEBSD || RT_OS_LINUX
+
+
+ /**
+@@ -3484,7 +3484,7 @@ int vmsvga3dContextDefineOgl(PVGASTATECC pThisCC, uint
+ return VINF_SUCCESS;
+ }
+
+-#if defined(RT_OS_LINUX)
++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ /*
+ * HW accelerated graphics output.
+ */
+@@ -3976,7 +3976,7 @@ static DECLCALLBACK(int) vmsvga3dBackSurfaceBlitToScre
+ return VINF_SUCCESS;
+ }
+
+-#else /* !RT_OS_LINUX */
++#else /* !RT_OS_FREEBSD && !RT_OS_LINUX */
+
+ static DECLCALLBACK(int) vmsvga3dBackDefineScreen(PVGASTATE pThis, PVGASTATECC pThisCC, VMSVGASCREENOBJECT *pScreen)
+ {
+@@ -4096,7 +4096,7 @@ static int vmsvga3dContextDestroyOgl(PVGASTATECC pThis
+ AssertRC(rc);
+ #elif defined(RT_OS_DARWIN)
+ vmsvga3dCocoaDestroyViewAndContext(pContext->cocoaView, pContext->cocoaContext);
+-#elif defined(RT_OS_LINUX)
++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ glXMakeCurrent(pState->display, None, NULL);
+ glXDestroyContext(pState->display, pContext->glxContext);
+ XDestroyWindow(pState->display, pContext->window);
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Makefile.kmk
new file mode 100644
index 000000000000..021d004d5a00
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Makefile.kmk
@@ -0,0 +1,44 @@
+--- src/VBox/Devices/Makefile.kmk.orig 2024-10-10 20:29:17.000000000 +0200
++++ src/VBox/Devices/Makefile.kmk 2024-12-27 13:26:17.132294000 +0100
+@@ -132,6 +132,7 @@
+ VBoxDDU_LDFLAGS.darwin += -framework IOKit
+ endif
+
++ VBoxDDU_LDFLAGS.freebsd = $(VBOX_GCC_NO_UNDEFINED)
+ VBoxDDU_LDFLAGS.linux = $(VBOX_GCC_NO_UNDEFINED)
+ $(call VBOX_SET_VER_INFO_DLL,VBoxDDU,VirtualBox VMM Devices and Drivers Utilities)
+
+@@ -286,6 +287,7 @@
+ -framework SystemConfiguration \
+ -framework AVFoundation \
+ -framework Foundation
++ VBoxDD_LDFLAGS.freebsd = $(VBOX_GCC_NO_UNDEFINED)
+ VBoxDD_LDFLAGS.linux = $(VBOX_GCC_NO_UNDEFINED)
+
+ # --- Tracing bits. ---
+@@ -331,7 +333,7 @@
+ Graphics/DevVGA-SVGA-cmd.cpp
+ endif
+ ifdef VBOX_WITH_VMSVGA3D
+- if1of ($(KBUILD_TARGET), linux win)
++ if1of ($(KBUILD_TARGET), linux win freebsd)
+ # Dynamically load 3D library (opengl32, libGL).
+ # This is a temporary solution. In future the 3D backend will be in a separate library.
+ VBOX_WITH_VMSVGA3D_DYNAMIC_LOAD = 1
+@@ -390,6 +392,7 @@
+ Graphics/DevVGA-SVGA3d-glLdr.cpp
+ else
+ VBoxDD_LIBS.linux += X11 GL
++ VBoxDD_LIBS.freebsd += X11 GL
+ VBoxDD_LIBS.win += $(PATH_SDK_$(VBOX_WINPSDK)_LIB)/Opengl32.lib
+ endif
+ VBoxDD_LDFLAGS.darwin += -framework OpenGL
+@@ -1701,6 +1704,8 @@
+ VBoxSVGA3D_INCS = $(VBOX_GRAPHICS_INCS)
+ VBoxSVGA3D_INCS.win := \
+ Graphics/shaderlib/libWineStub/include
++ VBoxSVGA3D_INCS.freebsd := \
++ Graphics/shaderlib/wine/include
+ VBoxSVGA3D_INCS.linux := \
+ Graphics/shaderlib/wine/include
+ VBoxSVGA3D_INCS.darwin := \
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_PC_ipxe_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_PC_ipxe_Makefile.kmk
new file mode 100644
index 000000000000..d59d98da3b83
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_PC_ipxe_Makefile.kmk
@@ -0,0 +1,29 @@
+--- src/VBox/Devices/PC/ipxe/Makefile.kmk.orig 2025-01-21 19:56:40.000000000 +0700
++++ src/VBox/Devices/PC/ipxe/Makefile.kmk 2025-01-23 00:47:50.818978000 +0700
+@@ -45,7 +45,7 @@
+ iPxeBiosBin_CLEAN = \
+ $(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c \
+
+-if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.amd64 darwin.arm64 linux.arm64 os2.x86 solaris.amd64 win.amd64 win.arm64)
++if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.amd64 darwin.arm64 linux.arm64 os2.x86 solaris.amd64 win.amd64 win.arm64 linux.amd64 freebsd.amd64)
+ $$(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c: $(PATH_SUB_CURRENT)/iPxeBiosBin.rom $(VBOX_BIN2C) | $$(dir $$@)
+ $(call MSG_TOOL,bin2c,iPxeBiosBin,$<,$@)
+ $(QUIET)$(VBOX_BIN2C) -min 32 -max 56 -mask 0x1ff -export NetBiosBinary $< $@
+@@ -131,7 +131,7 @@
+ -falign-loops=1 \
+ -Os \
+ -falign-functions=1 \
+- -mpreferred-stack-boundary=2 \
++ -mstack-alignment=2 \
+ -mregparm=3 \
+ -mrtd \
+ -freg-struct-return \
+@@ -154,7 +154,7 @@
+ -falign-jumps=1 \
+ -falign-loops=1 \
+ -falign-functions=1 \
+- -mpreferred-stack-boundary=2 \
++ -mstack-alignment=2 \
+ -mregparm=3 \
+ -mrtd \
+ -freg-struct-return \
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_USB_USBProxyDevice-freebsd.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_USB_USBProxyDevice-freebsd.cpp
new file mode 100644
index 000000000000..045e328d5c48
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_USB_USBProxyDevice-freebsd.cpp
@@ -0,0 +1,11 @@
+--- src/VBox/Devices/USB/freebsd/USBProxyDevice-freebsd.cpp.orig 2024-01-11 12:23:15 UTC
++++ src/VBox/Devices/USB/freebsd/USBProxyDevice-freebsd.cpp
+@@ -57,7 +57,7 @@
+ #include "../USBProxyDevice.h"
+
+ /** Maximum endpoints supported. */
+-#define USBFBSD_MAXENDPOINTS 127
++#define USBFBSD_MAXENDPOINTS 126
+ #define USBFBSD_MAXFRAMES 56
+
+ /** This really needs to be defined in vusb.h! */
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_ExtPacks_VNC_VBoxVNC.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_ExtPacks_VNC_VBoxVNC.cpp
new file mode 100644
index 000000000000..f364e261f40b
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_ExtPacks_VNC_VBoxVNC.cpp
@@ -0,0 +1,58 @@
+--- src/VBox/ExtPacks/VNC/VBoxVNC.cpp.orig 2024-01-11 12:24:04 UTC
++++ src/VBox/ExtPacks/VNC/VBoxVNC.cpp
+@@ -45,7 +45,7 @@
+
+ #ifdef LIBVNCSERVER_IPv6
+ // enable manually!
+-// #define VBOX_USE_IPV6
++#define VBOX_USE_IPV6
+ #endif
+
+
+@@ -421,7 +421,7 @@ DECLCALLBACK(int) VNCServerImpl::VRDEEnableConnections
+
+ // get address
+ char *pszTCPAddress = (char *)RTMemTmpAllocZ(VNC_ADDRESS_OPTION_MAX);
+- rc = instance->mCallbacks->VRDECallbackProperty(instance->mCallback,
++ int rc = instance->mCallbacks->VRDECallbackProperty(instance->mCallback,
+ VRDE_QP_NETWORK_ADDRESS,
+ pszTCPAddress,
+ VNC_ADDRESS_OPTION_MAX,
+@@ -582,19 +582,35 @@ DECLCALLBACK(int) VNCServerImpl::VRDEEnableConnections
+ pszServerAddress6 = szIPv6ListenAll;
+ }
+
+- if (pszVNCPort4 && uServerPort4 == 0)
++ if (strlen(pszVNCPort4) > 0 && uServerPort4 == 0)
+ {
+ rc = RTStrToUInt32Ex(pszVNCPort4, NULL, 10, &uServerPort4);
+ if (!RT_SUCCESS(rc) || uServerPort4 > 65535)
+ uServerPort4 = 0;
+ }
+
+- if (pszVNCPort6 && uServerPort6 == 0)
++ if (strlen(pszVNCPort6) > 0 && uServerPort6 == 0)
+ {
+ rc = RTStrToUInt32Ex(pszVNCPort6, NULL, 10, &uServerPort6);
+ if (!RT_SUCCESS(rc) || uServerPort6 > 65535)
+ uServerPort6 = 0;
+ }
++
++/* Backward compatibility with set port in "TCP/Ports" only { */
++ if (uServerPort4 == 0 && strlen(pszTCPPort) > 0)
++ {
++ rc = RTStrToUInt32Ex(pszTCPPort, NULL, 10, &uServerPort4);
++ if (!RT_SUCCESS(rc) || uServerPort4 > 65535)
++ uServerPort4 = 0;
++ }
++
++ if (uServerPort6 == 0 && strlen(pszTCPPort) > 0)
++ {
++ rc = RTStrToUInt32Ex(pszTCPPort, NULL, 10, &uServerPort6);
++ if (!RT_SUCCESS(rc) || uServerPort6 > 65535)
++ uServerPort6 = 0;
++ }
++/* } */
+
+ if (uServerPort4 == 0 || uServerPort6 == 0)
+ vncServer->autoPort = 1;
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxHeadless_VBoxHeadless.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxHeadless_VBoxHeadless.cpp
new file mode 100644
index 000000000000..ca03e57922b4
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxHeadless_VBoxHeadless.cpp
@@ -0,0 +1,11 @@
+--- src/VBox/Frontends/VBoxHeadless/VBoxHeadless.cpp.orig 2024-12-26 22:32:13.106542000 +0100
++++ src/VBox/Frontends/VBoxHeadless/VBoxHeadless.cpp 2024-12-26 22:32:32.805126000 +0100
+@@ -61,7 +61,7 @@
+ # include <iprt/process.h>
+ #endif
+
+-#if defined(RT_OS_LINUX) || defined(RT_OS_DARWIN) || defined(RT_OS_SOLARIS)
++#if defined(RT_OS_LINUX) || defined(RT_OS_DARWIN) || defined(RT_OS_SOLARIS) || defined(RT_OS_FREEBSD)
+ # include <cerrno>
+ #endif
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageModifyVM.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageModifyVM.cpp
new file mode 100644
index 000000000000..fc1639b58302
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageModifyVM.cpp
@@ -0,0 +1,29 @@
+--- src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp.orig 2022-10-06 19:10:28.000000000 +0200
++++ src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp 2024-12-26 16:08:30.624183000 +0100
+@@ -170,7 +170,7 @@
+ MODIFYVM_UARTMODE,
+ MODIFYVM_UARTTYPE,
+ MODIFYVM_UART,
+-#if defined(RT_OS_LINUX) || defined(RT_OS_WINDOWS)
++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) || defined(RT_OS_WINDOWS)
+ MODIFYVM_LPTMODE,
+ MODIFYVM_LPT,
+ #endif
+@@ -382,7 +382,7 @@
+ OPT2("--uart-mode", "--uartmode", MODIFYVM_UARTMODE, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX),
+ OPT2("--uart-type", "--uarttype", MODIFYVM_UARTTYPE, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX),
+ OPT1("--uart", MODIFYVM_UART, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX),
+-#if defined(RT_OS_LINUX) || defined(RT_OS_WINDOWS)
++#if defined(RT_OS_LINUX) || defined(RT_OS_WINDOWS) || defined(RT_OS_FREEBSD)
+ OPT2("--lpt-mode", "--lptmode", MODIFYVM_LPTMODE, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX),
+ OPT1("--lpt", MODIFYVM_LPT, RTGETOPT_REQ_STRING | RTGETOPT_FLAG_INDEX),
+ #endif
+@@ -2496,7 +2496,7 @@
+ break;
+ }
+
+-#if defined(RT_OS_LINUX) || defined(RT_OS_WINDOWS)
++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX) || defined(RT_OS_WINDOWS)
+ case MODIFYVM_LPTMODE:
+ {
+ ComPtr<IParallelPort> lpt;
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrv.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrv.cpp
new file mode 100644
index 000000000000..4139a88a9929
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrv.cpp
@@ -0,0 +1,13 @@
+--- src/VBox/HostDrivers/Support/SUPDrv.cpp.orig 2024-12-27 08:34:02.157677000 +0100
++++ src/VBox/HostDrivers/Support/SUPDrv.cpp 2024-12-27 08:34:25.419134000 +0100
+@@ -317,8 +317,8 @@
+ SUPEXP_STK_BACK( 2, SUPR0PageFree),
+ SUPEXP_STK_BACK( 6, SUPR0PageMapKernel),
+ SUPEXP_STK_BACK( 6, SUPR0PageProtect),
+-#if defined(RT_OS_LINUX) || defined(RT_OS_SOLARIS) || defined(RT_OS_FREEBSD)
+- SUPEXP_STK_OKAY( 2, SUPR0HCPhysToVirt), /* only-linux, only-solaris, only-freebsd */
++#if defined(RT_OS_LINUX) || defined(RT_OS_SOLARIS)
++ SUPEXP_STK_OKAY( 2, SUPR0HCPhysToVirt), /* only-linux, only-solaris */
+ #endif
+ SUPEXP_STK_BACK( 2, SUPR0PrintfV),
+ SUPEXP_STK_BACK( 1, SUPR0GetSessionGVM),
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrvInternal.h b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrvInternal.h
new file mode 100644
index 000000000000..7376ad6fbddd
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_SUPDrvInternal.h
@@ -0,0 +1,11 @@
+--- src/VBox/HostDrivers/Support/SUPDrvInternal.h.orig 2021-01-07 15:41:25 UTC
++++ src/VBox/HostDrivers/Support/SUPDrvInternal.h
+@@ -217,7 +217,7 @@
+ # define SUPDRV_WITHOUT_MSR_PROBER
+ #endif
+
+-#if 1
++#if 0
+ /** @def SUPDRV_USE_TSC_DELTA_THREAD
+ * Use a dedicated kernel thread to service TSC-delta measurement requests.
+ * @todo Test on servers with many CPUs and sockets. */
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_Makefile b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_Makefile
new file mode 100644
index 000000000000..a3b6a032b529
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_Makefile
@@ -0,0 +1,30 @@
+--- src/VBox/HostDrivers/Support/freebsd/Makefile.orig 2025-01-21 19:58:52.000000000 +0700
++++ src/VBox/HostDrivers/Support/freebsd/Makefile 2025-03-22 22:28:21.276497000 +0700
+@@ -93,6 +93,7 @@
+ assert.c \
+ handletable.c \
+ handletablectx.c \
++ handletablesimple.c \
+ once.c \
+ term.c \
+ thread.c
+@@ -117,7 +118,8 @@
+ strprintf2-ellipsis.c \
+ strtonum.c \
+ memchr.c \
+- stringalloc.c
++ stringalloc.c \
++ utf-8.c
+
+ .PATH: ${.CURDIR}/common/rand
+ SRCS += \
+@@ -163,7 +165,8 @@
+ rtStrFormatKernelAddress-generic.c \
+ errvars-generic.c \
+ mppresent-generic.c \
+- timer-generic.c
++ timer-generic.c \
++ system-page-size-generic.c
+
+ .PATH: ${.CURDIR}/r0drv
+ SRCS += \
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c
new file mode 100644
index 000000000000..7faa07739f14
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c
@@ -0,0 +1,234 @@
+--- src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c.orig 2025-01-21 14:06:14 UTC
++++ src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c
+@@ -44,9 +44,13 @@
+ #include <sys/fcntl.h>
+ #include <sys/conf.h>
+ #include <sys/uio.h>
++#include <vm/vm.h>
+ #include <vm/pmap.h> /* for pmap_map() */
++#include <sys/mutex.h>
++#include <sys/smp.h> /* mp_maxcpus */
+
+ #include "../SUPDrvInternal.h"
++#include "freebsd/the-freebsd-kernel.h"
+ #include <VBox/version.h>
+ #include <iprt/initterm.h>
+ #include <iprt/string.h>
+@@ -58,7 +62,15 @@
+ #include <iprt/alloc.h>
+ #include <iprt/err.h>
+ #include <iprt/asm.h>
++#include <iprt/x86.h>
+
++
++#ifdef VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV
++# include <machine/cpufunc.h>
++# include <machine/md_var.h>
++# include <machine/specialreg.h>
++#endif
++
+ #ifdef VBOX_WITH_HARDENING
+ # define VBOXDRV_PERM 0600
+ #else
+@@ -77,7 +89,9 @@ static d_ioctl_t VBoxDrvFreeBSDIOCtl;
+ static d_open_t VBoxDrvFreeBSDOpenSys;
+ static void vboxdrvFreeBSDDtr(void *pvData);
+ static d_ioctl_t VBoxDrvFreeBSDIOCtl;
++static d_ioctl_t VBoxDrvFreeBSDIOCtlSMAP;
+ static int VBoxDrvFreeBSDIOCtlSlow(PSUPDRVSESSION pSession, u_long ulCmd, caddr_t pvData, struct thread *pTd);
++static bool VBoxDrvFreeBSDCpuHasSMAP(void);
+
+
+ /*********************************************************************************************************************************
+@@ -94,7 +108,8 @@ static moduledata_t g_VBoxDrvFreeBSDModule =
+ };
+
+ /** Declare the module as a pseudo device. */
+-DECLARE_MODULE(vboxdrv, g_VBoxDrvFreeBSDModule, SI_SUB_PSEUDO, SI_ORDER_ANY);
++#define KERNEL_RELBRANCHEND (roundup(__FreeBSD_version, 500) - 1)
++DECLARE_MODULE_WITH_MAXVER(vboxdrv, g_VBoxDrvFreeBSDModule, SI_SUB_PSEUDO, SI_ORDER_ANY, KERNEL_RELBRANCHEND);
+ MODULE_VERSION(vboxdrv, 1);
+
+ /**
+@@ -141,6 +156,13 @@ static int VBoxDrvFreeBSDModuleEvent(struct module *pM
+ static int VBoxDrvFreeBSDModuleEvent(struct module *pMod, int enmEventType, void *pvArg)
+ {
+ int rc;
++
++ /* Refuse to load if mp_maxcpus is wrong */
++ if (MAXCPU != mp_maxcpus) {
++ printf("vboxdrv: MAXCPU != mp_maxcpus (%d != %d)\n", MAXCPU, mp_maxcpus);
++ return EINVAL;
++ }
++
+ switch (enmEventType)
+ {
+ case MOD_LOAD:
+@@ -183,6 +205,13 @@ static int VBoxDrvFreeBSDLoad(void)
+ rc = supdrvInitDevExt(&g_VBoxDrvFreeBSDDevExt, sizeof(SUPDRVSESSION));
+ if (RT_SUCCESS(rc))
+ {
++ if (VBoxDrvFreeBSDCpuHasSMAP())
++ {
++ LogRel(("disabling SMAP for VBoxDrvFreeBSDIOCtl\n"));
++ g_VBoxDrvFreeBSDChrDevSwSys.d_ioctl = VBoxDrvFreeBSDIOCtlSMAP;
++ g_VBoxDrvFreeBSDChrDevSwUsr.d_ioctl = VBoxDrvFreeBSDIOCtlSMAP;
++ }
++
+ /*
+ * Configure character devices. Add symbolic links for compatibility.
+ */
+@@ -322,7 +351,45 @@ static int VBoxDrvFreeBSDIOCtl(struct cdev *pDev, u_lo
+ return VBoxDrvFreeBSDIOCtlSlow(pSession, ulCmd, pvData, pTd);
+ }
+
++/**
++ * Alternative Device I/O Control entry point on hosts with SMAP support.
++ *
++ * @returns depends...
++ * @param pDev The device.
++ * @param ulCmd The command.
++ * @param pvData Pointer to the data.
++ * @param fFile The file descriptor flags.
++ * @param pTd The calling thread.
++ */
++static int VBoxDrvFreeBSDIOCtlSMAP(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd)
++{
++ /*
++ * Allow VBox R0 code to touch R3 memory. Setting the AC bit disables the
++ * SMAP check.
++ */
++ RTCCUINTREG fSavedEfl = ASMAddFlags(X86_EFL_AC);
+
++ int rc = VBoxDrvFreeBSDIOCtl(pDev, ulCmd, pvData, fFile, pTd);
++
++#ifdef VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV
++ /*
++ * Before we restore AC and the rest of EFLAGS, check if the IOCtl handler code
++ * accidentially modified it or some other important flag.
++ */
++ if (RT_UNLIKELY( (ASMGetFlags() & (X86_EFL_AC | X86_EFL_IF | X86_EFL_DF | X86_EFL_IOPL))
++ != ((fSavedEfl & (X86_EFL_AC | X86_EFL_IF | X86_EFL_DF | X86_EFL_IOPL)) | X86_EFL_AC) ))
++ {
++ char szTmp[48];
++ RTStrPrintf(szTmp, sizeof(szTmp), "ulCmd=%#x: %#x->%#x!", ulCmd, (uint32_t)fSavedEfl, (uint32_t)ASMGetFlags());
++ supdrvBadContext(&g_VBoxDrvFreeBSDDevExt, "SUPDrv-freebsd.c", __LINE__, szTmp);
++ }
++#endif
++
++ ASMSetFlags(fSavedEfl);
++ return rc;
++}
++
++
+ /**
+ * Deal with the 'slow' I/O control requests.
+ *
+@@ -372,11 +439,10 @@ static int VBoxDrvFreeBSDIOCtlSlow(PSUPDRVSESSION pSes
+ */
+ SUPREQHDR Hdr;
+ pvUser = *(void **)pvData;
+- int rc = copyin(pvUser, &Hdr, sizeof(Hdr));
+- if (RT_UNLIKELY(rc))
++ if (RT_FAILURE(RTR0MemUserCopyFrom(&Hdr, (uintptr_t)pvUser, sizeof(Hdr))))
+ {
+- OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: copyin(%p,Hdr,) -> %#x; ulCmd=%#lx\n", pvUser, rc, ulCmd));
+- return rc;
++ OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: copyin(%p,Hdr,); ulCmd=%#lx\n", pvUser, ulCmd));
++ return EFAULT;
+ }
+ if (RT_UNLIKELY((Hdr.fFlags & SUPREQHDR_FLAGS_MAGIC_MASK) != SUPREQHDR_FLAGS_MAGIC))
+ {
+@@ -401,13 +467,12 @@ static int VBoxDrvFreeBSDIOCtlSlow(PSUPDRVSESSION pSes
+ OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: failed to allocate buffer of %d bytes; ulCmd=%#lx\n", cbReq, ulCmd));
+ return ENOMEM;
+ }
+- rc = copyin(pvUser, pHdr, Hdr.cbIn);
+- if (RT_UNLIKELY(rc))
++ if (RT_FAILURE(RTR0MemUserCopyFrom(pHdr, (uintptr_t)pvUser, Hdr.cbIn)))
+ {
+- OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: copyin(%p,%p,%#x) -> %#x; ulCmd=%#lx\n",
+- pvUser, pHdr, Hdr.cbIn, rc, ulCmd));
++ OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: copyin(%p,%p,%#x); ulCmd=%#lx\n",
++ pvUser, pHdr, Hdr.cbIn, ulCmd));
+ RTMemTmpFree(pHdr);
+- return rc;
++ return EFAULT;
+ }
+ if (Hdr.cbIn < cbReq)
+ RT_BZERO((uint8_t *)pHdr + Hdr.cbIn, cbReq - Hdr.cbIn);
+@@ -435,9 +500,8 @@ static int VBoxDrvFreeBSDIOCtlSlow(PSUPDRVSESSION pSes
+ OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: too much output! %#x > %#x; uCmd=%#lx!\n", cbOut, cbReq, ulCmd));
+ cbOut = cbReq;
+ }
+- rc = copyout(pHdr, pvUser, cbOut);
+- if (RT_UNLIKELY(rc))
+- OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: copyout(%p,%p,%#x) -> %d; uCmd=%#lx!\n", pHdr, pvUser, cbOut, rc, ulCmd));
++ if (RT_FAILURE(RTR0MemUserCopyTo((uintptr_t)pvUser, pHdr, cbOut)))
++ OSDBGPRINT(("VBoxDrvFreeBSDIOCtlSlow: copyout(%p,%p,%#x); uCmd=%#lx!\n", pHdr, pvUser, cbOut, ulCmd));
+
+ Log(("VBoxDrvFreeBSDIOCtlSlow: returns %d / %d ulCmd=%lx\n", 0, pHdr->rc, ulCmd));
+
+@@ -540,8 +604,7 @@ bool VBOXCALL supdrvOSAreCpusOfflinedOnSuspend(void)
+
+ bool VBOXCALL supdrvOSAreCpusOfflinedOnSuspend(void)
+ {
+- /** @todo verify this. */
+- return false;
++ return true;
+ }
+
+
+@@ -637,31 +700,44 @@ int VBOXCALL supdrvOSMsrProberModify(RTCPUID idCpu,
+ #endif /* SUPDRV_WITH_MSR_PROBER */
+
+
+-#if defined(RT_ARCH_AMD64) || defined(RT_ARCH_ARM64)
+-SUPR0DECL(int) SUPR0HCPhysToVirt(RTHCPHYS HCPhys, void **ppv)
++/**
++ * Check if the CPU has SMAP support.
++ */
++static bool VBoxDrvFreeBSDCpuHasSMAP(void)
+ {
+- AssertReturn(!(HCPhys & PAGE_OFFSET_MASK), VERR_INVALID_POINTER);
+- AssertReturn(HCPhys != NIL_RTHCPHYS, VERR_INVALID_POINTER);
+- *ppv = (void *)(uintptr_t)pmap_map(NULL, HCPhys, (HCPhys | PAGE_OFFSET_MASK) + 1, VM_PROT_WRITE | VM_PROT_READ);
+- return VINF_SUCCESS;
+-}
++#ifdef VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV
++ if ((cpu_stdext_feature & CPUID_STDEXT_SMAP) != 0)
++ return true;
+ #endif
++ return false;
++}
+
+
+ SUPR0DECL(int) SUPR0PrintfV(const char *pszFormat, va_list va)
+ {
+ char szMsg[256];
++ IPRT_FREEBSD_SAVE_EFL_AC();
++
+ RTStrPrintfV(szMsg, sizeof(szMsg), pszFormat, va);
+ szMsg[sizeof(szMsg) - 1] = '\0';
+
+ printf("%s", szMsg);
++
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return 0;
+ }
+
+
+ SUPR0DECL(uint32_t) SUPR0GetKernelFeatures(void)
+ {
+- return 0;
++ uint32_t fFlags = 0;
++#ifdef VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV
++ if (g_VBoxDrvFreeBSDChrDevSwSys.d_ioctl == VBoxDrvFreeBSDIOCtlSMAP)
++ fFlags |= SUPKERNELFEATURES_SMAP;
++ else
++ Assert(!(ASMGetCR4() & X86_CR4_SMAP));
++#endif
++ return fFlags;
+ }
+
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPLib-freebsd.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPLib-freebsd.cpp
new file mode 100644
index 000000000000..95cbe0e2a32c
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPLib-freebsd.cpp
@@ -0,0 +1,11 @@
+--- src/VBox/HostDrivers/Support/freebsd/SUPLib-freebsd.cpp.orig 2024-10-10 20:31:28.000000000 +0200
++++ src/VBox/HostDrivers/Support/freebsd/SUPLib-freebsd.cpp 2024-11-17 18:27:46.400938000 +0100
+@@ -88,7 +88,7 @@
+ /*
+ * Try open the BSD device.
+ */
+- const char * const *pszDeviceNm = fFlags & SUPR3INIT_F_UNRESTRICTED ? DEVICE_NAME_SYS : DEVICE_NAME_USR;
++ const char * pszDeviceNm = fFlags & SUPR3INIT_F_UNRESTRICTED ? DEVICE_NAME_SYS : DEVICE_NAME_USR;
+ int hDevice = open(pszDeviceNm, O_RDWR, 0);
+ if (hDevice < 0)
+ {
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_files__vboxdrv b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_files__vboxdrv
new file mode 100644
index 000000000000..c5abc9bfadd1
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_files__vboxdrv
@@ -0,0 +1,34 @@
+--- src/VBox/HostDrivers/Support/freebsd//files_vboxdrv.orig 2025-01-21 19:58:53.000000000 +0700
++++ src/VBox/HostDrivers/Support/freebsd//files_vboxdrv 2025-03-17 00:31:16.880317000 +0700
+@@ -71,6 +71,7 @@
+ ${PATH_ROOT}/include/iprt/stdarg.h=>include/iprt/stdarg.h \
+ ${PATH_ROOT}/include/iprt/stdint.h=>include/iprt/stdint.h \
+ ${PATH_ROOT}/include/iprt/string.h=>include/iprt/string.h \
++ ${PATH_ROOT}/include/iprt/system.h=>include/iprt/system.h \
+ ${PATH_ROOT}/include/iprt/thread.h=>include/iprt/thread.h \
+ ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \
+ ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \
+@@ -133,6 +134,7 @@
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletable.cpp=>common/misc/handletable.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletable.h=>common/misc/handletable.h \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletablectx.cpp=>common/misc/handletablectx.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletablesimple.cpp=>common/misc/handletablesimple.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/once.cpp=>common/misc/once.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/term.cpp=>common/misc/term.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/thread.cpp=>common/misc/thread.c \
+@@ -154,6 +156,7 @@
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/strprintf2-ellipsis.cpp=>common/string/strprintf2-ellipsis.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/strtonum.cpp=>common/string/strtonum.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/memchr.cpp=>common/string/memchr.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/string/utf-8.cpp=>common/string/utf-8.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/stringalloc.cpp=>common/string/stringalloc.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/rand/rand.cpp=>common/rand/rand.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/rand/randadv.cpp=>common/rand/randadv.c \
+@@ -200,6 +203,7 @@
+ ${PATH_ROOT}/src/VBox/Runtime/generic/RTMpOnPair-generic.cpp=>generic/RTMpOnPair-generic.c \
+ ${PATH_ROOT}/src/VBox/Runtime/generic/errvars-generic.cpp=>generic/errvars-generic.c \
+ ${PATH_ROOT}/src/VBox/Runtime/generic/mppresent-generic.cpp=>generic/mppresent-generic.c \
++ ${PATH_ROOT}/src/VBox/Runtime/generic/system-page-size-generic.cpp=>generic/system-page-size-generic.c \
+ ${PATH_ROOT}/src/VBox/Runtime/generic/timer-generic.cpp=>generic/timer-generic.c \
+ ${PATH_ROOT}/src/VBox/Runtime/generic/uuid-generic.cpp=>generic/uuid-generic.c \
+ ${PATH_ROOT}/src/VBox/Runtime/r0drv/alloc-r0drv.cpp=>r0drv/alloc-r0drv.c \
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_Makefile b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_Makefile
new file mode 100644
index 000000000000..e94dc6f85e27
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_Makefile
@@ -0,0 +1,11 @@
+--- src/VBox/HostDrivers/VBoxNetAdp/freebsd/Makefile.orig 2019-05-13 13:33:07 UTC
++++ src/VBox/HostDrivers/VBoxNetAdp/freebsd/Makefile
+@@ -26,7 +26,7 @@
+
+ KMOD = vboxnetadp
+
+-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBOX_WITH_HARDENING -DVIMAGE
++CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -DVBOX_WITH_64_BITS_GUESTS -DVIMAGE -Iinclude -I. -Ir0drv -w
+
+ .if (${MACHINE_ARCH} == "i386")
+ CFLAGS += -DRT_ARCH_X86
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_VBoxNetAdp-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_VBoxNetAdp-freebsd.c
new file mode 100644
index 000000000000..8da432449fe1
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_VBoxNetAdp-freebsd.c
@@ -0,0 +1,147 @@
+--- src/VBox/HostDrivers/VBoxNetAdp/freebsd/VBoxNetAdp-freebsd.c.orig 2024-01-11 12:25:08 UTC
++++ src/VBox/HostDrivers/VBoxNetAdp/freebsd/VBoxNetAdp-freebsd.c
+@@ -216,7 +216,11 @@ static void VBoxNetAdpFreeBSDNetinit(void *priv)
+ PVBOXNETADP pThis = priv;
+ struct ifnet *ifp = pThis->u.s.ifp;
+
++#if __FreeBSD_version >= 1500000
++ if_setdrvflagbits(ifp, IFF_DRV_RUNNING, 0);
++#else
+ ifp->if_drv_flags |= IFF_DRV_RUNNING;
++#endif
+ }
+
+ /**
+@@ -226,25 +230,46 @@ static void VBoxNetAdpFreeBSDNetstart(struct ifnet *if
+ */
+ static void VBoxNetAdpFreeBSDNetstart(struct ifnet *ifp)
+ {
++#if __FreeBSD_version >= 1500000
++ PVBOXNETADP pThis = if_getsoftc(ifp);
++#else
+ PVBOXNETADP pThis = ifp->if_softc;
++#endif
+ struct mbuf *m;
+
++#if __FreeBSD_version >= 1500000
++ if ((if_getdrvflags(ifp) & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING)
++#else
+ if ((ifp->if_drv_flags & (IFF_DRV_RUNNING | IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING)
++#endif
+ return;
+
++#if __FreeBSD_version >= 1500000
++ if_setdrvflagbits(ifp, IFF_DRV_OACTIVE, 0);
++ while (!if_sendq_empty(ifp))
++#else
+ ifp->if_drv_flags |= IFF_DRV_OACTIVE;
+ while (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
++#endif
+ {
+ #if __FreeBSD_version >= 1100036
+ if_inc_counter(ifp, IFCOUNTER_OPACKETS, 1);
+ #else
+ ifp->if_opackets++;
+ #endif
++#if __FreeBSD_version >= 1500000
++ m = if_dequeue(ifp);
++#else
+ IFQ_DRV_DEQUEUE(&ifp->if_snd, m);
++#endif
+ BPF_MTAP(ifp, m);
+ m_freem(m);
+ }
++#if __FreeBSD_version >= 1500000
++ if_setdrvflagbits(ifp, 0, IFF_DRV_OACTIVE);
++#else
+ ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
++#endif
+ }
+
+ /**
+@@ -257,6 +282,18 @@ static int VBoxNetAdpFreeBSDNetioctl(struct ifnet *ifp
+ switch (cmd)
+ {
+ case SIOCSIFFLAGS:
++#if __FreeBSD_version >= 1500000
++ if (if_getflags(ifp) & IFF_UP)
++ {
++ if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING))
++ if_init(ifp, if_getsoftc(ifp));
++ }
++ else
++ {
++ if (if_getdrvflags(ifp) & IFF_DRV_RUNNING)
++ if_setdrvflagbits(ifp, 0, IFF_DRV_RUNNING);
++ }
++#else
+ if (ifp->if_flags & IFF_UP)
+ {
+ if (!(ifp->if_drv_flags & IFF_DRV_RUNNING))
+@@ -267,6 +304,7 @@ static int VBoxNetAdpFreeBSDNetioctl(struct ifnet *ifp
+ if (ifp->if_drv_flags & IFF_DRV_RUNNING)
+ ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
+ }
++#endif
+ break;
+ case SIOCGIFMEDIA:
+ {
+@@ -301,7 +339,11 @@ int vboxNetAdpOsCreate(PVBOXNETADP pThis, PCRTMAC pMac
+
+ int vboxNetAdpOsCreate(PVBOXNETADP pThis, PCRTMAC pMac)
+ {
++#if __FreeBSD_version >= 1500000
++ if_t ifp;
++#else
+ struct ifnet *ifp;
++#endif
+
+ VBOXCURVNET_SET_FROM_UCRED();
+ ifp = if_alloc(IFT_ETHER);
+@@ -309,6 +351,16 @@ int vboxNetAdpOsCreate(PVBOXNETADP pThis, PCRTMAC pMac
+ return VERR_NO_MEMORY;
+
+ if_initname(ifp, VBOXNETADP_NAME, pThis->iUnit);
++#if __FreeBSD_version >= 1500000
++ if_setsoftc(ifp, pThis);
++ if_setmtu(ifp, ETHERMTU);
++ if_setflagbits(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST, 0);
++ if_setioctlfn(ifp, VBoxNetAdpFreeBSDNetioctl);
++ if_setstartfn(ifp, VBoxNetAdpFreeBSDNetstart);
++ if_setinitfn(ifp, VBoxNetAdpFreeBSDNetinit);
++ if_setsendqlen(ifp, IFQ_MAXLEN);
++ if_setsendqready(ifp);
++#else
+ ifp->if_softc = pThis;
+ ifp->if_mtu = ETHERMTU;
+ ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+@@ -318,10 +370,17 @@ int vboxNetAdpOsCreate(PVBOXNETADP pThis, PCRTMAC pMac
+ IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN);
+ ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN;
+ IFQ_SET_READY(&ifp->if_snd);
++#endif
+ ether_ifattach(ifp, (void *)pMac);
++#if __FreeBSD_version >= 1500000
++ (void)if_setbaudrate(ifp, 0);
++
++ strncpy(pThis->szName, if_name(ifp), VBOXNETADP_MAX_NAME_LEN);
++#else
+ ifp->if_baudrate = 0;
+
+ strncpy(pThis->szName, ifp->if_xname, VBOXNETADP_MAX_NAME_LEN);
++#endif
+ pThis->u.s.ifp = ifp;
+ VBOXCURVNET_RESTORE();
+ return 0;
+@@ -332,7 +391,11 @@ void vboxNetAdpOsDestroy(PVBOXNETADP pThis)
+ struct ifnet *ifp;
+
+ ifp = pThis->u.s.ifp;
++#if __FreeBSD_version >= 1500000
++ VBOXCURVNET_SET(if_getvnet(ifp));
++#else
+ VBOXCURVNET_SET(ifp->if_vnet);
++#endif
+ ether_ifdetach(ifp);
+ if_free(ifp);
+ VBOXCURVNET_RESTORE();
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk
new file mode 100644
index 000000000000..9c7ab624c52a
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk
@@ -0,0 +1,11 @@
+--- src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk.orig 2019-05-13 13:33:07 UTC
++++ src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk
+@@ -565,7 +565,7 @@ $(PATH_OUT)/opt_netgraph.h:
+ $(QUIET)$(RM) -f -- $@
+ $(QUIET)$(CP) -f $< $@
+ ifndef VBOX_WITH_HARDENING
+- $(QUIET)$(SED) -e "s;VBOX_WITH_HARDENING;;g" --output $@.tmp $@
++ $(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@.tmp $@
+ ${QUIET}$(MV) -f $@.tmp $@
+ endif
+ ifndef VBOX_WITH_NETFLT_VIMAGE
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_Makefile b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_Makefile
new file mode 100644
index 000000000000..e819561ab9a8
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_Makefile
@@ -0,0 +1,11 @@
+--- src/VBox/HostDrivers/VBoxNetFlt/freebsd/Makefile.orig 2019-05-13 13:33:07 UTC
++++ src/VBox/HostDrivers/VBoxNetFlt/freebsd/Makefile
+@@ -26,7 +26,7 @@
+
+ KMOD = vboxnetflt
+
+-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBOX_WITH_HARDENING -DVIMAGE
++CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -DVBOX_WITH_64_BITS_GUESTS -DVIMAGE -Iinclude -I. -Ir0drv -w
+
+ .if (${MACHINE_ARCH} == "i386")
+ CFLAGS += -DRT_ARCH_X86
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_VBoxNetFlt-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_VBoxNetFlt-freebsd.c
new file mode 100644
index 000000000000..6e3d40a42e43
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_VBoxNetFlt-freebsd.c
@@ -0,0 +1,471 @@
+--- src/VBox/HostDrivers/VBoxNetFlt/freebsd/VBoxNetFlt-freebsd.c.orig 2024-01-11 12:25:08 UTC
++++ src/VBox/HostDrivers/VBoxNetFlt/freebsd/VBoxNetFlt-freebsd.c
+@@ -52,6 +52,7 @@
+ #include <net/if_dl.h>
+ #include <net/if_types.h>
+ #include <net/ethernet.h>
++#include <net/if_vlan_var.h>
+
+ #include <netgraph/ng_message.h>
+ #include <netgraph/netgraph.h>
+@@ -73,6 +74,7 @@
+
+ #define VBOXNETFLT_OS_SPECFIC 1
+ #include "../VBoxNetFltInternal.h"
++#include "freebsd/the-freebsd-kernel.h"
+
+ static int vboxnetflt_modevent(struct module *, int, void *);
+ static ng_constructor_t ng_vboxnetflt_constructor;
+@@ -149,6 +151,7 @@ MODULE_DEPEND(ng_vboxnetflt, vboxdrv, 1, 1, 1);
+ */
+ MODULE_VERSION(vboxnetflt, 1);
+ MODULE_DEPEND(ng_vboxnetflt, vboxdrv, 1, 1, 1);
++MODULE_DEPEND(ng_vboxnetflt, ng_ether, 1, 1, 1);
+
+ /**
+ * The (common) global data.
+@@ -181,8 +184,6 @@ static int vboxnetflt_modevent(struct module *pMod, in
+ printf("vboxNetFltInitGlobalsAndIdc failed %d\n", rc);
+ return RTErrConvertToErrno(rc);
+ }
+- /* No MODULE_VERSION in ng_ether so we can't MODULE_DEPEND it */
+- kern_kldload(curthread, "ng_ether", NULL);
+ break;
+
+ case MOD_UNLOAD:
+@@ -334,12 +335,20 @@ static int ng_vboxnetflt_rcvdata(hook_p hook, item_p i
+ {
+ const node_p node = NG_HOOK_NODE(hook);
+ PVBOXNETFLTINS pThis = NG_NODE_PRIVATE(node);
++#if __FreeBSD_version >= 1500000
++ if_t ifp = pThis->u.s.ifp;
++#else
+ struct ifnet *ifp = pThis->u.s.ifp;
++#endif
+ struct mbuf *m;
+ struct m_tag *mtag;
+ bool fActive;
+
++#if __FreeBSD_version >= 1500000
++ VBOXCURVNET_SET(if_getvnet(ifp));
++#else
+ VBOXCURVNET_SET(ifp->if_vnet);
++#endif
+ fActive = vboxNetFltTryRetainBusyActive(pThis);
+
+ NGI_GET_M(item, m);
+@@ -361,7 +370,14 @@ static int ng_vboxnetflt_rcvdata(hook_p hook, item_p i
+ {
+ if (mtag != NULL || !fActive)
+ {
++#if __FreeBSD_version >= 1300049
++ struct epoch_tracker et;
++ NET_EPOCH_ENTER(et);
++#endif
+ ether_demux(ifp, m);
++#if __FreeBSD_version >= 1300049
++ NET_EPOCH_EXIT(et);
++#endif
+ if (fActive)
+ vboxNetFltRelease(pThis, true /*fBusy*/);
+ VBOXCURVNET_RESTORE();
+@@ -433,12 +449,22 @@ static void vboxNetFltFreeBSDinput(void *arg, int pend
+ {
+ PVBOXNETFLTINS pThis = (PVBOXNETFLTINS)arg;
+ struct mbuf *m, *m0;
++#if __FreeBSD_version >= 1500000
++ if_t ifp = pThis->u.s.ifp;
++#else
+ struct ifnet *ifp = pThis->u.s.ifp;
++#endif
+ unsigned int cSegs = 0;
+ bool fDropIt = false, fActive;
++ bool is_vl_tagged = false;
++ uint16_t vl_tag;
+ PINTNETSG pSG;
+
++#if __FreeBSD_version >= 1500000
++ VBOXCURVNET_SET(if_getvnet(ifp));
++#else
+ VBOXCURVNET_SET(ifp->if_vnet);
++#endif
+ vboxNetFltRetain(pThis, true /* fBusy */);
+ for (;;)
+ {
+@@ -448,6 +474,19 @@ static void vboxNetFltFreeBSDinput(void *arg, int pend
+ if (m == NULL)
+ break;
+
++ /* Prepend a VLAN header for consumption by the virtual switch */
++ if (m->m_flags & M_VLANTAG) {
++ vl_tag = m->m_pkthdr.ether_vtag;
++ is_vl_tagged = true;
++
++ m = ether_vlanencap(m, m->m_pkthdr.ether_vtag);
++ if (m == NULL) {
++ printf("vboxflt: unable to prepend VLAN header\n");
++ break;
++ }
++ m->m_flags &= ~M_VLANTAG;
++ }
++
+ for (m0 = m; m0 != NULL; m0 = m0->m_next)
+ if (m0->m_len > 0)
+ cSegs++;
+@@ -462,10 +501,39 @@ static void vboxNetFltFreeBSDinput(void *arg, int pend
+ vboxNetFltFreeBSDMBufToSG(pThis, m, pSG, cSegs, 0);
+ fDropIt = pThis->pSwitchPort->pfnRecv(pThis->pSwitchPort, NULL /* pvIf */, pSG, INTNETTRUNKDIR_WIRE);
+ RTMemTmpFree(pSG);
++
++ /* Restore the VLAN flags before re-injecting the packet */
++ if (is_vl_tagged && !fDropIt) {
++ struct ether_vlan_header *vl_hdr;
++
++ /* This shouldn't fail, as the header was just prepended */
++ if (m->m_len < sizeof(*vl_hdr) && (m = m_pullup(m, sizeof(*vl_hdr))) == NULL) {
++ printf("vboxflt: unable to pullup VLAN header\n");
++ m_freem(m);
++ break;
++ }
++
++ /* Copy the MAC dhost/shost over the 802.1q field */
++ vl_hdr = mtod(m, struct ether_vlan_header *);
++ bcopy((char *)vl_hdr, (char *)vl_hdr + ETHER_VLAN_ENCAP_LEN, ETHER_HDR_LEN - ETHER_TYPE_LEN);
++ m_adj(m, ETHER_VLAN_ENCAP_LEN);
++
++ m->m_pkthdr.ether_vtag = vl_tag;
++ m->m_flags |= M_VLANTAG;
++ }
++
+ if (fDropIt)
+ m_freem(m);
+- else
++ else {
++#if __FreeBSD_version >= 1300049
++ struct epoch_tracker et;
++ NET_EPOCH_ENTER(et);
++#endif
+ ether_demux(ifp, m);
++#if __FreeBSD_version >= 1300049
++ NET_EPOCH_EXIT(et);
++#endif
++ }
+ }
+ vboxNetFltRelease(pThis, true /* fBusy */);
+ VBOXCURVNET_RESTORE();
+@@ -478,12 +546,20 @@ static void vboxNetFltFreeBSDoutput(void *arg, int pen
+ {
+ PVBOXNETFLTINS pThis = (PVBOXNETFLTINS)arg;
+ struct mbuf *m, *m0;
++#if __FreeBSD_version >= 1500000
++ if_t ifp = pThis->u.s.ifp;
++#else
+ struct ifnet *ifp = pThis->u.s.ifp;
++#endif
+ unsigned int cSegs = 0;
+ bool fDropIt = false, fActive;
+ PINTNETSG pSG;
+
++#if __FreeBSD_version >= 1500000
++ VBOXCURVNET_SET(if_getvnet(ifp));
++#else
+ VBOXCURVNET_SET(ifp->if_vnet);
++#endif
+ vboxNetFltRetain(pThis, true /* fBusy */);
+ for (;;)
+ {
+@@ -521,26 +597,41 @@ int vboxNetFltPortOsXmit(PVBOXNETFLTINS pThis, void *p
+ */
+ int vboxNetFltPortOsXmit(PVBOXNETFLTINS pThis, void *pvIfData, PINTNETSG pSG, uint32_t fDst)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ NOREF(pvIfData);
+
+ void (*input_f)(struct ifnet *, struct mbuf *);
++#if __FreeBSD_version >= 1500000
++ if_t ifp;
++#else
+ struct ifnet *ifp;
++#endif
+ struct mbuf *m;
+ struct m_tag *mtag;
+ bool fActive;
+ int error;
+
+ ifp = ASMAtomicUoReadPtrT(&pThis->u.s.ifp, struct ifnet *);
++#if __FreeBSD_version >= 1500000
++ VBOXCURVNET_SET(if_getvnet(ifp));
++#else
+ VBOXCURVNET_SET(ifp->if_vnet);
++#endif
+
+ if (fDst & INTNETTRUNKDIR_WIRE)
+ {
+ m = vboxNetFltFreeBSDSGMBufFromSG(pThis, pSG);
+ if (m == NULL)
++ {
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
++ }
+ m = m_pullup(m, ETHER_HDR_LEN);
+ if (m == NULL)
++ {
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
++ }
+
+ m->m_flags |= M_PKTHDR;
+ ether_output_frame(ifp, m);
+@@ -550,10 +641,16 @@ int vboxNetFltPortOsXmit(PVBOXNETFLTINS pThis, void *p
+ {
+ m = vboxNetFltFreeBSDSGMBufFromSG(pThis, pSG);
+ if (m == NULL)
++ {
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
++ }
+ m = m_pullup(m, ETHER_HDR_LEN);
+ if (m == NULL)
++ {
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
++ }
+ /*
+ * Delivering packets to the host will be captured by the
+ * input hook. Tag the packet with a mbuf tag so that we
+@@ -564,6 +661,7 @@ int vboxNetFltPortOsXmit(PVBOXNETFLTINS pThis, void *p
+ if (mtag == NULL)
+ {
+ m_freem(m);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
+ }
+
+@@ -571,9 +669,21 @@ int vboxNetFltPortOsXmit(PVBOXNETFLTINS pThis, void *p
+ m_tag_prepend(m, mtag);
+ m->m_flags |= M_PKTHDR;
+ m->m_pkthdr.rcvif = ifp;
++#if __FreeBSD_version >= 1300049
++ struct epoch_tracker et;
++ NET_EPOCH_ENTER(et);
++#endif
++#if __FreeBSD_version >= 1500000
++ if_input(ifp, m);
++#else
+ ifp->if_input(ifp, m);
++#endif
++#if __FreeBSD_version >= 1300049
++ NET_EPOCH_EXIT(et);
++#endif
+ }
+ VBOXCURVNET_RESTORE();
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -586,15 +696,23 @@ int vboxNetFltOsInitInstance(PVBOXNETFLTINS pThis, voi
+
+ int vboxNetFltOsInitInstance(PVBOXNETFLTINS pThis, void *pvContext)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ char nam[NG_NODESIZ];
++#if __FreeBSD_version >= 1500000
++ if_t ifp;
++#else
+ struct ifnet *ifp;
++#endif
+ node_p node;
+
+ VBOXCURVNET_SET_FROM_UCRED();
+ NOREF(pvContext);
+ ifp = ifunit(pThis->szName);
+ if (ifp == NULL)
++ {
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_INTNET_FLT_IF_NOT_FOUND;
++ }
+
+ /* Create a new netgraph node for this instance */
+ if (ng_make_node_common(&ng_vboxnetflt_typestruct, &node) != 0)
+@@ -604,7 +722,11 @@ int vboxNetFltOsInitInstance(PVBOXNETFLTINS pThis, voi
+
+ ASMAtomicUoWritePtr(&pThis->u.s.ifp, ifp);
+ pThis->u.s.node = node;
++#if __FreeBSD_version >= 1500000
++ bcopy(if_getlladdr(ifp), &pThis->u.s.MacAddr, ETHER_ADDR_LEN);
++#else
+ bcopy(IF_LLADDR(ifp), &pThis->u.s.MacAddr, ETHER_ADDR_LEN);
++#endif
+ ASMAtomicUoWriteBool(&pThis->fDisconnectedFromHost, false);
+
+ /* Initialize deferred input queue */
+@@ -638,16 +760,26 @@ int vboxNetFltOsInitInstance(PVBOXNETFLTINS pThis, voi
+ vboxNetFltRelease(pThis, true /*fBusy*/);
+ }
+ VBOXCURVNET_RESTORE();
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+
+ return VINF_SUCCESS;
+ }
+
+ bool vboxNetFltOsMaybeRediscovered(PVBOXNETFLTINS pThis)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
++#if __FreeBSD_version >= 1500000
++ if_t ifp, ifp0;
++#else
+ struct ifnet *ifp, *ifp0;
++#endif
+
+ ifp = ASMAtomicUoReadPtrT(&pThis->u.s.ifp, struct ifnet *);
++#if __FreeBSD_version >= 1500000
++ VBOXCURVNET_SET(if_getvnet(ifp));
++#else
+ VBOXCURVNET_SET(ifp->if_vnet);
++#endif
+ /*
+ * Attempt to check if the interface is still there and re-initialize if
+ * something has changed.
+@@ -660,6 +792,7 @@ bool vboxNetFltOsMaybeRediscovered(PVBOXNETFLTINS pThi
+ pThis->u.s.node = NULL;
+ }
+ VBOXCURVNET_RESTORE();
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+
+ if (ifp0 != NULL)
+ {
+@@ -672,6 +805,7 @@ void vboxNetFltOsDeleteInstance(PVBOXNETFLTINS pThis)
+
+ void vboxNetFltOsDeleteInstance(PVBOXNETFLTINS pThis)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ taskqueue_drain(taskqueue_fast, &pThis->u.s.tskin);
+ taskqueue_drain(taskqueue_fast, &pThis->u.s.tskout);
+@@ -684,6 +818,7 @@ void vboxNetFltOsDeleteInstance(PVBOXNETFLTINS pThis)
+ ng_rmnode_self(pThis->u.s.node);
+ VBOXCURVNET_RESTORE();
+ pThis->u.s.node = NULL;
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ }
+
+ int vboxNetFltOsPreInitInstance(PVBOXNETFLTINS pThis)
+@@ -697,7 +832,12 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b
+
+ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, bool fActive)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
++#if __FreeBSD_version >= 1500000
++ if_t ifp;
++#else
+ struct ifnet *ifp;
++#endif
+ struct ifreq ifreq;
+ int error;
+ node_p node;
+@@ -709,18 +849,30 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b
+ Log(("%s: fActive:%d\n", __func__, fActive));
+
+ ifp = ASMAtomicUoReadPtrT(&pThis->u.s.ifp, struct ifnet *);
++#if __FreeBSD_version >= 1500000
++ VBOXCURVNET_SET(if_getvnet(ifp));
++#else
+ VBOXCURVNET_SET(ifp->if_vnet);
++#endif
+ node = ASMAtomicUoReadPtrT(&pThis->u.s.node, node_p);
+
+ memset(&ifreq, 0, sizeof(struct ifreq));
+ /* Activate interface */
+ if (fActive)
+ {
++#if __FreeBSD_version >= 1500000
++ pThis->u.s.flags = if_getflags(ifp);
++#else
+ pThis->u.s.flags = ifp->if_flags;
++#endif
+ ifpromisc(ifp, 1);
+
+ /* ng_ether nodes are named after the interface name */
++#if __FreeBSD_version >= 1500000
++ snprintf(path, sizeof(path), "%s:", if_name(ifp));
++#else
+ snprintf(path, sizeof(path), "%s:", ifp->if_xname);
++#endif
+
+ /*
+ * Send a netgraph connect message to the ng_ether node
+@@ -730,9 +882,16 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b
+ NG_MKMESSAGE(msg, NGM_GENERIC_COOKIE, NGM_CONNECT,
+ sizeof(struct ngm_connect), M_NOWAIT);
+ if (msg == NULL)
++ {
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return;
++ }
+ con = (struct ngm_connect *)msg->data;
++#if __FreeBSD_version >= 1500000
++ snprintf(con->path, NG_PATHSIZ, "vboxnetflt_%s:", if_name(ifp));
++#else
+ snprintf(con->path, NG_PATHSIZ, "vboxnetflt_%s:", ifp->if_xname);
++#endif
+ strlcpy(con->ourhook, "lower", NG_HOOKSIZ);
+ strlcpy(con->peerhook, "input", NG_HOOKSIZ);
+ NG_SEND_MSG_PATH(error, node, msg, path, 0);
+@@ -744,10 +903,17 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b
+ NG_MKMESSAGE(msg, NGM_GENERIC_COOKIE, NGM_CONNECT,
+ sizeof(struct ngm_connect), M_NOWAIT);
+ if (msg == NULL)
++ {
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return;
++ }
+ con = (struct ngm_connect *)msg->data;
+ snprintf(con->path, NG_PATHSIZ, "vboxnetflt_%s:",
++#if __FreeBSD_version >= 1500000
++ if_name(ifp));
++#else
+ ifp->if_xname);
++#endif
+ strlcpy(con->ourhook, "upper", sizeof(con->ourhook));
+ strlcpy(con->peerhook, "output", sizeof(con->peerhook));
+ NG_SEND_MSG_PATH(error, node, msg, path, 0);
+@@ -759,7 +925,11 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b
+ ifpromisc(ifp, 0);
+
+ /* Disconnect msgs are addressed to ourself */
++#if __FreeBSD_version >= 1500000
++ snprintf(path, sizeof(path), "vboxnetflt_%s:", if_name(ifp));
++#else
+ snprintf(path, sizeof(path), "vboxnetflt_%s:", ifp->if_xname);
++#endif
+
+ /*
+ * Send a netgraph message to disconnect our 'input' hook
+@@ -767,7 +937,10 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b
+ NG_MKMESSAGE(msg, NGM_GENERIC_COOKIE, NGM_RMHOOK,
+ sizeof(struct ngm_rmhook), M_NOWAIT);
+ if (msg == NULL)
++ {
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return;
++ }
+ rm = (struct ngm_rmhook *)msg->data;
+ strlcpy(rm->ourhook, "input", NG_HOOKSIZ);
+ NG_SEND_MSG_PATH(error, node, msg, path, 0);
+@@ -778,12 +951,16 @@ void vboxNetFltPortOsSetActive(PVBOXNETFLTINS pThis, b
+ NG_MKMESSAGE(msg, NGM_GENERIC_COOKIE, NGM_RMHOOK,
+ sizeof(struct ngm_rmhook), M_NOWAIT);
+ if (msg == NULL)
++ {
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return;
++ }
+ rm = (struct ngm_rmhook *)msg->data;
+ strlcpy(rm->ourhook, "output", NG_HOOKSIZ);
+ NG_SEND_MSG_PATH(error, node, msg, path, 0);
+ }
+ VBOXCURVNET_RESTORE();
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ }
+
+ int vboxNetFltOsDisconnectIt(PVBOXNETFLTINS pThis)
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_adpctl_VBoxNetAdpCtl.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_adpctl_VBoxNetAdpCtl.cpp
new file mode 100644
index 000000000000..67573dc080a4
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_adpctl_VBoxNetAdpCtl.cpp
@@ -0,0 +1,11 @@
+--- src/VBox/HostDrivers/adpctl/VBoxNetAdpCtl.cpp.orig 2022-01-13 18:57:40 UTC
++++ src/VBox/HostDrivers/adpctl/VBoxNetAdpCtl.cpp
+@@ -737,7 +737,7 @@ int Adapter::doIOCtl(unsigned long iCmd, VBOXNETADPREQ
+ * Global config file implementation *
+ *********************************************************************************************************************************/
+
+-#define VBOX_GLOBAL_NETWORK_CONFIG_PATH "/etc/vbox/networks.conf"
++#define VBOX_GLOBAL_NETWORK_CONFIG_PATH "%%VBOX_ETC%%/networks.conf"
+ #define VBOXNET_DEFAULT_IPV4MASK "255.255.255.0"
+
+ class NetworkAddress
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_Makefile.kmk
new file mode 100644
index 000000000000..f5693ffb72b4
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_Makefile.kmk
@@ -0,0 +1,10 @@
+--- src/VBox/Main/Makefile.kmk.orig 2024-10-10 20:31:38.000000000 +0200
++++ src/VBox/Main/Makefile.kmk 2024-12-27 13:32:31.610875000 +0100
+@@ -761,6 +761,7 @@
+
+ VBoxSVC_SOURCES.freebsd = \
+ src-server/freebsd/HostHardwareFreeBSD.cpp \
++ $(if $(VBOX_WITH_DBUS),src-server/linux/HostPowerLinux.cpp) \
+ src-server/HostDnsServiceResolvConf.cpp
+
+ VBoxSVC_LDFLAGS.freebsd += -lcam
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_include_HostPower.h b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_include_HostPower.h
new file mode 100644
index 000000000000..5718fe987ce4
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_include_HostPower.h
@@ -0,0 +1,20 @@
+--- src/VBox/Main/include/HostPower.h.orig 2021-01-07 15:41:38 UTC
++++ src/VBox/Main/include/HostPower.h
+@@ -31,7 +31,7 @@
+
+ #include <vector>
+
+-#ifdef RT_OS_LINUX
++#if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)
+ # include <VBox/dbus.h>
+ #endif
+
+@@ -67,7 +67,7 @@ class HostPowerServiceWin : public HostPowerService (p
+ RTTHREAD mThread;
+ };
+ # endif
+-# if defined(RT_OS_LINUX) || defined(DOXYGEN_RUNNING)
++# if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD) || defined(DOXYGEN_RUNNING)
+ /**
+ * The Linux hosted Power Service.
+ */
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_HostImpl.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_HostImpl.cpp
new file mode 100644
index 000000000000..d4c018b2fc23
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_HostImpl.cpp
@@ -0,0 +1,11 @@
+--- src/VBox/Main/src-server/HostImpl.cpp.orig 2021-01-07 15:41:42 UTC
++++ src/VBox/Main/src-server/HostImpl.cpp
+@@ -286,7 +286,7 @@ HRESULT Host::init(VirtualBox *aParent)
+
+ #if defined(RT_OS_WINDOWS)
+ m->pHostPowerService = new HostPowerServiceWin(m->pParent);
+-#elif defined(RT_OS_LINUX) && defined(VBOX_WITH_DBUS)
++#elif (defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)) && defined(VBOX_WITH_DBUS)
+ m->pHostPowerService = new HostPowerServiceLinux(m->pParent);
+ #elif defined(RT_OS_DARWIN)
+ m->pHostPowerService = new HostPowerServiceDarwin(m->pParent);
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_freebsd_PerformanceFreeBSD.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_freebsd_PerformanceFreeBSD.cpp
new file mode 100644
index 000000000000..631547ac9cee
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Main_src-server_freebsd_PerformanceFreeBSD.cpp
@@ -0,0 +1,24 @@
+--- src/VBox/Main/src-server/freebsd/PerformanceFreeBSD.cpp.orig 2017-07-27 13:18:27 UTC
++++ src/VBox/Main/src-server/freebsd/PerformanceFreeBSD.cpp
+@@ -80,8 +80,10 @@ int CollectorFreeBSD::getHostMemoryUsage(ULONG *total,
+ cbParameter = sizeof(cPagesMemInactive);
+ if (!sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0))
+ cProcessed++;
++#if __FreeBSD_version < 1200016
+ cbParameter = sizeof(cPagesMemCached);
+ if (!sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0))
++#endif
+ cProcessed++;
+ cbParameter = sizeof(cbPage);
+ if (!sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0))
+@@ -90,8 +92,8 @@ int CollectorFreeBSD::getHostMemoryUsage(ULONG *total,
+ if (cProcessed == 6)
+ {
+ *total = cbMemPhys / _1K;
+- *used = cPagesMemUsed * (cbPage / _1K);
+- *available = (cPagesMemFree + cPagesMemInactive + cPagesMemCached ) * (cbPage / _1K);
++ *used = (uint64_t)cPagesMemUsed * (cbPage / _1K);
++ *available = ((uint64_t)cPagesMemFree + cPagesMemInactive + cPagesMemCached) * (cbPage / _1K);
+ }
+ else
+ rc = VERR_NOT_SUPPORTED;
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_Makefile.kmk
new file mode 100644
index 000000000000..3133e4cbd207
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_Makefile.kmk
@@ -0,0 +1,29 @@
+--- src/VBox/Runtime/Makefile.kmk.orig 2025-01-21 19:59:19.000000000 +0700
++++ src/VBox/Runtime/Makefile.kmk 2025-03-23 20:54:34.250024000 +0700
+@@ -225,6 +225,9 @@
+ $(QUIET)$(oiddb2c_1_TARGET) "$@" $(filter %.cfg,$^)
+ $(QUIET)$(CP) --changed -fv "$@" "$(IPRT_OUT_DIR)/oiddb.h"
+
++# Set the defines that utf8-posix.cpp needs. It's used by several targets.
++#
++r3/posix/utf8-posix.cpp_DEFS.freebsd = $(VBOX_ICONV_DEFS)
+
+ #
+ # Unicode Specification reader used to regenerate unidata-*.cpp.
+@@ -1468,6 +1471,7 @@
+ generic/RTProcDaemonize-generic.cpp \
+ generic/RTProcIsRunningByName-generic.cpp \
+ generic/RTThreadGetNativeState-generic.cpp \
++ generic/system-page-size-generic.cpp \
+ r3/freebsd/fileaio-freebsd.cpp \
+ r3/freebsd/RTFileQuerySectorSize-freebsd.cpp \
+ r3/freebsd/mp-freebsd.cpp \
+@@ -3011,6 +3015,8 @@
+ /delayload:ole32.dll \
+ /delayload:oleaut32.dll \
+ /delayload:advapi32.dll
++VBoxRT_LDFLAGS.freebsd = \
++ -Wl,--allow-multiple-definition
+
+ if1of (VBoxRT, $(DLLS))
+ $(call VBOX_SET_VER_INFO_DLL,VBoxRT,VirtualBox Runtime)
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_alloc-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_alloc-r0drv-freebsd.c
new file mode 100644
index 000000000000..0ae2d847c0f6
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_alloc-r0drv-freebsd.c
@@ -0,0 +1,58 @@
+--- src/VBox/Runtime/r0drv/freebsd/alloc-r0drv-freebsd.c.orig 2024-10-10 20:32:14.000000000 +0200
++++ src/VBox/Runtime/r0drv/freebsd/alloc-r0drv-freebsd.c 2024-12-27 13:39:49.059878000 +0100
+@@ -88,6 +88,7 @@
+
+ DECLHIDDEN(int) rtR0MemAllocEx(size_t cb, uint32_t fFlags, PRTMEMHDR *ppHdr)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ size_t cbAllocated = cb;
+ PRTMEMHDR pHdr = (PRTMEMHDR)malloc(cb + sizeof(RTMEMHDR), M_IPRTHEAP,
+ fFlags & RTMEMHDR_FLAG_ZEROED ? M_NOWAIT | M_ZERO : M_NOWAIT);
+@@ -99,21 +100,28 @@
+ pHdr->cbReq = cb;
+
+ *ppHdr = pHdr;
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+- }
++ }
++
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
+ }
+
+
+ DECLHIDDEN(void) rtR0MemFree(PRTMEMHDR pHdr)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
++
+ pHdr->u32Magic += 1;
+ free(pHdr, M_IPRTHEAP);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ }
+
+
+ RTR0DECL(void *) RTMemContAlloc(PRTCCPHYS pPhys, size_t cb)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ void *pv;
+
+ /*
+@@ -138,6 +146,7 @@
+ *pPhys = vtophys(pv);
+ Assert(!(*pPhys & PAGE_OFFSET_MASK));
+ }
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return pv;
+ }
+
+@@ -147,7 +156,9 @@
+ if (pv)
+ {
+ AssertMsg(!((uintptr_t)pv & PAGE_OFFSET_MASK), ("pv=%p\n", pv));
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ contigfree(pv, cb, M_IPRTCONT);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ }
+ }
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_assert-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_assert-r0drv-freebsd.c
new file mode 100644
index 000000000000..4c628cbe47a5
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_assert-r0drv-freebsd.c
@@ -0,0 +1,29 @@
+--- src/VBox/Runtime/r0drv/freebsd/assert-r0drv-freebsd.c.orig 2021-01-07 15:42:08 UTC
++++ src/VBox/Runtime/r0drv/freebsd/assert-r0drv-freebsd.c
+@@ -68,15 +68,18 @@
+
+ DECLHIDDEN(void) rtR0AssertNativeMsg1(const char *pszExpr, unsigned uLine, const char *pszFile, const char *pszFunction)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ printf("\r\n!!Assertion Failed!!\r\n"
+ "Expression: %s\r\n"
+ "Location : %s(%d) %s\r\n",
+ pszExpr, pszFile, uLine, pszFunction);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ }
+
+
+ DECLHIDDEN(void) rtR0AssertNativeMsg2V(bool fInitial, const char *pszFormat, va_list va)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ char szMsg[256];
+
+ RTStrPrintfV(szMsg, sizeof(szMsg) - 1, pszFormat, va);
+@@ -84,6 +87,7 @@ DECLHIDDEN(void) rtR0AssertNativeMsg2V(bool fInitial,
+ printf("%s", szMsg);
+
+ NOREF(fInitial);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ }
+
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
new file mode 100644
index 000000000000..4c0ed355709c
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
@@ -0,0 +1,408 @@
+--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-04-14 17:59:13 UTC
++++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c
+@@ -140,8 +140,10 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+
+ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)pMem;
+ int rc;
++ vm_map_t pMap;
+
+ switch (pMemFreeBSD->Core.enmType)
+ {
+@@ -156,8 +158,6 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+
+ case RTR0MEMOBJTYPE_LOCK:
+ {
+- vm_map_t pMap = kernel_map;
+-
+ if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS)
+ pMap = &((struct proc *)pMemFreeBSD->Core.u.Lock.R0Process)->p_vmspace->vm_map;
+
+@@ -198,6 +198,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ case RTR0MEMOBJTYPE_PHYS_NC:
+ {
+ VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
++#if __FreeBSD_version < 1500038
+ vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0);
+ #if __FreeBSD_version < 1000000
+ vm_page_lock_queues();
+@@ -211,6 +212,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ #if __FreeBSD_version < 1000000
+ vm_page_unlock_queues();
+ #endif
++#else /* __FreeBSD_version >= 1500038 */
++ struct pctrie_iter pages;
++ vm_page_t page;
++
++ vm_page_iter_init(&pages, pMemFreeBSD->pObject);
++ VM_RADIX_FORALL(page, &pages)
++ (void)vm_page_unwire_noq(page);
++#endif
+ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
+ vm_object_deallocate(pMemFreeBSD->pObject);
+ break;
+@@ -221,6 +230,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ return VERR_INTERNAL_ERROR;
+ }
+
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -330,7 +340,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE
+ size_t cPages = atop(pMemFreeBSD->Core.cb);
+ int rc;
+
+- pMemFreeBSD->pObject = vm_object_allocate(OBJT_PHYS, cPages);
++ pMemFreeBSD->pObject = vm_pager_allocate(OBJT_PHYS, NULL,
++ pMemFreeBSD->Core.cb, VM_PROT_ALL, 0, curthread->td_ucred);
+
+ /* No additional object reference for auto-deallocation upon unmapping. */
+ #if __FreeBSD_version >= 1000055
+@@ -372,6 +383,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
+
+ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PAGE,
+ NULL, cb, pszTag);
+ if (pMemFreeBSD)
+@@ -381,8 +393,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
+ *ppMem = &pMemFreeBSD->Core;
+ else
+ rtR0MemObjDelete(&pMemFreeBSD->Core);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return rc;
+ }
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
+ }
+
+@@ -396,6 +410,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
+
+ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_LOW, NULL, cb, pszTag);
+ if (pMemFreeBSD)
+ {
+@@ -404,8 +419,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
+ *ppMem = &pMemFreeBSD->Core;
+ else
+ rtR0MemObjDelete(&pMemFreeBSD->Core);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return rc;
+ }
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
+ }
+
+@@ -413,6 +430,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
+ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, RTHCPHYS PhysHigest,
+ bool fExecutable, const char *pszTag)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_CONT,
+ NULL, cb, pszTag);
+ if (pMemFreeBSD)
+@@ -425,8 +443,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
+ }
+ else
+ rtR0MemObjDelete(&pMemFreeBSD->Core);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return rc;
+ }
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
+ }
+
+@@ -434,6 +454,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJTYPE enmType, size_t cb, RTHCPHYS PhysHighest,
+ size_t uAlignment, bool fContiguous, int rcNoMem, const char *pszTag)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ /* create the object. */
+ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), enmType, NULL, cb, pszTag);
+ if (pMemFreeBSD)
+@@ -441,7 +462,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+ vm_paddr_t const VmPhysAddrHigh = PhysHighest != NIL_RTHCPHYS ? PhysHighest : ~(vm_paddr_t)0;
+ u_long const cPages = atop(cb);
+
+- pMemFreeBSD->pObject = vm_object_allocate(OBJT_PHYS, cPages);
++ pMemFreeBSD->pObject = vm_pager_allocate(OBJT_PHYS, NULL,
++ pMemFreeBSD->Core.cb, VM_PROT_ALL, 0, curthread->td_ucred);
+
+ int rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages, VmPhysAddrHigh,
+ uAlignment, fContiguous, true, rcNoMem);
+@@ -451,7 +473,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+ {
+ Assert(enmType == RTR0MEMOBJTYPE_PHYS);
+ VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
+- pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_page_find_least(pMemFreeBSD->pObject, 0));
++ pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_radix_lookup_ge(&pMemFreeBSD->pObject->rtree, 0));
+ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
+ pMemFreeBSD->Core.u.Phys.fAllocated = true;
+ }
+@@ -464,8 +486,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+ vm_object_deallocate(pMemFreeBSD->pObject);
+ rtR0MemObjDelete(&pMemFreeBSD->Core);
+ }
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return rc;
+ }
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
+ }
+
+@@ -488,6 +512,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
+ const char *pszTag)
+ {
+ AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ /* create the object. */
+ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PHYS,
+@@ -499,8 +524,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
+ pMemFreeBSD->Core.u.Phys.PhysBase = Phys;
+ pMemFreeBSD->Core.u.Phys.uCachePolicy = uCachePolicy;
+ *ppMem = &pMemFreeBSD->Core;
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
+ }
+
+@@ -512,6 +539,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
+ vm_offset_t AddrStart, size_t cb, uint32_t fAccess,
+ RTR0PROCESS R0Process, int fFlags, const char *pszTag)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ int rc;
+ NOREF(fAccess);
+
+@@ -521,21 +549,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
+ if (!pMemFreeBSD)
+ return VERR_NO_MEMORY;
+
+- /*
+- * We could've used vslock here, but we don't wish to be subject to
+- * resource usage restrictions, so we'll call vm_map_wire directly.
+- */
+- rc = vm_map_wire(pVmMap, /* the map */
+- AddrStart, /* start */
+- AddrStart + cb, /* end */
+- fFlags); /* flags */
++ if (pVmMap != kernel_map) {
++ /*
++ * We could've used vslock here, but we don't wish to be subject to
++ * resource usage restrictions, so we'll call vm_map_wire directly.
++ */
++ rc = vm_map_wire(pVmMap, /* the map */
++ AddrStart, /* start */
++ AddrStart + cb, /* end */
++ fFlags); /* flags */
++ }
++ else
++ rc = KERN_SUCCESS;
++
+ if (rc == KERN_SUCCESS)
+ {
+ pMemFreeBSD->Core.u.Lock.R0Process = R0Process;
+ *ppMem = &pMemFreeBSD->Core;
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+ rtR0MemObjDelete(&pMemFreeBSD->Core);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;/** @todo fix mach -> vbox error conversion for freebsd. */
+ }
+
+@@ -575,6 +610,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
+ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvFixed, size_t cb, size_t uAlignment,
+ RTR0PROCESS R0Process, vm_map_t pMap, const char *pszTag)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ int rc;
+
+ /*
+@@ -633,11 +669,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
+ pMemFreeBSD->Core.pv = (void *)MapAddress;
+ pMemFreeBSD->Core.u.ResVirt.R0Process = R0Process;
+ *ppMem = &pMemFreeBSD->Core;
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+ rc = VERR_NO_MEMORY; /** @todo fix translation (borrow from darwin) */
+ rtR0MemObjDelete(&pMemFreeBSD->Core);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return rc;
+
+ }
+@@ -661,6 +699,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, void *pvFixed, size_t uAlignment,
+ unsigned fProt, size_t offSub, size_t cbSub, const char *pszTag)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
++
+ // AssertMsgReturn(!offSub && !cbSub, ("%#x %#x\n", offSub, cbSub), VERR_NOT_SUPPORTED);
+ AssertMsgReturn(pvFixed == (void *)-1, ("%p\n", pvFixed), VERR_NOT_SUPPORTED);
+
+@@ -715,6 +755,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+ Assert((vm_offset_t)pMemFreeBSD->Core.pv == Addr);
+ pMemFreeBSD->Core.u.Mapping.R0Process = NIL_RTR0PROCESS;
+ *ppMem = &pMemFreeBSD->Core;
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+ rc = vm_map_remove(kernel_map, Addr, Addr + cbSub);
+@@ -723,6 +764,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+ else
+ vm_object_deallocate(pMemToMapFreeBSD->pObject);
+
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
+ }
+
+@@ -730,6 +772,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
+ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, RTR3PTR R3PtrFixed, size_t uAlignment,
+ unsigned fProt, RTR0PROCESS R0Process, size_t offSub, size_t cbSub, const char *pszTag)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
++
+ /*
+ * Check for unsupported stuff.
+ */
+@@ -787,44 +831,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
+
+ if (rc == KERN_SUCCESS)
+ {
+- rc = vm_map_wire(pProcMap, AddrR3, AddrR3 + pMemToMap->cb, VM_MAP_WIRE_USER|VM_MAP_WIRE_NOHOLES);
++ rc = vm_map_wire(pProcMap, AddrR3, AddrR3 + cbSub, VM_MAP_WIRE_USER|VM_MAP_WIRE_NOHOLES);
+ AssertMsg(rc == KERN_SUCCESS, ("%#x\n", rc));
+
+- rc = vm_map_inherit(pProcMap, AddrR3, AddrR3 + pMemToMap->cb, VM_INHERIT_SHARE);
++ rc = vm_map_inherit(pProcMap, AddrR3, AddrR3 + cbSub, VM_INHERIT_SHARE);
+ AssertMsg(rc == KERN_SUCCESS, ("%#x\n", rc));
+
+ /*
+ * Create a mapping object for it.
+ */
+ PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(RTR0MEMOBJFREEBSD), RTR0MEMOBJTYPE_MAPPING,
+- (void *)AddrR3, pMemToMap->cb, pszTag);
++ (void *)AddrR3, cbSub, pszTag);
+ if (pMemFreeBSD)
+ {
+ Assert((vm_offset_t)pMemFreeBSD->Core.pv == AddrR3);
+ pMemFreeBSD->Core.u.Mapping.R0Process = R0Process;
+ *ppMem = &pMemFreeBSD->Core;
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+- rc = vm_map_remove(pProcMap, AddrR3, AddrR3 + pMemToMap->cb);
++ rc = vm_map_remove(pProcMap, AddrR3, AddrR3 + cbSub);
+ AssertMsg(rc == KERN_SUCCESS, ("Deleting mapping failed\n"));
+ }
+ else
+ vm_object_deallocate(pMemToMapFreeBSD->pObject);
+
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
+ }
+
+
+ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINTERNAL pMem, size_t offSub, size_t cbSub, uint32_t fProt)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ vm_prot_t ProtectionFlags = 0;
+ vm_offset_t AddrStart = (uintptr_t)pMem->pv + offSub;
+ vm_offset_t AddrEnd = AddrStart + cbSub;
+ vm_map_t pVmMap = rtR0MemObjFreeBSDGetMap(pMem);
+
+ if (!pVmMap)
++ {
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NOT_SUPPORTED;
++ }
+
+ if ((fProt & RTMEM_PROT_NONE) == RTMEM_PROT_NONE)
+ ProtectionFlags = VM_PROT_NONE;
+@@ -835,7 +885,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT
+ if ((fProt & RTMEM_PROT_EXEC) == RTMEM_PROT_EXEC)
+ ProtectionFlags |= VM_PROT_EXECUTE;
+
++#if __FreeBSD_version >= 1300135
++ int krc = vm_map_protect(pVmMap, AddrStart, AddrEnd, ProtectionFlags, 0, VM_MAP_PROTECT_SET_PROT);
++#else
+ int krc = vm_map_protect(pVmMap, AddrStart, AddrEnd, ProtectionFlags, FALSE);
++#endif
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ if (krc == KERN_SUCCESS)
+ return VINF_SUCCESS;
+
+@@ -860,11 +915,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+
+ vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage);
+
+- struct proc *pProc = (struct proc *)pMemFreeBSD->Core.u.Lock.R0Process;
+- struct vm_map *pProcMap = &pProc->p_vmspace->vm_map;
+- pmap_t pPhysicalMap = vm_map_pmap(pProcMap);
++ if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS)
++ {
++ RTHCPHYS addr;
++ IPRT_FREEBSD_SAVE_EFL_AC();
++ struct proc *pProc = (struct proc *)pMemFreeBSD->Core.u.Lock.R0Process;
++ struct vm_map *pProcMap = &pProc->p_vmspace->vm_map;
++ pmap_t pPhysicalMap = vm_map_pmap(pProcMap);
+
+- return pmap_extract(pPhysicalMap, pb);
++ addr = pmap_extract(pPhysicalMap, pb);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
++ return addr;
++ }
++ return vtophys(pb);
+ }
+
+ case RTR0MEMOBJTYPE_MAPPING:
+@@ -873,11 +936,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+
+ if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS)
+ {
++ RTHCPHYS addr;
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ struct proc *pProc = (struct proc *)pMemFreeBSD->Core.u.Mapping.R0Process;
+ struct vm_map *pProcMap = &pProc->p_vmspace->vm_map;
+ pmap_t pPhysicalMap = vm_map_pmap(pProcMap);
+
+- return pmap_extract(pPhysicalMap, pb);
++ addr = pmap_extract(pPhysicalMap, pb);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
++ return addr;
+ }
+ return vtophys(pb);
+ }
+@@ -888,9 +955,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+ {
+ RTHCPHYS addr;
+
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
+ addr = VM_PAGE_TO_PHYS(vm_page_lookup(pMemFreeBSD->pObject, iPage));
+ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return addr;
+ }
+
+@@ -910,7 +979,7 @@ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping
+ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping(PRTR0MEMOBJINTERNAL pMem)
+ {
+ PRTR0MEMOBJFREEBSD const pMemFreeBsd = (PRTR0MEMOBJFREEBSD)pMem;
+- size_t const cPages = pMemSolaris->Core.cb >> PAGE_SHIFT;
++ size_t const cPages = atop(pMemFreeBsd->Core.cb);
+ size_t iPage;
+ for (iPage = 0; iPage < cPages; iPage++)
+ {
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memuserkernel-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memuserkernel-r0drv-freebsd.c
new file mode 100644
index 000000000000..53bac187bde0
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memuserkernel-r0drv-freebsd.c
@@ -0,0 +1,22 @@
+--- src/VBox/Runtime/r0drv/freebsd/memuserkernel-r0drv-freebsd.c.orig 2018-10-15 14:31:31 UTC
++++ src/VBox/Runtime/r0drv/freebsd/memuserkernel-r0drv-freebsd.c
+@@ -36,7 +36,9 @@
+
+ RTR0DECL(int) RTR0MemUserCopyFrom(void *pvDst, RTR3PTR R3PtrSrc, size_t cb)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ int rc = copyin((const void *)R3PtrSrc, pvDst, cb);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ if (RT_LIKELY(rc == 0))
+ return VINF_SUCCESS;
+ return VERR_ACCESS_DENIED;
+@@ -45,7 +47,9 @@ RTR0DECL(int) RTR0MemUserCopyFrom(void *pvDst, RTR3PTR
+
+ RTR0DECL(int) RTR0MemUserCopyTo(RTR3PTR R3PtrDst, void const *pvSrc, size_t cb)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ int rc = copyout(pvSrc, (void *)R3PtrDst, cb);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ if (RT_LIKELY(rc == 0))
+ return VINF_SUCCESS;
+ return VERR_ACCESS_DENIED;
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_mp-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_mp-r0drv-freebsd.c
new file mode 100644
index 000000000000..8c68cae63a34
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_mp-r0drv-freebsd.c
@@ -0,0 +1,92 @@
+--- src/VBox/Runtime/r0drv/freebsd/mp-r0drv-freebsd.c.orig 2019-04-16 10:17:21 UTC
++++ src/VBox/Runtime/r0drv/freebsd/mp-r0drv-freebsd.c
+@@ -147,7 +147,9 @@ RTDECL(RTCPUID) RTMpGetOnlineCount(void)
+ static void rtmpOnAllFreeBSDWrapper(void *pvArg)
+ {
+ PRTMPARGS pArgs = (PRTMPARGS)pvArg;
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ pArgs->pfnWorker(curcpu, pArgs->pvUser1, pArgs->pvUser2);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ }
+
+
+@@ -159,7 +161,9 @@ RTDECL(int) RTMpOnAll(PFNRTMPWORKER pfnWorker, void *p
+ Args.pvUser2 = pvUser2;
+ Args.idCpu = NIL_RTCPUID;
+ Args.cHits = 0;
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ smp_rendezvous(NULL, rtmpOnAllFreeBSDWrapper, smp_no_rendezvous_barrier, &Args);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -175,7 +179,11 @@ static void rtmpOnOthersFreeBSDWrapper(void *pvArg)
+ PRTMPARGS pArgs = (PRTMPARGS)pvArg;
+ RTCPUID idCpu = curcpu;
+ if (pArgs->idCpu != idCpu)
++ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ pArgs->pfnWorker(idCpu, pArgs->pvUser1, pArgs->pvUser2);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
++ }
+ }
+
+
+@@ -196,6 +204,7 @@ RTDECL(int) RTMpOnOthers(PFNRTMPWORKER pfnWorker, void
+ Args.pvUser2 = pvUser2;
+ Args.idCpu = RTMpCpuId();
+ Args.cHits = 0;
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ #if __FreeBSD_version >= 700000
+ # if __FreeBSD_version >= 900000
+ Mask = all_cpus;
+@@ -207,6 +216,7 @@ RTDECL(int) RTMpOnOthers(PFNRTMPWORKER pfnWorker, void
+ #else
+ smp_rendezvous(NULL, rtmpOnOthersFreeBSDWrapper, NULL, &Args);
+ #endif
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ }
+ return VINF_SUCCESS;
+ }
+@@ -224,8 +234,10 @@ static void rtmpOnSpecificFreeBSDWrapper(void *pvArg)
+ RTCPUID idCpu = curcpu;
+ if (pArgs->idCpu == idCpu)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ pArgs->pfnWorker(idCpu, pArgs->pvUser1, pArgs->pvUser2);
+ ASMAtomicIncU32(&pArgs->cHits);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ }
+ }
+
+@@ -248,6 +260,7 @@ RTDECL(int) RTMpOnSpecific(RTCPUID idCpu, PFNRTMPWORKE
+ Args.pvUser2 = pvUser2;
+ Args.idCpu = idCpu;
+ Args.cHits = 0;
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ #if __FreeBSD_version >= 700000
+ # if __FreeBSD_version >= 900000
+ CPU_SETOF(idCpu, &Mask);
+@@ -258,6 +271,7 @@ RTDECL(int) RTMpOnSpecific(RTCPUID idCpu, PFNRTMPWORKE
+ #else
+ smp_rendezvous(NULL, rtmpOnSpecificFreeBSDWrapper, NULL, &Args);
+ #endif
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return Args.cHits == 1
+ ? VINF_SUCCESS
+ : VERR_CPU_NOT_FOUND;
+@@ -287,12 +301,14 @@ RTDECL(int) RTMpPokeCpu(RTCPUID idCpu)
+ if (!RTMpIsCpuOnline(idCpu))
+ return VERR_CPU_NOT_FOUND;
+
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ # if __FreeBSD_version >= 900000
+ CPU_SETOF(idCpu, &Mask);
+ # else
+ Mask = (cpumask_t)1 << idCpu;
+ # endif
+ smp_rendezvous_cpus(Mask, NULL, rtmpFreeBSDPokeCallback, smp_no_rendezvous_barrier, NULL);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+
+ return VINF_SUCCESS;
+ }
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semevent-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semevent-r0drv-freebsd.c
new file mode 100644
index 000000000000..c84313e2f5e2
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semevent-r0drv-freebsd.c
@@ -0,0 +1,53 @@
+--- src/VBox/Runtime/r0drv/freebsd/semevent-r0drv-freebsd.c.orig 2021-01-07 15:42:08 UTC
++++ src/VBox/Runtime/r0drv/freebsd/semevent-r0drv-freebsd.c
+@@ -101,7 +101,9 @@ RTDECL(int) RTSemEventCreateEx(PRTSEMEVENT phEventSem
+ Assert(!(fFlags & RTSEMEVENT_FLAGS_BOOTSTRAP_HACK) || (fFlags & RTSEMEVENT_FLAGS_NO_LOCK_VAL));
+ AssertPtrReturn(phEventSem, VERR_INVALID_POINTER);
+
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ PRTSEMEVENTINTERNAL pThis = (PRTSEMEVENTINTERNAL)RTMemAllocZ(sizeof(*pThis));
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ if (!pThis)
+ return VERR_NO_MEMORY;
+
+@@ -152,10 +154,12 @@ RTDECL(int) RTSemEventDestroy(RTSEMEVENT hEventSem)
+ /*
+ * Invalidate it and signal the object just in case.
+ */
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ ASMAtomicWriteU32(&pThis->u32Magic, ~RTSEMEVENT_MAGIC);
+ ASMAtomicWriteU32(&pThis->fState, 0);
+ rtR0SemBsdBroadcast(pThis);
+ rtR0SemEventBsdRelease(pThis);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -173,9 +177,11 @@ RTDECL(int) RTSemEventSignal(RTSEMEVENT hEventSem)
+ /*
+ * Signal the event object.
+ */
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ ASMAtomicWriteU32(&pThis->fState, 1);
+ rtR0SemBsdSignal(pThis);
+ rtR0SemEventBsdRelease(pThis);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -199,6 +205,7 @@ static int rtR0SemEventWait(PRTSEMEVENTINTERNAL pThis,
+ AssertPtrReturn(pThis, VERR_INVALID_PARAMETER);
+ AssertMsgReturn(pThis->u32Magic == RTSEMEVENT_MAGIC, ("%p u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_PARAMETER);
+ AssertReturn(RTSEMWAIT_FLAGS_ARE_VALID(fFlags), VERR_INVALID_PARAMETER);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ rtR0SemEventBsdRetain(pThis);
+
+ /*
+@@ -248,6 +255,7 @@ static int rtR0SemEventWait(PRTSEMEVENTINTERNAL pThis,
+ }
+
+ rtR0SemEventBsdRelease(pThis);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return rc;
+ }
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semeventmulti-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semeventmulti-r0drv-freebsd.c
new file mode 100644
index 000000000000..d3571a937b1f
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semeventmulti-r0drv-freebsd.c
@@ -0,0 +1,73 @@
+--- src/VBox/Runtime/r0drv/freebsd/semeventmulti-r0drv-freebsd.c.orig 2021-01-07 15:42:08 UTC
++++ src/VBox/Runtime/r0drv/freebsd/semeventmulti-r0drv-freebsd.c
+@@ -120,7 +120,9 @@ RTDECL(int) RTSemEventMultiCreateEx(PRTSEMEVENTMULTI
+ PRTSEMEVENTMULTIINTERNAL pThis;
+
+ AssertReturn(!(fFlags & ~RTSEMEVENTMULTI_FLAGS_NO_LOCK_VAL), VERR_INVALID_PARAMETER);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ pThis = (PRTSEMEVENTMULTIINTERNAL)RTMemAlloc(sizeof(*pThis));
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ if (pThis)
+ {
+ pThis->u32Magic = RTSEMEVENTMULTI_MAGIC;
+@@ -176,10 +178,12 @@ RTDECL(int) RTSemEventMultiDestroy(RTSEMEVENTMULTI hE
+ /*
+ * Invalidate it and signal the object just in case.
+ */
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ ASMAtomicWriteU32(&pThis->u32Magic, ~RTSEMEVENTMULTI_MAGIC);
+ ASMAtomicAndU32(&pThis->fStateAndGen, RTSEMEVENTMULTIBSD_GEN_MASK);
+ rtR0SemBsdBroadcast(pThis);
+ rtR0SemEventMultiBsdRelease(pThis);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -188,6 +192,7 @@ RTDECL(int) RTSemEventMultiSignal(RTSEMEVENTMULTI hEv
+ {
+ uint32_t fNew;
+ uint32_t fOld;
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ /*
+ * Validate input.
+@@ -214,12 +219,15 @@ RTDECL(int) RTSemEventMultiSignal(RTSEMEVENTMULTI hEv
+
+ rtR0SemBsdBroadcast(pThis);
+ rtR0SemEventMultiBsdRelease(pThis);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+
+ RTDECL(int) RTSemEventMultiReset(RTSEMEVENTMULTI hEventMultiSem)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
++
+ /*
+ * Validate input.
+ */
+@@ -236,6 +244,7 @@ RTDECL(int) RTSemEventMultiReset(RTSEMEVENTMULTI hEve
+ ASMAtomicAndU32(&pThis->fStateAndGen, ~RTSEMEVENTMULTIBSD_STATE_MASK);
+
+ rtR0SemEventMultiBsdRelease(pThis);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -252,6 +261,7 @@ RTDECL(int) RTSemEventMultiReset(RTSEMEVENTMULTI hEve
+ static int rtR0SemEventMultiBsdWait(PRTSEMEVENTMULTIINTERNAL pThis, uint32_t fFlags, uint64_t uTimeout,
+ PCRTLOCKVALSRCPOS pSrcPos)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ uint32_t fOrgStateAndGen;
+ int rc;
+
+@@ -311,6 +321,7 @@ static int rtR0SemEventMultiBsdWait(PRTSEMEVENTMULTIIN
+ }
+
+ rtR0SemEventMultiBsdRelease(pThis);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return rc;
+ }
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semfastmutex-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semfastmutex-r0drv-freebsd.c
new file mode 100644
index 000000000000..aeab0a76e37c
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semfastmutex-r0drv-freebsd.c
@@ -0,0 +1,59 @@
+--- src/VBox/Runtime/r0drv/freebsd/semfastmutex-r0drv-freebsd.c.orig 2021-01-07 15:42:08 UTC
++++ src/VBox/Runtime/r0drv/freebsd/semfastmutex-r0drv-freebsd.c
+@@ -86,6 +86,7 @@ RTDECL(int) RTSemFastMutexCreate(PRTSEMFASTMUTEX phFa
+ {
+ AssertCompile(sizeof(RTSEMFASTMUTEXINTERNAL) > sizeof(void *));
+ AssertPtrReturn(phFastMtx, VERR_INVALID_POINTER);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ PRTSEMFASTMUTEXINTERNAL pThis = (PRTSEMFASTMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis));
+ if (pThis)
+@@ -94,8 +95,10 @@ RTDECL(int) RTSemFastMutexCreate(PRTSEMFASTMUTEX phFa
+ sx_init_flags(&pThis->SxLock, "IPRT Fast Mutex Semaphore", SX_DUPOK);
+
+ *phFastMtx = pThis;
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
+ }
+
+@@ -107,11 +110,13 @@ RTDECL(int) RTSemFastMutexDestroy(RTSEMFASTMUTEX hFas
+ return VINF_SUCCESS;
+ AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
+ AssertMsgReturn(pThis->u32Magic == RTSEMFASTMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ ASMAtomicWriteU32(&pThis->u32Magic, RTSEMFASTMUTEX_MAGIC_DEAD);
+ sx_destroy(&pThis->SxLock);
+ RTMemFree(pThis);
+
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -121,8 +126,11 @@ RTDECL(int) RTSemFastMutexRequest(RTSEMFASTMUTEX hFas
+ PRTSEMFASTMUTEXINTERNAL pThis = hFastMtx;
+ AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
+ AssertMsgReturn(pThis->u32Magic == RTSEMFASTMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ sx_xlock(&pThis->SxLock);
++
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -132,8 +140,11 @@ RTDECL(int) RTSemFastMutexRelease(RTSEMFASTMUTEX hFas
+ PRTSEMFASTMUTEXINTERNAL pThis = hFastMtx;
+ AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
+ AssertMsgReturn(pThis->u32Magic == RTSEMFASTMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ sx_xunlock(&pThis->SxLock);
++
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semmutex-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semmutex-r0drv-freebsd.c
new file mode 100644
index 000000000000..6345ae10c562
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_semmutex-r0drv-freebsd.c
@@ -0,0 +1,80 @@
+--- src/VBox/Runtime/r0drv/freebsd/semmutex-r0drv-freebsd.c.orig 2018-10-15 14:31:31 UTC
++++ src/VBox/Runtime/r0drv/freebsd/semmutex-r0drv-freebsd.c
+@@ -62,6 +62,7 @@ RTDECL(int) RTSemMutexCreate(PRTSEMMUTEX phMutexSem)
+ {
+ AssertCompile(sizeof(RTSEMMUTEXINTERNAL) > sizeof(void *));
+ AssertPtrReturn(phMutexSem, VERR_INVALID_POINTER);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ PRTSEMMUTEXINTERNAL pThis = (PRTSEMMUTEXINTERNAL)RTMemAllocZ(sizeof(*pThis));
+ if (pThis)
+@@ -70,8 +71,10 @@ RTDECL(int) RTSemMutexCreate(PRTSEMMUTEX phMutexSem)
+ sx_init_flags(&pThis->SxLock, "IPRT Mutex Semaphore", SX_RECURSE);
+
+ *phMutexSem = pThis;
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VERR_NO_MEMORY;
+ }
+
+@@ -83,12 +86,14 @@ RTDECL(int) RTSemMutexDestroy(RTSEMMUTEX hMutexSem)
+ return VINF_SUCCESS;
+ AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
+ AssertMsgReturn(pThis->u32Magic == RTSEMMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ AssertReturn(ASMAtomicCmpXchgU32(&pThis->u32Magic, RTSEMMUTEX_MAGIC_DEAD, RTSEMMUTEX_MAGIC), VERR_INVALID_HANDLE);
+
+ sx_destroy(&pThis->SxLock);
+ RTMemFree(pThis);
+
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -99,6 +104,7 @@ RTDECL(int) RTSemMutexRequest(RTSEMMUTEX hMutexSem, R
+ int rc;
+ AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
+ AssertMsgReturn(pThis->u32Magic == RTSEMMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ if (cMillies == RT_INDEFINITE_WAIT)
+ {
+@@ -133,6 +139,7 @@ RTDECL(int) RTSemMutexRequest(RTSEMMUTEX hMutexSem, R
+ } while (RTTimeSystemMilliTS() - StartTS < cMillies);
+ }
+
++ IPRT_FREEBSD_RESTORE_EFL_ONLY_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -149,6 +156,7 @@ RTDECL(int) RTSemMutexRequestNoResume(RTSEMMUTEX hMut
+ int rc;
+ AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
+ AssertMsgReturn(pThis->u32Magic == RTSEMMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ if (cMillies == RT_INDEFINITE_WAIT)
+ {
+@@ -186,6 +194,7 @@ RTDECL(int) RTSemMutexRequestNoResume(RTSEMMUTEX hMut
+ } while (RTTimeSystemMilliTS() - StartTS < cMillies);
+ }
+
++ IPRT_FREEBSD_RESTORE_EFL_ONLY_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -201,8 +210,11 @@ RTDECL(int) RTSemMutexRelease(RTSEMMUTEX hMutexSem)
+ PRTSEMMUTEXINTERNAL pThis = hMutexSem;
+ AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
+ AssertMsgReturn(pThis->u32Magic == RTSEMMUTEX_MAGIC, ("%p: u32Magic=%RX32\n", pThis, pThis->u32Magic), VERR_INVALID_HANDLE);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ sx_xunlock(&pThis->SxLock);
++
++ IPRT_FREEBSD_RESTORE_EFL_ONLY_AC();
+ return VINF_SUCCESS;
+ }
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_spinlock-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_spinlock-r0drv-freebsd.c
new file mode 100644
index 000000000000..4a86a2e38eb2
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_spinlock-r0drv-freebsd.c
@@ -0,0 +1,30 @@
+--- src/VBox/Runtime/r0drv/freebsd/spinlock-r0drv-freebsd.c.orig 2021-01-07 15:42:09 UTC
++++ src/VBox/Runtime/r0drv/freebsd/spinlock-r0drv-freebsd.c
+@@ -106,7 +106,9 @@ RTDECL(int) RTSpinlockCreate(PRTSPINLOCK pSpinlock, u
+ * Allocate.
+ */
+ AssertCompile(sizeof(RTSPINLOCKINTERNAL) > sizeof(void *));
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ PRTSPINLOCKINTERNAL pThis = (PRTSPINLOCKINTERNAL)RTMemAllocZ(sizeof(*pThis));
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ if (!pThis)
+ return VERR_NO_MEMORY;
+
+@@ -140,7 +142,9 @@ RTDECL(int) RTSpinlockDestroy(RTSPINLOCK Spinlock)
+ * Make the lock invalid and release the memory.
+ */
+ ASMAtomicIncU32(&pThis->u32Magic);
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ RTMemFree(pThis);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -166,6 +170,7 @@ RTDECL(void) RTSpinlockAcquire(RTSPINLOCK Spinlock)
+ {
+ RT_ASSERT_PREEMPT_CPUID_SPIN_ACQUIRED(pThis);
+ pThis->fIntSaved = fIntSaved;
++ IPRT_FREEBSD_RESTORE_EFL_ONLY_AC_EX(fIntSaved);
+ return;
+ }
+ if (--c <= 0)
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_the-freebsd-kernel.h b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_the-freebsd-kernel.h
new file mode 100644
index 000000000000..c783814425f5
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_the-freebsd-kernel.h
@@ -0,0 +1,48 @@
+--- src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h.orig 2025-04-14 17:59:14 UTC
++++ src/VBox/Runtime/r0drv/freebsd/the-freebsd-kernel.h
+@@ -97,6 +97,7 @@
+ #include <sys/smp.h>
+ #include <sys/sleepqueue.h>
+ #include <sys/sx.h>
++#include <sys/vmmeter.h> /* vm_cnt */
+ #include <vm/vm.h>
+ #include <vm/pmap.h> /* for vtophys */
+ #include <vm/vm_map.h>
+@@ -104,10 +105,11 @@
+ #include <vm/vm_kern.h>
+ #include <vm/vm_param.h> /* KERN_SUCCESS ++ */
+ #include <vm/vm_page.h>
++#include <vm/vm_pager.h>
+ #include <vm/vm_phys.h> /* vm_phys_alloc_* */
+ #include <vm/vm_extern.h> /* kmem_alloc_attr */
+ #include <vm/vm_pageout.h> /* vm_contig_grow_cache */
+-#include <sys/vmmeter.h> /* cnt */
++#include <vm/vm_radix.h>
+ #include <sys/resourcevar.h>
+ #include <machine/cpu.h>
+
+@@ -165,6 +167,24 @@
+ */
+ #if 0 /** @todo Not available yet. */
+ # define USE_KMEM_ALLOC_PROT
++#endif
++
++/**
++ * Macros for preserving EFLAGS.AC (despair / paranoid)
++ */
++#if __FreeBSD_version >= 1200076 && defined(RT_ARCH_AMD64)
++# include <iprt/asm-amd64-x86.h>
++# include <iprt/x86.h>
++# define IPRT_FREEBSD_SAVE_EFL_AC() RTCCUINTREG const fSavedEfl = ASMGetFlags()
++# define IPRT_FREEBSD_RESTORE_EFL_AC() ASMSetFlags(fSavedEfl)
++# define IPRT_FREEBSD_RESTORE_EFL_ONLY_AC() ASMChangeFlags(~X86_EFL_AC, fSavedEfl & X86_EFL_AC)
++# define IPRT_FREEBSD_RESTORE_EFL_ONLY_AC_EX(f) ASMChangeFlags(~X86_EFL_AC, (f) & X86_EFL_AC)
++# define VBOX_WITH_EFLAGS_AC_SET_IN_VBOXDRV
++#else
++# define IPRT_FREEBSD_SAVE_EFL_AC() do { } while (0)
++# define IPRT_FREEBSD_RESTORE_EFL_AC() do { } while (0)
++# define IPRT_FREEBSD_RESTORE_EFL_ONLY_AC() do { } while (0)
++# define IPRT_FREEBSD_RESTORE_EFL_ONLY_AC_EX(f) do { } while (0)
+ #endif
+
+ #endif /* !IPRT_INCLUDED_SRC_r0drv_freebsd_the_freebsd_kernel_h */
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c
new file mode 100644
index 000000000000..c1ba2d811cde
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c
@@ -0,0 +1,91 @@
+--- src/VBox/Runtime/r0drv/freebsd/thread-r0drv-freebsd.c.orig 2021-04-20 04:32:44 UTC
++++ src/VBox/Runtime/r0drv/freebsd/thread-r0drv-freebsd.c
+@@ -49,7 +49,6 @@ RTDECL(RTNATIVETHREAD) RTThreadNativeSelf(void)
+ static int rtR0ThreadFbsdSleepCommon(RTMSINTERVAL cMillies)
+ {
+ int rc;
+- int cTicks;
+
+ /*
+ * 0 ms sleep -> yield.
+@@ -60,30 +59,34 @@ static int rtR0ThreadFbsdSleepCommon(RTMSINTERVAL cMil
+ return VINF_SUCCESS;
+ }
+
++ IPRT_FREEBSD_SAVE_EFL_AC();
++
+ /*
+ * Translate milliseconds into ticks and go to sleep.
+ */
+ if (cMillies != RT_INDEFINITE_WAIT)
+ {
+- if (hz == 1000)
+- cTicks = cMillies;
+- else if (hz == 100)
+- cTicks = cMillies / 10;
+- else
+- {
+- int64_t cTicks64 = ((uint64_t)cMillies * hz) / 1000;
+- cTicks = (int)cTicks64;
+- if (cTicks != cTicks64)
+- cTicks = INT_MAX;
+- }
++ struct timeval tv;
++
++ tv.tv_sec = cMillies / 1000;
++ tv.tv_usec = cMillies * 1000;
++
++ rc = tsleep_sbt((void *)RTThreadSleep,
++ PZERO | PCATCH,
++ "iprtsl", /* max 6 chars */
++ tvtosbt(tv),
++ 0,
++ C_ABSOLUTE);
+ }
+ else
+- cTicks = 0; /* requires giant lock! */
+-
+- rc = tsleep((void *)RTThreadSleep,
+- PZERO | PCATCH,
+- "iprtsl", /* max 6 chars */
+- cTicks);
++ {
++ /* requires giant lock! */
++ rc = tsleep((void *)RTThreadSleep,
++ PZERO | PCATCH,
++ "iprts0", /* max 6 chars */
++ 0);
++ }
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ switch (rc)
+ {
+ case 0:
+@@ -114,11 +117,13 @@ RTDECL(int) RTThreadSleepNoLog(RTMSINTERVAL cMillies)
+
+ RTDECL(bool) RTThreadYield(void)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ #if __FreeBSD_version >= 900032
+ kern_yield(curthread->td_user_pri);
+ #else
+ uio_yield();
+ #endif
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return false; /** @todo figure this one ... */
+ }
+
+@@ -167,12 +172,14 @@ RTDECL(void) RTThreadPreemptDisable(PRTTHREADPREEMPTST
+
+ RTDECL(void) RTThreadPreemptRestore(PRTTHREADPREEMPTSTATE pState)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC(); /* paranoia */
+ AssertPtr(pState);
+ Assert(pState->u32Reserved == 42);
+ pState->u32Reserved = 0;
+
+ RT_ASSERT_PREEMPT_CPUID_RESTORE(pState);
+ critical_exit();
++ IPRT_FREEBSD_RESTORE_EFL_ONLY_AC(); /* paranoia */
+ }
+
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread2-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread2-r0drv-freebsd.c
new file mode 100644
index 000000000000..c9cd05c42397
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_thread2-r0drv-freebsd.c
@@ -0,0 +1,35 @@
+--- src/VBox/Runtime/r0drv/freebsd/thread2-r0drv-freebsd.c.orig 2021-01-07 15:42:09 UTC
++++ src/VBox/Runtime/r0drv/freebsd/thread2-r0drv-freebsd.c
+@@ -94,6 +94,8 @@ DECLHIDDEN(int) rtThreadNativeSetPriority(PRTTHREADINT
+ return VERR_INVALID_PARAMETER;
+ }
+
++ IPRT_FREEBSD_SAVE_EFL_AC();
++
+ #if __FreeBSD_version < 700000
+ /* Do like they're doing in subr_ntoskrnl.c... */
+ mtx_lock_spin(&sched_lock);
+@@ -110,6 +112,7 @@ DECLHIDDEN(int) rtThreadNativeSetPriority(PRTTHREADINT
+ thread_unlock(curthread);
+ #endif
+
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -159,6 +162,7 @@ static void rtThreadNativeMain(void *pvThreadInt)
+
+ DECLHIDDEN(int) rtThreadNativeCreate(PRTTHREADINT pThreadInt, PRTNATIVETHREAD pNativeThread)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
+ int rc;
+ struct proc *pProc;
+
+@@ -174,6 +178,7 @@ DECLHIDDEN(int) rtThreadNativeCreate(PRTTHREADINT pThr
+ }
+ else
+ rc = RTErrConvertFromErrno(rc);
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return rc;
+ }
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c
new file mode 100644
index 000000000000..399328e16faa
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c
@@ -0,0 +1,43 @@
+--- src/VBox/Runtime/r0drv/freebsd/time-r0drv-freebsd.c.orig 2021-01-07 15:42:09 UTC
++++ src/VBox/Runtime/r0drv/freebsd/time-r0drv-freebsd.c
+@@ -64,16 +64,23 @@
+
+ RTDECL(uint64_t) RTTimeNanoTS(void)
+ {
+- struct timespec tsp;
+- nanouptime(&tsp);
+- return tsp.tv_sec * RT_NS_1SEC_64
+- + tsp.tv_nsec;
++ struct bintime bt;
++ uint64_t ns;
++ binuptime(&bt);
++ ns = RT_NS_1SEC_64 * bt.sec;
++ ns += (RT_NS_1SEC_64 * (uint32_t)(bt.frac >> 32)) >> 32;
++ return ns;
+ }
+
+
+ RTDECL(uint64_t) RTTimeMilliTS(void)
+ {
+- return RTTimeNanoTS() / RT_NS_1MS;
++ struct bintime bt;
++ uint64_t ms;
++ binuptime(&bt);
++ ms = RT_MS_1SEC_64 * bt.sec;
++ ms += (RT_MS_1SEC_64 * (uint32_t)(bt.frac >> 32)) >> 32;
++ return ms;
+ }
+
+
+@@ -91,8 +98,7 @@ RTDECL(uint64_t) RTTimeSystemMilliTS(void)
+
+ RTDECL(PRTTIMESPEC) RTTimeNow(PRTTIMESPEC pTime)
+ {
+- struct timespec tsp;
+- nanotime(&tsp);
+- return RTTimeSpecSetTimespec(pTime, &tsp);
++ struct timespec ts;
++ nanotime(&ts);
++ return RTTimeSpecSetTimespec(pTime, &ts);
+ }
+-
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_timer-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_timer-r0drv-freebsd.c
new file mode 100644
index 000000000000..ee5b90f13c51
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_timer-r0drv-freebsd.c
@@ -0,0 +1,68 @@
+--- src/VBox/Runtime/r0drv/freebsd/timer-r0drv-freebsd.c.orig 2021-01-07 15:42:09 UTC
++++ src/VBox/Runtime/r0drv/freebsd/timer-r0drv-freebsd.c
+@@ -116,6 +116,7 @@ static void rtTimerFreeBSDCallback(void *pvTimer);
+ RTDECL(int) RTTimerCreateEx(PRTTIMER *ppTimer, uint64_t u64NanoInterval, uint32_t fFlags, PFNRTTIMER pfnTimer, void *pvUser)
+ {
+ *ppTimer = NULL;
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ /*
+ * Validate flags.
+@@ -145,6 +146,7 @@ RTDECL(int) RTTimerCreateEx(PRTTIMER *ppTimer, uint64_
+ callout_init(&pTimer->Callout, CALLOUT_MPSAFE);
+
+ *ppTimer = pTimer;
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -165,6 +167,8 @@ DECLINLINE(bool) rtTimerIsValid(PRTTIMER pTimer)
+
+ RTDECL(int) RTTimerDestroy(PRTTIMER pTimer)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
++
+ /* It's ok to pass NULL pointer. */
+ if (pTimer == /*NIL_RTTIMER*/ NULL)
+ return VINF_SUCCESS;
+@@ -177,6 +181,8 @@ RTDECL(int) RTTimerDestroy(PRTTIMER pTimer)
+ pTimer->u32Magic++;
+ callout_stop(&pTimer->Callout);
+ RTMemFree(pTimer);
++
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+@@ -184,6 +190,7 @@ RTDECL(int) RTTimerDestroy(PRTTIMER pTimer)
+ RTDECL(int) RTTimerStart(PRTTIMER pTimer, uint64_t u64First)
+ {
+ struct timeval tv;
++ IPRT_FREEBSD_SAVE_EFL_AC();
+
+ if (!rtTimerIsValid(pTimer))
+ return VERR_INVALID_HANDLE;
+@@ -207,12 +214,15 @@ RTDECL(int) RTTimerStart(PRTTIMER pTimer, uint64_t u64
+ tv.tv_usec = (u64First % 1000000000) / 1000;
+ callout_reset(&pTimer->Callout, tvtohz(&tv), rtTimerFreeBSDCallback, pTimer);
+
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
+
+ RTDECL(int) RTTimerStop(PRTTIMER pTimer)
+ {
++ IPRT_FREEBSD_SAVE_EFL_AC();
++
+ if (!rtTimerIsValid(pTimer))
+ return VERR_INVALID_HANDLE;
+ if (pTimer->fSuspended)
+@@ -224,6 +234,7 @@ RTDECL(int) RTTimerStop(PRTTIMER pTimer)
+ pTimer->fSuspended = true;
+ callout_stop(&pTimer->Callout);
+
++ IPRT_FREEBSD_RESTORE_EFL_AC();
+ return VINF_SUCCESS;
+ }
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp
new file mode 100644
index 000000000000..87ae993446a3
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp
@@ -0,0 +1,39 @@
+--- src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp.orig 2025-04-14 17:59:18 UTC
++++ src/VBox/Runtime/r3/freebsd/systemmem-freebsd.cpp
+@@ -75,7 +75,6 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb)
+ u_int cPagesMemFree = 0;
+ u_int cPagesMemInactive = 0;
+ u_int cPagesMemCached = 0;
+- u_int cPagesMemUsed = 0;
+ int cbPage = 0;
+ size_t cbParameter;
+ int cProcessed = 0;
+@@ -83,25 +82,23 @@ RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb)
+ cbParameter = sizeof(cPagesMemFree);
+ if (sysctlbyname("vm.stats.vm.v_free_count", &cPagesMemFree, &cbParameter, NULL, 0))
+ rc = RTErrConvertFromErrno(errno);
+- cbParameter = sizeof(cPagesMemUsed);
+- if ( RT_SUCCESS(rc)
+- && sysctlbyname("vm.stats.vm.v_active_count", &cPagesMemUsed, &cbParameter, NULL, 0))
+- rc = RTErrConvertFromErrno(errno);
+ cbParameter = sizeof(cPagesMemInactive);
+ if ( RT_SUCCESS(rc)
+ && sysctlbyname("vm.stats.vm.v_inactive_count", &cPagesMemInactive, &cbParameter, NULL, 0))
+ rc = RTErrConvertFromErrno(errno);
++#if __FreeBSD_version < 1200016
+ cbParameter = sizeof(cPagesMemCached);
+ if ( RT_SUCCESS(rc)
+ && sysctlbyname("vm.stats.vm.v_cache_count", &cPagesMemCached, &cbParameter, NULL, 0))
+ rc = RTErrConvertFromErrno(errno);
++#endif
+ cbParameter = sizeof(cbPage);
+ if ( RT_SUCCESS(rc)
+ && sysctlbyname("hw.pagesize", &cbPage, &cbParameter, NULL, 0))
+ rc = RTErrConvertFromErrno(errno);
+
+ if (RT_SUCCESS(rc))
+- *pcb = (cPagesMemFree + cPagesMemInactive + cPagesMemCached ) * cbPage;
++ *pcb = ((uint64_t)cPagesMemFree + cPagesMemInactive + cPagesMemCached) * cbPage;
+
+ return rc;
+ }
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_posix_process-creation-posix.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_posix_process-creation-posix.cpp
new file mode 100644
index 000000000000..83cabcb77b97
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r3_posix_process-creation-posix.cpp
@@ -0,0 +1,38 @@
+--- src/VBox/Runtime/r3/posix/process-creation-posix.cpp.orig 2022-01-13 18:58:24 UTC
++++ src/VBox/Runtime/r3/posix/process-creation-posix.cpp
+@@ -30,7 +30,7 @@
+ *********************************************************************************************************************************/
+ #define LOG_GROUP RTLOGGROUP_PROCESS
+ #include <iprt/cdefs.h>
+-#ifdef RT_OS_LINUX
++#if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)
+ # define IPRT_WITH_DYNAMIC_CRYPT_R
+ #endif
+ #if (defined(RT_OS_LINUX) || defined(RT_OS_OS2)) && !defined(_GNU_SOURCE)
+@@ -69,7 +69,7 @@
+ # include <shadow.h>
+ #endif
+
+-#if defined(RT_OS_LINUX) || defined(RT_OS_OS2)
++#if defined(RT_OS_LINUX) || defined(RT_OS_OS2) || defined(RT_OS_FREEBSD)
+ /* While Solaris has posix_spawn() of course we don't want to use it as
+ * we need to have the child in a different process contract, no matter
+ * whether it is started detached or not. */
+@@ -157,7 +157,7 @@
+ # define IPRT_LIBPAM_FILE_3 "libpam.1.dylib"
+ # define IPRT_LIBPAM_FILE_3_FIRST_VER 0
+ # define IPRT_LIBPAM_FILE_3_END_VER 0
+-# elif RT_OS_LINUX
++# elif RT_OS_LINUX || RT_OS_FREEBSD
+ # define IPRT_LIBPAM_FILE_1 "libpam.so.0"
+ # define IPRT_LIBPAM_FILE_1_FIRST_VER 0
+ # define IPRT_LIBPAM_FILE_1_END_VER 0
+@@ -572,7 +572,7 @@ static int rtCheckCredentials(const char *pszUser, con
+ if (pPw->pw_passwd && *pPw->pw_passwd)
+ # endif
+ {
+-# if defined(RT_OS_LINUX) || defined(RT_OS_OS2)
++# if defined(RT_OS_LINUX) || defined(RT_OS_OS2) || defined(RT_OS_FREEBSD)
+ # ifdef IPRT_WITH_DYNAMIC_CRYPT_R
+ size_t const cbCryptData = RT_MAX(sizeof(struct crypt_data) * 2, _256K);
+ # else
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_VMM_VMMR3_PDMAsyncCompletionFileNormal.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_VMM_VMMR3_PDMAsyncCompletionFileNormal.cpp
new file mode 100644
index 000000000000..b04b05811f86
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_VMM_VMMR3_PDMAsyncCompletionFileNormal.cpp
@@ -0,0 +1,59 @@
+--- src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp.orig 2021-04-19 21:33:04.000000000 -0700
++++ src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp 2021-05-18 11:45:08.396136000 -0700
+@@ -27,6 +27,13 @@
+ #include <iprt/string.h>
+ #include <iprt/assert.h>
+ #include <VBox/log.h>
++/* TBR: we need a complicated crawl through the data structure to get the AIO system limits
++ to check when considering growing the number of active AIO requests.... */
++/* We need the PDMInternal *before* the UVM, or it isn't visible afterwards. (src/VBox/VMM/include/PDMInternal.h) */
++#include <PDMInternal.h>
++#include <VBox/vmm/uvm.h>
++#include <VBox/vmm/vm.h>
++/* TBR: end of extra includes. */
+
+ #include "PDMAsyncCompletionFileInternal.h"
+
+@@ -1120,8 +1127,40 @@
+ */
+ pdmacFileAioMgrNormalBalanceLoad(pAioMgr);
+ #else
+- /* Grow the I/O manager */
+- pAioMgr->enmState = PDMACEPFILEMGRSTATE_GROWING;
++ /* TBR: Check the global AIO system limit before growing.
++ This is the complicateds crawl through the data structure mentioned
++ near the start of this file.
++ There HAS to be a better way and better time to get this limit! */
++ PPDMASYNCCOMPLETIONEPCLASS pEpClass = NULL;
++ PCPDMASYNCCOMPLETIONEPCLASSOPS pEndpointOps = NULL;
++ PDMASYNCCOMPLETIONEPCLASSTYPE enmClassType;
++ PPDMASYNCCOMPLETIONEPCLASSFILE pEpClassFile = NULL;
++ PVM pVM = NULL;
++ PUVM pUVM = NULL;
++ unsigned int aio_system_reqests_max = RTFILEAIO_UNLIMITED_REQS;
++ pEpClass = pEndpoint->Core.pEpClass;
++ AssertMsg((NULL != pEpClass),("ep->class is NULL"));
++ pEndpointOps = pEpClass->pEndpointOps;
++ AssertMsg((NULL != pEndpointOps),("ep->class->ops is NULL"));
++ enmClassType = pEndpointOps->enmClassType;
++ AssertMsg((PDMASYNCCOMPLETIONEPCLASSTYPE_FILE == enmClassType),
++ ("ep->class->ops->type != PDMASYNCCOMPLETIONEPCLASSTYPE_FILE"));
++ pVM = pEpClass->pVM;
++ AssertMsg((NULL != pVM),("ep->class->VM is NULL"));
++ pUVM = pVM->pUVM;
++ AssertMsg((NULL != pUVM),("ep->class->VM->UVM is NULL"));
++ pEpClassFile = (PPDMASYNCCOMPLETIONEPCLASSFILE) (pUVM->pdm.s.apAsyncCompletionEndpointClass[enmClassType]);
++ AssertMsg((NULL != pEpClassFile),("ep->class->VM->UVM->pdn[globals] is NULL"));
++ aio_system_reqests_max = pEpClassFile->cReqsOutstandingMax;
++#if 0
++ /* A one time check during development to verify getting the right number. */
++ AssertMsg((256 != aio_system_reqests_max),
++ ("aio_system_reqests_max != 256 (val=%u)",aio_system_reqests_max));
++#endif
++ if (RT_UNLIKELY( aio_system_reqests_max == RTFILEAIO_UNLIMITED_REQS
++ || (pAioMgr->cRequestsActiveMax+PDMACEPFILEMGR_REQS_STEP) <= aio_system_reqests_max))
++ /* Grow the I/O manager */
++ pAioMgr->enmState = PDMACEPFILEMGRSTATE_GROWING;
+ #endif
+ }
+ }
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VMM_Config.kmk b/emulators/virtualbox-ose-71/files/patch-src_VMM_Config.kmk
new file mode 100644
index 000000000000..1c44352c9409
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VMM_Config.kmk
@@ -0,0 +1,11 @@
+--- src/VBox/VMM/Config.kmk.orig 2024-12-27 03:55:34.269311000 +0100
++++ src/VBox/VMM/Config.kmk 2024-12-27 03:42:41.858673000 +0100
+@@ -91,7 +91,7 @@
+ VMM_COMMON_DEFS += VBOX_WITH_NATIVE_NEM VBOX_WITH_NEM_R0
+ endif
+ endif
+-if1of ($(KBUILD_TARGET), freebsd linux solaris) # Hosts that implements SUPR0HCPhysToVirt.
++if1of ($(KBUILD_TARGET), linux solaris) # Hosts that implements SUPR0HCPhysToVirt.
+ VMM_COMMON_DEFS += VBOX_WITH_LINEAR_HOST_PHYS_MEM
+ endif
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_Makefile.kmk
new file mode 100644
index 000000000000..c87ba535edb0
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_Makefile.kmk
@@ -0,0 +1,11 @@
+--- src/libs/xpcom18a4/Makefile.kmk.orig 2021-01-07 15:44:04 UTC
++++ src/libs/xpcom18a4/Makefile.kmk
+@@ -985,6 +985,8 @@ VBoxXPCOM_LIBS = \
+ $(VBox-xpcom-proxy_1_TARGET) \
+ $(VBox-xpcom-nspr_1_TARGET) \
+ $(VBoxXPCOMGlue_s_1_TARGET)
++VBoxXPCOM_LIBS.freebsd = \
++ pthread
+ VBoxXPCOM_LIBS.linux = \
+ pthread dl
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_nsprpub_pr_src_pthreads_ptsynch.c b/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_nsprpub_pr_src_pthreads_ptsynch.c
new file mode 100644
index 000000000000..4d556c7cf5a0
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_nsprpub_pr_src_pthreads_ptsynch.c
@@ -0,0 +1,13 @@
+--- src/libs/xpcom18a4/nsprpub/pr/src/pthreads/ptsynch.c.orig 2025-01-21 20:03:59.000000000 +0700
++++ src/libs/xpcom18a4/nsprpub/pr/src/pthreads/ptsynch.c 2025-01-23 01:00:59.324267000 +0700
+@@ -45,6 +45,10 @@
+ #include <string.h>
+ #include <pthread.h>
+ #include <sys/time.h>
++#ifdef FREEBSD
++#include <sys/param.h>
++#endif
++
+ #include <errno.h>
+
+ #include <iprt/asm.h>
diff --git a/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_xpcom_io_nsLocalFileUnix.h b/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_xpcom_io_nsLocalFileUnix.h
new file mode 100644
index 000000000000..13af9aa6bffa
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_libs_xpcom18a4_xpcom_io_nsLocalFileUnix.h
@@ -0,0 +1,17 @@
+--- src/libs/xpcom18a4/xpcom/io/nsLocalFileUnix.h.orig 2020-05-13 19:46:34 UTC
++++ src/libs/xpcom18a4/xpcom/io/nsLocalFileUnix.h
+@@ -72,14 +72,6 @@
+ #define STATFS statfs
+ #endif
+
+-// so we can statfs on freebsd
+-#if defined(__FreeBSD__)
+- #define HAVE_SYS_STATFS_H
+- #define STATFS statfs
+- #include <sys/param.h>
+- #include <sys/mount.h>
+-#endif
+-
+ class NS_COM nsLocalFile : public nsILocalFile
+ {
+ public:
diff --git a/emulators/virtualbox-ose-71/files/pkg-message.in b/emulators/virtualbox-ose-71/files/pkg-message.in
new file mode 100644
index 000000000000..27c14e0a2e2a
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/pkg-message.in
@@ -0,0 +1,120 @@
+[
+{ type: install
+ message: <<EOM
+VirtualBox was installed.
+
+You need to load the vboxdrv kernel module via /boot/loader.conf:
+
+vboxdrv_load="YES"
+
+You also have to add all users to your vboxusers group in order to use vbox.
+
+% pw groupmod vboxusers -m jerry
+
+Reboot the machine to load the needed kernel modules.
+
+
+Bridging Support:
+=================
+
+For bridged networking please add the following line to your /etc/rc.conf:
+
+vboxnet_enable="YES"
+
+
+USB Support:
+============
+
+For USB support your user needs to be in the operator group and needs read
+and write permissions to the USB device.
+
+% pw groupmod operator -m jerry
+
+Add the following to /etc/devfs.rules (create if it doesn't exist):
+
+[system=10]
+add path 'usb/*' mode 0660 group operator
+
+To load these new rule add the following to /etc/rc.conf:
+
+devfs_system_ruleset="system"
+
+Then restart devfs to load the new rules:
+
+% /etc/rc.d/devfs restart
+
+
+Troubleshooting:
+================
+
+Running VirtualBox as non-root user may fail with a fatal error
+NS_ERROR_FACTORY_NOT_REGISTERED. In this case delete /tmp/.vbox-*-ipc file.
+
+If you experience "Network: write Failed: Cannot allocate memory" errors
+try to increase net.graph.maxdata in /boot/loader.conf
+
+If you are using AIO, then increase these limits (https://bugs.freebsd.org/168298):
+vfs.aio.max_buf_aio=8192
+vfs.aio.max_aio_queue_per_proc=65536
+vfs.aio.max_aio_per_proc=8192
+vfs.aio.max_aio_queue=65536
+To check if AIO is used use: kldstat -v | grep aio
+
+If you are experiencing VMs freezes with an error in VBox.log such as:
+"
+00:01:29.590192 AssertLogRel /usr/ports/emulators/virtualbox-ose/work/VirtualBox-6.1.44
+/src/VBox/VMM/VMMR3/PGMPhys.cpp(5148) int PGMR3PhysAllocateHandyPages(PVM): RT_SUCCESS(rc)
+00:01:29.590221 87/128: idPage=0x3d400 HCPhysGCPhys=000000027eaed000 rc=VERR_NO_MEMORY
+00:01:29.590247 Changing the VM state from 'RUNNING' to 'GURU_MEDITATION'
+00:01:29.590261 Console: Machine state changed to 'GuruMeditation'
+00:01:29.590695 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+00:01:29.590696 !!
+00:01:29.590697 !! VCPU0: Guru Meditation -8 (VERR_NO_MEMORY)
+"
+and see a lot of free RAM, then increase sysctl vm.max_user_wired
+(https://bugs.freebsd.org/252227).
+For dedicated VM servers, a good start is:
+("RAM in GB" - max(1, "RAM in GB" / 32)) * 1024*1024*1024 / PAGE_SIZE
+PAGE_SIZE on x86 is 4096.
+Examples with different RAM sizes in GB:
+ 16: ( 16-max(1, 16/32)*1024*1024*1024/4096 = 3932160 => 15GB
+ 32: ( 32-max(1, 32/32)*1024*1024*1024/4096 = 8126464 => 31GB
+ 48: ( 48-max(1, 48/32)*1024*1024*1024/4096 = 12189696 => 46.5GB
+ 64: ( 64-max(1, 64/32)*1024*1024*1024/4096 = 16252928 => 62GB
+128: (128-max(1,128/32)*1024*1024*1024/4096 = 32505856 => 124GB
+256: (256-max(1,256/32)*1024*1024*1024/4096 = 65011712 => 248GB
+
+When assigning IP addresses in host-only mode from ranges outside
+of VirtualBox's defaults, the respective ranges need to be listed
+in %%VBOX_ETC%%/networks.conf (https://bugs.freebsd.org/259399).
+
+Check the wiki page for known issues and troubleshooting:
+https://wiki.freebsd.org/VirtualBox
+
+Please report any problems to emulation@. Thanks!
+EOM
+}
+{ type: upgrade
+ maximum_version: 6.1.22
+ message: <<EOM
+The PULSEAUDIO option has been forcibly disabled since VirtualBox
+version 6.1.24 due to a bug in it preventing virtual machines
+configured to use it from starting.
+
+When upgrading from a previous version please reconfigure any virtual
+machines using the Pulseaudio host audio driver to use another
+supported one.
+EOM
+}
+{ type: upgrade
+ minimum_version: 6.1.26
+ maximum_version: 6.1.32_1
+ message: <<EOM
+To comply to hier(7) requirements, networks.conf's location changed
+to %%VBOX_ETC%%/networks.conf.
+
+In case /etc/vbox/networks.conf exists, it needs to be moved to
+%%VBOX_ETC%% and /etc/vbox should be deleted.
+EOM
+}
+]
diff --git a/emulators/virtualbox-ose-71/files/vboxheadless.in b/emulators/virtualbox-ose-71/files/vboxheadless.in
new file mode 100644
index 000000000000..5ddc5fc21d6c
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/vboxheadless.in
@@ -0,0 +1,140 @@
+#!/bin/sh
+
+# PROVIDE: vboxheadless
+# REQUIRE: LOGIN vboxnet
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf[.local] to enable vboxheadless
+#
+# vboxheadless_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable vboxheadless.
+# vboxheadless_machines (str): Space separated list of machines
+# vboxheadless_user (str): Default user account to run with.
+# (default: %%VBOXUSER%%)
+# vboxheadless_stop (str): Default stop cmd for VBoxManage controlvm.
+# (default: savestate)
+# vboxheadless_delay (int): Default startup/shutdown delay in seconds.
+# (default: 0)
+# vboxheadless_<machine>_name (str): Virtualbox machine name or UUID.
+# vboxheadless_<machine>_user (str): User account to run with.
+# vboxheadless_<machine>_flags (str): Additional flags for VBoxHeadless.
+# vboxheadless_<machine>_stop (str): Stop command for VBoxManage controlvm.
+# vboxheadless_<machine>_delay (int): Startup and shutdown delay in seconds.
+
+. /etc/rc.subr
+
+name="vboxheadless"
+rcvar=vboxheadless_enable
+rc_fast="YES"
+
+command="%%VBOXDIR%%/VBoxHeadless"
+pidbase="/var/run/${name}"
+
+start_cmd="${name}_start"
+stop_cmd="${name}_stop"
+status_cmd="${name}_status"
+
+vboxheadless_start()
+{
+ local machine mpidfile pid vmname vmuser vmflags vmdelay
+
+ echo "Starting Virtual Machines:"
+ for machine in ${vboxheadless_machines}; do
+ mpidfile="${pidbase}_${machine}.pid"
+ pid=$(check_pidfile $mpidfile $command)
+ eval vmname="\${vboxheadless_${machine}_name:-${machine}}"
+ eval vmuser="\${vboxheadless_${machine}_user:-${vboxheadless_user}}"
+ eval vmflags="\${vboxheadless_${machine}_flags:-}"
+ eval vmdelay="\${vboxheadless_${machine}_delay:-${vboxheadless_delay}}"
+
+ HOME=$(/usr/sbin/pw usershow -7 -n "${vmuser}" | /usr/bin/cut -d: -f6)
+
+ /usr/bin/printf "%25s " "${vmname}"
+
+ /usr/bin/su ${vmuser} -c "%%VBOXDIR%%/VBoxManage showvminfo '${vmname}' >/dev/null" 2>/dev/null
+
+ if [ $? != 0 ]; then
+ echo "Unknown machine"
+ continue
+ fi
+
+ if [ -n "${pid}" ]; then
+ echo "Already running? (pid=${pid})"
+ continue
+ fi
+
+ /bin/sleep ${vmdelay}
+ /usr/bin/install -o ${vmuser} -g %%VBOXGROUP%% -m 644 /dev/null ${mpidfile}
+ /usr/sbin/daemon -f -p ${mpidfile} -u ${vmuser} ${command} --startvm "${vmname}" ${vmflags}
+ echo "Started"
+ done
+}
+
+vboxheadless_stop()
+{
+ local machine mpidfile pid pids vmname vmuser vmstop vmdelay
+
+ echo "Saving states for Virtual Machines:"
+ for machine in ${vboxheadless_machines}; do
+ mpidfile="${pidbase}_${machine}.pid"
+ pid=$(check_pidfile $mpidfile $command)
+ eval vmname="\${vboxheadless_${machine}_name:-${machine}}"
+ eval vmuser="\${vboxheadless_${machine}_user:-${vboxheadless_user}}"
+ eval vmstop="\${vboxheadless_${machine}_stop:-${vboxheadless_stop}}"
+ eval vmdelay="\${vboxheadless_${machine}_delay:-${vboxheadless_delay}}"
+
+ /usr/bin/printf "%25s " "${vmname}"
+
+ if [ -n "${pid}" ]; then
+ pids="${pids} ${pid}"
+ /bin/sleep ${vmdelay}
+ /usr/bin/su ${vmuser} -c "%%VBOXDIR%%/VBoxManage controlvm '${vmname}' ${vmstop} >/dev/null &" 2>/dev/null
+ fi
+ done
+ if [ -n "${pids}" ]; then
+ wait_for_pids $pids >/dev/null
+ echo "Stopped"
+ else
+ echo "Not running?"
+ fi
+}
+
+vboxheadless_status()
+{
+ local machine mpidfile pid vmname vmuser
+
+ /usr/bin/printf "%25s %s\n" "Machine" "Status"
+ /usr/bin/printf "%25s %s\n" "-------------------------" "------------"
+
+ for machine in ${vboxheadless_machines}; do
+ mpidfile="${pidbase}_${machine}.pid"
+ pid=$(check_pidfile $mpidfile $command)
+ eval vmname="\${vboxheadless_${machine}_name:-${machine}}"
+ eval vmuser="\${vboxheadless_${machine}_user:-${vboxheadless_user}}"
+
+ /usr/bin/su ${vmuser} -c "%%VBOXDIR%%/VBoxManage showvminfo '${vmname}' >/dev/null" 2>/dev/null
+
+ if [ $? != 0 ]; then
+ /usr/bin/printf "%20s %s\n" "${vmname}" "Unknown Machine"
+ elif [ -n "${pid}" ]; then
+ /usr/bin/printf "%25s %s\n" "${vmname}" "Running"
+ else
+ /usr/bin/printf "%25s %s\n" "${vmname}" "Powered Off"
+ fi
+ done
+}
+
+load_rc_config $name
+
+: ${vboxheadless_enable="NO"}
+: ${vboxheadless_user="%%VBOXUSER%%"}
+: ${vboxheadless_stop="savestate"}
+: ${vboxheadless_delay="0"}
+
+cmd_arg="$1" ; shift
+
+if [ -n "$*" ]; then
+ vboxheadless_machines="$*"
+fi
+
+run_rc_command "${cmd_arg}"
diff --git a/emulators/virtualbox-ose-71/files/vboxinit.in b/emulators/virtualbox-ose-71/files/vboxinit.in
new file mode 100644
index 000000000000..13ec9614827d
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/vboxinit.in
@@ -0,0 +1,91 @@
+#!/bin/sh
+
+# PROVIDE: vboxinit
+# REQUIRE: LOGIN vboxnet vboxwebsrv sshd
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf[.local] to enable vboxinit
+#
+# vboxinit_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable vboxinit.
+# stop and faststop are always enabled.
+# vboxinit_user (str): Default user account to run with.
+# (default: %%VBOXUSER%%)
+# vboxinit_home (str): Default home directory to run with.
+# (default: home of user ${vboxinit_user}
+# vboxinit_stop (str): Default stop cmd for VBoxManage controlvm.
+# (default: savestate)
+# vboxinit_start_delay (int): Default startup delay in seconds.
+# (default: 0)
+# vboxinit_stop_delay (int): Default shutdown delay in seconds.
+# (default: 0)
+#
+# Set the "Startup Mode" to "Automatic" for the virtual machine in
+# phpvirtualbox to automatically start the virtual machine during OS boot.
+#
+
+. /etc/rc.subr
+
+name="vboxinit"
+rcvar="${name}_enable"
+
+start_cmd="${name}_start"
+stop_cmd="${name}_stop"
+status_cmd="${name}_status"
+restart_cmd="${name}_restart"
+
+vboxinit_start()
+{
+ # Get a list of all machines with autorun enabled in phpvirtualbox
+ ${su_command} "${command} list vms | /usr/bin/tr -d '{}\"'" | while read VMNAME UUID; do
+ STARTUP=$(${su_command} "${command} getextradata ${UUID} 'pvbx/startupMode'" | /usr/bin/cut -d' ' -f2)
+ if [ "${STARTUP}" == "auto" ]; then
+ echo "${name}: starting machine ${VMNAME} ..."
+ ${su_command} "${command} startvm ${UUID} --type headless"
+ sleep "${vboxinit_start_delay}"
+ fi
+ done
+}
+
+vboxinit_stop()
+{
+ # Get all running machines
+ ${su_command} "${command} list runningvms | /usr/bin/tr -d '{}\"'" | while read VMNAME UUID; do
+ echo "${name}: stopping machine ${VMNAME} with action '${vboxinit_stop}' ..."
+ ${su_command} "${command} controlvm ${UUID} ${vboxinit_stop}"
+ sleep "${vboxinit_stop_delay}"
+ done
+}
+
+vboxinit_status()
+{
+ # List all running machines
+ ${su_command} "${command} list runningvms"
+}
+
+vboxinit_restart()
+{
+ vboxinit_stop
+ vboxinit_start
+}
+
+load_rc_config $name
+
+: ${vboxinit_enable="NO"}
+: ${vboxinit_user="%%VBOXUSER%%"}
+: ${vboxinit_home=$(/usr/sbin/pw usershow -7 -n "${vboxinit_user}" | /usr/bin/cut -d: -f6)}
+: ${vboxinit_stop="savestate"}
+: ${vboxinit_start_delay="0"}
+: ${vboxinit_stop_delay="0"}
+HOME=${vboxinit_home}
+USER=${vboxinit_user}
+export HOME USER
+
+command="%%VBOXDIR%%/VBoxManage"
+su_command="/usr/bin/su -m ${vboxinit_user} -c"
+
+if [ "x$1" = "xstop" ] || [ "x$1" = "xfaststop" ]; then
+ vboxinit_enable="YES"
+fi
+
+run_rc_command "$1"
diff --git a/emulators/virtualbox-ose-71/files/vboxwatchdog.in b/emulators/virtualbox-ose-71/files/vboxwatchdog.in
new file mode 100644
index 000000000000..c21bc03b3523
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/vboxwatchdog.in
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+# PROVIDE: vboxwatchdog
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf[.local] to enable vboxwatchdog
+#
+# vboxwatchdog_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable vboxwatchdog.
+# vboxwatchdog_user (str): User account to run with.
+# vboxwatchdog_flags (str): Custom flags for VBoxWatchdog.
+
+. /etc/rc.subr
+
+name=vboxwatchdog
+rcvar=vboxwatchdog_enable
+
+command="%%VBOXDIR%%/VBoxBalloonCtrl"
+pidfile="/var/run/${name}.pid"
+
+start_cmd="${name}_start"
+
+vboxwatchdog_start()
+{
+ local pid
+
+ HOME=$(/usr/sbin/pw usershow -7 -n "${vboxwatchdog_user}" | /usr/bin/cut -d: -f6)
+ pid=$(check_pidfile $pidfile $command)
+
+ if [ -n "${pid}" ]; then
+ echo "${name} already running? (pid=${pid})."
+ return 1
+ fi
+
+ # prevent inheriting this setting to VBoxSVC
+ unset VBOX_RELEASE_LOG_DEST
+
+ echo -n "Starting ${name}"
+ /usr/bin/install -o ${vboxwatchdog_user} -g %%VBOXGROUP%% -m 644 /dev/null ${pidfile}
+ /usr/sbin/daemon -f -p ${pidfile} -u ${vboxwatchdog_user} ${command} ${vboxwatchdog_flags}
+ echo '.'
+}
+
+load_rc_config $name
+
+: ${vboxwatchdog_enable="NO"}
+: ${vboxwatchdog_user="%%VBOXUSER%%"}
+: ${vboxwatchdog_flags=""}
+
+run_rc_command "$1"
diff --git a/emulators/virtualbox-ose-71/files/vboxwebsrv.in b/emulators/virtualbox-ose-71/files/vboxwebsrv.in
new file mode 100644
index 000000000000..a7e1e38e3090
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/vboxwebsrv.in
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# PROVIDE: vboxwebsrv
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf[.local] to enable vboxwebsrv
+#
+# vboxwebsrv_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable vboxwebsrv.
+# vboxwebsrv_user (str): User account to run with.
+# vboxwebsrv_flags (str): Custom flags for vboxwebsrv.
+
+. /etc/rc.subr
+
+name=vboxwebsrv
+rcvar=vboxwebsrv_enable
+
+command="%%VBOXDIR%%/vboxwebsrv"
+pidfile="/var/run/${name}.pid"
+
+start_cmd="${name}_start"
+
+vboxwebsrv_start()
+{
+ local pid
+
+ HOME=$(/usr/sbin/pw usershow -7 -n "${vboxwebsrv_user}" | /usr/bin/cut -d: -f6)
+ pid=$(check_pidfile $pidfile $command)
+
+ if [ -n "${pid}" ]; then
+ echo "${name} already running? (pid=${pid})."
+ return 1
+ fi
+
+ echo -n "Starting ${name}"
+ /usr/bin/install -o ${vboxwebsrv_user} -g %%VBOXGROUP%% -m 644 /dev/null ${pidfile}
+ /usr/sbin/daemon -f -p ${pidfile} -u ${vboxwebsrv_user} ${command} ${vboxwebsrv_flags}
+ echo '.'
+}
+
+load_rc_config $name
+
+: ${vboxwebsrv_enable="NO"}
+: ${vboxwebsrv_user="%%VBOXWSUSER%%"}
+
+run_rc_command "$1"
diff --git a/emulators/virtualbox-ose-71/files/virtualbox.desktop b/emulators/virtualbox-ose-71/files/virtualbox.desktop
new file mode 100644
index 000000000000..b0d09e2128b7
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/virtualbox.desktop
@@ -0,0 +1,17 @@
+[Desktop Entry]
+Encoding=UTF-8
+Version=1.0
+Name=Oracle VM VirtualBox
+GenericName=Virtual Machine
+Type=Application
+Exec=VirtualBox
+TryExec=VirtualBox
+Icon=VBox
+Categories=Emulator;System;
+Comment=Run several virtual systems on a single host computer
+Comment[de]=Windows und andere Betriebssysteme unter FreeBSD ausführen
+Comment[it]=Esegui più macchine virtuali su un singolo computer
+Comment[ko]=가상 머신
+Comment[pl]=Uruchamianie wielu systemów wirtualnych na jednym komputerze gospodarza
+Comment[ru]=Запуск нескольких виртуальных машин на одном компьютере
+Comment[sv]=Kör flera virtuella system på en enda värddator
diff --git a/emulators/virtualbox-ose-71/pkg-descr b/emulators/virtualbox-ose-71/pkg-descr
new file mode 100644
index 000000000000..1ba975e84e68
--- /dev/null
+++ b/emulators/virtualbox-ose-71/pkg-descr
@@ -0,0 +1,8 @@
+Oracle VM VirtualBox is a hosted hypervisor for x86 virtualisation.
+Supported guests include BSD, Haiku, Linux, OS/2, ReactOS, Solaris and
+Windows.
+
+Guest Additions are available from: emulators/virtualbox-ose-additions
+
+For the Extension Pack: FreeBSD is not a supported host platform.
+Installation of the Pack will not extend the feature set.
diff --git a/emulators/virtualbox-ose-71/pkg-plist b/emulators/virtualbox-ose-71/pkg-plist
new file mode 100644
index 000000000000..426fd6b55c60
--- /dev/null
+++ b/emulators/virtualbox-ose-71/pkg-plist
@@ -0,0 +1,449 @@
+bin/VBoxAutostart
+bin/VBoxBalloonCtrl
+bin/VBoxBugReport
+bin/VBoxHeadless
+bin/VBoxManage
+bin/VBoxVRDP
+%%QT%%bin/VirtualBox
+%%QT%%bin/VirtualBoxVM
+bin/vboxautostart
+bin/vboxballoonctrl
+bin/vboxbugreport
+bin/vboxheadless
+%%VBOXIMG%%bin/vboximg-mount
+bin/vboxmanage
+%%WEBSERVICE%%bin/vboxwebsrv
+%%QT%%bin/virtualbox
+%%QT%%bin/virtualboxvm
+include/virtualbox/VirtualBox_XPCOM.h
+include/virtualbox/ipcIClientObserver.h
+include/virtualbox/ipcIDConnectService.h
+include/virtualbox/ipcIMessageObserver.h
+include/virtualbox/ipcIService.h
+include/virtualbox/ipcd/ipcCID.h
+include/virtualbox/ipcd/ipcdclient.h
+include/virtualbox/nsIArray.h
+include/virtualbox/nsIAtom.h
+include/virtualbox/nsIAtomService.h
+include/virtualbox/nsIBinaryInputStream.h
+include/virtualbox/nsIBinaryOutputStream.h
+include/virtualbox/nsICategoryManager.h
+include/virtualbox/nsIClassInfo.h
+include/virtualbox/nsICollection.h
+include/virtualbox/nsIComponentLoader.h
+include/virtualbox/nsIComponentLoaderManager.h
+include/virtualbox/nsIComponentManager.h
+include/virtualbox/nsIComponentManagerObsolete.h
+include/virtualbox/nsIComponentRegistrar.h
+include/virtualbox/nsIDebug.h
+include/virtualbox/nsIDirectoryEnumerator.h
+include/virtualbox/nsIDirectoryService.h
+include/virtualbox/nsIEnumerator.h
+include/virtualbox/nsIErrorService.h
+include/virtualbox/nsIEventQueue.h
+include/virtualbox/nsIEventQueueService.h
+include/virtualbox/nsIEventTarget.h
+include/virtualbox/nsIException.h
+include/virtualbox/nsIExceptionService.h
+include/virtualbox/nsIFactory.h
+include/virtualbox/nsIFile.h
+include/virtualbox/nsIHashable.h
+include/virtualbox/nsIInputStream.h
+include/virtualbox/nsIInterfaceInfo.h
+include/virtualbox/nsIInterfaceInfoManager.h
+include/virtualbox/nsIInterfaceRequestor.h
+include/virtualbox/nsILocalFile.h
+include/virtualbox/nsILocalFileMac.h
+include/virtualbox/nsIModule.h
+include/virtualbox/nsINativeComponentLoader.h
+include/virtualbox/nsIObjectInputStream.h
+include/virtualbox/nsIObjectOutputStream.h
+include/virtualbox/nsIObserver.h
+include/virtualbox/nsIObserverService.h
+include/virtualbox/nsIOutputStream.h
+include/virtualbox/nsIProgrammingLanguage.h
+include/virtualbox/nsIProperties.h
+include/virtualbox/nsIProxyObjectManager.h
+include/virtualbox/nsIRunnable.h
+include/virtualbox/nsISerializable.h
+include/virtualbox/nsIServiceManager.h
+include/virtualbox/nsISimpleEnumerator.h
+include/virtualbox/nsIStringEnumerator.h
+include/virtualbox/nsISupports.h
+include/virtualbox/nsISupportsArray.h
+include/virtualbox/nsISupportsIterators.h
+include/virtualbox/nsISupportsPrimitives.h
+include/virtualbox/nsITraceRefcnt.h
+include/virtualbox/nsIVariant.h
+include/virtualbox/nsIWeakReference.h
+include/virtualbox/nsIXPTLoader.h
+include/virtualbox/nsprpub/nspr.h
+include/virtualbox/nsprpub/plarena.h
+include/virtualbox/nsprpub/plarenas.h
+include/virtualbox/nsprpub/plhash.h
+include/virtualbox/nsprpub/prbit.h
+include/virtualbox/nsprpub/prcpucfg.h
+include/virtualbox/nsprpub/prlong.h
+include/virtualbox/nsprpub/prmem.h
+include/virtualbox/nsprpub/prmon.h
+include/virtualbox/nsprpub/prtime.h
+include/virtualbox/nsprpub/prtypes.h
+include/virtualbox/nsrootidl.h
+include/virtualbox/string/nsAString.h
+include/virtualbox/string/nsAlgorithm.h
+include/virtualbox/string/nsCharTraits.h
+include/virtualbox/string/nsDependentString.h
+include/virtualbox/string/nsDependentSubstring.h
+include/virtualbox/string/nsEmbedString.h
+include/virtualbox/string/nsLiteralString.h
+include/virtualbox/string/nsObsoleteAString.h
+include/virtualbox/string/nsPrintfCString.h
+include/virtualbox/string/nsPromiseFlatString.h
+include/virtualbox/string/nsReadableUtils.h
+include/virtualbox/string/nsString.h
+include/virtualbox/string/nsStringAPI.h
+include/virtualbox/string/nsStringFwd.h
+include/virtualbox/string/nsStringIterator.h
+include/virtualbox/string/nsSubstring.h
+include/virtualbox/string/nsSubstringTuple.h
+include/virtualbox/string/nsTAString.h
+include/virtualbox/string/nsTDependentString.h
+include/virtualbox/string/nsTDependentSubstring.h
+include/virtualbox/string/nsTObsoleteAString.h
+include/virtualbox/string/nsTPromiseFlatString.h
+include/virtualbox/string/nsTString.h
+include/virtualbox/string/nsTSubstring.h
+include/virtualbox/string/nsTSubstringTuple.h
+include/virtualbox/string/nsUTF8Utils.h
+include/virtualbox/string/nsXPIDLString.h
+include/virtualbox/string/string-template-def-char.h
+include/virtualbox/string/string-template-def-unichar.h
+include/virtualbox/string/string-template-undef.h
+include/virtualbox/xpcom/nsAgg.h
+include/virtualbox/xpcom/nsAppDirectoryServiceDefs.h
+include/virtualbox/xpcom/nsArray.h
+include/virtualbox/xpcom/nsArrayEnumerator.h
+include/virtualbox/xpcom/nsAtomService.h
+include/virtualbox/xpcom/nsAutoLock.h
+include/virtualbox/xpcom/nsAutoPtr.h
+include/virtualbox/xpcom/nsBaseHashtable.h
+include/virtualbox/xpcom/nsCOMArray.h
+include/virtualbox/xpcom/nsCOMPtr.h
+include/virtualbox/xpcom/nsCRT.h
+include/virtualbox/xpcom/nsCategoryManagerUtils.h
+include/virtualbox/xpcom/nsClassHashtable.h
+include/virtualbox/xpcom/nsComponentManagerObsolete.h
+include/virtualbox/xpcom/nsComponentManagerUtils.h
+include/virtualbox/xpcom/nsDataHashtable.h
+include/virtualbox/xpcom/nsDebug.h
+include/virtualbox/xpcom/nsDebugImpl.h
+include/virtualbox/xpcom/nsDeque.h
+include/virtualbox/xpcom/nsDirectoryService.h
+include/virtualbox/xpcom/nsDirectoryServiceDefs.h
+include/virtualbox/xpcom/nsDirectoryServiceUtils.h
+include/virtualbox/xpcom/nsDoubleHashtable.h
+include/virtualbox/xpcom/nsEnumeratorUtils.h
+include/virtualbox/xpcom/nsError.h
+include/virtualbox/xpcom/nsEventQueueUtils.h
+include/virtualbox/xpcom/nsGenericFactory.h
+include/virtualbox/xpcom/nsHashKeys.h
+include/virtualbox/xpcom/nsHashSets.h
+include/virtualbox/xpcom/nsHashtable.h
+include/virtualbox/xpcom/nsID.h
+include/virtualbox/xpcom/nsIGenericFactory.h
+include/virtualbox/xpcom/nsIID.h
+include/virtualbox/xpcom/nsIInterfaceRequestorUtils.h
+include/virtualbox/xpcom/nsIServiceManagerObsolete.h
+include/virtualbox/xpcom/nsIServiceManagerUtils.h
+include/virtualbox/xpcom/nsISupportsBase.h
+include/virtualbox/xpcom/nsISupportsImpl.h
+include/virtualbox/xpcom/nsISupportsUtils.h
+include/virtualbox/xpcom/nsIWeakReferenceUtils.h
+include/virtualbox/xpcom/nsInt64.h
+include/virtualbox/xpcom/nsInterfaceHashtable.h
+include/virtualbox/xpcom/nsLocalFile.h
+include/virtualbox/xpcom/nsLocalFileUnix.h
+include/virtualbox/xpcom/nsMemory.h
+include/virtualbox/xpcom/nsModule.h
+include/virtualbox/xpcom/nsNativeCharsetUtils.h
+include/virtualbox/xpcom/nsNativeComponentLoader.h
+include/virtualbox/xpcom/nsObserverService.h
+include/virtualbox/xpcom/nsObsoleteModuleLoading.h
+include/virtualbox/xpcom/nsProxiedService.h
+include/virtualbox/xpcom/nsProxyEvent.h
+include/virtualbox/xpcom/nsProxyRelease.h
+include/virtualbox/xpcom/nsRefPtrHashtable.h
+include/virtualbox/xpcom/nsStaticAtom.h
+include/virtualbox/xpcom/nsStaticComponent.h
+include/virtualbox/xpcom/nsStringEnumerator.h
+include/virtualbox/xpcom/nsStringIO.h
+include/virtualbox/xpcom/nsSupportsArray.h
+include/virtualbox/xpcom/nsSupportsPrimitives.h
+include/virtualbox/xpcom/nsTHashtable.h
+include/virtualbox/xpcom/nsTraceRefcnt.h
+include/virtualbox/xpcom/nsTraceRefcntImpl.h
+include/virtualbox/xpcom/nsVariant.h
+include/virtualbox/xpcom/nsVoidArray.h
+include/virtualbox/xpcom/nsWeakPtr.h
+include/virtualbox/xpcom/nsWeakReference.h
+include/virtualbox/xpcom/nsXPCOM.h
+include/virtualbox/xpcom/nsXPCOMCID.h
+include/virtualbox/xpcom/nsXPCOMGlue.h
+include/virtualbox/xpcom/nscore.h
+include/virtualbox/xpcom/pldhash.h
+include/virtualbox/xpcom/plevent.h
+include/virtualbox/xpcom/xcDll.h
+include/virtualbox/xpcom/xpcom-config.h
+include/virtualbox/xpcom/xpt_arena.h
+include/virtualbox/xpcom/xpt_struct.h
+include/virtualbox/xpcom/xpt_xdr.h
+include/virtualbox/xpcom/xptcall.h
+include/virtualbox/xpcom/xptcstubsdecl.inc
+include/virtualbox/xpcom/xptcstubsdef.inc
+include/virtualbox/xpcom/xptinfo.h
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1-py%%PYTHON_VER%%.egg-info/PKG-INFO
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1-py%%PYTHON_VER%%.egg-info/SOURCES.txt
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1-py%%PYTHON_VER%%.egg-info/dependency_links.txt
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1-py%%PYTHON_VER%%.egg-info/requires.txt
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1-py%%PYTHON_VER%%.egg-info/top_level.txt
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/VirtualBox_constants.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi%%PYTHON_PYCDIR%%VirtualBox_constants%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi%%PYTHON_PYCDIR%%__init__%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%__init__%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/components.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%components%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/nsError.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%nsError%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/primitives.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%primitives%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/vboxxpcom.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%vboxxpcom%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpcom_consts.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%xpcom_consts%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpt.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom%%PYTHON_PYCDIR%%xpt%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/client/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/client%%PYTHON_PYCDIR%%__init__%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%__init__%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/enumerator.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%enumerator%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/factory.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%factory%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/loader.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%loader%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/module.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%module%%PYTHON_PYCEXT%%
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/policy.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server%%PYTHON_PYCDIR%%policy%%PYTHON_PYCEXT%%
+%%QT%%lib/virtualbox/DbgPlugInDiggers.so
+lib/virtualbox/VBox.sh
+lib/virtualbox/VBoxAuth.so
+lib/virtualbox/VBoxAuthSimple.so
+lib/virtualbox/VBoxAutostart
+lib/virtualbox/VBoxBalloonCtrl
+lib/virtualbox/VBoxBugReport
+lib/virtualbox/VBoxDD.so
+lib/virtualbox/VBoxDD2.so
+lib/virtualbox/VBoxDDR0.r0
+lib/virtualbox/VBoxDDU.so
+%%QT%%lib/virtualbox/UICommon.so
+%%QT%%lib/virtualbox/VBoxDbg.so
+%%QT%%lib/virtualbox/VBoxDragAndDropSvc.so
+lib/virtualbox/VBoxEFI32.fd
+lib/virtualbox/VBoxEFI64.fd
+lib/virtualbox/VBoxExtPackHelperApp
+lib/virtualbox/VBoxGuestControlSvc.so
+lib/virtualbox/VBoxGuestPropSvc.so
+@(root,%%VBOXGROUP%%,4510) lib/virtualbox/VBoxHeadless
+lib/virtualbox/VBoxHeadless.so
+lib/virtualbox/VBoxHostChannel.so
+%%QT%%lib/virtualbox/VBoxKeyboard.so
+lib/virtualbox/VBoxManage
+@(root,%%VBOXGROUP%%,4510) lib/virtualbox/VBoxNetAdpCtl
+@(root,%%VBOXGROUP%%,4510) lib/virtualbox/VBoxNetDHCP
+lib/virtualbox/VBoxNetDHCP.so
+@(root,%%VBOXGROUP%%,4510) lib/virtualbox/VBoxNetNAT
+lib/virtualbox/VBoxNetNAT.so
+%%PYTHON%%lib/virtualbox/VBoxPython3.so
+%%PYTHON%%lib/virtualbox/VBoxPython3m.so
+lib/virtualbox/VBoxRT.so
+lib/virtualbox/VBoxSVC
+%%X11%%lib/virtualbox/VBoxSVGA3D.so
+lib/virtualbox/VBoxSharedClipboard.so
+lib/virtualbox/VBoxSharedFolders.so
+lib/virtualbox/VBoxTraceLogDecoders.so
+lib/virtualbox/VBoxVMM.so
+lib/virtualbox/VBoxVMMPreload.so
+lib/virtualbox/VBoxXPCOM.so
+lib/virtualbox/VBoxXPCOMC.so
+lib/virtualbox/VBoxXPCOMIPCD.so
+lib/virtualbox/VMMR0.r0
+%%QT%%lib/virtualbox/VirtualBox
+%%QT%%@(root,%%VBOXGROUP%%,4510) lib/virtualbox/VirtualBoxVM
+%%QT%%lib/virtualbox/VirtualBoxVM.so
+%%SDK%%lib/virtualbox/sdk
+%%VBOXIMG%%lib/virtualbox/vboximg-mount
+%%WEBSERVICE%%lib/virtualbox/vboxwebsrv
+%%WEBSERVICE%%lib/virtualbox/webtest
+%%VNC%%lib/virtualbox/ExtensionPacks/VNC/ExtPack-license.html
+%%VNC%%lib/virtualbox/ExtensionPacks/VNC/ExtPack-license.rtf
+%%VNC%%lib/virtualbox/ExtensionPacks/VNC/ExtPack-license.txt
+%%VNC%%lib/virtualbox/ExtensionPacks/VNC/ExtPack.xml
+%%VNC%%lib/virtualbox/ExtensionPacks/VNC/%%ARCH%%/VBoxVNC.so
+%%VNC%%lib/virtualbox/ExtensionPacks/VNC/%%ARCH%%/VBoxVNCMain.so
+%%GUESTADDITIONS%%lib/virtualbox/additions/VBoxGuestAdditions.iso
+%%GUESTADDITIONS%%lib/virtualbox/additions/VBoxGuestAdditions_%%GUEST_VER%%.iso
+lib/virtualbox/components/VBoxC.so
+lib/virtualbox/components/VBoxSVCM.so
+lib/virtualbox/components/VBoxXPCOMBase.xpt
+lib/virtualbox/components/VBoxXPCOMIPCC.so
+lib/virtualbox/components/VirtualBox_XPCOM.xpt
+%%QT%%share/applications/virtualbox.desktop
+%%DOCS%%%%DOCSDIR%%/UserManual.pdf
+%%QT%%share/pixmaps/VBox.png
+%%DATADIR%%/idl/VirtualBox_XPCOM.idl
+%%DATADIR%%/idl/ipcIClientObserver.idl
+%%DATADIR%%/idl/ipcIDConnectService.idl
+%%DATADIR%%/idl/ipcIMessageObserver.idl
+%%DATADIR%%/idl/ipcIService.idl
+%%DATADIR%%/idl/nsIArray.idl
+%%DATADIR%%/idl/nsIAtom.idl
+%%DATADIR%%/idl/nsIAtomService.idl
+%%DATADIR%%/idl/nsIBinaryInputStream.idl
+%%DATADIR%%/idl/nsIBinaryOutputStream.idl
+%%DATADIR%%/idl/nsICategoryManager.idl
+%%DATADIR%%/idl/nsIClassInfo.idl
+%%DATADIR%%/idl/nsICollection.idl
+%%DATADIR%%/idl/nsIComponentLoader.idl
+%%DATADIR%%/idl/nsIComponentLoaderManager.idl
+%%DATADIR%%/idl/nsIComponentManager.idl
+%%DATADIR%%/idl/nsIComponentManagerObsolete.idl
+%%DATADIR%%/idl/nsIComponentRegistrar.idl
+%%DATADIR%%/idl/nsIDebug.idl
+%%DATADIR%%/idl/nsIDirectoryEnumerator.idl
+%%DATADIR%%/idl/nsIDirectoryService.idl
+%%DATADIR%%/idl/nsIEnumerator.idl
+%%DATADIR%%/idl/nsIErrorService.idl
+%%DATADIR%%/idl/nsIEventQueue.idl
+%%DATADIR%%/idl/nsIEventQueueService.idl
+%%DATADIR%%/idl/nsIEventTarget.idl
+%%DATADIR%%/idl/nsIException.idl
+%%DATADIR%%/idl/nsIExceptionService.idl
+%%DATADIR%%/idl/nsIFactory.idl
+%%DATADIR%%/idl/nsIFile.idl
+%%DATADIR%%/idl/nsIHashable.idl
+%%DATADIR%%/idl/nsIInputStream.idl
+%%DATADIR%%/idl/nsIInterfaceInfo.idl
+%%DATADIR%%/idl/nsIInterfaceInfoManager.idl
+%%DATADIR%%/idl/nsIInterfaceRequestor.idl
+%%DATADIR%%/idl/nsILocalFile.idl
+%%DATADIR%%/idl/nsILocalFileMac.idl
+%%DATADIR%%/idl/nsIModule.idl
+%%DATADIR%%/idl/nsINativeComponentLoader.idl
+%%DATADIR%%/idl/nsIObjectInputStream.idl
+%%DATADIR%%/idl/nsIObjectOutputStream.idl
+%%DATADIR%%/idl/nsIObserver.idl
+%%DATADIR%%/idl/nsIObserverService.idl
+%%DATADIR%%/idl/nsIOutputStream.idl
+%%DATADIR%%/idl/nsIProgrammingLanguage.idl
+%%DATADIR%%/idl/nsIProperties.idl
+%%DATADIR%%/idl/nsIProxyObjectManager.idl
+%%DATADIR%%/idl/nsIRunnable.idl
+%%DATADIR%%/idl/nsISerializable.idl
+%%DATADIR%%/idl/nsIServiceManager.idl
+%%DATADIR%%/idl/nsISimpleEnumerator.idl
+%%DATADIR%%/idl/nsIStringEnumerator.idl
+%%DATADIR%%/idl/nsISupports.idl
+%%DATADIR%%/idl/nsISupportsArray.idl
+%%DATADIR%%/idl/nsISupportsIterators.idl
+%%DATADIR%%/idl/nsISupportsPrimitives.idl
+%%DATADIR%%/idl/nsITraceRefcnt.idl
+%%DATADIR%%/idl/nsIVariant.idl
+%%DATADIR%%/idl/nsIWeakReference.idl
+%%DATADIR%%/idl/nsIXPTLoader.idl
+%%DATADIR%%/idl/nsrootidl.idl
+%%NLS%%%%DATADIR%%/nls/VirtualBox_bg.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_ca.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_ca_VA.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_cs.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_da.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_de.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_el.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_en.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_es.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_eu.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_fa.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_fi.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_fr.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_gl.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_he.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_hr_HR.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_hu.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_id.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_it.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_ja.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_ka.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_km_KH.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_ko.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_lt.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_nl.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_pl.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_pt.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_pt_BR.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_ro.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_ru.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_sk.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_sl.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_sr.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_sv.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_th.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_tr.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_uk.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_zh_CN.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_zh_TW.qm
+%%NLS%%%%DATADIR%%/nls/qt_bg.qm
+%%NLS%%%%DATADIR%%/nls/qt_ca.qm
+%%NLS%%%%DATADIR%%/nls/qt_ca_VA.qm
+%%NLS%%%%DATADIR%%/nls/qt_cs.qm
+%%NLS%%%%DATADIR%%/nls/qt_da.qm
+%%NLS%%%%DATADIR%%/nls/qt_de.qm
+%%NLS%%%%DATADIR%%/nls/qt_el.qm
+%%NLS%%%%DATADIR%%/nls/qt_en.qm
+%%NLS%%%%DATADIR%%/nls/qt_es.qm
+%%NLS%%%%DATADIR%%/nls/qt_eu.qm
+%%NLS%%%%DATADIR%%/nls/qt_fa.qm
+%%NLS%%%%DATADIR%%/nls/qt_fi.qm
+%%NLS%%%%DATADIR%%/nls/qt_fr.qm
+%%NLS%%%%DATADIR%%/nls/qt_gl.qm
+%%NLS%%%%DATADIR%%/nls/qt_he.qm
+%%NLS%%%%DATADIR%%/nls/qt_hr_HR.qm
+%%NLS%%%%DATADIR%%/nls/qt_hu.qm
+%%NLS%%%%DATADIR%%/nls/qt_id.qm
+%%NLS%%%%DATADIR%%/nls/qt_it.qm
+%%NLS%%%%DATADIR%%/nls/qt_ja.qm
+%%NLS%%%%DATADIR%%/nls/qt_ka.qm
+%%NLS%%%%DATADIR%%/nls/qt_km_KH.qm
+%%NLS%%%%DATADIR%%/nls/qt_ko.qm
+%%NLS%%%%DATADIR%%/nls/qt_lt.qm
+%%NLS%%%%DATADIR%%/nls/qt_nl.qm
+%%NLS%%%%DATADIR%%/nls/qt_pl.qm
+%%NLS%%%%DATADIR%%/nls/qt_pt.qm
+%%NLS%%%%DATADIR%%/nls/qt_pt_BR.qm
+%%NLS%%%%DATADIR%%/nls/qt_ro.qm
+%%NLS%%%%DATADIR%%/nls/qt_ru.qm
+%%NLS%%%%DATADIR%%/nls/qt_sk.qm
+%%NLS%%%%DATADIR%%/nls/qt_sl.qm
+%%NLS%%%%DATADIR%%/nls/qt_sr.qm
+%%NLS%%%%DATADIR%%/nls/qt_sv.qm
+%%NLS%%%%DATADIR%%/nls/qt_th.qm
+%%NLS%%%%DATADIR%%/nls/qt_tr.qm
+%%NLS%%%%DATADIR%%/nls/qt_uk.qm
+%%NLS%%%%DATADIR%%/nls/qt_zh_CN.qm
+%%NLS%%%%DATADIR%%/nls/qt_zh_TW.qm
+%%DATADIR%%/samples/Makefile
+%%DATADIR%%/samples/tstVBoxAPIXPCOM.cpp
+%%WEBSERVICE%%%%DATADIR%%/sdk/bindings/webservice/vboxweb.wsdl
+%%PYTHON%%%%DATADIR%%/sdk/bindings/xpcom/python/xpcom
diff --git a/emulators/virtualbox-ose-kmod-70/Makefile b/emulators/virtualbox-ose-kmod-70/Makefile
index 4ad6ad62ca85..411534590df1 100644
--- a/emulators/virtualbox-ose-kmod-70/Makefile
+++ b/emulators/virtualbox-ose-kmod-70/Makefile
@@ -90,7 +90,7 @@ post-patch:
.if ${PORT_OPTIONS:MVIMAGE}
@${ECHO_CMD} 'VBOX_WITH_NETFLT_VIMAGE = 1' >> ${WRKSRC}/LocalConfig.kmk
.endif
- @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g; s|which \$$\*|which \$$1|g' \
${WRKSRC}/Config.kmk ${WRKSRC}/configure
@${REINPLACE_CMD} \
-e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \
diff --git a/emulators/virtualbox-ose-kmod-71/Makefile b/emulators/virtualbox-ose-kmod-71/Makefile
new file mode 100644
index 000000000000..d0be19651145
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-71/Makefile
@@ -0,0 +1,112 @@
+PORTNAME= virtualbox-ose
+DISTVERSION= 7.1.8
+CATEGORIES= emulators
+MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/
+PKGNAMESUFFIX= -kmod-71
+DISTNAME= VirtualBox-${DISTVERSION}
+
+MAINTAINER= vbox@FreeBSD.org
+COMMENT= VirtualBox kernel module for FreeBSD
+WWW= https://www.virtualbox.org/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+ONLY_FOR_ARCHS= amd64
+
+BUILD_DEPENDS= kmk:devel/kBuild
+
+USES= cpe compiler:c++17-lang kmod tar:bzip2
+CPE_VENDOR= oracle
+CPE_PRODUCT= vm_virtualbox
+USE_RC_SUBR= vboxnet
+
+HAS_CONFIGURE= yes
+CONFIGURE_ARGS+= --build-headless
+CONFIGURE_ARGS+= --disable-alsa \
+ --disable-dbus \
+ --disable-docs \
+ --disable-libvpx \
+ --disable-pulse \
+ --disable-python \
+ --disable-sdl-ttf \
+ --disable-xpcom
+CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}"
+
+CONFLICTS_INSTALL= virtualbox-ose-kmod-legacy \
+ virtualbox-ose-kmod \
+ virtualbox-ose-kmod-70
+
+PATCHDIR= ${.CURDIR}/../${PORTNAME}-71/files
+PORTSCOUT= limit:^7\.1\.
+SUB_FILES= pkg-message
+SUB_LIST= OPSYS=${OPSYS} OSREL=${OSREL}
+
+WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION}
+
+OPTIONS_DEFINE= DEBUG VIMAGE
+OPTIONS_DEFAULT= VIMAGE
+OPTIONS_SUB= yes
+DEBUG_DESC= Debug symbols, additional logs and assertions
+VIMAGE_DESC= VIMAGE virtual networking support
+
+.include <bsd.port.options.mk>
+
+VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/src
+VBOX_KMODS= vboxdrv \
+ vboxnetadp \
+ vboxnetflt
+
+BUILD_WRKSRC= ${VBOX_BIN}
+
+KMK_BUILDTYPE= release
+KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys
+KMK_FLAGS= HostDrivers-scripts vboxdrv-src VBoxNetFlt-src VBoxNetAdp-src
+
+.if ${PORT_OPTIONS:MDEBUG}
+KMK_FLAGS+= BUILD_TYPE=debug
+KMK_BUILDTYPE= debug
+EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-Config.kmk \
+ ${PATCHDIR}/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile
+MAKE_ARGS+= DEBUG_FLAGS="-O1 -g"
+.endif
+
+.if ${ARCH} == i386
+KMK_ARCH= freebsd.x86
+.else
+KMK_ARCH= freebsd.${ARCH}
+.endif
+
+.include <bsd.port.pre.mk>
+
+SYMBOLSUFFIX= debug
+PLIST_SUB+= SYMBOLSUFFIX=${SYMBOLSUFFIX}
+
+post-patch:
+ @${ECHO_CMD} 'VBOX_WITH_VBOXDRV = 1' > ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_NETFLT = 1' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_NETADP = 1' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk
+.if ${PORT_OPTIONS:MVIMAGE}
+ @${ECHO_CMD} 'VBOX_WITH_NETFLT_VIMAGE = 1' >> ${WRKSRC}/LocalConfig.kmk
+.endif
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g; s|which \$$\*|which \$$1|g' \
+ ${WRKSRC}/Config.kmk ${WRKSRC}/configure
+ @${REINPLACE_CMD} \
+ -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \
+ ${WRKSRC}/configure
+
+pre-build:
+ cd ${WRKSRC}/src/VBox/HostDrivers && ${SH} -c \
+ '. ${WRKSRC}/env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}'
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${KMODDIR}
+.for i in ${VBOX_KMODS}
+ ${INSTALL_KLD} ${VBOX_BIN}/${i}/${i}.ko ${STAGEDIR}${KMODDIR}
+.if ${PORT_OPTIONS:MDEBUG}
+ ${INSTALL_KLD} ${VBOX_BIN}/${i}/${i}.ko.${SYMBOLSUFFIX} ${STAGEDIR}${KMODDIR}
+.endif
+.endfor
+
+.include <bsd.port.post.mk>
diff --git a/emulators/virtualbox-ose-kmod-71/distinfo b/emulators/virtualbox-ose-kmod-71/distinfo
new file mode 100644
index 000000000000..f4e19502a240
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-71/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1744988632
+SHA256 (VirtualBox-7.1.8.tar.bz2) = 3f7132c55ac6c5f50585bfaa115d29e30b47ccf535cb0a12ff50214ddae2f63d
+SIZE (VirtualBox-7.1.8.tar.bz2) = 215541146
diff --git a/emulators/virtualbox-ose-kmod-71/files/pkg-message.in b/emulators/virtualbox-ose-kmod-71/files/pkg-message.in
new file mode 100644
index 000000000000..4e03cc0b5ec7
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-71/files/pkg-message.in
@@ -0,0 +1,10 @@
+[
+{ type: install
+ message: <<EOM
+The vboxdrv kernel module uses internal kernel APIs.
+
+To avoid crashes due to kernel incompatibility, this module will only
+load on %%OPSYS%% %%OSREL%% kernels.
+EOM
+}
+]
diff --git a/emulators/virtualbox-ose-kmod-71/files/vboxnet.in b/emulators/virtualbox-ose-kmod-71/files/vboxnet.in
new file mode 100644
index 000000000000..af3d18884273
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-71/files/vboxnet.in
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+# PROVIDE: vboxnet
+# BEFORE: NETWORKING
+# REQUIRE: FILESYSTEMS
+# KEYWORD: nojail
+
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# vboxnet_enable (bool): Set to NO by default.
+# Set it to YES to load network related kernel modules on startup
+
+. /etc/rc.subr
+
+name="vboxnet"
+rcvar=vboxnet_enable
+start_cmd="vboxnet_start"
+stop_cmd="vboxnet_stop"
+
+vboxnet_modules="vboxdrv vboxnetflt:ng_vboxnetflt vboxnetadp"
+
+vboxnet_start()
+{
+ local _k _m
+
+ for _m in ${vboxnet_modules}; do
+ _k=${_m%:*}
+ _m=${_m#*:}
+ if ! kldstat -q -m ${_m}; then
+ if ! kldload ${_k} > /dev/null 2>&1; then
+ warn "Can't load ${_k} module."
+ return 1
+ fi
+ fi
+ done
+
+ # initialize configured host-only interfaces
+ LD_LIBRARY_PATH=%%PREFIX%%/lib %%PREFIX%%/bin/VBoxManage list hostonlyifs >/dev/null
+}
+
+vboxnet_stop()
+{
+ local _k _m _r
+
+ _r=
+ for _m in ${vboxnet_modules}; do
+ _r="${_m} ${_r}"
+ done
+ for _m in ${_r}; do
+ _k=${_m%:*}
+ _m=${_m#*:}
+ if kldstat -q -m ${_m}; then
+ if ! kldunload ${_k} > /dev/null 2>&1; then
+ warn "Can't unload ${_k} module."
+ return 1
+ fi
+ fi
+ done
+}
+
+load_rc_config $name
+
+: ${vboxnet_enable="NO"}
+
+run_rc_command "$1"
diff --git a/emulators/virtualbox-ose-kmod-71/pkg-descr b/emulators/virtualbox-ose-kmod-71/pkg-descr
new file mode 100644
index 000000000000..d11d42a81c78
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-71/pkg-descr
@@ -0,0 +1,5 @@
+VirtualBox is a family of powerful x86 virtualization products for
+enterprise as well as home use. Not only is VirtualBox an extremely
+feature rich, high performance product for enterprise customers, it
+is also the only professional solution that is freely available as
+Open Source Software under the terms of the GNU General Public License.
diff --git a/emulators/virtualbox-ose-kmod-71/pkg-plist b/emulators/virtualbox-ose-kmod-71/pkg-plist
new file mode 100644
index 000000000000..b08a5706a028
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-71/pkg-plist
@@ -0,0 +1,6 @@
+/%%KMODDIR%%/vboxdrv.ko
+%%DEBUG%%/%%KMODDIR%%/vboxdrv.ko.%%SYMBOLSUFFIX%%
+/%%KMODDIR%%/vboxnetadp.ko
+%%DEBUG%%/%%KMODDIR%%/vboxnetadp.ko.%%SYMBOLSUFFIX%%
+/%%KMODDIR%%/vboxnetflt.ko
+%%DEBUG%%/%%KMODDIR%%/vboxnetflt.ko.%%SYMBOLSUFFIX%%
diff --git a/emulators/virtualbox-ose-kmod-legacy/Makefile b/emulators/virtualbox-ose-kmod-legacy/Makefile
index c3770f902d8e..424fd42ee14f 100644
--- a/emulators/virtualbox-ose-kmod-legacy/Makefile
+++ b/emulators/virtualbox-ose-kmod-legacy/Makefile
@@ -99,7 +99,7 @@ post-patch:
.if ${PORT_OPTIONS:MPAE}
@${ECHO_CMD} 'VBOX_FREEBSD = -DPAE' >> ${WRKSRC}/LocalConfig.kmk
.endif
- @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g; s|which \$$\*|which \$$1|g' \
${WRKSRC}/Config.kmk ${WRKSRC}/configure
@${REINPLACE_CMD} \
-e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \
diff --git a/emulators/virtualbox-ose-nox11-70/Makefile b/emulators/virtualbox-ose-nox11-70/Makefile
index ae6cac9a31c3..278eadfa1f23 100644
--- a/emulators/virtualbox-ose-nox11-70/Makefile
+++ b/emulators/virtualbox-ose-nox11-70/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 1
+PORTREVISION= 2
PKGNAMESUFFIX= -nox11-70
MASTERDIR= ${.CURDIR}/../virtualbox-ose-70
diff --git a/emulators/virtualbox-ose-nox11-71/Makefile b/emulators/virtualbox-ose-nox11-71/Makefile
new file mode 100644
index 000000000000..bd1a0035d424
--- /dev/null
+++ b/emulators/virtualbox-ose-nox11-71/Makefile
@@ -0,0 +1,11 @@
+PORTREVISION= 0
+PKGNAMESUFFIX= -nox11-71
+
+MASTERDIR= ${.CURDIR}/../virtualbox-ose-71
+
+OPTIONS_EXCLUDE= ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS OGG PULSEAUDIO \
+ QT6 VORBIS VPX X11
+
+SLAVE_PORT= yes
+
+.include "${MASTERDIR}/Makefile"
diff --git a/emulators/virtualbox-ose-nox11/Makefile b/emulators/virtualbox-ose-nox11/Makefile
index c9a9c1f951e3..27bd5629cbb9 100644
--- a/emulators/virtualbox-ose-nox11/Makefile
+++ b/emulators/virtualbox-ose-nox11/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 12
+PORTREVISION= 14
PKGNAMESUFFIX= -nox11
MASTERDIR= ${.CURDIR}/../virtualbox-ose
diff --git a/emulators/virtualbox-ose/Makefile b/emulators/virtualbox-ose/Makefile
index e79e170b28a5..d868733954cb 100644
--- a/emulators/virtualbox-ose/Makefile
+++ b/emulators/virtualbox-ose/Makefile
@@ -1,6 +1,6 @@
PORTNAME= virtualbox-ose
DISTVERSION= 6.1.50
-PORTREVISION?= 13
+PORTREVISION?= 14
CATEGORIES= emulators
MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \
LOCAL/bofh/emulators/virtualbox-ose:docs
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp
new file mode 100644
index 000000000000..949c413d4ba3
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp
@@ -0,0 +1,20 @@
+--- src/VBox/Devices/Graphics/DevVGA-SVGA.cpp.orig 2024-01-11 12:18:20 UTC
++++ src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
+@@ -169,7 +169,7 @@
+ # ifdef RT_OS_DARWIN
+ # include "DevVGA-SVGA3d-cocoa.h"
+ # endif
+-# ifdef RT_OS_LINUX
++# if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ # ifdef IN_RING3
+ #include "DevVGA-SVGA3d-glLdr.h"
+ # endif
+@@ -3520,7 +3520,7 @@ static DECLCALLBACK(int) vmsvgaR3FifoLoop(PPDMDEVINS p
+ PVMSVGAR3STATE pSVGAState = pThisCC->svga.pSvgaR3State;
+ int rc;
+
+-# if defined(VBOX_WITH_VMSVGA3D) && defined(RT_OS_LINUX)
++# if defined(VBOX_WITH_VMSVGA3D) && (defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX))
+ if (pThis->svga.f3DEnabled)
+ {
+ /* The FIFO thread may use X API for accelerated screen output. */
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
index c9574654562d..4bee4df8ce47 100644
--- a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
@@ -1,4 +1,4 @@
---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig 2021-01-07 15:39:16 UTC
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig 2024-01-11 12:18:21 UTC
+++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp
@@ -186,7 +186,7 @@ int glLdrInit(PPDMDEVINS pDevIns)
pfn_wglDeleteContext = 0;
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
index 3069950947cd..34edb2b49799 100644
--- a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
@@ -1,6 +1,6 @@
---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig 2021-01-07 15:39:17 UTC
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig 2024-01-11 12:18:21 UTC
+++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h
-@@ -338,7 +338,7 @@ GLPFN BOOL (WINAPI *pfn_wglMakeCurrent)(HDC, HGLRC);
+@@ -338,7 +338,7 @@ GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC);
GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC);
#define wglShareLists pfn_wglShareLists
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-internal.h b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-internal.h
new file mode 100644
index 000000000000..1378f39b6a59
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-internal.h
@@ -0,0 +1,11 @@
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-internal.h.orig 2024-01-11 12:18:21 UTC
++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-internal.h
+@@ -1175,7 +1175,7 @@ typedef struct VMSVGAHWSCREEN
+ typedef struct VMSVGAHWSCREEN
+ {
+ uint32_t u32Reserved0;
+-#if defined(RT_OS_LINUX)
++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ /* OpenGL context, which is used for the screen updates. */
+ GLXContext glxctx;
+
diff --git a/finance/gnucash/Makefile b/finance/gnucash/Makefile
index 6d79318a34b9..e20659467bc1 100644
--- a/finance/gnucash/Makefile
+++ b/finance/gnucash/Makefile
@@ -3,7 +3,7 @@ PORTVERSION= 5.11
CATEGORIES= finance gnome
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}%20%28stable%29/${PORTVERSION}
-PATCH_SITES= https://github.com/${PORTNAME:tt}/${PORTNAME}/commit/
+PATCH_SITES= https://github.com/${PORTNAME}/${PORTNAME}/commit/
PATCHFILES= 940085a0.patch:-p1 99f86d31.patch:-p1 e00eade7.patch:-p1
MAINTAINER= madpilot@FreeBSD.org
diff --git a/games/NBlood/Makefile b/games/NBlood/Makefile
index 119c8fd4ecb1..28ce708efbcb 100644
--- a/games/NBlood/Makefile
+++ b/games/NBlood/Makefile
@@ -1,5 +1,5 @@
PORTNAME= NBlood
-DISTVERSION= r14220
+DISTVERSION= r14230
CATEGORIES= games
MAINTAINER= pkubaj@FreeBSD.org
diff --git a/games/NBlood/distinfo b/games/NBlood/distinfo
index 1bc100c966d5..549bf41ddd6d 100644
--- a/games/NBlood/distinfo
+++ b/games/NBlood/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745834051
-SHA256 (nukeykt-NBlood-r14220_GH0.tar.gz) = 57e2cc6ae1b7c2097973081ce55c9e67915d8e88ce567807b9cc07ec657fe1ae
-SIZE (nukeykt-NBlood-r14220_GH0.tar.gz) = 36811394
+TIMESTAMP = 1747215784
+SHA256 (nukeykt-NBlood-r14230_GH0.tar.gz) = 532579f7438d680b4eb996be8b69f245734222b491e0b66e594c3e9e5e58514c
+SIZE (nukeykt-NBlood-r14230_GH0.tar.gz) = 36828557
diff --git a/games/automuteus/Makefile b/games/automuteus/Makefile
index e926c90d387c..4b8386f4b4b3 100644
--- a/games/automuteus/Makefile
+++ b/games/automuteus/Makefile
@@ -3,7 +3,7 @@ DISTVERSION= 8.3.6
PORTREVISION= 5
CATEGORIES= games
-MAINTAINER= nc@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Discord Bot to automute Among Us players at round transitions
WWW= https://automute.us/
diff --git a/games/simutrans/Makefile b/games/simutrans/Makefile
index c4b6f7aa8d1b..718f5d45194b 100644
--- a/games/simutrans/Makefile
+++ b/games/simutrans/Makefile
@@ -23,7 +23,7 @@ CMAKE_ON= CMAKE_DISABLE_FIND_PACKAGE_CCache \
CMAKE_DISABLE_FIND_PACKAGE_Subversion
CMAKE_ARGS= -DSIMUTRANS_USE_REVISION=1
-PORTSCOUT= skipv:nightly
+PORTSCOUT= skipv:Nightly
PORTDATA= *
PORTDOCS= change_request.txt \
diff --git a/games/veloren-weekly/Makefile b/games/veloren-weekly/Makefile
index 2669f39552fb..2cc7838a2ba6 100644
--- a/games/veloren-weekly/Makefile
+++ b/games/veloren-weekly/Makefile
@@ -1,5 +1,5 @@
PORTNAME= veloren
-PORTVERSION= s20250507
+PORTVERSION= s20250512
CATEGORIES= games wayland
PKGNAMESUFFIX= -weekly
@@ -25,7 +25,7 @@ RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-pl
USES= cargo xorg
USE_XORG= xcb
USE_GITLAB= yes
-GL_TAGNAME= v0.17.0-745-g8c44357c9d # git describe --match='v[0-9]*' weekly
+GL_TAGNAME= v0.17.0-757-gbb8fb2f27b # git describe --match='v[0-9]*' weekly
CARGO_ENV= VELOREN_USERDATA_STRATEGY=system SHADERC_LIB_DIR="${LOCALBASE}/lib"
PLIST_FILES= bin/${PORTNAME}-server-cli \
bin/${PORTNAME}-voxygen \
diff --git a/games/veloren-weekly/distinfo b/games/veloren-weekly/distinfo
index 1709b6e575d2..e352df43fc72 100644
--- a/games/veloren-weekly/distinfo
+++ b/games/veloren-weekly/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1746620641
+TIMESTAMP = 1747050574
SHA256 (rust/crates/ab_glyph-0.2.29.crate) = ec3672c180e71eeaaac3a541fbbc5f5ad4def8b747c595ad30d674e43049f7b0
SIZE (rust/crates/ab_glyph-0.2.29.crate) = 20011
SHA256 (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046
@@ -1869,5 +1869,5 @@ SHA256 (xMAC94x-portpicker-rs-df6b37872f3586ac3b21d08b56c8ec7cd92fb172_GH0.tar.g
SIZE (xMAC94x-portpicker-rs-df6b37872f3586ac3b21d08b56c8ec7cd92fb172_GH0.tar.gz) = 2210
SHA256 (veloren-conrod-c74446362371dc837b8b4b6d6ddcd7693b48d9b6_GL0.tar.gz) = 43f0faa196eb33341c8e9952da17876649dd3aade44fd357a3a098eaaeb78e9d
SIZE (veloren-conrod-c74446362371dc837b8b4b6d6ddcd7693b48d9b6_GL0.tar.gz) = 808402
-SHA256 (veloren-v0.17.0-745-g8c44357c9d.tar.bz2) = 5f64699e7d5ed14c9b025fde2eb5216e15ce81fd4ed6e3daa9a42576ff914db6
-SIZE (veloren-v0.17.0-745-g8c44357c9d.tar.bz2) = 325793526
+SHA256 (veloren-v0.17.0-757-gbb8fb2f27b.tar.bz2) = 414e6636875197d9ae2b21082f042702baafcfbd4a60cb6324fe68425e45c3fc
+SIZE (veloren-v0.17.0-757-gbb8fb2f27b.tar.bz2) = 325789273
diff --git a/graphics/R-cran-s2/Makefile b/graphics/R-cran-s2/Makefile
index 29eafe93f6d7..defc56d35361 100644
--- a/graphics/R-cran-s2/Makefile
+++ b/graphics/R-cran-s2/Makefile
@@ -1,6 +1,5 @@
PORTNAME= s2
-DISTVERSION= 1.1.7
-PORTREVISION= 1
+DISTVERSION= 1.1.8
CATEGORIES= graphics
DISTNAME= ${PORTNAME}_${PORTVERSION}
@@ -16,8 +15,9 @@ NOT_FOR_ARCHS_REASON= is currently 64-bit only
CRAN_DEPENDS= R-cran-Rcpp>0:devel/R-cran-Rcpp \
R-cran-wk>=0.6.0:math/R-cran-wk
BUILD_DEPENDS= ${CRAN_DEPENDS}
+LIB_DEPENDS= libabsl_base.so:devel/abseil
RUN_DEPENDS= ${CRAN_DEPENDS}
-USES= cran:auto-plist,compiles
+USES= cran:auto-plist,compiles pkgconfig ssl
.include <bsd.port.mk>
diff --git a/graphics/R-cran-s2/distinfo b/graphics/R-cran-s2/distinfo
index 652cae1ecedb..1fd11434d3dd 100644
--- a/graphics/R-cran-s2/distinfo
+++ b/graphics/R-cran-s2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1722077122
-SHA256 (s2_1.1.7.tar.gz) = 30762c7150dd72e2f4a3d50e64b8b73b2d59b73275687ba3eea7a6e07f786878
-SIZE (s2_1.1.7.tar.gz) = 2381288
+TIMESTAMP = 1747217289
+SHA256 (s2_1.1.8.tar.gz) = 4366c00a58471544d34b1ab405206d23c9cfc305468316961fab45f9912a8191
+SIZE (s2_1.1.8.tar.gz) = 2966956
diff --git a/graphics/gdal/Makefile b/graphics/gdal/Makefile
index c052c8d6b747..2ad5c425d161 100644
--- a/graphics/gdal/Makefile
+++ b/graphics/gdal/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gdal
PORTVERSION= 3.10.3
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= graphics geography
MASTER_SITES= https://download.osgeo.org/gdal/${PORTVERSION}/ \
LOCAL/sunpoet
diff --git a/graphics/mesa-devel/Makefile b/graphics/mesa-devel/Makefile
index 980fdc61cc58..7d264470a451 100644
--- a/graphics/mesa-devel/Makefile
+++ b/graphics/mesa-devel/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mesa
-DISTVERSION= 25.1-branchpoint-1019
-DISTVERSIONSUFFIX= -g7c4f501e99d
+DISTVERSION= 25.1-branchpoint-1221
+DISTVERSIONSUFFIX= -gb5e657da48b
CATEGORIES= graphics
PKGNAMESUFFIX= -devel
diff --git a/graphics/mesa-devel/distinfo b/graphics/mesa-devel/distinfo
index 2962a3fa9e15..99509a9ccbc5 100644
--- a/graphics/mesa-devel/distinfo
+++ b/graphics/mesa-devel/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1746829179
-SHA256 (mesa-25.1-branchpoint-1019-g7c4f501e99d.tar.bz2) = f266d28154515c30ff70333ecaae7437a63286f151f46196ecc5549c6bf1a967
-SIZE (mesa-25.1-branchpoint-1019-g7c4f501e99d.tar.bz2) = 58328948
+TIMESTAMP = 1747267868
+SHA256 (mesa-25.1-branchpoint-1221-gb5e657da48b.tar.bz2) = d7864346f40d57b92e0e5ae367fdf679462334ee4427c21880043ae1baed8b5c
+SIZE (mesa-25.1-branchpoint-1221-gb5e657da48b.tar.bz2) = 58347311
SHA256 (700efacda59c.patch) = 0d567fe737ad1404e1f12d7cd018826d9095c23835f1ed5aaa1c81cb58d3d008
SIZE (700efacda59c.patch) = 983
SHA256 (2930dcbb3329.patch) = f90ab77950ba1a56d165f0bc8a3cbd9c5f624bb5c67d1c7f337316027e8295e8
diff --git a/graphics/vulkan-validation-layers/Makefile b/graphics/vulkan-validation-layers/Makefile
index b230f78096df..6d6bcce05656 100644
--- a/graphics/vulkan-validation-layers/Makefile
+++ b/graphics/vulkan-validation-layers/Makefile
@@ -1,6 +1,6 @@
PORTNAME= vulkan-validation-layers
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.314
+DISTVERSION= 1.4.315
CATEGORIES= graphics
MAINTAINER= jbeich@FreeBSD.org
@@ -21,12 +21,6 @@ GH_PROJECT= Vulkan-ValidationLayers
GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-411-gaa6cef1:headers/SPIRV-Headers
CMAKE_OFF= BUILD_TESTS
-.if ${DISTVERSION:E} < 315
-GH_TUPLE+= KhronosGroup:Vulkan-Headers:${DISTVERSIONFULL}:vkheaders/Vulkan-Headers \
- KhronosGroup:Vulkan-Utility-Libraries:${DISTVERSIONFULL}:vkutils/Vulkan-Utility-Libraries
-CFLAGS+= -I${WRKSRC_vkheaders}/include -I${WRKSRC_vkutils}/include
-.endif
-
OPTIONS_DEFINE= WAYLAND XCB XLIB
OPTIONS_DEFAULT=WAYLAND XCB XLIB
diff --git a/graphics/vulkan-validation-layers/distinfo b/graphics/vulkan-validation-layers/distinfo
index e661b488f0f1..a0ccb8af3601 100644
--- a/graphics/vulkan-validation-layers/distinfo
+++ b/graphics/vulkan-validation-layers/distinfo
@@ -1,9 +1,5 @@
-TIMESTAMP = 1746485755
-SHA256 (KhronosGroup-Vulkan-ValidationLayers-v1.4.314_GH0.tar.gz) = 147e52f6782119170621b71c55e2ff72fc653f088b6ebc99e0ea27f7ebd89d04
-SIZE (KhronosGroup-Vulkan-ValidationLayers-v1.4.314_GH0.tar.gz) = 6359689
+TIMESTAMP = 1746859355
+SHA256 (KhronosGroup-Vulkan-ValidationLayers-v1.4.315_GH0.tar.gz) = 9e85fcd793fb1ee871ea8e293cb1f9736473614be23dd03a0dec8a5d1cee918c
+SIZE (KhronosGroup-Vulkan-ValidationLayers-v1.4.315_GH0.tar.gz) = 6361546
SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-411-gaa6cef1_GH0.tar.gz) = 3ac06fbcb63382f5dd2e24d45e8d2e93981858a07c38a4edf24f47f9d7fd254e
SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-411-gaa6cef1_GH0.tar.gz) = 547604
-SHA256 (KhronosGroup-Vulkan-Headers-v1.4.314_GH0.tar.gz) = da32bccb312ddbc69519ee248ea222723083441e9d59bde4381c76bde8ad9dba
-SIZE (KhronosGroup-Vulkan-Headers-v1.4.314_GH0.tar.gz) = 2638206
-SHA256 (KhronosGroup-Vulkan-Utility-Libraries-v1.4.314_GH0.tar.gz) = aad807bfe8fe5b1a442204c9daf935be9e3b9973004b05e5df98ca94ea9f0882
-SIZE (KhronosGroup-Vulkan-Utility-Libraries-v1.4.314_GH0.tar.gz) = 581048
diff --git a/irc/halloy/Makefile b/irc/halloy/Makefile
index 2038f4d0fd48..141e9f24ae5d 100644
--- a/irc/halloy/Makefile
+++ b/irc/halloy/Makefile
@@ -1,5 +1,5 @@
PORTNAME= halloy
-DISTVERSION= 2025.4
+DISTVERSION= 2025.5
CATEGORIES= irc
MAINTAINER= pokeysquirrel@gmail.com
diff --git a/irc/halloy/Makefile.crates b/irc/halloy/Makefile.crates
index 1c8bdcef652b..ef9597aa94f3 100644
--- a/irc/halloy/Makefile.crates
+++ b/irc/halloy/Makefile.crates
@@ -62,6 +62,7 @@ CARGO_CRATES= ab_glyph-0.2.29 \
base64-0.13.1 \
base64-0.22.1 \
base64ct-1.6.0 \
+ bincode-1.3.3 \
bindgen-0.70.1 \
bit-set-0.8.0 \
bit-vec-0.8.0 \
@@ -123,7 +124,7 @@ CARGO_CRATES= ab_glyph-0.2.29 \
core-graphics-types-0.2.0 \
coreaudio-rs-0.11.3 \
coreaudio-sys-0.2.16 \
- cosmic-text-0.13.2 \
+ cosmic-text-0.14.2 \
cpal-0.15.3 \
cpufeatures-0.2.16 \
crc32fast-1.4.2 \
@@ -420,10 +421,10 @@ CARGO_CRATES= ab_glyph-0.2.29 \
once_cell-1.20.3 \
oneshot-fused-workaround-0.2.1 \
open-5.3.2 \
- openssl-0.10.68 \
+ openssl-0.10.72 \
openssl-macros-0.1.1 \
openssl-probe-0.1.5 \
- openssl-sys-0.9.104 \
+ openssl-sys-0.9.108 \
option-ext-0.2.0 \
orbclient-0.3.48 \
ordered-float-2.10.1 \
@@ -851,6 +852,6 @@ CARGO_CRATES= ab_glyph-0.2.29 \
zvariant_derive-5.2.0 \
zvariant_utils-3.1.0 \
dpi,winit@git+https://github.com/iced-rs/winit.git?rev=11414b6aa45699f038114e61b4ddf5102b2d3b4b\#11414b6aa45699f038114e61b4ddf5102b2d3b4b \
+ cryoglyph@git+https://github.com/iced-rs/cryoglyph.git?rev=a456d1c17bbcf33afcca41d9e5e299f9f1193819\#a456d1c17bbcf33afcca41d9e5e299f9f1193819 \
dark-light@git+https://github.com/rust-dark-light/dark-light?rev=8e1f745f91e1e805fa772a83e4744afe95d70aa1\#8e1f745f91e1e805fa772a83e4744afe95d70aa1 \
- iced,iced_core,iced_futures,iced_graphics,iced_renderer,iced_runtime,iced_tiny_skia,iced_wgpu,iced_widget,iced_winit@git+https://github.com/iced-rs/iced?rev=1b22d7d5fcdf519a3cac7a3cfd14398a3108c3b8\#1b22d7d5fcdf519a3cac7a3cfd14398a3108c3b8 \
- cryoglyph@git+https://github.com/iced-rs/cryoglyph.git?rev=be2defe4a13fd7c97c6f4c81e8e085463eb578dc\#be2defe4a13fd7c97c6f4c81e8e085463eb578dc
+ iced,iced_beacon,iced_core,iced_debug,iced_devtools,iced_futures,iced_graphics,iced_program,iced_renderer,iced_runtime,iced_tiny_skia,iced_wgpu,iced_widget,iced_winit@git+https://github.com/iced-rs/iced?rev=aa633f6832c93d81fc829bcd351b369f0aada282\#aa633f6832c93d81fc829bcd351b369f0aada282
diff --git a/irc/halloy/distinfo b/irc/halloy/distinfo
index bd62ca333d7e..33bfa3e3c1d7 100644
--- a/irc/halloy/distinfo
+++ b/irc/halloy/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1744150666
+TIMESTAMP = 1747058932
SHA256 (rust/crates/ab_glyph-0.2.29.crate) = ec3672c180e71eeaaac3a541fbbc5f5ad4def8b747c595ad30d674e43049f7b0
SIZE (rust/crates/ab_glyph-0.2.29.crate) = 20011
SHA256 (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046
@@ -127,6 +127,8 @@ SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f
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/bincode-1.3.3.crate) = b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad
+SIZE (rust/crates/bincode-1.3.3.crate) = 28958
SHA256 (rust/crates/bindgen-0.70.1.crate) = f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f
SIZE (rust/crates/bindgen-0.70.1.crate) = 226363
SHA256 (rust/crates/bit-set-0.8.0.crate) = 08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3
@@ -249,8 +251,8 @@ SHA256 (rust/crates/coreaudio-rs-0.11.3.crate) = 321077172d79c662f64f5071a031207
SIZE (rust/crates/coreaudio-rs-0.11.3.crate) = 42844
SHA256 (rust/crates/coreaudio-sys-0.2.16.crate) = 2ce857aa0b77d77287acc1ac3e37a05a8c95a2af3647d23b15f263bdaeb7562b
SIZE (rust/crates/coreaudio-sys-0.2.16.crate) = 5480
-SHA256 (rust/crates/cosmic-text-0.13.2.crate) = e418dd4f5128c3e93eab12246391c54a20c496811131f85754dc8152ee207892
-SIZE (rust/crates/cosmic-text-0.13.2.crate) = 1896921
+SHA256 (rust/crates/cosmic-text-0.14.2.crate) = da46a9d5a8905cc538a4a5bceb6a4510de7a51049c5588c0114efce102bcbbe8
+SIZE (rust/crates/cosmic-text-0.14.2.crate) = 1910697
SHA256 (rust/crates/cpal-0.15.3.crate) = 873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779
SIZE (rust/crates/cpal-0.15.3.crate) = 100083
SHA256 (rust/crates/cpufeatures-0.2.16.crate) = 16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3
@@ -843,14 +845,14 @@ SHA256 (rust/crates/oneshot-fused-workaround-0.2.1.crate) = 8e2f833c92b3bb159dde
SIZE (rust/crates/oneshot-fused-workaround-0.2.1.crate) = 2520
SHA256 (rust/crates/open-5.3.2.crate) = e2483562e62ea94312f3576a7aca397306df7990b8d89033e18766744377ef95
SIZE (rust/crates/open-5.3.2.crate) = 26342
-SHA256 (rust/crates/openssl-0.10.68.crate) = 6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5
-SIZE (rust/crates/openssl-0.10.68.crate) = 276578
+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.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf
SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227
-SHA256 (rust/crates/openssl-sys-0.9.104.crate) = 45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741
-SIZE (rust/crates/openssl-sys-0.9.104.crate) = 72287
+SHA256 (rust/crates/openssl-sys-0.9.108.crate) = e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847
+SIZE (rust/crates/openssl-sys-0.9.108.crate) = 78190
SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
SHA256 (rust/crates/orbclient-0.3.48.crate) = ba0b26cec2e24f08ed8bb31519a9333140a6599b867dac464bb150bdb796fd43
@@ -1705,11 +1707,11 @@ SHA256 (rust/crates/zvariant_utils-3.1.0.crate) = ddd46446ea2a1f353bfda53e35f176
SIZE (rust/crates/zvariant_utils-3.1.0.crate) = 13991
SHA256 (iced-rs-winit-11414b6aa45699f038114e61b4ddf5102b2d3b4b_GH0.tar.gz) = bee38ace5cbe9299770dd50d9b0b6a30a96924955cef3bada321489a0b446169
SIZE (iced-rs-winit-11414b6aa45699f038114e61b4ddf5102b2d3b4b_GH0.tar.gz) = 607146
+SHA256 (iced-rs-cryoglyph-a456d1c17bbcf33afcca41d9e5e299f9f1193819_GH0.tar.gz) = 857e8382fd6eb9c511ff8b7aa18aec81f07b326fe1ed4d5a146d3162279385ba
+SIZE (iced-rs-cryoglyph-a456d1c17bbcf33afcca41d9e5e299f9f1193819_GH0.tar.gz) = 221785
SHA256 (rust-dark-light-dark-light-8e1f745f91e1e805fa772a83e4744afe95d70aa1_GH0.tar.gz) = 8cae94eb1834d67a002b02c759deb607f054d29a14bab8a1747d2515ba807471
SIZE (rust-dark-light-dark-light-8e1f745f91e1e805fa772a83e4744afe95d70aa1_GH0.tar.gz) = 5285
-SHA256 (iced-rs-iced-1b22d7d5fcdf519a3cac7a3cfd14398a3108c3b8_GH0.tar.gz) = 12239d746615867e7dc41f76d19c5a790dde8a7617940c608027e04d361348e3
-SIZE (iced-rs-iced-1b22d7d5fcdf519a3cac7a3cfd14398a3108c3b8_GH0.tar.gz) = 5215204
-SHA256 (iced-rs-cryoglyph-be2defe4a13fd7c97c6f4c81e8e085463eb578dc_GH0.tar.gz) = 88d8425516e72e070a47967a2ca03ab1a4e44b8cd54b2e4945dff91a321dd389
-SIZE (iced-rs-cryoglyph-be2defe4a13fd7c97c6f4c81e8e085463eb578dc_GH0.tar.gz) = 221775
-SHA256 (squidowl-halloy-2025.4_GH0.tar.gz) = f19f01f0e31739bfbafaaf63e7d01e9d1de2813127715f6243a1bcb4e041a8c1
-SIZE (squidowl-halloy-2025.4_GH0.tar.gz) = 15681933
+SHA256 (iced-rs-iced-aa633f6832c93d81fc829bcd351b369f0aada282_GH0.tar.gz) = e9a6ed7e95da32980d4f64578a1de9bc50646ecb3c5112c46752b5fb387a4c53
+SIZE (iced-rs-iced-aa633f6832c93d81fc829bcd351b369f0aada282_GH0.tar.gz) = 5224300
+SHA256 (squidowl-halloy-2025.5_GH0.tar.gz) = ee348b830db85fcea09616a45271551fa7a382513184170a84ef9dc8b720a88d
+SIZE (squidowl-halloy-2025.5_GH0.tar.gz) = 15703732
diff --git a/irc/halloy/files/patch-data_src_shortcut.rs b/irc/halloy/files/patch-data_src_shortcut.rs
new file mode 100644
index 000000000000..df985cd6d0f2
--- /dev/null
+++ b/irc/halloy/files/patch-data_src_shortcut.rs
@@ -0,0 +1,13 @@
+--- data/src/shortcut.rs.orig 2025-05-06 21:46:52 UTC
++++ data/src/shortcut.rs
+@@ -146,9 +146,7 @@ impl KeyBind {
+ default!(toggle_topic, "t", COMMAND | ALT);
+ #[cfg(target_os = "macos")]
+ default!(toggle_fullscreen, "f", COMMAND | CTRL);
+- #[cfg(target_os = "linux")]
+- default!(toggle_fullscreen, F11);
+- #[cfg(target_os = "windows")]
++ #[cfg(not(target_os = "macos"))]
+ default!(toggle_fullscreen, F11);
+ default!(command_bar, "k", COMMAND);
+ default!(reload_configuration, "r", COMMAND);
diff --git a/lang/perl5.36/Makefile b/lang/perl5.36/Makefile
index 8b892008deac..8065376772d2 100644
--- a/lang/perl5.36/Makefile
+++ b/lang/perl5.36/Makefile
@@ -14,9 +14,8 @@ LICENSE_COMB= dual
LICENSE_FILE_ART10= ${WRKSRC}/Artistic
LICENSE_FILE_GPLv1+ = ${WRKSRC}/Copying
-# Uncomment when the default Perl is switched to 5.38+
-#DEPRECATED= Support end three years after .0 release, please upgrade to a more recent version of Perl
-#EXPIRATION_DATE=2025-05-28
+DEPRECATED= Support end three years after .0 release, please upgrade to a more recent version of Perl
+EXPIRATION_DATE=2025-05-28
USES= cpe tar:xz
diff --git a/lang/perl5.38/Makefile b/lang/perl5.38/Makefile
index 7e7a1b7515cf..1a1106b27fec 100644
--- a/lang/perl5.38/Makefile
+++ b/lang/perl5.38/Makefile
@@ -13,9 +13,8 @@ LICENSE_COMB= dual
LICENSE_FILE_ART10= ${WRKSRC}/Artistic
LICENSE_FILE_GPLv1+ = ${WRKSRC}/Copying
-# Uncomment when the default Perl is switched to 5.40+
-#DEPRECATED= Support end three years after .0 release, please upgrade to a more recent version of Perl
-#EXPIRATION_DATE= 2026-07-03
+DEPRECATED= Support end three years after .0 release, please upgrade to a more recent version of Perl
+EXPIRATION_DATE= 2026-07-03
USES= cpe tar:xz
diff --git a/lang/ruby34/distinfo b/lang/ruby34/distinfo
index 225374338ff7..55af1251f0c3 100644
--- a/lang/ruby34/distinfo
+++ b/lang/ruby34/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1744946573
-SHA256 (ruby/ruby-3.4.3.tar.xz) = 174dcd8c516694f833fd3c93ea227fa6c3321464577a3882a6fc7e4fe20237fd
-SIZE (ruby/ruby-3.4.3.tar.xz) = 17230984
+TIMESTAMP = 1747263779
+SHA256 (ruby/ruby-3.4.4.tar.xz) = f76d63efe9499dedd8526b74365c0c811af00dc9feb0bed7f5356488476e28f4
+SIZE (ruby/ruby-3.4.4.tar.xz) = 17255388
diff --git a/lang/rust-nightly/Makefile b/lang/rust-nightly/Makefile
index a471ae71c1b7..ad6f7d553ba4 100644
--- a/lang/rust-nightly/Makefile
+++ b/lang/rust-nightly/Makefile
@@ -14,7 +14,7 @@ MASTERDIR= ${.CURDIR}/../rust
PATCHDIR= ${.CURDIR}/files
DISTINFO_FILE= ${.CURDIR}/distinfo
-NIGHTLY_DATE= 2025-05-11
+NIGHTLY_DATE= 2025-05-12
BOOTSTRAPS_DATE= 2025-04-02
RUST_BOOTSTRAP_VERSION= beta
diff --git a/lang/rust-nightly/distinfo b/lang/rust-nightly/distinfo
index 4217c5534dcb..85dd9fa03e11 100644
--- a/lang/rust-nightly/distinfo
+++ b/lang/rust-nightly/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1747040402
-SHA256 (rust/2025-05-11/rustc-nightly-src.tar.xz) = bad0ba118859ebbae36a64459ef6bded37d18e586aeaba8c9e4fc19816ba7c1d
-SIZE (rust/2025-05-11/rustc-nightly-src.tar.xz) = 283339704
+TIMESTAMP = 1747135686
+SHA256 (rust/2025-05-12/rustc-nightly-src.tar.xz) = b5707eca97561a1f59e19d0d0d1d2ee9d930e5bccdb00ce569067825ef3e1746
+SIZE (rust/2025-05-12/rustc-nightly-src.tar.xz) = 283351272
SHA256 (rust/2025-04-02/rustc-beta-x86_64-unknown-freebsd.tar.xz) = c8d0147c625faa5ce0e75c2509827bc4b190ad286e41411bce92023e00eb7a1d
SIZE (rust/2025-04-02/rustc-beta-x86_64-unknown-freebsd.tar.xz) = 88062036
SHA256 (rust/2025-04-02/rust-std-beta-x86_64-unknown-freebsd.tar.xz) = 8bef59b74196fa9f7839bb491f6b32d0761a45c8d7178980ee3afd80231b836e
diff --git a/mail/Makefile b/mail/Makefile
index 80443466c193..6c286492fe1f 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -188,6 +188,7 @@
SUBDIR += libspf2
SUBDIR += libsrs2
SUBDIR += libsrs_alt
+ SUBDIR += libtlsrpt
SUBDIR += libvmime
SUBDIR += linux-r7-organizer
SUBDIR += linux-r7-organizer-pro
diff --git a/mail/libtlsrpt/Makefile b/mail/libtlsrpt/Makefile
new file mode 100644
index 000000000000..84101df1c7c4
--- /dev/null
+++ b/mail/libtlsrpt/Makefile
@@ -0,0 +1,22 @@
+PORTNAME= libtlsrpt
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.5.0
+CATEGORIES= mail
+
+MAINTAINER= matthew@FreeBSD.org
+COMMENT= Low-level C Library to implement TLSRPT into a MTA
+WWW= https://github.com/sys4/libtlsrpt
+
+LICENSE= LGPL3+
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+USES= autoreconf libtool
+
+GNU_CONFIGURE= yes
+INSTALL_TARGET= install-strip
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= sys4
+
+.include <bsd.port.mk>
diff --git a/mail/libtlsrpt/distinfo b/mail/libtlsrpt/distinfo
new file mode 100644
index 000000000000..c2666e3f18be
--- /dev/null
+++ b/mail/libtlsrpt/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1747144889
+SHA256 (sys4-libtlsrpt-v0.5.0_GH0.tar.gz) = 8cf811f4feece4e00f9f0140c2f3211b67d7fd46db57d8381d3b35ad5d00135f
+SIZE (sys4-libtlsrpt-v0.5.0_GH0.tar.gz) = 27115
diff --git a/mail/libtlsrpt/pkg-descr b/mail/libtlsrpt/pkg-descr
new file mode 100644
index 000000000000..e1e3a23c3ca9
--- /dev/null
+++ b/mail/libtlsrpt/pkg-descr
@@ -0,0 +1,6 @@
+The libtlsrpt project provides a low-level C Library which implements
+functions that help generate TLSRPT datagrams. Included into a MTA it
+assists the MTA in collecting and sending these datagrams to a TLSRPT
+reporting service where they can be collected, summarized and finally
+sent to a mail platform that requests TLSRPT reports as defined in in
+RFC 8460.
diff --git a/mail/libtlsrpt/pkg-plist b/mail/libtlsrpt/pkg-plist
new file mode 100644
index 000000000000..8204218f7ff7
--- /dev/null
+++ b/mail/libtlsrpt/pkg-plist
@@ -0,0 +1,23 @@
+include/tlsrpt.h
+include/tlsrpt_version.h
+lib/libtlsrpt.a
+lib/libtlsrpt.so
+lib/libtlsrpt.so.0
+lib/libtlsrpt.so.0.0.0
+share/man/man3/tlsrpt_add_delivery_request_failure.3.gz
+share/man/man3/tlsrpt_add_mx_host_pattern.3.gz
+share/man/man3/tlsrpt_add_policy_string.3.gz
+share/man/man3/tlsrpt_cancel_delivery_request.3.gz
+share/man/man3/tlsrpt_close.3.gz
+share/man/man3/tlsrpt_errno_from_error_code.3.gz
+share/man/man3/tlsrpt_error_code_is_internal.3.gz
+share/man/man3/tlsrpt_finish_delivery_request.3.gz
+share/man/man3/tlsrpt_finish_policy.3.gz
+share/man/man3/tlsrpt_get_socket.3.gz
+share/man/man3/tlsrpt_init_delivery_request.3.gz
+share/man/man3/tlsrpt_init_policy.3.gz
+share/man/man3/tlsrpt_open.3.gz
+share/man/man3/tlsrpt_set_blocking.3.gz
+share/man/man3/tlsrpt_set_malloc_and_free.3.gz
+share/man/man3/tlsrpt_set_nonblocking.3.gz
+share/man/man3/tlsrpt_strerror.3.gz
diff --git a/mail/thunderbird-esr/Makefile b/mail/thunderbird-esr/Makefile
index ec5252b434e7..efa73f1b9bae 100644
--- a/mail/thunderbird-esr/Makefile
+++ b/mail/thunderbird-esr/Makefile
@@ -1,5 +1,5 @@
PORTNAME= thunderbird
-DISTVERSION= 128.10.0
+DISTVERSION= 128.10.1
CATEGORIES= mail news net-im wayland
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}esr-candidates/build1/source
diff --git a/mail/thunderbird-esr/distinfo b/mail/thunderbird-esr/distinfo
index 7df3506a8d8a..f996561407c7 100644
--- a/mail/thunderbird-esr/distinfo
+++ b/mail/thunderbird-esr/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745576318
-SHA256 (thunderbird-128.10.0esr.source.tar.xz) = ef73b0bef19d05211ebb0cf6c7450e95cead2df9dc2c02c0ceb356a30e629675
-SIZE (thunderbird-128.10.0esr.source.tar.xz) = 681806200
+TIMESTAMP = 1747170898
+SHA256 (thunderbird-128.10.1esr.source.tar.xz) = 4439ba90816d7c8ab8ad7f8fdd63b0cbfd4ca0b86d1e6a90d2d6e1ea31e0007e
+SIZE (thunderbird-128.10.1esr.source.tar.xz) = 677156592
diff --git a/math/R-cran-pbkrtest/Makefile b/math/R-cran-pbkrtest/Makefile
index 2b89ff5ee12f..4c5ee41dd81b 100644
--- a/math/R-cran-pbkrtest/Makefile
+++ b/math/R-cran-pbkrtest/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pbkrtest
-DISTVERSION= 0.5.3
+DISTVERSION= 0.5.4
CATEGORIES= math
DISTNAME= ${PORTNAME}_${DISTVERSION}
@@ -10,7 +10,7 @@ WWW= https://cran.r-project.org/web/packages/pbkrtest/
LICENSE= GPLv2+
RUN_DEPENDS= R-cran-broom>0:devel/R-cran-broom \
- R-cran-doBy>0:math/R-cran-doBy \
+ R-cran-doBy>=4.6.22:math/R-cran-doBy \
R-cran-dplyr>0:math/R-cran-dplyr \
R-cran-lme4>=1.1.31:math/R-cran-lme4 \
R-cran-numDeriv>0:math/R-cran-numDeriv
diff --git a/math/R-cran-pbkrtest/distinfo b/math/R-cran-pbkrtest/distinfo
index 738094501157..72889b767954 100644
--- a/math/R-cran-pbkrtest/distinfo
+++ b/math/R-cran-pbkrtest/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1719708787
-SHA256 (pbkrtest_0.5.3.tar.gz) = b03e5156fef6a4a2ea67c1d15c051799e63acafef2f89962c580645266e6ba63
-SIZE (pbkrtest_0.5.3.tar.gz) = 59013
+TIMESTAMP = 1746004088
+SHA256 (pbkrtest_0.5.4.tar.gz) = cd463ff5766c340f576366e45e7a44498e3017083df9c02f332510f8a423d822
+SIZE (pbkrtest_0.5.4.tar.gz) = 75868
diff --git a/misc/flag-icons/Makefile b/misc/flag-icons/Makefile
index 21cf09b196fc..7a123012a67d 100644
--- a/misc/flag-icons/Makefile
+++ b/misc/flag-icons/Makefile
@@ -27,9 +27,13 @@ FLAVORS= plain bordered rounded
PKGNAMESUFFIX= -${FLAVOR}
.endif
+post-extract:
+ cd ${WRKSRC}/flags && ${SH} ${FILESDIR}/makeflags.sh add-missing-flags
+
do-build:
- cd ${BUILD_WRKSRC}/flags && ${SH} ${FILESDIR}/makeflags.sh \
- ${FLAVOR} ${STAGEDIR}${FLAGS_TOPDIR}/${FLAVOR} ${FLAG_SIZES}
+ cd ${BUILD_WRKSRC}/flags && JOBS=${MAKE_JOBS_NUMBER} ${SH} \
+ ${FILESDIR}/makeflags.sh ${FLAVOR} \
+ ${STAGEDIR}${FLAGS_TOPDIR}/${FLAVOR} ${FLAG_SIZES}
post-stage:
cd ${STAGEDIR}${PREFIX} && ${FIND} share -type f >> ${TMPPLIST}
diff --git a/misc/flag-icons/files/makeflags.sh b/misc/flag-icons/files/makeflags.sh
index 160212b7c673..b98888fa1546 100644
--- a/misc/flag-icons/files/makeflags.sh
+++ b/misc/flag-icons/files/makeflags.sh
@@ -1,6 +1,26 @@
+# https://commons.wikimedia.org/wiki/File:Flag_of_Esperanto.svg
+add-esperanto-flag()
+{
+ cat > "$1/epo.svg" << EOD
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" width="$2" height="400">
+<path fill="#FFF" d="m0,0h202v202H0"/>
+<path fill="#090" d="m0,200H200V0H$2V400H0m58-243 41-126 41,126-107-78h133"/>
+</svg>
+EOD
+}
+
+add-missing-flags()
+{
+ add-esperanto-flag 1x1 400
+ add-esperanto-flag 4x3 533
+}
+
+async() { "$@" & }
+
simple()
{
- local comment convert_extra_args destdir height ratio subdir t0 width
+ local comment convert_extra_args destdir flag height i=0 ratio subdir t0 width
comment=$1; convert_extra_args=$2; destdir=$3; shift 3
@@ -12,9 +32,11 @@ simple()
echo -n "Generating $comment flags ${width}x${height}... "
t0=$(date +%s)
for flag in $subdir/*.svg; do
- convert -resize ${width}x${height} $convert_extra_args \
+ i=$((i % ${JOBS:-1}))
+ test $((i+=1)) -eq 1 && wait
+ async convert -resize ${width}x${height} $convert_extra_args \
"$flag" "$destdir/${width}x${height}/$(basename "$flag" svg)png"
- done
+ done; wait
echo "finished in $(date -ur $((`date +%s`-t0)) +%M:%S)"
done
done
@@ -33,7 +55,7 @@ bordered()
# https://joeldare.com/rounding-image-corners-with-imagemagick
rounded()
{
- local destdir height mask radius ratio subdir t0 width
+ local destdir flag height i=0 mask radius ratio subdir t0 width
destdir=$1; shift
mask=$(mktemp)
@@ -53,11 +75,13 @@ rounded()
echo -n "Generating rounded corner flags ${width}x${height}... "
t0=$(date +%s)
for flag in $subdir/*.svg; do
- convert -resize ${width}x${height} \
+ i=$((i % ${JOBS:-1}))
+ test $((i+=1)) -eq 1 && wait
+ async convert -resize ${width}x${height} \
"$flag" -matte "$mask" \
-compose DstIn -composite -strip \
"$destdir/${width}x${height}/$(basename "$flag" svg)png"
- done
+ done; wait
echo "finished in $(date -ur $((`date +%s`-t0)) +%M:%S)"
done
done
diff --git a/misc/llama-cpp/Makefile b/misc/llama-cpp/Makefile
index edcfc0829cf0..e880ababbdc1 100644
--- a/misc/llama-cpp/Makefile
+++ b/misc/llama-cpp/Makefile
@@ -1,6 +1,6 @@
PORTNAME= llama-cpp
DISTVERSIONPREFIX= b
-DISTVERSION= 5287
+DISTVERSION= 5371
CATEGORIES= misc # machine-learning
MAINTAINER= yuri@FreeBSD.org
diff --git a/misc/llama-cpp/distinfo b/misc/llama-cpp/distinfo
index 5682dec0737a..065e1989894b 100644
--- a/misc/llama-cpp/distinfo
+++ b/misc/llama-cpp/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1746510097
-SHA256 (ggerganov-llama.cpp-b5287_GH0.tar.gz) = 2b62ce01b09300aa5ed628e520ea56a72aff64fda92c02c2576880e0810225a4
-SIZE (ggerganov-llama.cpp-b5287_GH0.tar.gz) = 21099950
+TIMESTAMP = 1747201270
+SHA256 (ggerganov-llama.cpp-b5371_GH0.tar.gz) = cce50220507565b78423fc45a1c534dc088289ab898517a379fdbf733ffd72bf
+SIZE (ggerganov-llama.cpp-b5371_GH0.tar.gz) = 21147325
SHA256 (nomic-ai-kompute-4565194_GH0.tar.gz) = 95b52d2f0514c5201c7838348a9c3c9e60902ea3c6c9aa862193a212150b2bfc
SIZE (nomic-ai-kompute-4565194_GH0.tar.gz) = 13540496
diff --git a/misc/llama-cpp/pkg-plist b/misc/llama-cpp/pkg-plist
index fb952a574b2e..5b36c5809aaa 100644
--- a/misc/llama-cpp/pkg-plist
+++ b/misc/llama-cpp/pkg-plist
@@ -8,14 +8,13 @@ bin/convert_hf_to_gguf.py
%%EXAMPLES%%bin/llama-embedding
%%EXAMPLES%%bin/llama-eval-callback
%%EXAMPLES%%bin/llama-export-lora
+%%EXAMPLES%%bin/llama-finetune
%%EXAMPLES%%bin/llama-gen-docs
%%EXAMPLES%%bin/llama-gguf
%%EXAMPLES%%bin/llama-gguf-hash
%%EXAMPLES%%bin/llama-gguf-split
%%EXAMPLES%%bin/llama-gritlm
%%EXAMPLES%%bin/llama-imatrix
-%%EXAMPLES%%bin/llama-infill
-%%EXAMPLES%%bin/llama-llava-clip-quantize-cli
%%EXAMPLES%%bin/llama-lookahead
%%EXAMPLES%%bin/llama-lookup
%%EXAMPLES%%bin/llama-lookup-create
@@ -63,6 +62,5 @@ lib/libggml-cpu.so
%%VULKAN%%lib/libggml-vulkan.so
lib/libggml.so
lib/libllama.so
-%%EXAMPLES%%lib/libllava_shared.so
lib/libmtmd_shared.so
libdata/pkgconfig/llama.pc
diff --git a/misc/py-gguf/Makefile b/misc/py-gguf/Makefile
index b03b9d096471..05b335f0f495 100644
--- a/misc/py-gguf/Makefile
+++ b/misc/py-gguf/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gguf
-DISTVERSION= 0.16.2.${GH_TAGNAME:S/b//} # the base version is in pyproject.toml, updated by post-patch
+DISTVERSION= 0.16.3.${GH_TAGNAME:S/b//} # the base version is in pyproject.toml, updated by post-patch
CATEGORIES= misc python # machine-learning
#MASTER_SITES= PYPI # the PYPI version is way behind of llama-cpp
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -24,7 +24,7 @@ USE_PYTHON= pep517 autoplist pytest
USE_GITHUB= yes
GH_ACCOUNT= ggml-org
GH_PROJECT= llama.cpp
-GH_TAGNAME= b5287
+GH_TAGNAME= b5371
WRKSRC= ${WRKDIR}/${GH_PROJECT}-${GH_TAGNAME}/gguf-py
diff --git a/misc/py-gguf/distinfo b/misc/py-gguf/distinfo
index 71d363f1c2b8..1b9000f89f7c 100644
--- a/misc/py-gguf/distinfo
+++ b/misc/py-gguf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1746512008
-SHA256 (ggml-org-llama.cpp-0.16.2.5287-b5287_GH0.tar.gz) = 2b62ce01b09300aa5ed628e520ea56a72aff64fda92c02c2576880e0810225a4
-SIZE (ggml-org-llama.cpp-0.16.2.5287-b5287_GH0.tar.gz) = 21099950
+TIMESTAMP = 1747201428
+SHA256 (ggml-org-llama.cpp-0.16.3.5371-b5371_GH0.tar.gz) = cce50220507565b78423fc45a1c534dc088289ab898517a379fdbf733ffd72bf
+SIZE (ggml-org-llama.cpp-0.16.3.5371-b5371_GH0.tar.gz) = 21147325
diff --git a/multimedia/mediamtx/Makefile b/multimedia/mediamtx/Makefile
index 17372698db8b..b1141942cc0b 100644
--- a/multimedia/mediamtx/Makefile
+++ b/multimedia/mediamtx/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mediamtx
DISTVERSIONPREFIX= v
-DISTVERSION= 1.12.0
+DISTVERSION= 1.12.2
CATEGORIES= multimedia net
MASTER_SITES+= https://github.com/video-dev/hls.js/releases/download/v1.6.2/
DISTFILES+= release.zip
diff --git a/multimedia/mediamtx/distinfo b/multimedia/mediamtx/distinfo
index c42843bf315f..6c49be33a60a 100644
--- a/multimedia/mediamtx/distinfo
+++ b/multimedia/mediamtx/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1744742593
-SHA256 (go/multimedia_mediamtx/mediamtx-v1.12.0/release.zip) = d9c80634bcf683fb3b56c9bc2587a5d1dd883901d7278602abb87458c8d5eaf7
-SIZE (go/multimedia_mediamtx/mediamtx-v1.12.0/release.zip) = 5402144
-SHA256 (go/multimedia_mediamtx/mediamtx-v1.12.0/v1.12.0.mod) = e3abffb48da4f3b2b4ff60bf19c00cee2ad78f95f2ab52bf01c012e1a9ec741c
-SIZE (go/multimedia_mediamtx/mediamtx-v1.12.0/v1.12.0.mod) = 4238
-SHA256 (go/multimedia_mediamtx/mediamtx-v1.12.0/v1.12.0.zip) = 6cab73c0bf4a68896cda980b21d04f03ebce351e3fe1e8d86b4020aef646e596
-SIZE (go/multimedia_mediamtx/mediamtx-v1.12.0/v1.12.0.zip) = 614087
+TIMESTAMP = 1746574256
+SHA256 (go/multimedia_mediamtx/mediamtx-v1.12.2/release.zip) = d9c80634bcf683fb3b56c9bc2587a5d1dd883901d7278602abb87458c8d5eaf7
+SIZE (go/multimedia_mediamtx/mediamtx-v1.12.2/release.zip) = 5402144
+SHA256 (go/multimedia_mediamtx/mediamtx-v1.12.2/v1.12.2.mod) = c1205066a1085e67ae531237d0021ebfb291fc917778928caf93be42eb2beabc
+SIZE (go/multimedia_mediamtx/mediamtx-v1.12.2/v1.12.2.mod) = 4238
+SHA256 (go/multimedia_mediamtx/mediamtx-v1.12.2/v1.12.2.zip) = 42fe25a9bcede0eb87c5b525a162820b2fba770e094e8a2ae588ff082ae98249
+SIZE (go/multimedia_mediamtx/mediamtx-v1.12.2/v1.12.2.zip) = 617687
diff --git a/net-im/conduit/Makefile b/net-im/conduit/Makefile
index 566c4875fc53..53ba3a74c145 100644
--- a/net-im/conduit/Makefile
+++ b/net-im/conduit/Makefile
@@ -1,7 +1,6 @@
PORTNAME= conduit
DISTVERSIONPREFIX= v
-DISTVERSION= 0.9.0
-PORTREVISION= 5
+DISTVERSION= 0.10.3
CATEGORIES= net-im
PKGNAMEPREFIX= matrix-
@@ -15,6 +14,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_i386= fails to build
BUILD_DEPENDS= ${LOCALBASE}/llvm${LLVM_DEFAULT}/lib/libclang.so:devel/llvm${LLVM_DEFAULT}
+LIB_DEPENDS= librocksdb.so:databases/rocksdb
RUN_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss
USES= cargo gmake
@@ -32,7 +32,7 @@ DBDIR= /var/db/${PORTNAME}
USE_GITLAB= yes
GL_ACCOUNT= famedly
-GL_TAGNAME= f8d7ef04e664580e882bac852877b68e7bd3ab1e
+GL_TAGNAME= ff7b2af80db5e5dd2dddc02e42e8fd27abb6955f
.include <bsd.port.pre.mk>
@@ -44,7 +44,7 @@ CARGO_ENV+= CARGO_PROFILE_RELEASE_LTO=false
post-patch:
@${REINPLACE_CMD} -e 's,/etc/conduit.toml,${PREFIX}/etc/conduit.toml,' \
${WRKSRC}/src/main.rs
- @${REINPLACE_CMD} -e 's,/var/lib/conduit,${DBDIR},' \
+ @${REINPLACE_CMD} -e 's,/var/lib/matrix-conduit,${DBDIR},' \
${WRKSRC}/conduit-example.toml
post-install:
diff --git a/net-im/conduit/Makefile.crates b/net-im/conduit/Makefile.crates
index 9178ad29cef0..1e7628946c1f 100644
--- a/net-im/conduit/Makefile.crates
+++ b/net-im/conduit/Makefile.crates
@@ -1,49 +1,50 @@
-CARGO_CRATES= addr2line-0.22.0 \
+CARGO_CRATES= addr2line-0.24.2 \
adler-1.0.2 \
- ahash-0.8.11 \
+ adler2-2.0.0 \
aho-corasick-1.1.3 \
- anstyle-1.0.7 \
+ android-tzdata-0.1.1 \
+ android_system_properties-0.1.5 \
+ anstyle-1.0.10 \
anyhow-1.0.86 \
arc-swap-1.7.1 \
arrayref-0.3.7 \
arrayvec-0.7.4 \
as_variant-1.2.0 \
assign-1.1.1 \
- async-stream-0.3.5 \
- async-stream-impl-0.3.5 \
- async-trait-0.1.80 \
+ async-trait-0.1.88 \
atomic-0.6.0 \
atomic-waker-1.1.2 \
- autocfg-1.3.0 \
- axum-0.6.20 \
- axum-0.7.5 \
- axum-core-0.3.4 \
- axum-core-0.4.3 \
- axum-extra-0.9.3 \
+ autocfg-1.4.0 \
+ axum-0.7.9 \
+ axum-core-0.4.5 \
+ axum-extra-0.9.6 \
axum-server-0.6.0 \
- backtrace-0.3.72 \
+ backtrace-0.3.74 \
base64-0.21.7 \
base64-0.22.1 \
base64ct-1.6.0 \
- bindgen-0.69.4 \
+ bindgen-0.69.5 \
bitflags-1.3.2 \
- bitflags-2.5.0 \
+ bitflags-2.9.0 \
blake2b_simd-1.0.2 \
block-buffer-0.10.4 \
- bumpalo-3.16.0 \
- bytemuck-1.16.0 \
+ bumpalo-3.17.0 \
+ bytemuck-1.22.0 \
byteorder-1.5.0 \
- bytes-1.6.0 \
+ byteorder-lite-0.1.0 \
+ bytes-1.10.1 \
+ bytesize-2.0.1 \
bzip2-sys-0.1.11+1.0.8 \
- cc-1.0.98 \
+ cc-1.2.21 \
cexpr-0.6.0 \
cfg-if-1.0.0 \
- cfg_aliases-0.1.1 \
+ cfg_aliases-0.2.1 \
+ chrono-0.4.40 \
clang-sys-1.8.1 \
- clap-4.5.4 \
- clap_builder-4.5.2 \
- clap_derive-4.5.4 \
- clap_lex-0.7.0 \
+ clap-4.5.37 \
+ clap_builder-4.5.37 \
+ clap_derive-4.5.32 \
+ clap_lex-0.7.4 \
color_quant-1.1.0 \
const-oid-0.9.6 \
const_panic-0.2.8 \
@@ -51,10 +52,10 @@ CARGO_CRATES= addr2line-0.22.0 \
core-foundation-0.9.4 \
core-foundation-sys-0.8.6 \
cpufeatures-0.2.12 \
- crc-3.2.1 \
- crc-catalog-2.4.0 \
crc32fast-1.4.2 \
+ critical-section-1.2.0 \
crossbeam-channel-0.5.13 \
+ crossbeam-epoch-0.9.18 \
crossbeam-utils-0.8.20 \
crypto-common-0.1.6 \
curve25519-dalek-4.1.2 \
@@ -62,121 +63,139 @@ CARGO_CRATES= addr2line-0.22.0 \
data-encoding-2.6.0 \
date_header-1.0.5 \
der-0.7.9 \
- deranged-0.3.11 \
+ deranged-0.4.0 \
digest-0.10.7 \
- directories-5.0.1 \
- dirs-sys-0.4.1 \
+ directories-6.0.0 \
+ dirs-sys-0.5.0 \
+ displaydoc-0.2.5 \
ed25519-2.2.3 \
ed25519-dalek-2.1.1 \
either-1.12.0 \
+ encoding_rs-0.8.35 \
enum-as-inner-0.6.0 \
- equivalent-1.0.1 \
+ equivalent-1.0.2 \
fallible-iterator-0.3.0 \
fallible-streaming-iterator-0.1.9 \
+ fastrand-2.3.0 \
fdeflate-0.3.4 \
fiat-crypto-0.2.9 \
figment-0.10.19 \
flate2-1.0.30 \
fnv-1.0.7 \
+ foldhash-0.1.5 \
form_urlencoded-1.2.1 \
- fs2-0.4.3 \
- futures-channel-0.3.30 \
- futures-core-0.3.30 \
- futures-executor-0.3.30 \
- futures-io-0.3.30 \
- futures-macro-0.3.30 \
- futures-sink-0.3.30 \
- futures-task-0.3.30 \
- futures-util-0.3.30 \
+ futures-channel-0.3.31 \
+ futures-core-0.3.31 \
+ futures-executor-0.3.31 \
+ futures-io-0.3.31 \
+ futures-macro-0.3.31 \
+ futures-sink-0.3.31 \
+ futures-task-0.3.31 \
+ futures-util-0.3.31 \
+ generator-0.8.4 \
generic-array-0.14.7 \
- getrandom-0.2.15 \
+ getrandom-0.2.16 \
+ getrandom-0.3.2 \
gif-0.13.1 \
- gimli-0.29.0 \
- glob-0.3.1 \
- h2-0.3.26 \
- h2-0.4.5 \
+ gimli-0.31.1 \
+ glob-0.3.2 \
+ h2-0.4.8 \
hashbrown-0.12.3 \
- hashbrown-0.14.5 \
- hashlink-0.9.1 \
+ hashbrown-0.15.3 \
+ hashlink-0.10.0 \
headers-0.4.0 \
headers-core-0.3.0 \
heck-0.4.1 \
heck-0.5.0 \
hermit-abi-0.3.9 \
- hickory-proto-0.24.1 \
- hickory-resolver-0.24.1 \
+ hex-0.4.3 \
+ hickory-proto-0.25.2 \
+ hickory-resolver-0.25.2 \
hmac-0.12.1 \
hostname-0.3.1 \
- http-0.2.12 \
- http-1.1.0 \
+ http-1.3.1 \
http-auth-0.1.9 \
- http-body-0.4.6 \
- http-body-1.0.0 \
+ http-body-1.0.1 \
http-body-util-0.1.1 \
- httparse-1.9.4 \
+ httparse-1.10.1 \
httpdate-1.0.3 \
- hyper-0.14.29 \
- hyper-1.3.1 \
+ humantime-2.2.0 \
+ humantime-serde-1.1.1 \
+ hyper-1.6.0 \
hyper-rustls-0.26.0 \
- hyper-timeout-0.4.1 \
+ hyper-timeout-0.5.1 \
hyper-util-0.1.5 \
- idna-0.4.0 \
- idna-0.5.0 \
+ iana-time-zone-0.1.63 \
+ iana-time-zone-haiku-0.1.2 \
+ icu_collections-2.0.0 \
+ icu_locale_core-2.0.0 \
+ icu_normalizer-2.0.0 \
+ icu_normalizer_data-2.0.0 \
+ icu_properties-2.0.0 \
+ icu_properties_data-2.0.0 \
+ icu_provider-2.0.0 \
+ idna-1.0.3 \
+ idna_adapter-1.2.1 \
image-0.25.1 \
+ image-webp-0.1.3 \
indexmap-1.9.3 \
- indexmap-2.2.6 \
+ indexmap-2.9.0 \
inlinable_string-0.1.15 \
ipconfig-0.3.2 \
ipnet-2.9.0 \
itertools-0.12.1 \
- itoa-1.0.11 \
- jobserver-0.1.31 \
- js-sys-0.3.69 \
+ itoa-1.0.15 \
+ jobserver-0.1.33 \
+ js-sys-0.3.74 \
js_int-0.2.2 \
js_option-0.1.1 \
- jsonwebtoken-9.3.0 \
+ jsonwebtoken-9.3.1 \
konst-0.3.9 \
konst_kernel-0.3.9 \
- lazy_static-1.4.0 \
+ lazy_static-1.5.0 \
lazycell-1.3.0 \
- libc-0.2.155 \
+ libc-0.2.172 \
libloading-0.8.3 \
libredox-0.1.3 \
- libsqlite3-sys-0.28.0 \
+ libsqlite3-sys-0.33.0 \
libz-sys-1.1.18 \
linked-hash-map-0.5.6 \
+ litemap-0.8.0 \
lock_api-0.4.12 \
- log-0.4.21 \
+ log-0.4.27 \
+ loom-0.7.2 \
lru-cache-0.1.2 \
- lz4-sys-1.9.4 \
+ lz4-sys-1.11.1+lz4-1.10.0 \
maplit-1.0.2 \
match_cfg-0.1.0 \
matchers-0.1.0 \
matchit-0.7.3 \
- memchr-2.7.2 \
+ memchr-2.7.4 \
mime-0.3.17 \
minimal-lexical-0.2.1 \
- miniz_oxide-0.7.3 \
- mio-0.8.11 \
- nix-0.28.0 \
+ miniz_oxide-0.7.4 \
+ miniz_oxide-0.8.8 \
+ mio-1.0.3 \
+ moka-0.12.10 \
+ multer-3.1.0 \
+ nix-0.30.1 \
nom-7.1.3 \
nu-ansi-term-0.46.0 \
- num-bigint-0.4.5 \
+ num-bigint-0.4.6 \
num-conv-0.1.0 \
num-integer-0.1.46 \
num-traits-0.2.19 \
num_cpus-1.16.0 \
- object-0.35.0 \
- once_cell-1.19.0 \
+ object-0.36.7 \
+ once_cell-1.21.3 \
openssl-probe-0.1.5 \
- opentelemetry-0.22.0 \
- opentelemetry-jaeger-propagator-0.1.0 \
- opentelemetry-otlp-0.15.0 \
- opentelemetry-proto-0.5.0 \
- opentelemetry-semantic-conventions-0.14.0 \
- opentelemetry_sdk-0.22.1 \
+ opentelemetry-0.29.1 \
+ opentelemetry-http-0.29.0 \
+ opentelemetry-jaeger-propagator-0.29.0 \
+ opentelemetry-otlp-0.29.0 \
+ opentelemetry-proto-0.29.0 \
+ opentelemetry_sdk-0.29.0 \
option-ext-0.2.0 \
- ordered-float-4.2.0 \
overload-0.1.1 \
parking_lot-0.12.3 \
parking_lot_core-0.9.10 \
@@ -184,41 +203,47 @@ CARGO_CRATES= addr2line-0.22.0 \
pear_codegen-0.2.9 \
pem-3.0.4 \
percent-encoding-2.3.1 \
- persy-1.5.0 \
pin-project-1.1.5 \
pin-project-internal-1.1.5 \
- pin-project-lite-0.2.14 \
+ pin-project-lite-0.2.16 \
pin-utils-0.1.0 \
pkcs8-0.10.2 \
- pkg-config-0.3.30 \
+ pkg-config-0.3.32 \
platforms-3.4.0 \
png-0.17.13 \
+ portable-atomic-1.11.0 \
+ potential_utf-0.1.2 \
powerfmt-0.2.0 \
- ppv-lite86-0.2.17 \
+ ppv-lite86-0.2.21 \
proc-macro-crate-3.1.0 \
- proc-macro2-1.0.85 \
+ proc-macro2-1.0.95 \
proc-macro2-diagnostics-0.10.1 \
- prost-0.12.6 \
- prost-derive-0.12.6 \
+ prost-0.13.5 \
+ prost-derive-0.13.5 \
quick-error-1.2.3 \
- quote-1.0.36 \
+ quick-error-2.0.1 \
+ quote-1.0.40 \
+ r-efi-5.2.0 \
rand-0.8.5 \
+ rand-0.9.1 \
rand_chacha-0.3.1 \
+ rand_chacha-0.9.0 \
rand_core-0.6.4 \
- redox_syscall-0.5.1 \
- redox_users-0.4.5 \
- regex-1.10.4 \
+ rand_core-0.9.3 \
+ redox_syscall-0.5.7 \
+ redox_users-0.5.0 \
+ regex-1.11.1 \
regex-automata-0.1.10 \
- regex-automata-0.4.6 \
+ regex-automata-0.4.9 \
regex-syntax-0.6.29 \
- regex-syntax-0.8.3 \
+ regex-syntax-0.8.5 \
reqwest-0.12.4 \
resolv-conf-0.7.0 \
- ring-0.17.8 \
- rusqlite-0.31.0 \
+ ring-0.17.14 \
+ rusqlite-0.35.0 \
rust-argon2-2.1.0 \
- rust-librocksdb-sys-0.21.0+9.1.1 \
- rust-rocksdb-0.25.0 \
+ rust-librocksdb-sys-0.37.0+10.2.1 \
+ rust-rocksdb-0.41.0 \
rustc-demangle-0.1.24 \
rustc-hash-1.1.0 \
rustc_version-0.4.0 \
@@ -226,24 +251,25 @@ CARGO_CRATES= addr2line-0.22.0 \
rustls-0.22.4 \
rustls-native-certs-0.7.0 \
rustls-pemfile-2.1.2 \
- rustls-pki-types-1.7.0 \
+ rustls-pki-types-1.12.0 \
rustls-webpki-0.101.7 \
rustls-webpki-0.102.4 \
rustversion-1.0.17 \
- ryu-1.0.18 \
+ ryu-1.0.20 \
schannel-0.1.23 \
+ scoped-tls-1.0.1 \
scopeguard-1.2.0 \
sct-0.7.1 \
- sd-notify-0.4.1 \
+ sd-notify-0.4.5 \
security-framework-2.11.0 \
security-framework-sys-2.11.0 \
semver-1.0.23 \
- serde-1.0.203 \
- serde_derive-1.0.203 \
- serde_html_form-0.2.6 \
- serde_json-1.0.117 \
+ serde-1.0.219 \
+ serde_derive-1.0.219 \
+ serde_html_form-0.2.7 \
+ serde_json-1.0.140 \
serde_path_to_error-0.1.16 \
- serde_spanned-0.6.6 \
+ serde_spanned-0.6.8 \
serde_urlencoded-0.7.1 \
serde_yaml-0.9.34+deprecated \
sha-1-0.10.1 \
@@ -251,80 +277,85 @@ CARGO_CRATES= addr2line-0.22.0 \
sha2-0.10.8 \
sharded-slab-0.1.7 \
shlex-1.3.0 \
- signal-hook-registry-1.4.2 \
+ signal-hook-registry-1.4.5 \
signature-2.2.0 \
simd-adler32-0.3.7 \
simple_asn1-0.6.2 \
slab-0.4.9 \
- smallvec-1.13.2 \
- socket2-0.5.7 \
+ smallvec-1.15.0 \
+ socket2-0.5.9 \
spin-0.9.8 \
spki-0.7.3 \
+ stable_deref_trait-1.2.0 \
subslice-0.2.3 \
subtle-2.5.0 \
- syn-2.0.66 \
+ syn-2.0.101 \
sync_wrapper-0.1.2 \
sync_wrapper-1.0.1 \
- thiserror-1.0.61 \
- thiserror-impl-1.0.61 \
+ synstructure-0.13.2 \
+ tagptr-0.2.0 \
+ thiserror-1.0.69 \
+ thiserror-2.0.12 \
+ thiserror-impl-1.0.69 \
+ thiserror-impl-2.0.12 \
thread_local-1.1.8 \
threadpool-1.8.1 \
- tikv-jemalloc-sys-0.5.4+5.3.0-patched \
- tikv-jemallocator-0.5.4 \
- time-0.3.36 \
- time-core-0.1.2 \
- time-macros-0.2.18 \
+ tikv-jemalloc-sys-0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7 \
+ tikv-jemallocator-0.6.0 \
+ time-0.3.41 \
+ time-core-0.1.4 \
+ time-macros-0.2.22 \
+ tinystr-0.8.1 \
tinyvec-1.6.0 \
tinyvec_macros-0.1.1 \
- tokio-1.38.0 \
- tokio-io-timeout-1.2.0 \
- tokio-macros-2.3.0 \
+ tokio-1.45.0 \
+ tokio-macros-2.5.0 \
tokio-rustls-0.24.1 \
tokio-rustls-0.25.0 \
tokio-socks-0.5.1 \
- tokio-stream-0.1.15 \
- tokio-util-0.7.11 \
- toml-0.8.14 \
- toml_datetime-0.6.6 \
+ tokio-stream-0.1.17 \
+ tokio-util-0.7.15 \
+ toml-0.8.22 \
+ toml_datetime-0.6.9 \
toml_edit-0.21.1 \
- toml_edit-0.22.14 \
- tonic-0.11.0 \
+ toml_edit-0.22.26 \
+ toml_write-0.1.1 \
+ tonic-0.12.3 \
tower-0.4.13 \
+ tower-0.5.2 \
tower-http-0.5.2 \
- tower-layer-0.3.2 \
- tower-service-0.3.2 \
- tracing-0.1.40 \
- tracing-attributes-0.1.27 \
- tracing-core-0.1.32 \
+ tower-layer-0.3.3 \
+ tower-service-0.3.3 \
+ tracing-0.1.41 \
+ tracing-attributes-0.1.28 \
+ tracing-core-0.1.33 \
tracing-flame-0.2.0 \
tracing-log-0.2.0 \
- tracing-opentelemetry-0.23.0 \
- tracing-subscriber-0.3.18 \
+ tracing-opentelemetry-0.30.0 \
+ tracing-subscriber-0.3.19 \
try-lock-0.2.5 \
typenum-1.17.0 \
typewit-1.9.0 \
typewit_proc_macros-1.8.1 \
uncased-0.9.10 \
- unicode-bidi-0.3.15 \
- unicode-ident-1.0.12 \
- unicode-normalization-0.1.23 \
+ unicode-ident-1.0.18 \
unsafe-libyaml-0.2.11 \
- unsigned-varint-0.8.0 \
untrusted-0.9.0 \
- url-2.5.0 \
- urlencoding-2.1.3 \
+ url-2.5.4 \
+ utf8_iter-1.0.4 \
uuid-1.8.0 \
valuable-0.1.0 \
vcpkg-0.2.15 \
- version_check-0.9.4 \
+ version_check-0.9.5 \
want-0.3.1 \
wasi-0.11.0+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.92 \
- wasm-bindgen-backend-0.2.92 \
+ wasi-0.14.2+wasi-0.2.4 \
+ wasm-bindgen-0.2.97 \
+ wasm-bindgen-backend-0.2.97 \
wasm-bindgen-futures-0.4.42 \
- wasm-bindgen-macro-0.2.92 \
- wasm-bindgen-macro-support-0.2.92 \
- wasm-bindgen-shared-0.2.92 \
+ wasm-bindgen-macro-0.2.97 \
+ wasm-bindgen-macro-support-0.2.97 \
+ wasm-bindgen-shared-0.2.97 \
web-sys-0.3.69 \
web-time-1.1.0 \
weezl-0.1.8 \
@@ -333,35 +364,56 @@ CARGO_CRATES= addr2line-0.22.0 \
winapi-0.3.9 \
winapi-i686-pc-windows-gnu-0.4.0 \
winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-0.58.0 \
+ windows-core-0.58.0 \
+ windows-core-0.61.0 \
+ windows-implement-0.58.0 \
+ windows-implement-0.60.0 \
+ windows-interface-0.58.0 \
+ windows-interface-0.59.1 \
+ windows-link-0.1.1 \
+ windows-result-0.2.0 \
+ windows-result-0.3.2 \
+ windows-strings-0.1.0 \
+ windows-strings-0.4.0 \
windows-sys-0.48.0 \
windows-sys-0.52.0 \
+ windows-sys-0.59.0 \
windows-targets-0.48.5 \
- windows-targets-0.52.5 \
+ windows-targets-0.52.6 \
windows_aarch64_gnullvm-0.48.5 \
- windows_aarch64_gnullvm-0.52.5 \
+ windows_aarch64_gnullvm-0.52.6 \
windows_aarch64_msvc-0.48.5 \
- windows_aarch64_msvc-0.52.5 \
+ windows_aarch64_msvc-0.52.6 \
windows_i686_gnu-0.48.5 \
- windows_i686_gnu-0.52.5 \
- windows_i686_gnullvm-0.52.5 \
+ windows_i686_gnu-0.52.6 \
+ windows_i686_gnullvm-0.52.6 \
windows_i686_msvc-0.48.5 \
- windows_i686_msvc-0.52.5 \
+ windows_i686_msvc-0.52.6 \
windows_x86_64_gnu-0.48.5 \
- windows_x86_64_gnu-0.52.5 \
+ windows_x86_64_gnu-0.52.6 \
windows_x86_64_gnullvm-0.48.5 \
- windows_x86_64_gnullvm-0.52.5 \
+ windows_x86_64_gnullvm-0.52.6 \
windows_x86_64_msvc-0.48.5 \
- windows_x86_64_msvc-0.52.5 \
+ windows_x86_64_msvc-0.52.6 \
winnow-0.5.40 \
- winnow-0.6.11 \
+ winnow-0.7.10 \
winreg-0.50.0 \
winreg-0.52.0 \
+ wit-bindgen-rt-0.39.0 \
+ writeable-0.6.1 \
yansi-1.0.1 \
- zerocopy-0.7.34 \
- zerocopy-derive-0.7.34 \
+ yoke-0.8.0 \
+ yoke-derive-0.8.0 \
+ zerocopy-0.8.25 \
+ zerocopy-derive-0.8.25 \
+ zerofrom-0.1.6 \
+ zerofrom-derive-0.1.6 \
zeroize-1.8.1 \
- zigzag-0.1.0 \
+ zerotrie-0.2.2 \
+ zerovec-0.11.2 \
+ zerovec-derive-0.11.1 \
zstd-sys-2.0.10+zstd.1.5.6 \
zune-core-0.4.12 \
zune-jpeg-0.4.11 \
- ruma,ruma-appservice-api,ruma-client-api,ruma-common,ruma-events,ruma-federation-api,ruma-identifiers-validation,ruma-identity-service-api,ruma-macros,ruma-push-gateway-api,ruma-server-util,ruma-signatures,ruma-state-res@git+https://github.com/ruma/ruma\#c06af4385e0e30c48a8e9ca3d488da32102d0db9
+ ruma,ruma-appservice-api,ruma-client-api,ruma-common,ruma-events,ruma-federation-api,ruma-identifiers-validation,ruma-macros,ruma-push-gateway-api,ruma-signatures,ruma-state-res@git+https://github.com/ruma/ruma.git\#38d471de01ce2f37f1d8fb5cb1752769cf97bd2f
diff --git a/net-im/conduit/distinfo b/net-im/conduit/distinfo
index 50e8d1f41334..d75b360ce034 100644
--- a/net-im/conduit/distinfo
+++ b/net-im/conduit/distinfo
@@ -1,14 +1,18 @@
-TIMESTAMP = 1728295916
-SHA256 (rust/crates/addr2line-0.22.0.crate) = 6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678
-SIZE (rust/crates/addr2line-0.22.0.crate) = 39156
+TIMESTAMP = 1747203465
+SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
+SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
SIZE (rust/crates/adler-1.0.2.crate) = 12778
-SHA256 (rust/crates/ahash-0.8.11.crate) = e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011
-SIZE (rust/crates/ahash-0.8.11.crate) = 43607
+SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
+SIZE (rust/crates/adler2-2.0.0.crate) = 13529
SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
-SHA256 (rust/crates/anstyle-1.0.7.crate) = 038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b
-SIZE (rust/crates/anstyle-1.0.7.crate) = 15709
+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/anstyle-1.0.10.crate) = 55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9
+SIZE (rust/crates/anstyle-1.0.10.crate) = 15725
SHA256 (rust/crates/anyhow-1.0.86.crate) = b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da
SIZE (rust/crates/anyhow-1.0.86.crate) = 46741
SHA256 (rust/crates/arc-swap-1.7.1.crate) = 69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457
@@ -21,76 +25,74 @@ SHA256 (rust/crates/as_variant-1.2.0.crate) = f38fa22307249f86fb7fad906fcae77f25
SIZE (rust/crates/as_variant-1.2.0.crate) = 7881
SHA256 (rust/crates/assign-1.1.1.crate) = 5f093eed78becd229346bf859eec0aa4dd7ddde0757287b2b4107a1f09c80002
SIZE (rust/crates/assign-1.1.1.crate) = 4335
-SHA256 (rust/crates/async-stream-0.3.5.crate) = cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51
-SIZE (rust/crates/async-stream-0.3.5.crate) = 11916
-SHA256 (rust/crates/async-stream-impl-0.3.5.crate) = 16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193
-SIZE (rust/crates/async-stream-impl-0.3.5.crate) = 4173
-SHA256 (rust/crates/async-trait-0.1.80.crate) = c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca
-SIZE (rust/crates/async-trait-0.1.80.crate) = 28775
+SHA256 (rust/crates/async-trait-0.1.88.crate) = e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5
+SIZE (rust/crates/async-trait-0.1.88.crate) = 32084
SHA256 (rust/crates/atomic-0.6.0.crate) = 8d818003e740b63afc82337e3160717f4f63078720a810b7b903e70a5d1d2994
SIZE (rust/crates/atomic-0.6.0.crate) = 12919
SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0
SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422
-SHA256 (rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0
-SIZE (rust/crates/autocfg-1.3.0.crate) = 16524
-SHA256 (rust/crates/axum-0.6.20.crate) = 3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf
-SIZE (rust/crates/axum-0.6.20.crate) = 146227
-SHA256 (rust/crates/axum-0.7.5.crate) = 3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf
-SIZE (rust/crates/axum-0.7.5.crate) = 151429
-SHA256 (rust/crates/axum-core-0.3.4.crate) = 759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c
-SIZE (rust/crates/axum-core-0.3.4.crate) = 21088
-SHA256 (rust/crates/axum-core-0.4.3.crate) = a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3
-SIZE (rust/crates/axum-core-0.4.3.crate) = 21877
-SHA256 (rust/crates/axum-extra-0.9.3.crate) = 0be6ea09c9b96cb5076af0de2e383bd2bc0c18f827cf1967bdd353e0b910d733
-SIZE (rust/crates/axum-extra-0.9.3.crate) = 42641
+SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
+SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
+SHA256 (rust/crates/axum-0.7.9.crate) = edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f
+SIZE (rust/crates/axum-0.7.9.crate) = 155272
+SHA256 (rust/crates/axum-core-0.4.5.crate) = 09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199
+SIZE (rust/crates/axum-core-0.4.5.crate) = 22183
+SHA256 (rust/crates/axum-extra-0.9.6.crate) = c794b30c904f0a1c2fb7740f7df7f7972dfaa14ef6f57cb6178dc63e5dca2f04
+SIZE (rust/crates/axum-extra-0.9.6.crate) = 47663
SHA256 (rust/crates/axum-server-0.6.0.crate) = c1ad46c3ec4e12f4a4b6835e173ba21c25e484c9d02b49770bf006ce5367c036
SIZE (rust/crates/axum-server-0.6.0.crate) = 36772
-SHA256 (rust/crates/backtrace-0.3.72.crate) = 17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11
-SIZE (rust/crates/backtrace-0.3.72.crate) = 87877
+SHA256 (rust/crates/backtrace-0.3.74.crate) = 8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a
+SIZE (rust/crates/backtrace-0.3.74.crate) = 88516
SHA256 (rust/crates/base64-0.21.7.crate) = 9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567
SIZE (rust/crates/base64-0.21.7.crate) = 82576
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/bindgen-0.69.4.crate) = a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0
-SIZE (rust/crates/bindgen-0.69.4.crate) = 221092
+SHA256 (rust/crates/bindgen-0.69.5.crate) = 271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088
+SIZE (rust/crates/bindgen-0.69.5.crate) = 221128
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bitflags-2.5.0.crate) = cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1
-SIZE (rust/crates/bitflags-2.5.0.crate) = 43821
+SHA256 (rust/crates/bitflags-2.9.0.crate) = 5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd
+SIZE (rust/crates/bitflags-2.9.0.crate) = 47654
SHA256 (rust/crates/blake2b_simd-1.0.2.crate) = 23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780
SIZE (rust/crates/blake2b_simd-1.0.2.crate) = 34165
SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
-SHA256 (rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c
-SIZE (rust/crates/bumpalo-3.16.0.crate) = 85677
-SHA256 (rust/crates/bytemuck-1.16.0.crate) = 78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5
-SIZE (rust/crates/bytemuck-1.16.0.crate) = 48015
+SHA256 (rust/crates/bumpalo-3.17.0.crate) = 1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf
+SIZE (rust/crates/bumpalo-3.17.0.crate) = 91975
+SHA256 (rust/crates/bytemuck-1.22.0.crate) = b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540
+SIZE (rust/crates/bytemuck-1.22.0.crate) = 52451
SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
-SHA256 (rust/crates/bytes-1.6.0.crate) = 514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9
-SIZE (rust/crates/bytes-1.6.0.crate) = 60605
+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/bytesize-2.0.1.crate) = a3c8f83209414aacf0eeae3cf730b18d6981697fba62f200fcfb92b9f082acba
+SIZE (rust/crates/bytesize-2.0.1.crate) = 18922
SHA256 (rust/crates/bzip2-sys-0.1.11+1.0.8.crate) = 736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc
SIZE (rust/crates/bzip2-sys-0.1.11+1.0.8.crate) = 633444
-SHA256 (rust/crates/cc-1.0.98.crate) = 41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f
-SIZE (rust/crates/cc-1.0.98.crate) = 76780
+SHA256 (rust/crates/cc-1.2.21.crate) = 8691782945451c1c383942c4874dbe63814f61cb57ef773cda2972682b7bb3c0
+SIZE (rust/crates/cc-1.2.21.crate) = 106117
SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766
SIZE (rust/crates/cexpr-0.6.0.crate) = 17966
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.1.1.crate) = fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e
-SIZE (rust/crates/cfg_aliases-0.1.1.crate) = 6009
+SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724
+SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355
+SHA256 (rust/crates/chrono-0.4.40.crate) = 1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c
+SIZE (rust/crates/chrono-0.4.40.crate) = 229824
SHA256 (rust/crates/clang-sys-1.8.1.crate) = 0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4
SIZE (rust/crates/clang-sys-1.8.1.crate) = 44009
-SHA256 (rust/crates/clap-4.5.4.crate) = 90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0
-SIZE (rust/crates/clap-4.5.4.crate) = 55401
-SHA256 (rust/crates/clap_builder-4.5.2.crate) = ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4
-SIZE (rust/crates/clap_builder-4.5.2.crate) = 163566
-SHA256 (rust/crates/clap_derive-4.5.4.crate) = 528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64
-SIZE (rust/crates/clap_derive-4.5.4.crate) = 29159
-SHA256 (rust/crates/clap_lex-0.7.0.crate) = 98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce
-SIZE (rust/crates/clap_lex-0.7.0.crate) = 11915
+SHA256 (rust/crates/clap-4.5.37.crate) = eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071
+SIZE (rust/crates/clap-4.5.37.crate) = 56962
+SHA256 (rust/crates/clap_builder-4.5.37.crate) = efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2
+SIZE (rust/crates/clap_builder-4.5.37.crate) = 168761
+SHA256 (rust/crates/clap_derive-4.5.32.crate) = 09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7
+SIZE (rust/crates/clap_derive-4.5.32.crate) = 33441
+SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
+SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858
SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
SHA256 (rust/crates/const-oid-0.9.6.crate) = c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8
@@ -105,14 +107,14 @@ SHA256 (rust/crates/core-foundation-sys-0.8.6.crate) = 06ea2b9bc92be3c2baa9334a3
SIZE (rust/crates/core-foundation-sys-0.8.6.crate) = 37629
SHA256 (rust/crates/cpufeatures-0.2.12.crate) = 53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504
SIZE (rust/crates/cpufeatures-0.2.12.crate) = 12837
-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/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.13.crate) = 33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2
SIZE (rust/crates/crossbeam-channel-0.5.13.crate) = 91174
+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.20.crate) = 22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80
SIZE (rust/crates/crossbeam-utils-0.8.20.crate) = 42487
SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
@@ -127,28 +129,34 @@ SHA256 (rust/crates/date_header-1.0.5.crate) = 0c03c416ed1a30fbb027ef484ba6ab6f8
SIZE (rust/crates/date_header-1.0.5.crate) = 12001
SHA256 (rust/crates/der-0.7.9.crate) = f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0
SIZE (rust/crates/der-0.7.9.crate) = 85173
-SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4
-SIZE (rust/crates/deranged-0.3.11.crate) = 18043
+SHA256 (rust/crates/deranged-0.4.0.crate) = 9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e
+SIZE (rust/crates/deranged-0.4.0.crate) = 23235
SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
SIZE (rust/crates/digest-0.10.7.crate) = 19557
-SHA256 (rust/crates/directories-5.0.1.crate) = 9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35
-SIZE (rust/crates/directories-5.0.1.crate) = 15833
-SHA256 (rust/crates/dirs-sys-0.4.1.crate) = 520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c
-SIZE (rust/crates/dirs-sys-0.4.1.crate) = 10719
+SHA256 (rust/crates/directories-6.0.0.crate) = 16f5094c54661b38d03bd7e50df373292118db60b585c08a411c6d840017fe7d
+SIZE (rust/crates/directories-6.0.0.crate) = 17842
+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.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0
+SIZE (rust/crates/displaydoc-0.2.5.crate) = 24219
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.12.0.crate) = 3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b
SIZE (rust/crates/either-1.12.0.crate) = 18974
+SHA256 (rust/crates/encoding_rs-0.8.35.crate) = 75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3
+SIZE (rust/crates/encoding_rs-0.8.35.crate) = 1381050
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/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
-SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
+SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
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/fastrand-2.3.0.crate) = 37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be
+SIZE (rust/crates/fastrand-2.3.0.crate) = 15076
SHA256 (rust/crates/fdeflate-0.3.4.crate) = 4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645
SIZE (rust/crates/fdeflate-0.3.4.crate) = 25001
SHA256 (rust/crates/fiat-crypto-0.2.9.crate) = 28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d
@@ -159,46 +167,48 @@ SHA256 (rust/crates/flate2-1.0.30.crate) = 5f54427cfd1c7829e2a139fcefea601bf088e
SIZE (rust/crates/flate2-1.0.30.crate) = 75511
SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/foldhash-0.1.5.crate) = d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2
+SIZE (rust/crates/foldhash-0.1.5.crate) = 21901
SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
-SHA256 (rust/crates/fs2-0.4.3.crate) = 9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213
-SIZE (rust/crates/fs2-0.4.3.crate) = 13138
-SHA256 (rust/crates/futures-channel-0.3.30.crate) = eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78
-SIZE (rust/crates/futures-channel-0.3.30.crate) = 31736
-SHA256 (rust/crates/futures-core-0.3.30.crate) = dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d
-SIZE (rust/crates/futures-core-0.3.30.crate) = 14071
-SHA256 (rust/crates/futures-executor-0.3.30.crate) = a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d
-SIZE (rust/crates/futures-executor-0.3.30.crate) = 17744
-SHA256 (rust/crates/futures-io-0.3.30.crate) = a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1
-SIZE (rust/crates/futures-io-0.3.30.crate) = 8910
-SHA256 (rust/crates/futures-macro-0.3.30.crate) = 87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac
-SIZE (rust/crates/futures-macro-0.3.30.crate) = 11278
-SHA256 (rust/crates/futures-sink-0.3.30.crate) = 9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5
-SIZE (rust/crates/futures-sink-0.3.30.crate) = 7852
-SHA256 (rust/crates/futures-task-0.3.30.crate) = 38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004
-SIZE (rust/crates/futures-task-0.3.30.crate) = 11126
-SHA256 (rust/crates/futures-util-0.3.30.crate) = 3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48
-SIZE (rust/crates/futures-util-0.3.30.crate) = 159977
+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
+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-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.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.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
-SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
+SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592
+SIZE (rust/crates/getrandom-0.2.16.crate) = 40163
+SHA256 (rust/crates/getrandom-0.3.2.crate) = 73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0
+SIZE (rust/crates/getrandom-0.3.2.crate) = 49140
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.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b
-SIZE (rust/crates/glob-0.3.1.crate) = 18880
-SHA256 (rust/crates/h2-0.3.26.crate) = 81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8
-SIZE (rust/crates/h2-0.3.26.crate) = 168315
-SHA256 (rust/crates/h2-0.4.5.crate) = fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab
-SIZE (rust/crates/h2-0.4.5.crate) = 174166
+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
+SIZE (rust/crates/glob-0.3.2.crate) = 22359
+SHA256 (rust/crates/h2-0.4.8.crate) = 5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2
+SIZE (rust/crates/h2-0.4.8.crate) = 174535
SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
-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/hashbrown-0.15.3.crate) = 84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3
+SIZE (rust/crates/hashbrown-0.15.3.crate) = 140413
+SHA256 (rust/crates/hashlink-0.10.0.crate) = 7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1
+SIZE (rust/crates/hashlink-0.10.0.crate) = 29402
SHA256 (rust/crates/headers-0.4.0.crate) = 322106e6bd0cba2d5ead589ddb8150a13d7c4217cf80d7c4f682ca994ccc6aa9
SIZE (rust/crates/headers-0.4.0.crate) = 68864
SHA256 (rust/crates/headers-core-0.3.0.crate) = 54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4
@@ -209,50 +219,70 @@ SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d3
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/hickory-proto-0.24.1.crate) = 07698b8420e2f0d6447a436ba999ec85d8fbf2a398bbd737b82cac4a2e96e512
-SIZE (rust/crates/hickory-proto-0.24.1.crate) = 374410
-SHA256 (rust/crates/hickory-resolver-0.24.1.crate) = 28757f23aa75c98f254cf0405e6d8c25b831b32921b050a66692427679b1f243
-SIZE (rust/crates/hickory-resolver-0.24.1.crate) = 91134
+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.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/hostname-0.3.1.crate) = 3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867
SIZE (rust/crates/hostname-0.3.1.crate) = 9272
-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-1.3.1.crate) = f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565
+SIZE (rust/crates/http-1.3.1.crate) = 106063
SHA256 (rust/crates/http-auth-0.1.9.crate) = 643c9bbf6a4ea8a656d6b4cd53d34f79e3f841ad5203c1a55fb7d761923bc255
SIZE (rust/crates/http-auth-0.1.9.crate) = 39318
-SHA256 (rust/crates/http-body-0.4.6.crate) = 7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2
-SIZE (rust/crates/http-body-0.4.6.crate) = 10773
-SHA256 (rust/crates/http-body-1.0.0.crate) = 1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643
-SIZE (rust/crates/http-body-1.0.0.crate) = 5411
+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.1.crate) = 0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d
SIZE (rust/crates/http-body-util-0.1.1.crate) = 11930
-SHA256 (rust/crates/httparse-1.9.4.crate) = 0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9
-SIZE (rust/crates/httparse-1.9.4.crate) = 38555
+SHA256 (rust/crates/httparse-1.10.1.crate) = 6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87
+SIZE (rust/crates/httparse-1.10.1.crate) = 45190
SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9
SIZE (rust/crates/httpdate-1.0.3.crate) = 10639
-SHA256 (rust/crates/hyper-0.14.29.crate) = f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33
-SIZE (rust/crates/hyper-0.14.29.crate) = 198107
-SHA256 (rust/crates/hyper-1.3.1.crate) = fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d
-SIZE (rust/crates/hyper-1.3.1.crate) = 148763
+SHA256 (rust/crates/humantime-2.2.0.crate) = 9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f
+SIZE (rust/crates/humantime-2.2.0.crate) = 20646
+SHA256 (rust/crates/humantime-serde-1.1.1.crate) = 57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c
+SIZE (rust/crates/humantime-serde-1.1.1.crate) = 7886
+SHA256 (rust/crates/hyper-1.6.0.crate) = cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80
+SIZE (rust/crates/hyper-1.6.0.crate) = 153923
SHA256 (rust/crates/hyper-rustls-0.26.0.crate) = a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c
SIZE (rust/crates/hyper-rustls-0.26.0.crate) = 29538
-SHA256 (rust/crates/hyper-timeout-0.4.1.crate) = bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1
-SIZE (rust/crates/hyper-timeout-0.4.1.crate) = 13805
+SHA256 (rust/crates/hyper-timeout-0.5.1.crate) = 3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793
+SIZE (rust/crates/hyper-timeout-0.5.1.crate) = 17727
SHA256 (rust/crates/hyper-util-0.1.5.crate) = 7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56
SIZE (rust/crates/hyper-util-0.1.5.crate) = 69740
-SHA256 (rust/crates/idna-0.4.0.crate) = 7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c
-SIZE (rust/crates/idna-0.4.0.crate) = 271429
-SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6
-SIZE (rust/crates/idna-0.5.0.crate) = 271940
+SHA256 (rust/crates/iana-time-zone-0.1.63.crate) = b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8
+SIZE (rust/crates/iana-time-zone-0.1.63.crate) = 32919
+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-2.0.0.crate) = 200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47
+SIZE (rust/crates/icu_collections-2.0.0.crate) = 83033
+SHA256 (rust/crates/icu_locale_core-2.0.0.crate) = 0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a
+SIZE (rust/crates/icu_locale_core-2.0.0.crate) = 74430
+SHA256 (rust/crates/icu_normalizer-2.0.0.crate) = 436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979
+SIZE (rust/crates/icu_normalizer-2.0.0.crate) = 61543
+SHA256 (rust/crates/icu_normalizer_data-2.0.0.crate) = 00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3
+SIZE (rust/crates/icu_normalizer_data-2.0.0.crate) = 68101
+SHA256 (rust/crates/icu_properties-2.0.0.crate) = 2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a
+SIZE (rust/crates/icu_properties-2.0.0.crate) = 58065
+SHA256 (rust/crates/icu_properties_data-2.0.0.crate) = 8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04
+SIZE (rust/crates/icu_properties_data-2.0.0.crate) = 159069
+SHA256 (rust/crates/icu_provider-2.0.0.crate) = 03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af
+SIZE (rust/crates/icu_provider-2.0.0.crate) = 50966
+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.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
+SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389
SHA256 (rust/crates/image-0.25.1.crate) = fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11
SIZE (rust/crates/image-0.25.1.crate) = 9176733
+SHA256 (rust/crates/image-webp-0.1.3.crate) = f79afb8cbee2ef20f59ccd477a218c12a93943d075b492015ecb1bb81f8ee904
+SIZE (rust/crates/image-webp-0.1.3.crate) = 50444
SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99
SIZE (rust/crates/indexmap-1.9.3.crate) = 54653
-SHA256 (rust/crates/indexmap-2.2.6.crate) = 168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26
-SIZE (rust/crates/indexmap-2.2.6.crate) = 82420
+SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e
+SIZE (rust/crates/indexmap-2.9.0.crate) = 91214
SHA256 (rust/crates/inlinable_string-0.1.15.crate) = c8fae54786f62fb2918dcfae3d568594e50eb9b5c25bf04371af6fe7516452fb
SIZE (rust/crates/inlinable_string-0.1.15.crate) = 19290
SHA256 (rust/crates/ipconfig-0.3.2.crate) = b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f
@@ -261,46 +291,50 @@ SHA256 (rust/crates/ipnet-2.9.0.crate) = 8f518f335dce6725a761382244631d86cf0ccb2
SIZE (rust/crates/ipnet-2.9.0.crate) = 27627
SHA256 (rust/crates/itertools-0.12.1.crate) = ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569
SIZE (rust/crates/itertools-0.12.1.crate) = 137761
-SHA256 (rust/crates/itoa-1.0.11.crate) = 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b
-SIZE (rust/crates/itoa-1.0.11.crate) = 10563
-SHA256 (rust/crates/jobserver-0.1.31.crate) = d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e
-SIZE (rust/crates/jobserver-0.1.31.crate) = 27306
-SHA256 (rust/crates/js-sys-0.3.69.crate) = 29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d
-SIZE (rust/crates/js-sys-0.3.69.crate) = 81083
+SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
+SIZE (rust/crates/itoa-1.0.15.crate) = 11231
+SHA256 (rust/crates/jobserver-0.1.33.crate) = 38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a
+SIZE (rust/crates/jobserver-0.1.33.crate) = 29136
+SHA256 (rust/crates/js-sys-0.3.74.crate) = a865e038f7f6ed956f788f0d7d60c541fff74c7bd74272c5d4cf15c63743e705
+SIZE (rust/crates/js-sys-0.3.74.crate) = 54505
SHA256 (rust/crates/js_int-0.2.2.crate) = d937f95470b270ce8b8950207715d71aa8e153c0d44c6684d59397ed4949160a
SIZE (rust/crates/js_int-0.2.2.crate) = 11634
SHA256 (rust/crates/js_option-0.1.1.crate) = 68421373957a1593a767013698dbf206e2b221eefe97a44d98d18672ff38423c
SIZE (rust/crates/js_option-0.1.1.crate) = 3624
-SHA256 (rust/crates/jsonwebtoken-9.3.0.crate) = b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f
-SIZE (rust/crates/jsonwebtoken-9.3.0.crate) = 48987
+SHA256 (rust/crates/jsonwebtoken-9.3.1.crate) = 5a87cc7a48537badeae96744432de36f4be2b4a34a05a5ef32e9dd8a1c169dde
+SIZE (rust/crates/jsonwebtoken-9.3.1.crate) = 49398
SHA256 (rust/crates/konst-0.3.9.crate) = 50a0ba6de5f7af397afff922f22c149ff605c766cd3269cf6c1cd5e466dbe3b9
SIZE (rust/crates/konst-0.3.9.crate) = 80192
SHA256 (rust/crates/konst_kernel-0.3.9.crate) = be0a455a1719220fd6adf756088e1c69a85bf14b6a9e24537a5cc04f503edb2b
SIZE (rust/crates/konst_kernel-0.3.9.crate) = 22239
-SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
-SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
+SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55
SIZE (rust/crates/lazycell-1.3.0.crate) = 12502
-SHA256 (rust/crates/libc-0.2.155.crate) = 97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c
-SIZE (rust/crates/libc-0.2.155.crate) = 743539
+SHA256 (rust/crates/libc-0.2.172.crate) = d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa
+SIZE (rust/crates/libc-0.2.172.crate) = 791646
SHA256 (rust/crates/libloading-0.8.3.crate) = 0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19
SIZE (rust/crates/libloading-0.8.3.crate) = 28480
SHA256 (rust/crates/libredox-0.1.3.crate) = c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d
SIZE (rust/crates/libredox-0.1.3.crate) = 6068
-SHA256 (rust/crates/libsqlite3-sys-0.28.0.crate) = 0c10584274047cb335c23d3e61bcef8e323adae7c5c8c760540f73610177fc3f
-SIZE (rust/crates/libsqlite3-sys-0.28.0.crate) = 4975624
+SHA256 (rust/crates/libsqlite3-sys-0.33.0.crate) = 947e6816f7825b2b45027c2c32e7085da9934defa535de4a6a46b10a4d5257fa
+SIZE (rust/crates/libsqlite3-sys-0.33.0.crate) = 5182864
SHA256 (rust/crates/libz-sys-1.1.18.crate) = c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e
SIZE (rust/crates/libz-sys-1.1.18.crate) = 817891
SHA256 (rust/crates/linked-hash-map-0.5.6.crate) = 0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f
SIZE (rust/crates/linked-hash-map-0.5.6.crate) = 15049
+SHA256 (rust/crates/litemap-0.8.0.crate) = 241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956
+SIZE (rust/crates/litemap-0.8.0.crate) = 34344
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.21.crate) = 90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c
-SIZE (rust/crates/log-0.4.21.crate) = 43442
+SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
+SIZE (rust/crates/log-0.4.27.crate) = 48120
+SHA256 (rust/crates/loom-0.7.2.crate) = 419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca
+SIZE (rust/crates/loom-0.7.2.crate) = 73989
SHA256 (rust/crates/lru-cache-0.1.2.crate) = 31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c
SIZE (rust/crates/lru-cache-0.1.2.crate) = 9307
-SHA256 (rust/crates/lz4-sys-1.9.4.crate) = 57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900
-SIZE (rust/crates/lz4-sys-1.9.4.crate) = 354842
+SHA256 (rust/crates/lz4-sys-1.11.1+lz4-1.10.0.crate) = 6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6
+SIZE (rust/crates/lz4-sys-1.11.1+lz4-1.10.0.crate) = 391317
SHA256 (rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d
SIZE (rust/crates/maplit-1.0.2.crate) = 8871
SHA256 (rust/crates/match_cfg-0.1.0.crate) = ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4
@@ -309,24 +343,30 @@ SHA256 (rust/crates/matchers-0.1.0.crate) = 8263075bb86c5a1b1427b5ae862e8889656f
SIZE (rust/crates/matchers-0.1.0.crate) = 6948
SHA256 (rust/crates/matchit-0.7.3.crate) = 0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94
SIZE (rust/crates/matchit-0.7.3.crate) = 30372
-SHA256 (rust/crates/memchr-2.7.2.crate) = 6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d
-SIZE (rust/crates/memchr-2.7.2.crate) = 96220
+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.3.crate) = 87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae
-SIZE (rust/crates/miniz_oxide-0.7.3.crate) = 55774
-SHA256 (rust/crates/mio-0.8.11.crate) = a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c
-SIZE (rust/crates/mio-0.8.11.crate) = 102983
-SHA256 (rust/crates/nix-0.28.0.crate) = ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4
-SIZE (rust/crates/nix-0.28.0.crate) = 311086
+SHA256 (rust/crates/miniz_oxide-0.7.4.crate) = b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08
+SIZE (rust/crates/miniz_oxide-0.7.4.crate) = 56119
+SHA256 (rust/crates/miniz_oxide-0.8.8.crate) = 3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a
+SIZE (rust/crates/miniz_oxide-0.8.8.crate) = 67065
+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/multer-3.1.0.crate) = 83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b
+SIZE (rust/crates/multer-3.1.0.crate) = 25980
+SHA256 (rust/crates/nix-0.30.1.crate) = 74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6
+SIZE (rust/crates/nix-0.30.1.crate) = 342015
SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
SIZE (rust/crates/nom-7.1.3.crate) = 117570
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.5.crate) = c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7
-SIZE (rust/crates/num-bigint-0.4.5.crate) = 102281
+SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
+SIZE (rust/crates/num-bigint-0.4.6.crate) = 102801
SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f
@@ -335,28 +375,26 @@ SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0
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/object-0.35.0.crate) = b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e
-SIZE (rust/crates/object-0.35.0.crate) = 317792
-SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92
-SIZE (rust/crates/once_cell-1.19.0.crate) = 33046
+SHA256 (rust/crates/object-0.36.7.crate) = 62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87
+SIZE (rust/crates/object-0.36.7.crate) = 329938
+SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
+SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
SHA256 (rust/crates/openssl-probe-0.1.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf
SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227
-SHA256 (rust/crates/opentelemetry-0.22.0.crate) = 900d57987be3f2aeb70d385fff9b27fb74c5723cc9a52d904d4f9c807a0667bf
-SIZE (rust/crates/opentelemetry-0.22.0.crate) = 67855
-SHA256 (rust/crates/opentelemetry-jaeger-propagator-0.1.0.crate) = beb4ec62efc537b60aaa89b92624f986f2523d3a609079f3511cc8ee73490826
-SIZE (rust/crates/opentelemetry-jaeger-propagator-0.1.0.crate) = 11368
-SHA256 (rust/crates/opentelemetry-otlp-0.15.0.crate) = 1a016b8d9495c639af2145ac22387dcb88e44118e45320d9238fbf4e7889abcb
-SIZE (rust/crates/opentelemetry-otlp-0.15.0.crate) = 29315
-SHA256 (rust/crates/opentelemetry-proto-0.5.0.crate) = 3a8fddc9b68f5b80dae9d6f510b88e02396f006ad48cac349411fbecc80caae4
-SIZE (rust/crates/opentelemetry-proto-0.5.0.crate) = 151331
-SHA256 (rust/crates/opentelemetry-semantic-conventions-0.14.0.crate) = f9ab5bd6c42fb9349dcf28af2ba9a0667f697f9bdcca045d39f2cec5543e2910
-SIZE (rust/crates/opentelemetry-semantic-conventions-0.14.0.crate) = 32064
-SHA256 (rust/crates/opentelemetry_sdk-0.22.1.crate) = 9e90c7113be649e31e9a0f8b5ee24ed7a16923b322c3c5ab6367469c049d6b7e
-SIZE (rust/crates/opentelemetry_sdk-0.22.1.crate) = 128633
+SHA256 (rust/crates/opentelemetry-0.29.1.crate) = 9e87237e2775f74896f9ad219d26a2081751187eb7c9f5c58dde20a23b95d16c
+SIZE (rust/crates/opentelemetry-0.29.1.crate) = 87644
+SHA256 (rust/crates/opentelemetry-http-0.29.0.crate) = 46d7ab32b827b5b495bd90fa95a6cb65ccc293555dcc3199ae2937d2d237c8ed
+SIZE (rust/crates/opentelemetry-http-0.29.0.crate) = 9899
+SHA256 (rust/crates/opentelemetry-jaeger-propagator-0.29.0.crate) = cae2eb16c37705755c3e09332bebdcac9b37ca1539b3ac2d2f43a154401514ae
+SIZE (rust/crates/opentelemetry-jaeger-propagator-0.29.0.crate) = 12108
+SHA256 (rust/crates/opentelemetry-otlp-0.29.0.crate) = d899720fe06916ccba71c01d04ecd77312734e2de3467fd30d9d580c8ce85656
+SIZE (rust/crates/opentelemetry-otlp-0.29.0.crate) = 34601
+SHA256 (rust/crates/opentelemetry-proto-0.29.0.crate) = 8c40da242381435e18570d5b9d50aca2a4f4f4d8e146231adb4e7768023309b3
+SIZE (rust/crates/opentelemetry-proto-0.29.0.crate) = 166952
+SHA256 (rust/crates/opentelemetry_sdk-0.29.0.crate) = afdefb21d1d47394abc1ba6c57363ab141be19e27cc70d0e422b7f303e4d290b
+SIZE (rust/crates/opentelemetry_sdk-0.29.0.crate) = 202883
SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
-SHA256 (rust/crates/ordered-float-4.2.0.crate) = a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e
-SIZE (rust/crates/ordered-float-4.2.0.crate) = 20510
SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39
SIZE (rust/crates/overload-0.1.1.crate) = 24439
SHA256 (rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27
@@ -371,76 +409,88 @@ SHA256 (rust/crates/pem-3.0.4.crate) = 8e459365e590736a54c3fa561947c84837534b8e9
SIZE (rust/crates/pem-3.0.4.crate) = 13040
SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
-SHA256 (rust/crates/persy-1.5.0.crate) = 9ef4b7250ab3a90ded0e284b2633469c23ef01ea868fe7cbb64e2f0a7d6f6d02
-SIZE (rust/crates/persy-1.5.0.crate) = 146143
SHA256 (rust/crates/pin-project-1.1.5.crate) = b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3
SIZE (rust/crates/pin-project-1.1.5.crate) = 54214
SHA256 (rust/crates/pin-project-internal-1.1.5.crate) = 2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965
SIZE (rust/crates/pin-project-internal-1.1.5.crate) = 28280
-SHA256 (rust/crates/pin-project-lite-0.2.14.crate) = bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02
-SIZE (rust/crates/pin-project-lite-0.2.14.crate) = 28817
+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/pkcs8-0.10.2.crate) = f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7
SIZE (rust/crates/pkcs8-0.10.2.crate) = 26360
-SHA256 (rust/crates/pkg-config-0.3.30.crate) = d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec
-SIZE (rust/crates/pkg-config-0.3.30.crate) = 20613
+SHA256 (rust/crates/pkg-config-0.3.32.crate) = 7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c
+SIZE (rust/crates/pkg-config-0.3.32.crate) = 21370
SHA256 (rust/crates/platforms-3.4.0.crate) = db23d408679286588f4d4644f965003d056e3dd5abcaaa938116871d7ce2fee7
SIZE (rust/crates/platforms-3.4.0.crate) = 29298
SHA256 (rust/crates/png-0.17.13.crate) = 06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1
SIZE (rust/crates/png-0.17.13.crate) = 103176
+SHA256 (rust/crates/portable-atomic-1.11.0.crate) = 350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e
+SIZE (rust/crates/portable-atomic-1.11.0.crate) = 181258
+SHA256 (rust/crates/potential_utf-0.1.2.crate) = e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585
+SIZE (rust/crates/potential_utf-0.1.2.crate) = 9613
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.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
-SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
+SHA256 (rust/crates/ppv-lite86-0.2.21.crate) = 85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9
+SIZE (rust/crates/ppv-lite86-0.2.21.crate) = 22522
SHA256 (rust/crates/proc-macro-crate-3.1.0.crate) = 6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284
SIZE (rust/crates/proc-macro-crate-3.1.0.crate) = 11084
-SHA256 (rust/crates/proc-macro2-1.0.85.crate) = 22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23
-SIZE (rust/crates/proc-macro2-1.0.85.crate) = 48988
+SHA256 (rust/crates/proc-macro2-1.0.95.crate) = 02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778
+SIZE (rust/crates/proc-macro2-1.0.95.crate) = 51820
SHA256 (rust/crates/proc-macro2-diagnostics-0.10.1.crate) = af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8
SIZE (rust/crates/proc-macro2-diagnostics-0.10.1.crate) = 12219
-SHA256 (rust/crates/prost-0.12.6.crate) = deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29
-SIZE (rust/crates/prost-0.12.6.crate) = 21552
-SHA256 (rust/crates/prost-derive-0.12.6.crate) = 81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1
-SIZE (rust/crates/prost-derive-0.12.6.crate) = 19556
+SHA256 (rust/crates/prost-0.13.5.crate) = 2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5
+SIZE (rust/crates/prost-0.13.5.crate) = 32469
+SHA256 (rust/crates/prost-derive-0.13.5.crate) = 8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d
+SIZE (rust/crates/prost-derive-0.13.5.crate) = 20600
SHA256 (rust/crates/quick-error-1.2.3.crate) = a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0
SIZE (rust/crates/quick-error-1.2.3.crate) = 15066
-SHA256 (rust/crates/quote-1.0.36.crate) = 0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7
-SIZE (rust/crates/quote-1.0.36.crate) = 28507
+SHA256 (rust/crates/quick-error-2.0.1.crate) = a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3
+SIZE (rust/crates/quick-error-2.0.1.crate) = 14265
+SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d
+SIZE (rust/crates/quote-1.0.40.crate) = 31063
+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.1.crate) = 9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97
+SIZE (rust/crates/rand-0.9.1.crate) = 97986
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/redox_syscall-0.5.1.crate) = 469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e
-SIZE (rust/crates/redox_syscall-0.5.1.crate) = 22536
-SHA256 (rust/crates/redox_users-0.4.5.crate) = bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891
-SIZE (rust/crates/redox_users-0.4.5.crate) = 15514
-SHA256 (rust/crates/regex-1.10.4.crate) = c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c
-SIZE (rust/crates/regex-1.10.4.crate) = 253191
+SHA256 (rust/crates/rand_core-0.9.3.crate) = 99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38
+SIZE (rust/crates/rand_core-0.9.3.crate) = 24543
+SHA256 (rust/crates/redox_syscall-0.5.7.crate) = 9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f
+SIZE (rust/crates/redox_syscall-0.5.7.crate) = 26249
+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.11.1.crate) = b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191
+SIZE (rust/crates/regex-1.11.1.crate) = 254170
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-automata-0.4.9.crate) = 809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908
+SIZE (rust/crates/regex-automata-0.4.9.crate) = 618525
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.3.crate) = adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56
-SIZE (rust/crates/regex-syntax-0.8.3.crate) = 347497
+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.4.crate) = 566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10
SIZE (rust/crates/reqwest-0.12.4.crate) = 170627
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.8.crate) = c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d
-SIZE (rust/crates/ring-0.17.8.crate) = 4188554
-SHA256 (rust/crates/rusqlite-0.31.0.crate) = b838eba278d213a8beaf485bd313fd580ca4505a00d5871caeb1457c55322cae
-SIZE (rust/crates/rusqlite-0.31.0.crate) = 152252
+SHA256 (rust/crates/ring-0.17.14.crate) = a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7
+SIZE (rust/crates/ring-0.17.14.crate) = 1502610
+SHA256 (rust/crates/rusqlite-0.35.0.crate) = a22715a5d6deef63c637207afbe68d0c72c3f8d0022d7cf9714c442d6157606b
+SIZE (rust/crates/rusqlite-0.35.0.crate) = 166186
SHA256 (rust/crates/rust-argon2-2.1.0.crate) = 9d9848531d60c9cbbcf9d166c885316c24bc0e2a9d3eba0956bb6cbbd79bc6e8
SIZE (rust/crates/rust-argon2-2.1.0.crate) = 26904
-SHA256 (rust/crates/rust-librocksdb-sys-0.21.0+9.1.1.crate) = 75cb7b9cd5ce3b3ce0757ceab2240f7471826780b8700845c0cfd418cb7e398d
-SIZE (rust/crates/rust-librocksdb-sys-0.21.0+9.1.1.crate) = 5494424
-SHA256 (rust/crates/rust-rocksdb-0.25.0.crate) = 2bcfb31b5bf2e3274686ebfdf9a946e9a327a3bc54adc7e5cda9f4fdcc4b55f1
-SIZE (rust/crates/rust-rocksdb-0.25.0.crate) = 145910
+SHA256 (rust/crates/rust-librocksdb-sys-0.37.0+10.2.1.crate) = 4951352c7a5abbf230a7563d6dae95ea2ea834b70f06de90b8f083debc977f8f
+SIZE (rust/crates/rust-librocksdb-sys-0.37.0+10.2.1.crate) = 5813694
+SHA256 (rust/crates/rust-rocksdb-0.41.0.crate) = e04453858c1d03683f6e142026dbf30c387f71c7bb0f017b408d96364c0acdbd
+SIZE (rust/crates/rust-rocksdb-0.41.0.crate) = 166759
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-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
@@ -455,42 +505,44 @@ SHA256 (rust/crates/rustls-native-certs-0.7.0.crate) = 8f1fb85efa936c42c6d5fc28d
SIZE (rust/crates/rustls-native-certs-0.7.0.crate) = 25071
SHA256 (rust/crates/rustls-pemfile-2.1.2.crate) = 29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d
SIZE (rust/crates/rustls-pemfile-2.1.2.crate) = 25928
-SHA256 (rust/crates/rustls-pki-types-1.7.0.crate) = 976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d
-SIZE (rust/crates/rustls-pki-types-1.7.0.crate) = 29555
+SHA256 (rust/crates/rustls-pki-types-1.12.0.crate) = 229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79
+SIZE (rust/crates/rustls-pki-types-1.12.0.crate) = 64740
SHA256 (rust/crates/rustls-webpki-0.101.7.crate) = 8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765
SIZE (rust/crates/rustls-webpki-0.101.7.crate) = 168808
SHA256 (rust/crates/rustls-webpki-0.102.4.crate) = ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e
SIZE (rust/crates/rustls-webpki-0.102.4.crate) = 200657
SHA256 (rust/crates/rustversion-1.0.17.crate) = 955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6
SIZE (rust/crates/rustversion-1.0.17.crate) = 17621
-SHA256 (rust/crates/ryu-1.0.18.crate) = f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f
-SIZE (rust/crates/ryu-1.0.18.crate) = 47713
+SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
+SIZE (rust/crates/ryu-1.0.20.crate) = 48738
SHA256 (rust/crates/schannel-0.1.23.crate) = fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534
SIZE (rust/crates/schannel-0.1.23.crate) = 41667
+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/sct-0.7.1.crate) = da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414
SIZE (rust/crates/sct-0.7.1.crate) = 27501
-SHA256 (rust/crates/sd-notify-0.4.1.crate) = 621e3680f3e07db4c9c2c3fb07c6223ab2fab2e54bd3c04c3ae037990f428c32
-SIZE (rust/crates/sd-notify-0.4.1.crate) = 10085
+SHA256 (rust/crates/sd-notify-0.4.5.crate) = b943eadf71d8b69e661330cb0e2656e31040acf21ee7708e2c238a0ec6af2bf4
+SIZE (rust/crates/sd-notify-0.4.5.crate) = 12582
SHA256 (rust/crates/security-framework-2.11.0.crate) = c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0
SIZE (rust/crates/security-framework-2.11.0.crate) = 80191
SHA256 (rust/crates/security-framework-sys-2.11.0.crate) = 317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7
SIZE (rust/crates/security-framework-sys-2.11.0.crate) = 18718
SHA256 (rust/crates/semver-1.0.23.crate) = 61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b
SIZE (rust/crates/semver-1.0.23.crate) = 30622
-SHA256 (rust/crates/serde-1.0.203.crate) = 7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094
-SIZE (rust/crates/serde-1.0.203.crate) = 77935
-SHA256 (rust/crates/serde_derive-1.0.203.crate) = 500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba
-SIZE (rust/crates/serde_derive-1.0.203.crate) = 55867
-SHA256 (rust/crates/serde_html_form-0.2.6.crate) = 8de514ef58196f1fc96dcaef80fe6170a1ce6215df9687a93fe8300e773fefc5
-SIZE (rust/crates/serde_html_form-0.2.6.crate) = 14480
-SHA256 (rust/crates/serde_json-1.0.117.crate) = 455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3
-SIZE (rust/crates/serde_json-1.0.117.crate) = 146921
+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_html_form-0.2.7.crate) = 9d2de91cf02bbc07cde38891769ccd5d4f073d22a40683aa4bc7a95781aaa2c4
+SIZE (rust/crates/serde_html_form-0.2.7.crate) = 17915
+SHA256 (rust/crates/serde_json-1.0.140.crate) = 20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373
+SIZE (rust/crates/serde_json-1.0.140.crate) = 154852
SHA256 (rust/crates/serde_path_to_error-0.1.16.crate) = af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6
SIZE (rust/crates/serde_path_to_error-0.1.16.crate) = 16657
-SHA256 (rust/crates/serde_spanned-0.6.6.crate) = 79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0
-SIZE (rust/crates/serde_spanned-0.6.6.crate) = 9120
+SHA256 (rust/crates/serde_spanned-0.6.8.crate) = 87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1
+SIZE (rust/crates/serde_spanned-0.6.8.crate) = 9330
SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd
SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822
SHA256 (rust/crates/serde_yaml-0.9.34+deprecated.crate) = 6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47
@@ -505,8 +557,8 @@ SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e82
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/signal-hook-registry-1.4.5.crate) = 9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410
+SIZE (rust/crates/signal-hook-registry-1.4.5.crate) = 19004
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
@@ -515,94 +567,108 @@ SHA256 (rust/crates/simple_asn1-0.6.2.crate) = adc4e5204eb1910f40f9cfa375f6f05b6
SIZE (rust/crates/simple_asn1-0.6.2.crate) = 15992
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.7.crate) = ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c
-SIZE (rust/crates/socket2-0.5.7.crate) = 55758
+SHA256 (rust/crates/smallvec-1.15.0.crate) = 8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9
+SIZE (rust/crates/smallvec-1.15.0.crate) = 38113
+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
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/subslice-0.2.3.crate) = e0a8e4809a3bb02de01f1f7faf1ba01a83af9e8eabcd4d31dd6e413d14d56aae
SIZE (rust/crates/subslice-0.2.3.crate) = 25975
SHA256 (rust/crates/subtle-2.5.0.crate) = 81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc
SIZE (rust/crates/subtle-2.5.0.crate) = 13909
-SHA256 (rust/crates/syn-2.0.66.crate) = c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5
-SIZE (rust/crates/syn-2.0.66.crate) = 264855
+SHA256 (rust/crates/syn-2.0.101.crate) = 8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf
+SIZE (rust/crates/syn-2.0.101.crate) = 299250
SHA256 (rust/crates/sync_wrapper-0.1.2.crate) = 2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160
SIZE (rust/crates/sync_wrapper-0.1.2.crate) = 6933
SHA256 (rust/crates/sync_wrapper-1.0.1.crate) = a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394
SIZE (rust/crates/sync_wrapper-1.0.1.crate) = 6939
-SHA256 (rust/crates/thiserror-1.0.61.crate) = c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709
-SIZE (rust/crates/thiserror-1.0.61.crate) = 21264
-SHA256 (rust/crates/thiserror-impl-1.0.61.crate) = 46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533
-SIZE (rust/crates/thiserror-impl-1.0.61.crate) = 15786
+SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
+SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
+SHA256 (rust/crates/tagptr-0.2.0.crate) = 7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417
+SIZE (rust/crates/tagptr-0.2.0.crate) = 13320
+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/threadpool-1.8.1.crate) = d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa
SIZE (rust/crates/threadpool-1.8.1.crate) = 14408
-SHA256 (rust/crates/tikv-jemalloc-sys-0.5.4+5.3.0-patched.crate) = 9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1
-SIZE (rust/crates/tikv-jemalloc-sys-0.5.4+5.3.0-patched.crate) = 884765
-SHA256 (rust/crates/tikv-jemallocator-0.5.4.crate) = 965fe0c26be5c56c94e38ba547249074803efd52adfb66de62107d95aab3eaca
-SIZE (rust/crates/tikv-jemallocator-0.5.4.crate) = 13101
-SHA256 (rust/crates/time-0.3.36.crate) = 5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885
-SIZE (rust/crates/time-0.3.36.crate) = 119805
-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.18.crate) = 3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf
-SIZE (rust/crates/time-macros-0.2.18.crate) = 24361
+SHA256 (rust/crates/tikv-jemalloc-sys-0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7.crate) = cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d
+SIZE (rust/crates/tikv-jemalloc-sys-0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7.crate) = 897133
+SHA256 (rust/crates/tikv-jemallocator-0.6.0.crate) = 4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865
+SIZE (rust/crates/tikv-jemallocator-0.6.0.crate) = 13700
+SHA256 (rust/crates/time-0.3.41.crate) = 8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40
+SIZE (rust/crates/time-0.3.41.crate) = 138369
+SHA256 (rust/crates/time-core-0.1.4.crate) = c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c
+SIZE (rust/crates/time-core-0.1.4.crate) = 8422
+SHA256 (rust/crates/time-macros-0.2.22.crate) = 3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49
+SIZE (rust/crates/time-macros-0.2.22.crate) = 24604
+SHA256 (rust/crates/tinystr-0.8.1.crate) = 5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b
+SIZE (rust/crates/tinystr-0.8.1.crate) = 23333
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.38.0.crate) = ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a
-SIZE (rust/crates/tokio-1.38.0.crate) = 774094
-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.3.0.crate) = 5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a
-SIZE (rust/crates/tokio-macros-2.3.0.crate) = 11753
+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.24.1.crate) = c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081
SIZE (rust/crates/tokio-rustls-0.24.1.crate) = 33049
SHA256 (rust/crates/tokio-rustls-0.25.0.crate) = 775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f
SIZE (rust/crates/tokio-rustls-0.25.0.crate) = 30541
SHA256 (rust/crates/tokio-socks-0.5.1.crate) = 51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0
SIZE (rust/crates/tokio-socks-0.5.1.crate) = 16137
-SHA256 (rust/crates/tokio-stream-0.1.15.crate) = 267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af
-SIZE (rust/crates/tokio-stream-0.1.15.crate) = 36284
-SHA256 (rust/crates/tokio-util-0.7.11.crate) = 9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1
-SIZE (rust/crates/tokio-util-0.7.11.crate) = 113421
-SHA256 (rust/crates/toml-0.8.14.crate) = 6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335
-SIZE (rust/crates/toml-0.8.14.crate) = 50645
-SHA256 (rust/crates/toml_datetime-0.6.6.crate) = 4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf
-SIZE (rust/crates/toml_datetime-0.6.6.crate) = 11698
+SHA256 (rust/crates/tokio-stream-0.1.17.crate) = eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047
+SIZE (rust/crates/tokio-stream-0.1.17.crate) = 38477
+SHA256 (rust/crates/tokio-util-0.7.15.crate) = 66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df
+SIZE (rust/crates/tokio-util-0.7.15.crate) = 124255
+SHA256 (rust/crates/toml-0.8.22.crate) = 05ae329d1f08c4d17a59bed7ff5b5a769d062e64a62d34a3261b219e62cd5aae
+SIZE (rust/crates/toml-0.8.22.crate) = 76224
+SHA256 (rust/crates/toml_datetime-0.6.9.crate) = 3da5db5a963e24bc68be8b17b6fa82814bb22ee8660f192bb182771d498f09a3
+SIZE (rust/crates/toml_datetime-0.6.9.crate) = 12622
SHA256 (rust/crates/toml_edit-0.21.1.crate) = 6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1
SIZE (rust/crates/toml_edit-0.21.1.crate) = 101661
-SHA256 (rust/crates/toml_edit-0.22.14.crate) = f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38
-SIZE (rust/crates/toml_edit-0.22.14.crate) = 103761
-SHA256 (rust/crates/tonic-0.11.0.crate) = 76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13
-SIZE (rust/crates/tonic-0.11.0.crate) = 92841
+SHA256 (rust/crates/toml_edit-0.22.26.crate) = 310068873db2c5b3e7659d2cc35d21855dbafa50d1ce336397c666e3cb08137e
+SIZE (rust/crates/toml_edit-0.22.26.crate) = 121714
+SHA256 (rust/crates/toml_write-0.1.1.crate) = bfb942dfe1d8e29a7ee7fcbde5bd2b9a25fb89aa70caea2eba3bee836ff41076
+SIZE (rust/crates/toml_write-0.1.1.crate) = 17467
+SHA256 (rust/crates/tonic-0.12.3.crate) = 877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52
+SIZE (rust/crates/tonic-0.12.3.crate) = 99380
SHA256 (rust/crates/tower-0.4.13.crate) = b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c
SIZE (rust/crates/tower-0.4.13.crate) = 106906
+SHA256 (rust/crates/tower-0.5.2.crate) = d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9
+SIZE (rust/crates/tower-0.5.2.crate) = 109417
SHA256 (rust/crates/tower-http-0.5.2.crate) = 1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5
SIZE (rust/crates/tower-http-0.5.2.crate) = 118675
-SHA256 (rust/crates/tower-layer-0.3.2.crate) = c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0
-SIZE (rust/crates/tower-layer-0.3.2.crate) = 6023
-SHA256 (rust/crates/tower-service-0.3.2.crate) = b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52
-SIZE (rust/crates/tower-service-0.3.2.crate) = 6847
-SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef
-SIZE (rust/crates/tracing-0.1.40.crate) = 79459
-SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7
-SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241
-SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54
-SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221
+SHA256 (rust/crates/tower-layer-0.3.3.crate) = 121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e
+SIZE (rust/crates/tower-layer-0.3.3.crate) = 6180
+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-flame-0.2.0.crate) = 0bae117ee14789185e129aaee5d93750abe67fdc5a9a62650452bfe4e122a3a9
SIZE (rust/crates/tracing-flame-0.2.0.crate) = 9062
SHA256 (rust/crates/tracing-log-0.2.0.crate) = ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3
SIZE (rust/crates/tracing-log-0.2.0.crate) = 17561
-SHA256 (rust/crates/tracing-opentelemetry-0.23.0.crate) = a9be14ba1bbe4ab79e9229f7f89fab8d120b865859f10527f31c033e599d2284
-SIZE (rust/crates/tracing-opentelemetry-0.23.0.crate) = 138411
-SHA256 (rust/crates/tracing-subscriber-0.3.18.crate) = ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b
-SIZE (rust/crates/tracing-subscriber-0.3.18.crate) = 196312
+SHA256 (rust/crates/tracing-opentelemetry-0.30.0.crate) = fd8e764bd6f5813fd8bebc3117875190c5b0415be8f7f8059bffb6ecd979c444
+SIZE (rust/crates/tracing-opentelemetry-0.30.0.crate) = 143579
+SHA256 (rust/crates/tracing-subscriber-0.3.19.crate) = e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008
+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/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825
@@ -613,46 +679,42 @@ SHA256 (rust/crates/typewit_proc_macros-1.8.1.crate) = e36a83ea2b3c704935a01b464
SIZE (rust/crates/typewit_proc_macros-1.8.1.crate) = 1944
SHA256 (rust/crates/uncased-0.9.10.crate) = e1b88fcfe09e89d3866a5c11019378088af2d24c3fbd4f0543f96b479ec90697
SIZE (rust/crates/uncased-0.9.10.crate) = 10872
-SHA256 (rust/crates/unicode-bidi-0.3.15.crate) = 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75
-SIZE (rust/crates/unicode-bidi-0.3.15.crate) = 56811
-SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
-SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
-SHA256 (rust/crates/unicode-normalization-0.1.23.crate) = a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5
-SIZE (rust/crates/unicode-normalization-0.1.23.crate) = 122649
+SHA256 (rust/crates/unicode-ident-1.0.18.crate) = 5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512
+SIZE (rust/crates/unicode-ident-1.0.18.crate) = 47743
SHA256 (rust/crates/unsafe-libyaml-0.2.11.crate) = 673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861
SIZE (rust/crates/unsafe-libyaml-0.2.11.crate) = 62101
-SHA256 (rust/crates/unsigned-varint-0.8.0.crate) = eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06
-SIZE (rust/crates/unsigned-varint-0.8.0.crate) = 15955
SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1
SIZE (rust/crates/untrusted-0.9.0.crate) = 14447
-SHA256 (rust/crates/url-2.5.0.crate) = 31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633
-SIZE (rust/crates/url-2.5.0.crate) = 78605
-SHA256 (rust/crates/urlencoding-2.1.3.crate) = daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da
-SIZE (rust/crates/urlencoding-2.1.3.crate) = 6538
+SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60
+SIZE (rust/crates/url-2.5.4.crate) = 81097
+SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
+SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437
SHA256 (rust/crates/uuid-1.8.0.crate) = a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0
SIZE (rust/crates/uuid-1.8.0.crate) = 44043
SHA256 (rust/crates/valuable-0.1.0.crate) = 830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d
SIZE (rust/crates/valuable-0.1.0.crate) = 27718
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.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
-SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a
+SIZE (rust/crates/version_check-0.9.5.crate) = 15554
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/wasm-bindgen-0.2.92.crate) = 4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8
-SIZE (rust/crates/wasm-bindgen-0.2.92.crate) = 184119
-SHA256 (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da
-SIZE (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 28348
+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.97.crate) = d15e63b4482863c109d70a7b8706c1e364eb6ea449b201a76c5b89cedcec2d5c
+SIZE (rust/crates/wasm-bindgen-0.2.97.crate) = 45515
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.97.crate) = 8d36ef12e3aaca16ddd3f67922bc63e48e953f126de60bd33ccc0101ef9998cd
+SIZE (rust/crates/wasm-bindgen-backend-0.2.97.crate) = 31099
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.92.crate) = a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726
-SIZE (rust/crates/wasm-bindgen-macro-0.2.92.crate) = 13835
-SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7
-SIZE (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = 20092
-SHA256 (rust/crates/wasm-bindgen-shared-0.2.92.crate) = af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96
-SIZE (rust/crates/wasm-bindgen-shared-0.2.92.crate) = 7263
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.97.crate) = 705440e08b42d3e4b36de7d66c944be628d579796b8090bfa3471478a2260051
+SIZE (rust/crates/wasm-bindgen-macro-0.2.97.crate) = 7146
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.97.crate) = 98c9ae5a76e46f4deecd0f0255cc223cfa18dc9b261213b8aa0c7b36f61b3f1d
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.97.crate) = 22824
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.97.crate) = 6ee99da9c5ba11bd675621338ef6fa52296b76b83305e9b6e5c77d4c286d6d49
+SIZE (rust/crates/wasm-bindgen-shared-0.2.97.crate) = 7771
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
@@ -669,69 +731,111 @@ SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
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.58.0.crate) = dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6
+SIZE (rust/crates/windows-0.58.0.crate) = 9744521
+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.61.0.crate) = 4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980
+SIZE (rust/crates/windows-core-0.61.0.crate) = 36707
+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.60.0.crate) = a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836
+SIZE (rust/crates/windows-implement-0.60.0.crate) = 15073
+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.1.crate) = bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8
+SIZE (rust/crates/windows-interface-0.59.1.crate) = 11735
+SHA256 (rust/crates/windows-link-0.1.1.crate) = 76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38
+SIZE (rust/crates/windows-link-0.1.1.crate) = 6154
+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.2.crate) = c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252
+SIZE (rust/crates/windows-result-0.3.2.crate) = 13399
+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.4.0.crate) = 7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97
+SIZE (rust/crates/windows-strings-0.4.0.crate) = 13939
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.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
-SHA256 (rust/crates/windows-targets-0.52.5.crate) = 6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb
-SIZE (rust/crates/windows-targets-0.52.5.crate) = 6376
+SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
+SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
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.5.crate) = 7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263
-SIZE (rust/crates/windows_aarch64_gnullvm-0.52.5.crate) = 433266
+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_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.5.crate) = 9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6
-SIZE (rust/crates/windows_aarch64_msvc-0.52.5.crate) = 827944
+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_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.5.crate) = 88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670
-SIZE (rust/crates/windows_i686_gnu-0.52.5.crate) = 875699
-SHA256 (rust/crates/windows_i686_gnullvm-0.52.5.crate) = 87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9
-SIZE (rust/crates/windows_i686_gnullvm-0.52.5.crate) = 473064
+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_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
+SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
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.5.crate) = db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf
-SIZE (rust/crates/windows_i686_msvc-0.52.5.crate) = 895404
+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_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.5.crate) = 4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9
-SIZE (rust/crates/windows_x86_64_gnu-0.52.5.crate) = 831539
+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_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.5.crate) = 852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596
-SIZE (rust/crates/windows_x86_64_gnullvm-0.52.5.crate) = 433246
+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_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.5.crate) = bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0
-SIZE (rust/crates/windows_x86_64_msvc-0.52.5.crate) = 827905
+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/winnow-0.5.40.crate) = f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876
SIZE (rust/crates/winnow-0.5.40.crate) = 159316
-SHA256 (rust/crates/winnow-0.6.11.crate) = 56c52728401e1dc672a56e81e593e912aa54c78f40246869f78359a2bf24d29d
-SIZE (rust/crates/winnow-0.6.11.crate) = 160331
+SHA256 (rust/crates/winnow-0.7.10.crate) = c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec
+SIZE (rust/crates/winnow-0.7.10.crate) = 176073
SHA256 (rust/crates/winreg-0.50.0.crate) = 524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1
SIZE (rust/crates/winreg-0.50.0.crate) = 29703
SHA256 (rust/crates/winreg-0.52.0.crate) = a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5
SIZE (rust/crates/winreg-0.52.0.crate) = 30148
+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/writeable-0.6.1.crate) = ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb
+SIZE (rust/crates/writeable-0.6.1.crate) = 24068
SHA256 (rust/crates/yansi-1.0.1.crate) = cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049
SIZE (rust/crates/yansi-1.0.1.crate) = 75497
-SHA256 (rust/crates/zerocopy-0.7.34.crate) = ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087
-SIZE (rust/crates/zerocopy-0.7.34.crate) = 151177
-SHA256 (rust/crates/zerocopy-derive-0.7.34.crate) = 15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b
-SIZE (rust/crates/zerocopy-derive-0.7.34.crate) = 37907
+SHA256 (rust/crates/yoke-0.8.0.crate) = 5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc
+SIZE (rust/crates/yoke-0.8.0.crate) = 28726
+SHA256 (rust/crates/yoke-derive-0.8.0.crate) = 38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6
+SIZE (rust/crates/yoke-derive-0.8.0.crate) = 7521
+SHA256 (rust/crates/zerocopy-0.8.25.crate) = a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb
+SIZE (rust/crates/zerocopy-0.8.25.crate) = 252714
+SHA256 (rust/crates/zerocopy-derive-0.8.25.crate) = 28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef
+SIZE (rust/crates/zerocopy-derive-0.8.25.crate) = 87671
+SHA256 (rust/crates/zerofrom-0.1.6.crate) = 50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5
+SIZE (rust/crates/zerofrom-0.1.6.crate) = 5669
+SHA256 (rust/crates/zerofrom-derive-0.1.6.crate) = d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502
+SIZE (rust/crates/zerofrom-derive-0.1.6.crate) = 8305
SHA256 (rust/crates/zeroize-1.8.1.crate) = ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde
SIZE (rust/crates/zeroize-1.8.1.crate) = 20029
-SHA256 (rust/crates/zigzag-0.1.0.crate) = 70b40401a28d86ce16a330b863b86fd7dbee4d7c940587ab09ab8c019f9e3fdf
-SIZE (rust/crates/zigzag-0.1.0.crate) = 2085
+SHA256 (rust/crates/zerotrie-0.2.2.crate) = 36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595
+SIZE (rust/crates/zerotrie-0.2.2.crate) = 74423
+SHA256 (rust/crates/zerovec-0.11.2.crate) = 4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428
+SIZE (rust/crates/zerovec-0.11.2.crate) = 124500
+SHA256 (rust/crates/zerovec-derive-0.11.1.crate) = 5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f
+SIZE (rust/crates/zerovec-derive-0.11.1.crate) = 21294
SHA256 (rust/crates/zstd-sys-2.0.10+zstd.1.5.6.crate) = c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa
SIZE (rust/crates/zstd-sys-2.0.10+zstd.1.5.6.crate) = 749088
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.11.crate) = ec866b44a2a1fd6133d363f073ca1b179f438f99e7e5bfb1e33f7181facfe448
SIZE (rust/crates/zune-jpeg-0.4.11.crate) = 61815
-SHA256 (ruma-ruma-c06af4385e0e30c48a8e9ca3d488da32102d0db9_GH0.tar.gz) = d5310eaf4e8d5c7d26adf54f48f25f6ad2adc76936640cc48a9920fd3eca10f6
-SIZE (ruma-ruma-c06af4385e0e30c48a8e9ca3d488da32102d0db9_GH0.tar.gz) = 710358
-SHA256 (famedly-conduit-f8d7ef04e664580e882bac852877b68e7bd3ab1e_GL0.tar.gz) = 0e409471693d4dfcdc3a35cd4b14fcd1306d810c575bbc7f385414a331fb2a16
-SIZE (famedly-conduit-f8d7ef04e664580e882bac852877b68e7bd3ab1e_GL0.tar.gz) = 309404
+SHA256 (ruma-ruma-38d471de01ce2f37f1d8fb5cb1752769cf97bd2f_GH0.tar.gz) = 5940229d77d32b5ffdbe96fca8cbb0f60e22e36fdae02aafb7ce555aed87337d
+SIZE (ruma-ruma-38d471de01ce2f37f1d8fb5cb1752769cf97bd2f_GH0.tar.gz) = 736668
+SHA256 (famedly-conduit-ff7b2af80db5e5dd2dddc02e42e8fd27abb6955f_GL0.tar.gz) = 3b7268d8e96d1acdb58cb01d7f03945242d70ceb676acb41a51e8fddcd48bd83
+SIZE (famedly-conduit-ff7b2af80db5e5dd2dddc02e42e8fd27abb6955f_GL0.tar.gz) = 346320
diff --git a/net-im/dissent/Makefile b/net-im/dissent/Makefile
index b88626fe69e8..84a56fd37b58 100644
--- a/net-im/dissent/Makefile
+++ b/net-im/dissent/Makefile
@@ -1,7 +1,6 @@
PORTNAME= dissent
DISTVERSIONPREFIX= v
-DISTVERSION= 0.0.32
-PORTREVISION= 2
+DISTVERSION= 0.0.34
CATEGORIES= net-im
MAINTAINER= nxjoseph@protonmail.com
@@ -14,7 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.md
LIB_DEPENDS= libgraphene-1.0.so:graphics/graphene \
libspelling-1.so:x11-toolkits/libspelling
-USES= gnome go:1.22,modules gstreamer pkgconfig
+USES= gnome go:1.24,modules gstreamer pkgconfig
USE_GNOME= cairo gdkpixbuf gtk40 gtksourceview5 libadwaita
USE_GSTREAMER= bad good ugly
GO_MODULE= libdb.so/dissent
diff --git a/net-im/dissent/distinfo b/net-im/dissent/distinfo
index d5e9e889207c..c564ada31c63 100644
--- a/net-im/dissent/distinfo
+++ b/net-im/dissent/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1737743530
-SHA256 (go/net-im_dissent/dissent-v0.0.32/v0.0.32.mod) = 66ae8707c26c1a6bb9f1426c7f72415877af7fe8e4943f5646d0ed52e9d5a7d0
-SIZE (go/net-im_dissent/dissent-v0.0.32/v0.0.32.mod) = 2123
-SHA256 (go/net-im_dissent/dissent-v0.0.32/v0.0.32.zip) = 8d5fb8045f955ac587a381205387ab01c449abb501e745235c585f1db6d70a10
-SIZE (go/net-im_dissent/dissent-v0.0.32/v0.0.32.zip) = 4219755
+TIMESTAMP = 1747142599
+SHA256 (go/net-im_dissent/dissent-v0.0.34/v0.0.34.mod) = e690ac4b0fad8a0012908aea7ac7bd0e80bd5cb6d343b88d4e21f171782bf180
+SIZE (go/net-im_dissent/dissent-v0.0.34/v0.0.34.mod) = 2182
+SHA256 (go/net-im_dissent/dissent-v0.0.34/v0.0.34.zip) = 533378abf7496b7a6d4be9aea87ebf9eb37144803904b0a0e528f5206fcfa13a
+SIZE (go/net-im_dissent/dissent-v0.0.34/v0.0.34.zip) = 4224070
diff --git a/net-im/tdlib/Makefile b/net-im/tdlib/Makefile
index 35be46ff1810..77fe4f5caaad 100644
--- a/net-im/tdlib/Makefile
+++ b/net-im/tdlib/Makefile
@@ -1,7 +1,7 @@
PORTNAME= tdlib
DISTVERSIONPREFIX= v
DISTVERSION= 1.8.48
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= net-im devel
MAINTAINER= yuri@FreeBSD.org
@@ -29,10 +29,10 @@ post-patch:
post-install: # see https://github.com/tdlib/td/issues/3328
@cd ${WRKSRC}/td && \
- ${COPYTREE_SHARE} telegram ${STAGEDIR}${PREFIX}/include/td
+ ${COPYTREE_SHARE} telegram ${STAGEDIR}${PREFIX}/include/td "-name *\.h -o -name *\.hpp"
@cd ${WRKSRC}/tdutils/td && \
- ${COPYTREE_SHARE} utils ${STAGEDIR}${PREFIX}/include/td
+ ${COPYTREE_SHARE} utils ${STAGEDIR}${PREFIX}/include/td "-name *\.h -o -name *\.hpp"
@cd ${WRKSRC}/tde2e/td && \
- ${COPYTREE_SHARE} e2e ${STAGEDIR}${PREFIX}/include/td
+ ${COPYTREE_SHARE} e2e ${STAGEDIR}${PREFIX}/include/td "-name *\.h -o -name *\.hpp"
.include <bsd.port.mk>
diff --git a/net-im/tdlib/pkg-plist b/net-im/tdlib/pkg-plist
index a07b996bb35e..bdf48af6106a 100644
--- a/net-im/tdlib/pkg-plist
+++ b/net-im/tdlib/pkg-plist
@@ -1,863 +1,520 @@
-include/td/e2e/BitString.cpp
include/td/e2e/BitString.h
-include/td/e2e/Blockchain.cpp
include/td/e2e/Blockchain.h
-include/td/e2e/Blockchain.md
-include/td/e2e/Call.cpp
include/td/e2e/Call.h
-include/td/e2e/CheckSharedSecret.cpp
include/td/e2e/CheckSharedSecret.h
include/td/e2e/Container.h
-include/td/e2e/DecryptedKey.cpp
include/td/e2e/DecryptedKey.h
-include/td/e2e/EncryptedKey.cpp
include/td/e2e/EncryptedKey.h
-include/td/e2e/EncryptedStorage.cpp
include/td/e2e/EncryptedStorage.h
-include/td/e2e/Encryption.md
-include/td/e2e/Keys.cpp
include/td/e2e/Keys.h
-include/td/e2e/MessageEncryption.cpp
include/td/e2e/MessageEncryption.h
-include/td/e2e/Mnemonic.cpp
include/td/e2e/Mnemonic.h
-include/td/e2e/QRHandshake.cpp
include/td/e2e/QRHandshake.h
-include/td/e2e/TestBlockchain.cpp
include/td/e2e/TestBlockchain.h
-include/td/e2e/Trie.cpp
include/td/e2e/Trie.h
-include/td/e2e/bip39.cpp
include/td/e2e/bip39.h
-include/td/e2e/e2e_api.cpp
include/td/e2e/e2e_api.h
include/td/e2e/e2e_errors.h
-include/td/e2e/encryption_test.py
include/td/e2e/utils.h
include/td/telegram/AccentColorId.h
include/td/telegram/AccessRights.h
-include/td/telegram/AccountManager.cpp
include/td/telegram/AccountManager.h
include/td/telegram/AffectedHistory.h
-include/td/telegram/AffiliateType.cpp
include/td/telegram/AffiliateType.h
-include/td/telegram/AlarmManager.cpp
include/td/telegram/AlarmManager.h
-include/td/telegram/AnimationsManager.cpp
include/td/telegram/AnimationsManager.h
include/td/telegram/AnimationsManager.hpp
-include/td/telegram/Application.cpp
include/td/telegram/Application.h
-include/td/telegram/AttachMenuManager.cpp
include/td/telegram/AttachMenuManager.h
-include/td/telegram/AudiosManager.cpp
include/td/telegram/AudiosManager.h
include/td/telegram/AudiosManager.hpp
-include/td/telegram/AuthManager.cpp
include/td/telegram/AuthManager.h
include/td/telegram/AuthManager.hpp
-include/td/telegram/AutoDownloadSettings.cpp
include/td/telegram/AutoDownloadSettings.h
-include/td/telegram/AutosaveManager.cpp
include/td/telegram/AutosaveManager.h
include/td/telegram/BackgroundId.h
-include/td/telegram/BackgroundInfo.cpp
include/td/telegram/BackgroundInfo.h
include/td/telegram/BackgroundInfo.hpp
-include/td/telegram/BackgroundManager.cpp
include/td/telegram/BackgroundManager.h
-include/td/telegram/BackgroundType.cpp
include/td/telegram/BackgroundType.h
include/td/telegram/BackgroundType.hpp
-include/td/telegram/BaseTheme.cpp
include/td/telegram/BaseTheme.h
-include/td/telegram/Birthdate.cpp
include/td/telegram/Birthdate.h
include/td/telegram/Birthdate.hpp
include/td/telegram/BlockListId.h
-include/td/telegram/BoostManager.cpp
include/td/telegram/BoostManager.h
-include/td/telegram/BotCommand.cpp
include/td/telegram/BotCommand.h
-include/td/telegram/BotCommandScope.cpp
include/td/telegram/BotCommandScope.h
-include/td/telegram/BotInfoManager.cpp
include/td/telegram/BotInfoManager.h
-include/td/telegram/BotMenuButton.cpp
include/td/telegram/BotMenuButton.h
-include/td/telegram/BotQueries.cpp
include/td/telegram/BotQueries.h
-include/td/telegram/BotRecommendationManager.cpp
include/td/telegram/BotRecommendationManager.h
-include/td/telegram/BotVerification.cpp
include/td/telegram/BotVerification.h
include/td/telegram/BotVerification.hpp
-include/td/telegram/BotVerifierSettings.cpp
include/td/telegram/BotVerifierSettings.h
include/td/telegram/BotVerifierSettings.hpp
-include/td/telegram/BusinessAwayMessage.cpp
include/td/telegram/BusinessAwayMessage.h
include/td/telegram/BusinessAwayMessage.hpp
-include/td/telegram/BusinessAwayMessageSchedule.cpp
include/td/telegram/BusinessAwayMessageSchedule.h
include/td/telegram/BusinessAwayMessageSchedule.hpp
-include/td/telegram/BusinessBotManageBar.cpp
include/td/telegram/BusinessBotManageBar.h
-include/td/telegram/BusinessBotRights.cpp
include/td/telegram/BusinessBotRights.h
include/td/telegram/BusinessBotRights.hpp
-include/td/telegram/BusinessChatLink.cpp
include/td/telegram/BusinessChatLink.h
-include/td/telegram/BusinessConnectedBot.cpp
include/td/telegram/BusinessConnectedBot.h
include/td/telegram/BusinessConnectedBot.hpp
include/td/telegram/BusinessConnectionId.h
-include/td/telegram/BusinessConnectionManager.cpp
include/td/telegram/BusinessConnectionManager.h
-include/td/telegram/BusinessGreetingMessage.cpp
include/td/telegram/BusinessGreetingMessage.h
include/td/telegram/BusinessGreetingMessage.hpp
-include/td/telegram/BusinessInfo.cpp
include/td/telegram/BusinessInfo.h
include/td/telegram/BusinessInfo.hpp
-include/td/telegram/BusinessIntro.cpp
include/td/telegram/BusinessIntro.h
include/td/telegram/BusinessIntro.hpp
-include/td/telegram/BusinessManager.cpp
include/td/telegram/BusinessManager.h
-include/td/telegram/BusinessRecipients.cpp
include/td/telegram/BusinessRecipients.h
include/td/telegram/BusinessRecipients.hpp
-include/td/telegram/BusinessWorkHours.cpp
include/td/telegram/BusinessWorkHours.h
include/td/telegram/BusinessWorkHours.hpp
-include/td/telegram/CallActor.cpp
include/td/telegram/CallActor.h
-include/td/telegram/CallDiscardReason.cpp
include/td/telegram/CallDiscardReason.h
include/td/telegram/CallId.h
-include/td/telegram/CallManager.cpp
include/td/telegram/CallManager.h
-include/td/telegram/CallbackQueriesManager.cpp
include/td/telegram/CallbackQueriesManager.h
include/td/telegram/ChainId.h
include/td/telegram/ChannelId.h
-include/td/telegram/ChannelParticipantFilter.cpp
include/td/telegram/ChannelParticipantFilter.h
-include/td/telegram/ChannelRecommendationManager.cpp
include/td/telegram/ChannelRecommendationManager.h
include/td/telegram/ChannelType.h
include/td/telegram/ChatId.h
-include/td/telegram/ChatManager.cpp
include/td/telegram/ChatManager.h
-include/td/telegram/ChatReactions.cpp
include/td/telegram/ChatReactions.h
include/td/telegram/ChatReactions.hpp
-include/td/telegram/Client.cpp
include/td/telegram/Client.h
-include/td/telegram/ClientActor.cpp
include/td/telegram/ClientActor.h
-include/td/telegram/ClientDotNet.cpp
-include/td/telegram/ClientJson.cpp
include/td/telegram/ClientJson.h
-include/td/telegram/CommonDialogManager.cpp
include/td/telegram/CommonDialogManager.h
-include/td/telegram/ConfigManager.cpp
include/td/telegram/ConfigManager.h
-include/td/telegram/ConnectionState.cpp
include/td/telegram/ConnectionState.h
-include/td/telegram/ConnectionStateManager.cpp
include/td/telegram/ConnectionStateManager.h
-include/td/telegram/Contact.cpp
include/td/telegram/Contact.h
-include/td/telegram/CountryInfoManager.cpp
include/td/telegram/CountryInfoManager.h
include/td/telegram/CustomEmojiId.h
-include/td/telegram/DelayDispatcher.cpp
include/td/telegram/DelayDispatcher.h
-include/td/telegram/Dependencies.cpp
include/td/telegram/Dependencies.h
-include/td/telegram/DeviceTokenManager.cpp
include/td/telegram/DeviceTokenManager.h
-include/td/telegram/DhCache.cpp
include/td/telegram/DhCache.h
include/td/telegram/DhConfig.h
-include/td/telegram/DialogAction.cpp
include/td/telegram/DialogAction.h
-include/td/telegram/DialogActionBar.cpp
include/td/telegram/DialogActionBar.h
-include/td/telegram/DialogActionManager.cpp
include/td/telegram/DialogActionManager.h
-include/td/telegram/DialogAdministrator.cpp
include/td/telegram/DialogAdministrator.h
include/td/telegram/DialogBoostLinkInfo.h
include/td/telegram/DialogDate.h
-include/td/telegram/DialogDb.cpp
include/td/telegram/DialogDb.h
-include/td/telegram/DialogEventLog.cpp
include/td/telegram/DialogEventLog.h
-include/td/telegram/DialogFilter.cpp
include/td/telegram/DialogFilter.h
include/td/telegram/DialogFilter.hpp
include/td/telegram/DialogFilterDialogInfo.h
include/td/telegram/DialogFilterId.h
-include/td/telegram/DialogFilterInviteLink.cpp
include/td/telegram/DialogFilterInviteLink.h
-include/td/telegram/DialogFilterManager.cpp
include/td/telegram/DialogFilterManager.h
-include/td/telegram/DialogId.cpp
include/td/telegram/DialogId.h
-include/td/telegram/DialogInviteLink.cpp
include/td/telegram/DialogInviteLink.h
include/td/telegram/DialogInviteLink.hpp
-include/td/telegram/DialogInviteLinkManager.cpp
include/td/telegram/DialogInviteLinkManager.h
include/td/telegram/DialogListId.h
-include/td/telegram/DialogLocation.cpp
include/td/telegram/DialogLocation.h
-include/td/telegram/DialogManager.cpp
include/td/telegram/DialogManager.h
-include/td/telegram/DialogNotificationSettings.cpp
include/td/telegram/DialogNotificationSettings.h
include/td/telegram/DialogNotificationSettings.hpp
-include/td/telegram/DialogParticipant.cpp
include/td/telegram/DialogParticipant.h
-include/td/telegram/DialogParticipantFilter.cpp
include/td/telegram/DialogParticipantFilter.h
-include/td/telegram/DialogParticipantManager.cpp
include/td/telegram/DialogParticipantManager.h
-include/td/telegram/DialogSource.cpp
include/td/telegram/DialogSource.h
-include/td/telegram/Dimensions.cpp
include/td/telegram/Dimensions.h
include/td/telegram/Dimensions.hpp
-include/td/telegram/DisallowedGiftsSettings.cpp
include/td/telegram/DisallowedGiftsSettings.h
include/td/telegram/DisallowedGiftsSettings.hpp
-include/td/telegram/Document.cpp
include/td/telegram/Document.h
include/td/telegram/Document.hpp
-include/td/telegram/DocumentsManager.cpp
include/td/telegram/DocumentsManager.h
include/td/telegram/DocumentsManager.hpp
-include/td/telegram/DownloadManager.cpp
include/td/telegram/DownloadManager.h
-include/td/telegram/DownloadManagerCallback.cpp
include/td/telegram/DownloadManagerCallback.h
-include/td/telegram/DraftMessage.cpp
include/td/telegram/DraftMessage.h
include/td/telegram/DraftMessage.hpp
-include/td/telegram/EmailVerification.cpp
include/td/telegram/EmailVerification.h
-include/td/telegram/EmojiGroup.cpp
include/td/telegram/EmojiGroup.h
include/td/telegram/EmojiGroup.hpp
-include/td/telegram/EmojiGroupType.cpp
include/td/telegram/EmojiGroupType.h
-include/td/telegram/EmojiStatus.cpp
include/td/telegram/EmojiStatus.h
include/td/telegram/EncryptedFile.h
-include/td/telegram/FactCheck.cpp
include/td/telegram/FactCheck.h
include/td/telegram/FactCheck.hpp
-include/td/telegram/FileReferenceManager.cpp
include/td/telegram/FileReferenceManager.h
include/td/telegram/FileReferenceManager.hpp
include/td/telegram/FolderId.h
-include/td/telegram/ForumTopic.cpp
include/td/telegram/ForumTopic.h
include/td/telegram/ForumTopic.hpp
-include/td/telegram/ForumTopicEditedData.cpp
include/td/telegram/ForumTopicEditedData.h
include/td/telegram/ForumTopicEditedData.hpp
-include/td/telegram/ForumTopicIcon.cpp
include/td/telegram/ForumTopicIcon.h
include/td/telegram/ForumTopicIcon.hpp
-include/td/telegram/ForumTopicInfo.cpp
include/td/telegram/ForumTopicInfo.h
include/td/telegram/ForumTopicInfo.hpp
-include/td/telegram/ForumTopicManager.cpp
include/td/telegram/ForumTopicManager.h
-include/td/telegram/Game.cpp
include/td/telegram/Game.h
include/td/telegram/Game.hpp
-include/td/telegram/GameManager.cpp
include/td/telegram/GameManager.h
-include/td/telegram/GitCommitHash.cpp.in
include/td/telegram/GitCommitHash.h
-include/td/telegram/GiveawayParameters.cpp
include/td/telegram/GiveawayParameters.h
include/td/telegram/GiveawayParameters.hpp
-include/td/telegram/Global.cpp
include/td/telegram/Global.h
-include/td/telegram/GlobalPrivacySettings.cpp
include/td/telegram/GlobalPrivacySettings.h
include/td/telegram/GroupCallId.h
-include/td/telegram/GroupCallJoinParameters.cpp
include/td/telegram/GroupCallJoinParameters.h
-include/td/telegram/GroupCallManager.cpp
include/td/telegram/GroupCallManager.h
-include/td/telegram/GroupCallParticipant.cpp
include/td/telegram/GroupCallParticipant.h
-include/td/telegram/GroupCallParticipantOrder.cpp
include/td/telegram/GroupCallParticipantOrder.h
-include/td/telegram/GroupCallVideoPayload.cpp
include/td/telegram/GroupCallVideoPayload.h
-include/td/telegram/HashtagHints.cpp
include/td/telegram/HashtagHints.h
-include/td/telegram/InlineMessageManager.cpp
include/td/telegram/InlineMessageManager.h
-include/td/telegram/InlineQueriesManager.cpp
include/td/telegram/InlineQueriesManager.h
-include/td/telegram/InputBusinessChatLink.cpp
include/td/telegram/InputBusinessChatLink.h
-include/td/telegram/InputDialogId.cpp
include/td/telegram/InputDialogId.h
-include/td/telegram/InputGroupCall.cpp
include/td/telegram/InputGroupCall.h
-include/td/telegram/InputGroupCallId.cpp
include/td/telegram/InputGroupCallId.h
-include/td/telegram/InputInvoice.cpp
include/td/telegram/InputInvoice.h
include/td/telegram/InputInvoice.hpp
-include/td/telegram/InputMessageText.cpp
include/td/telegram/InputMessageText.h
include/td/telegram/InputMessageText.hpp
-include/td/telegram/JsonValue.cpp
include/td/telegram/JsonValue.h
include/td/telegram/LabeledPricePart.h
-include/td/telegram/LanguagePackManager.cpp
include/td/telegram/LanguagePackManager.h
-include/td/telegram/LinkManager.cpp
include/td/telegram/LinkManager.h
-include/td/telegram/Location.cpp
include/td/telegram/Location.h
-include/td/telegram/Log.cpp
include/td/telegram/Log.h
-include/td/telegram/LogDotNet.cpp
-include/td/telegram/Logging.cpp
include/td/telegram/Logging.h
-include/td/telegram/MediaArea.cpp
include/td/telegram/MediaArea.h
include/td/telegram/MediaArea.hpp
-include/td/telegram/MediaAreaCoordinates.cpp
include/td/telegram/MediaAreaCoordinates.h
include/td/telegram/MediaAreaCoordinates.hpp
-include/td/telegram/MessageContent.cpp
include/td/telegram/MessageContent.h
-include/td/telegram/MessageContentType.cpp
include/td/telegram/MessageContentType.h
include/td/telegram/MessageCopyOptions.h
-include/td/telegram/MessageDb.cpp
include/td/telegram/MessageDb.h
include/td/telegram/MessageEffectId.h
-include/td/telegram/MessageEntity.cpp
include/td/telegram/MessageEntity.h
include/td/telegram/MessageEntity.hpp
-include/td/telegram/MessageExtendedMedia.cpp
include/td/telegram/MessageExtendedMedia.h
include/td/telegram/MessageExtendedMedia.hpp
-include/td/telegram/MessageForwardInfo.cpp
include/td/telegram/MessageForwardInfo.h
include/td/telegram/MessageForwardInfo.hpp
include/td/telegram/MessageFullId.h
-include/td/telegram/MessageId.cpp
include/td/telegram/MessageId.h
-include/td/telegram/MessageImportManager.cpp
include/td/telegram/MessageImportManager.h
-include/td/telegram/MessageInputReplyTo.cpp
include/td/telegram/MessageInputReplyTo.h
include/td/telegram/MessageInputReplyTo.hpp
include/td/telegram/MessageLinkInfo.h
-include/td/telegram/MessageOrigin.cpp
include/td/telegram/MessageOrigin.h
include/td/telegram/MessageOrigin.hpp
-include/td/telegram/MessageQueryManager.cpp
include/td/telegram/MessageQueryManager.h
-include/td/telegram/MessageQuote.cpp
include/td/telegram/MessageQuote.h
include/td/telegram/MessageQuote.hpp
-include/td/telegram/MessageReaction.cpp
include/td/telegram/MessageReaction.h
include/td/telegram/MessageReaction.hpp
-include/td/telegram/MessageReactor.cpp
include/td/telegram/MessageReactor.h
include/td/telegram/MessageReactor.hpp
-include/td/telegram/MessageReplyHeader.cpp
include/td/telegram/MessageReplyHeader.h
-include/td/telegram/MessageReplyInfo.cpp
include/td/telegram/MessageReplyInfo.h
include/td/telegram/MessageReplyInfo.hpp
-include/td/telegram/MessageSearchFilter.cpp
include/td/telegram/MessageSearchFilter.h
-include/td/telegram/MessageSearchOffset.cpp
include/td/telegram/MessageSearchOffset.h
-include/td/telegram/MessageSelfDestructType.cpp
include/td/telegram/MessageSelfDestructType.h
-include/td/telegram/MessageSender.cpp
include/td/telegram/MessageSender.h
-include/td/telegram/MessageSource.cpp
include/td/telegram/MessageSource.h
-include/td/telegram/MessageThreadDb.cpp
include/td/telegram/MessageThreadDb.h
include/td/telegram/MessageThreadInfo.h
-include/td/telegram/MessageTtl.cpp
include/td/telegram/MessageTtl.h
-include/td/telegram/MessageViewer.cpp
include/td/telegram/MessageViewer.h
-include/td/telegram/MessagesInfo.cpp
include/td/telegram/MessagesInfo.h
-include/td/telegram/MessagesManager.cpp
include/td/telegram/MessagesManager.h
include/td/telegram/MinChannel.h
include/td/telegram/MinChannel.hpp
-include/td/telegram/MissingInvitee.cpp
include/td/telegram/MissingInvitee.h
-include/td/telegram/NewPasswordState.cpp
include/td/telegram/NewPasswordState.h
include/td/telegram/Notification.h
include/td/telegram/NotificationGroupFromDatabase.h
include/td/telegram/NotificationGroupId.h
-include/td/telegram/NotificationGroupInfo.cpp
include/td/telegram/NotificationGroupInfo.h
include/td/telegram/NotificationGroupInfo.hpp
include/td/telegram/NotificationGroupKey.h
-include/td/telegram/NotificationGroupType.cpp
include/td/telegram/NotificationGroupType.h
include/td/telegram/NotificationId.h
-include/td/telegram/NotificationManager.cpp
include/td/telegram/NotificationManager.h
include/td/telegram/NotificationObjectFullId.h
include/td/telegram/NotificationObjectId.h
-include/td/telegram/NotificationSettingsManager.cpp
include/td/telegram/NotificationSettingsManager.h
-include/td/telegram/NotificationSettingsScope.cpp
include/td/telegram/NotificationSettingsScope.h
-include/td/telegram/NotificationSound.cpp
include/td/telegram/NotificationSound.h
include/td/telegram/NotificationSoundType.h
-include/td/telegram/NotificationType.cpp
include/td/telegram/NotificationType.h
-include/td/telegram/OnlineManager.cpp
include/td/telegram/OnlineManager.h
-include/td/telegram/OptionManager.cpp
include/td/telegram/OptionManager.h
-include/td/telegram/OrderInfo.cpp
include/td/telegram/OrderInfo.h
include/td/telegram/OrderInfo.hpp
-include/td/telegram/OrderedMessage.cpp
include/td/telegram/OrderedMessage.h
-include/td/telegram/Outline.cpp
include/td/telegram/Outline.h
-include/td/telegram/PaidReactionType.cpp
include/td/telegram/PaidReactionType.h
include/td/telegram/PaidReactionType.hpp
-include/td/telegram/PasswordManager.cpp
include/td/telegram/PasswordManager.h
-include/td/telegram/Payments.cpp
include/td/telegram/Payments.h
-include/td/telegram/PeerColor.cpp
include/td/telegram/PeerColor.h
-include/td/telegram/PeopleNearbyManager.cpp
include/td/telegram/PeopleNearbyManager.h
-include/td/telegram/PhoneNumberManager.cpp
include/td/telegram/PhoneNumberManager.h
-include/td/telegram/Photo.cpp
include/td/telegram/Photo.h
include/td/telegram/Photo.hpp
include/td/telegram/PhotoFormat.h
-include/td/telegram/PhotoSize.cpp
include/td/telegram/PhotoSize.h
include/td/telegram/PhotoSize.hpp
-include/td/telegram/PhotoSizeSource.cpp
include/td/telegram/PhotoSizeSource.h
include/td/telegram/PhotoSizeSource.hpp
include/td/telegram/PhotoSizeType.h
include/td/telegram/PhotoSizeType.hpp
include/td/telegram/PollId.h
include/td/telegram/PollId.hpp
-include/td/telegram/PollManager.cpp
include/td/telegram/PollManager.h
include/td/telegram/PollManager.hpp
-include/td/telegram/Premium.cpp
include/td/telegram/Premium.h
-include/td/telegram/PremiumGiftOption.cpp
include/td/telegram/PremiumGiftOption.h
include/td/telegram/PremiumGiftOption.hpp
-include/td/telegram/PrivacyManager.cpp
include/td/telegram/PrivacyManager.h
-include/td/telegram/PromoDataManager.cpp
include/td/telegram/PromoDataManager.h
include/td/telegram/PtsManager.h
include/td/telegram/PublicDialogType.h
-include/td/telegram/QueryCombiner.cpp
include/td/telegram/QueryCombiner.h
-include/td/telegram/QueryMerger.cpp
include/td/telegram/QueryMerger.h
-include/td/telegram/QuickReplyManager.cpp
include/td/telegram/QuickReplyManager.h
include/td/telegram/QuickReplyMessageFullId.h
include/td/telegram/QuickReplyShortcutId.h
-include/td/telegram/ReactionListType.cpp
include/td/telegram/ReactionListType.h
-include/td/telegram/ReactionManager.cpp
include/td/telegram/ReactionManager.h
include/td/telegram/ReactionManager.hpp
-include/td/telegram/ReactionNotificationSettings.cpp
include/td/telegram/ReactionNotificationSettings.h
include/td/telegram/ReactionNotificationSettings.hpp
-include/td/telegram/ReactionNotificationsFrom.cpp
include/td/telegram/ReactionNotificationsFrom.h
include/td/telegram/ReactionNotificationsFrom.hpp
-include/td/telegram/ReactionType.cpp
include/td/telegram/ReactionType.h
include/td/telegram/ReactionType.hpp
include/td/telegram/ReactionUnavailabilityReason.h
-include/td/telegram/RecentDialogList.cpp
include/td/telegram/RecentDialogList.h
-include/td/telegram/ReferralProgramInfo.cpp
include/td/telegram/ReferralProgramInfo.h
include/td/telegram/ReferralProgramInfo.hpp
-include/td/telegram/ReferralProgramManager.cpp
include/td/telegram/ReferralProgramManager.h
-include/td/telegram/ReferralProgramParameters.cpp
include/td/telegram/ReferralProgramParameters.h
include/td/telegram/ReferralProgramParameters.hpp
-include/td/telegram/ReferralProgramSortOrder.cpp
include/td/telegram/ReferralProgramSortOrder.h
-include/td/telegram/RepliedMessageInfo.cpp
include/td/telegram/RepliedMessageInfo.h
include/td/telegram/RepliedMessageInfo.hpp
-include/td/telegram/ReplyMarkup.cpp
include/td/telegram/ReplyMarkup.h
include/td/telegram/ReplyMarkup.hpp
-include/td/telegram/ReportReason.cpp
include/td/telegram/ReportReason.h
include/td/telegram/RequestActor.h
-include/td/telegram/RequestedDialogType.cpp
include/td/telegram/RequestedDialogType.h
include/td/telegram/RequestedDialogType.hpp
-include/td/telegram/Requests.cpp
include/td/telegram/Requests.h
-include/td/telegram/RestrictionReason.cpp
include/td/telegram/RestrictionReason.h
-include/td/telegram/SavedMessagesManager.cpp
include/td/telegram/SavedMessagesManager.h
-include/td/telegram/SavedMessagesTopicId.cpp
include/td/telegram/SavedMessagesTopicId.h
include/td/telegram/ScheduledServerMessageId.h
-include/td/telegram/ScopeNotificationSettings.cpp
include/td/telegram/ScopeNotificationSettings.h
include/td/telegram/ScopeNotificationSettings.hpp
-include/td/telegram/SecretChatActor.cpp
include/td/telegram/SecretChatActor.h
-include/td/telegram/SecretChatDb.cpp
include/td/telegram/SecretChatDb.h
include/td/telegram/SecretChatId.h
include/td/telegram/SecretChatLayer.h
-include/td/telegram/SecretChatsManager.cpp
include/td/telegram/SecretChatsManager.h
-include/td/telegram/SecretInputMedia.cpp
include/td/telegram/SecretInputMedia.h
-include/td/telegram/SecureManager.cpp
include/td/telegram/SecureManager.h
-include/td/telegram/SecureStorage.cpp
include/td/telegram/SecureStorage.h
-include/td/telegram/SecureValue.cpp
include/td/telegram/SecureValue.h
include/td/telegram/SecureValue.hpp
-include/td/telegram/SendCodeHelper.cpp
include/td/telegram/SendCodeHelper.h
include/td/telegram/SendCodeHelper.hpp
-include/td/telegram/SentEmailCode.cpp
include/td/telegram/SentEmailCode.h
-include/td/telegram/SequenceDispatcher.cpp
include/td/telegram/SequenceDispatcher.h
include/td/telegram/ServerMessageId.h
include/td/telegram/SetWithPosition.h
-include/td/telegram/SharedDialog.cpp
include/td/telegram/SharedDialog.h
include/td/telegram/SharedDialog.hpp
-include/td/telegram/SpecialStickerSetType.cpp
include/td/telegram/SpecialStickerSetType.h
-include/td/telegram/SponsoredMessageManager.cpp
include/td/telegram/SponsoredMessageManager.h
-include/td/telegram/StarAmount.cpp
include/td/telegram/StarAmount.h
include/td/telegram/StarAmount.hpp
-include/td/telegram/StarGift.cpp
include/td/telegram/StarGift.h
include/td/telegram/StarGift.hpp
-include/td/telegram/StarGiftAttribute.cpp
include/td/telegram/StarGiftAttribute.h
include/td/telegram/StarGiftAttribute.hpp
-include/td/telegram/StarGiftId.cpp
include/td/telegram/StarGiftId.h
include/td/telegram/StarGiftId.hpp
-include/td/telegram/StarGiftManager.cpp
include/td/telegram/StarGiftManager.h
-include/td/telegram/StarGiftSettings.cpp
include/td/telegram/StarGiftSettings.h
include/td/telegram/StarGiftSettings.hpp
-include/td/telegram/StarManager.cpp
include/td/telegram/StarManager.h
-include/td/telegram/StarSubscription.cpp
include/td/telegram/StarSubscription.h
-include/td/telegram/StarSubscriptionPricing.cpp
include/td/telegram/StarSubscriptionPricing.h
include/td/telegram/StarSubscriptionPricing.hpp
-include/td/telegram/StateManager.cpp
include/td/telegram/StateManager.h
-include/td/telegram/StatisticsManager.cpp
include/td/telegram/StatisticsManager.h
-include/td/telegram/StickerFormat.cpp
include/td/telegram/StickerFormat.h
-include/td/telegram/StickerListType.cpp
include/td/telegram/StickerListType.h
-include/td/telegram/StickerMaskPosition.cpp
include/td/telegram/StickerMaskPosition.h
include/td/telegram/StickerMaskPosition.hpp
-include/td/telegram/StickerPhotoSize.cpp
include/td/telegram/StickerPhotoSize.h
include/td/telegram/StickerPhotoSize.hpp
-include/td/telegram/StickerSetId.cpp
include/td/telegram/StickerSetId.h
-include/td/telegram/StickerType.cpp
include/td/telegram/StickerType.h
-include/td/telegram/StickersManager.cpp
include/td/telegram/StickersManager.h
include/td/telegram/StickersManager.hpp
-include/td/telegram/StorageManager.cpp
include/td/telegram/StorageManager.h
-include/td/telegram/StoryContent.cpp
include/td/telegram/StoryContent.h
-include/td/telegram/StoryContentType.cpp
include/td/telegram/StoryContentType.h
-include/td/telegram/StoryDb.cpp
include/td/telegram/StoryDb.h
-include/td/telegram/StoryForwardInfo.cpp
include/td/telegram/StoryForwardInfo.h
include/td/telegram/StoryForwardInfo.hpp
include/td/telegram/StoryFullId.h
include/td/telegram/StoryId.h
-include/td/telegram/StoryInteractionInfo.cpp
include/td/telegram/StoryInteractionInfo.h
include/td/telegram/StoryInteractionInfo.hpp
include/td/telegram/StoryListId.h
-include/td/telegram/StoryManager.cpp
include/td/telegram/StoryManager.h
include/td/telegram/StoryNotificationSettings.h
-include/td/telegram/StoryStealthMode.cpp
include/td/telegram/StoryStealthMode.h
include/td/telegram/StoryStealthMode.hpp
-include/td/telegram/StoryViewer.cpp
include/td/telegram/StoryViewer.h
-include/td/telegram/SuggestedAction.cpp
include/td/telegram/SuggestedAction.h
include/td/telegram/SuggestedAction.hpp
-include/td/telegram/SuggestedActionManager.cpp
include/td/telegram/SuggestedActionManager.h
-include/td/telegram/Support.cpp
include/td/telegram/Support.h
-include/td/telegram/SynchronousRequests.cpp
include/td/telegram/SynchronousRequests.h
-include/td/telegram/TargetDialogTypes.cpp
include/td/telegram/TargetDialogTypes.h
-include/td/telegram/Td.cpp
include/td/telegram/Td.h
include/td/telegram/TdCallback.h
-include/td/telegram/TdDb.cpp
include/td/telegram/TdDb.h
-include/td/telegram/TermsOfService.cpp
include/td/telegram/TermsOfService.h
include/td/telegram/TermsOfService.hpp
-include/td/telegram/TermsOfServiceManager.cpp
include/td/telegram/TermsOfServiceManager.h
-include/td/telegram/ThemeManager.cpp
include/td/telegram/ThemeManager.h
-include/td/telegram/ThemeSettings.cpp
include/td/telegram/ThemeSettings.h
include/td/telegram/ThemeSettings.hpp
-include/td/telegram/TimeZoneManager.cpp
include/td/telegram/TimeZoneManager.h
-include/td/telegram/TopDialogCategory.cpp
include/td/telegram/TopDialogCategory.h
-include/td/telegram/TopDialogManager.cpp
include/td/telegram/TopDialogManager.h
-include/td/telegram/TranscriptionInfo.cpp
include/td/telegram/TranscriptionInfo.h
include/td/telegram/TranscriptionInfo.hpp
-include/td/telegram/TranscriptionManager.cpp
include/td/telegram/TranscriptionManager.h
-include/td/telegram/TranslationManager.cpp
include/td/telegram/TranslationManager.h
include/td/telegram/UniqueId.h
-include/td/telegram/UpdatesManager.cpp
include/td/telegram/UpdatesManager.h
include/td/telegram/UserId.h
-include/td/telegram/UserManager.cpp
include/td/telegram/UserManager.h
-include/td/telegram/UserPrivacySetting.cpp
include/td/telegram/UserPrivacySetting.h
-include/td/telegram/UserPrivacySettingRule.cpp
include/td/telegram/UserPrivacySettingRule.h
-include/td/telegram/UserStarGift.cpp
include/td/telegram/UserStarGift.h
-include/td/telegram/Usernames.cpp
include/td/telegram/Usernames.h
-include/td/telegram/Venue.cpp
include/td/telegram/Venue.h
-include/td/telegram/VerificationStatus.cpp
include/td/telegram/VerificationStatus.h
include/td/telegram/Version.h
-include/td/telegram/VideoNotesManager.cpp
include/td/telegram/VideoNotesManager.h
include/td/telegram/VideoNotesManager.hpp
-include/td/telegram/VideosManager.cpp
include/td/telegram/VideosManager.h
include/td/telegram/VideosManager.hpp
-include/td/telegram/VoiceNotesManager.cpp
include/td/telegram/VoiceNotesManager.h
include/td/telegram/VoiceNotesManager.hpp
-include/td/telegram/WebApp.cpp
include/td/telegram/WebApp.h
include/td/telegram/WebApp.hpp
-include/td/telegram/WebAppManager.cpp
include/td/telegram/WebAppManager.h
-include/td/telegram/WebAppOpenParameters.cpp
include/td/telegram/WebAppOpenParameters.h
-include/td/telegram/WebPageBlock.cpp
include/td/telegram/WebPageBlock.h
include/td/telegram/WebPageId.h
-include/td/telegram/WebPagesManager.cpp
include/td/telegram/WebPagesManager.h
-include/td/telegram/cli.cpp
-include/td/telegram/files/FileBitmask.cpp
include/td/telegram/files/FileBitmask.h
include/td/telegram/files/FileData.h
include/td/telegram/files/FileData.hpp
-include/td/telegram/files/FileDb.cpp
include/td/telegram/files/FileDb.h
include/td/telegram/files/FileDbId.h
-include/td/telegram/files/FileDownloadManager.cpp
include/td/telegram/files/FileDownloadManager.h
-include/td/telegram/files/FileDownloader.cpp
include/td/telegram/files/FileDownloader.h
-include/td/telegram/files/FileEncryptionKey.cpp
include/td/telegram/files/FileEncryptionKey.h
-include/td/telegram/files/FileFromBytes.cpp
include/td/telegram/files/FileFromBytes.h
-include/td/telegram/files/FileGcParameters.cpp
include/td/telegram/files/FileGcParameters.h
-include/td/telegram/files/FileGcWorker.cpp
include/td/telegram/files/FileGcWorker.h
-include/td/telegram/files/FileGenerateManager.cpp
include/td/telegram/files/FileGenerateManager.h
-include/td/telegram/files/FileHashUploader.cpp
include/td/telegram/files/FileHashUploader.h
include/td/telegram/files/FileId.h
include/td/telegram/files/FileId.hpp
-include/td/telegram/files/FileLoadManager.cpp
include/td/telegram/files/FileLoadManager.h
include/td/telegram/files/FileLoaderActor.h
-include/td/telegram/files/FileLoaderUtils.cpp
include/td/telegram/files/FileLoaderUtils.h
include/td/telegram/files/FileLocation.h
include/td/telegram/files/FileLocation.hpp
-include/td/telegram/files/FileManager.cpp
include/td/telegram/files/FileManager.h
include/td/telegram/files/FileManager.hpp
include/td/telegram/files/FileSourceId.h
include/td/telegram/files/FileSourceId.hpp
-include/td/telegram/files/FileStats.cpp
include/td/telegram/files/FileStats.h
-include/td/telegram/files/FileStatsWorker.cpp
include/td/telegram/files/FileStatsWorker.h
-include/td/telegram/files/FileType.cpp
include/td/telegram/files/FileType.h
include/td/telegram/files/FileUploadId.h
-include/td/telegram/files/FileUploadManager.cpp
include/td/telegram/files/FileUploadManager.h
-include/td/telegram/files/FileUploader.cpp
include/td/telegram/files/FileUploader.h
-include/td/telegram/files/PartsManager.cpp
include/td/telegram/files/PartsManager.h
-include/td/telegram/files/ResourceManager.cpp
include/td/telegram/files/ResourceManager.h
-include/td/telegram/files/ResourceState.cpp
include/td/telegram/files/ResourceState.h
include/td/telegram/logevent/LogEvent.h
-include/td/telegram/logevent/LogEventHelper.cpp
include/td/telegram/logevent/LogEventHelper.h
include/td/telegram/logevent/SecretChatEvent.h
-include/td/telegram/misc.cpp
include/td/telegram/misc.h
-include/td/telegram/net/AuthDataShared.cpp
include/td/telegram/net/AuthDataShared.h
include/td/telegram/net/AuthKeyState.h
-include/td/telegram/net/ConnectionCreator.cpp
include/td/telegram/net/ConnectionCreator.h
-include/td/telegram/net/DcAuthManager.cpp
include/td/telegram/net/DcAuthManager.h
include/td/telegram/net/DcId.h
include/td/telegram/net/DcOptions.h
-include/td/telegram/net/DcOptionsSet.cpp
include/td/telegram/net/DcOptionsSet.h
-include/td/telegram/net/MtprotoHeader.cpp
include/td/telegram/net/MtprotoHeader.h
-include/td/telegram/net/NetActor.cpp
include/td/telegram/net/NetActor.h
-include/td/telegram/net/NetQuery.cpp
include/td/telegram/net/NetQuery.h
include/td/telegram/net/NetQueryCounter.h
-include/td/telegram/net/NetQueryCreator.cpp
include/td/telegram/net/NetQueryCreator.h
-include/td/telegram/net/NetQueryDelayer.cpp
include/td/telegram/net/NetQueryDelayer.h
-include/td/telegram/net/NetQueryDispatcher.cpp
include/td/telegram/net/NetQueryDispatcher.h
-include/td/telegram/net/NetQueryStats.cpp
include/td/telegram/net/NetQueryStats.h
-include/td/telegram/net/NetQueryVerifier.cpp
include/td/telegram/net/NetQueryVerifier.h
-include/td/telegram/net/NetStatsManager.cpp
include/td/telegram/net/NetStatsManager.h
include/td/telegram/net/NetType.h
-include/td/telegram/net/Proxy.cpp
include/td/telegram/net/Proxy.h
-include/td/telegram/net/PublicRsaKeySharedCdn.cpp
include/td/telegram/net/PublicRsaKeySharedCdn.h
-include/td/telegram/net/PublicRsaKeySharedMain.cpp
include/td/telegram/net/PublicRsaKeySharedMain.h
-include/td/telegram/net/PublicRsaKeyWatchdog.cpp
include/td/telegram/net/PublicRsaKeyWatchdog.h
-include/td/telegram/net/Session.cpp
include/td/telegram/net/Session.h
-include/td/telegram/net/SessionMultiProxy.cpp
include/td/telegram/net/SessionMultiProxy.h
-include/td/telegram/net/SessionProxy.cpp
include/td/telegram/net/SessionProxy.h
include/td/telegram/net/TempAuthKeyWatchdog.h
include/td/telegram/td_api.h
include/td/telegram/td_api.hpp
-include/td/telegram/td_c_client.cpp
include/td/telegram/td_c_client.h
-include/td/telegram/td_emscripten.cpp
-include/td/telegram/td_json_client.cpp
include/td/telegram/td_json_client.h
-include/td/telegram/td_log.cpp
include/td/telegram/td_log.h
include/td/telegram/tdjson_export.h
include/td/tl/TlObject.h
include/td/utils/AesCtrByteFlow.h
-include/td/utils/AsyncFileLog.cpp
include/td/utils/AsyncFileLog.h
include/td/utils/AtomicRead.h
-include/td/utils/BigNum.cpp
include/td/utils/BigNum.h
include/td/utils/BufferedFd.h
include/td/utils/BufferedReader.h
-include/td/utils/BufferedUdp.cpp
include/td/utils/BufferedUdp.h
include/td/utils/ByteFlow.h
include/td/utils/CancellationToken.h
@@ -870,26 +527,19 @@ include/td/utils/Container.h
include/td/utils/Context.h
include/td/utils/DecTree.h
include/td/utils/Destructor.h
-include/td/utils/Ed25519.cpp
include/td/utils/Ed25519.h
include/td/utils/Enumerator.h
include/td/utils/EpochBasedMemoryReclamation.h
-include/td/utils/ExitGuard.cpp
include/td/utils/ExitGuard.h
-include/td/utils/FileLog.cpp
include/td/utils/FileLog.h
include/td/utils/FlatHashMap.h
include/td/utils/FlatHashMapChunks.h
include/td/utils/FlatHashSet.h
-include/td/utils/FlatHashTable.cpp
include/td/utils/FlatHashTable.h
include/td/utils/FloodControlFast.h
-include/td/utils/FloodControlGlobal.cpp
include/td/utils/FloodControlGlobal.h
include/td/utils/FloodControlStrict.h
-include/td/utils/Gzip.cpp
include/td/utils/Gzip.h
-include/td/utils/GzipByteFlow.cpp
include/td/utils/GzipByteFlow.h
include/td/utils/Hash.h
include/td/utils/HashMap.h
@@ -897,21 +547,15 @@ include/td/utils/HashSet.h
include/td/utils/HashTableUtils.h
include/td/utils/HazardPointers.h
include/td/utils/Heap.h
-include/td/utils/Hints.cpp
include/td/utils/Hints.h
-include/td/utils/HttpDate.cpp
include/td/utils/HttpDate.h
-include/td/utils/HttpUrl.cpp
include/td/utils/HttpUrl.h
-include/td/utils/JsonBuilder.cpp
include/td/utils/JsonBuilder.h
include/td/utils/List.h
include/td/utils/MapNode.h
include/td/utils/MemoryLog.h
-include/td/utils/MimeType.cpp
include/td/utils/MimeType.h
include/td/utils/MovableValue.h
-include/td/utils/MpmcQueue.cpp
include/td/utils/MpmcQueue.h
include/td/utils/MpmcWaiter.h
include/td/utils/MpscLinkQueue.h
@@ -920,50 +564,37 @@ include/td/utils/Named.h
include/td/utils/NullLog.h
include/td/utils/ObjectPool.h
include/td/utils/Observer.h
-include/td/utils/OptionParser.cpp
include/td/utils/OptionParser.h
include/td/utils/OrderedEventsProcessor.h
include/td/utils/Parser.h
-include/td/utils/PathView.cpp
include/td/utils/PathView.h
include/td/utils/Promise.h
-include/td/utils/Random.cpp
include/td/utils/Random.h
include/td/utils/ScopeGuard.h
include/td/utils/SetNode.h
include/td/utils/SharedObjectPool.h
-include/td/utils/SharedSlice.cpp
include/td/utils/SharedSlice.h
include/td/utils/Slice-decl.h
-include/td/utils/Slice.cpp
include/td/utils/Slice.h
include/td/utils/SliceBuilder.h
include/td/utils/Span.h
include/td/utils/SpinLock.h
-include/td/utils/StackAllocator.cpp
include/td/utils/StackAllocator.h
-include/td/utils/Status.cpp
include/td/utils/Status.h
include/td/utils/StealingQueue.h
include/td/utils/Storer.h
include/td/utils/StorerBase.h
-include/td/utils/StringBuilder.cpp
include/td/utils/StringBuilder.h
include/td/utils/ThreadLocalStorage.h
include/td/utils/ThreadSafeCounter.h
-include/td/utils/Time.cpp
include/td/utils/Time.h
include/td/utils/TimedStat.h
-include/td/utils/Timer.cpp
include/td/utils/Timer.h
include/td/utils/TlDowncastHelper.h
include/td/utils/TlStorerToString.h
-include/td/utils/TsCerr.cpp
include/td/utils/TsCerr.h
-include/td/utils/TsFileLog.cpp
include/td/utils/TsFileLog.h
include/td/utils/TsList.h
-include/td/utils/TsLog.cpp
include/td/utils/TsLog.h
include/td/utils/UInt.h
include/td/utils/Variant.h
@@ -973,129 +604,82 @@ include/td/utils/WaitFreeHashSet.h
include/td/utils/WaitFreeVector.h
include/td/utils/algorithm.h
include/td/utils/as.h
-include/td/utils/base64.cpp
include/td/utils/base64.h
include/td/utils/benchmark.h
include/td/utils/bits.h
-include/td/utils/buffer.cpp
include/td/utils/buffer.h
-include/td/utils/check.cpp
include/td/utils/check.h
include/td/utils/common.h
-include/td/utils/config.h.in
-include/td/utils/crypto.cpp
include/td/utils/crypto.h
-include/td/utils/emoji.cpp
include/td/utils/emoji.h
-include/td/utils/filesystem.cpp
include/td/utils/filesystem.h
-include/td/utils/find_boundary.cpp
include/td/utils/find_boundary.h
include/td/utils/fixed_vector.h
include/td/utils/format.h
include/td/utils/int_types.h
include/td/utils/invoke.h
-include/td/utils/logging.cpp
include/td/utils/logging.h
-include/td/utils/misc.cpp
include/td/utils/misc.h
include/td/utils/optional.h
include/td/utils/overloaded.h
-include/td/utils/port/Clocks.cpp
include/td/utils/port/Clocks.h
include/td/utils/port/CxCli.h
include/td/utils/port/EventFd.h
include/td/utils/port/EventFdBase.h
-include/td/utils/port/FileFd.cpp
include/td/utils/port/FileFd.h
include/td/utils/port/FromApp.h
-include/td/utils/port/IPAddress.cpp
include/td/utils/port/IPAddress.h
include/td/utils/port/IoSlice.h
-include/td/utils/port/MemoryMapping.cpp
include/td/utils/port/MemoryMapping.h
include/td/utils/port/Mutex.h
include/td/utils/port/Poll.h
include/td/utils/port/PollBase.h
-include/td/utils/port/PollFlags.cpp
include/td/utils/port/PollFlags.h
include/td/utils/port/RwMutex.h
-include/td/utils/port/ServerSocketFd.cpp
include/td/utils/port/ServerSocketFd.h
-include/td/utils/port/SocketFd.cpp
include/td/utils/port/SocketFd.h
-include/td/utils/port/Stat.cpp
include/td/utils/port/Stat.h
-include/td/utils/port/StdStreams.cpp
include/td/utils/port/StdStreams.h
-include/td/utils/port/UdpSocketFd.cpp
include/td/utils/port/UdpSocketFd.h
include/td/utils/port/config.h
-include/td/utils/port/detail/Epoll.cpp
include/td/utils/port/detail/Epoll.h
-include/td/utils/port/detail/EventFdBsd.cpp
include/td/utils/port/detail/EventFdBsd.h
-include/td/utils/port/detail/EventFdLinux.cpp
include/td/utils/port/detail/EventFdLinux.h
-include/td/utils/port/detail/EventFdWindows.cpp
include/td/utils/port/detail/EventFdWindows.h
-include/td/utils/port/detail/Iocp.cpp
include/td/utils/port/detail/Iocp.h
-include/td/utils/port/detail/KQueue.cpp
include/td/utils/port/detail/KQueue.h
-include/td/utils/port/detail/NativeFd.cpp
include/td/utils/port/detail/NativeFd.h
-include/td/utils/port/detail/Poll.cpp
include/td/utils/port/detail/Poll.h
include/td/utils/port/detail/PollableFd.h
-include/td/utils/port/detail/Select.cpp
include/td/utils/port/detail/Select.h
-include/td/utils/port/detail/ThreadIdGuard.cpp
include/td/utils/port/detail/ThreadIdGuard.h
-include/td/utils/port/detail/ThreadPthread.cpp
include/td/utils/port/detail/ThreadPthread.h
include/td/utils/port/detail/ThreadStl.h
-include/td/utils/port/detail/WineventPoll.cpp
include/td/utils/port/detail/WineventPoll.h
include/td/utils/port/detail/skip_eintr.h
-include/td/utils/port/path.cpp
include/td/utils/port/path.h
-include/td/utils/port/platform.cpp
include/td/utils/port/platform.h
-include/td/utils/port/rlimit.cpp
include/td/utils/port/rlimit.h
-include/td/utils/port/signals.cpp
include/td/utils/port/signals.h
-include/td/utils/port/sleep.cpp
include/td/utils/port/sleep.h
-include/td/utils/port/stacktrace.cpp
include/td/utils/port/stacktrace.h
include/td/utils/port/thread.h
-include/td/utils/port/thread_local.cpp
include/td/utils/port/thread_local.h
-include/td/utils/port/uname.cpp
include/td/utils/port/uname.h
-include/td/utils/port/user.cpp
include/td/utils/port/user.h
-include/td/utils/port/wstring_convert.cpp
include/td/utils/port/wstring_convert.h
include/td/utils/queue.h
include/td/utils/simple_tests.h
-include/td/utils/tests.cpp
include/td/utils/tests.h
include/td/utils/tl_helpers.h
-include/td/utils/tl_parsers.cpp
include/td/utils/tl_parsers.h
include/td/utils/tl_storers.h
-include/td/utils/translit.cpp
include/td/utils/translit.h
include/td/utils/type_traits.h
include/td/utils/uint128.h
-include/td/utils/unicode.cpp
include/td/utils/unicode.h
include/td/utils/unique_ptr.h
include/td/utils/unique_value_ptr.h
-include/td/utils/utf8.cpp
include/td/utils/utf8.h
lib/cmake/Td/TdConfig.cmake
lib/cmake/Td/TdConfigVersion.cmake
diff --git a/net/Makefile b/net/Makefile
index ad7a7d673d57..8b6f8ba0d8c0 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
diff --git a/net/asterisk20/Makefile b/net/asterisk20/Makefile
index 9702a5858399..db47bd050928 100644
--- a/net/asterisk20/Makefile
+++ b/net/asterisk20/Makefile
@@ -1,5 +1,5 @@
PORTNAME= asterisk
-DISTVERSION= 20.13.0
+DISTVERSION= 20.14.0
CATEGORIES= net
MASTER_SITES= https://downloads.asterisk.org/pub/telephony/%SUBDIR%/:DEFAULT,g729
MASTER_SITE_SUBDIR= asterisk/ \
@@ -220,6 +220,10 @@ PJSIP_VERSION= 2.15.1
.include <bsd.port.pre.mk>
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1500026
+EXTRA_PATCHES= ${PATCHDIR}/extra-patch-third-party_pjproject_Makefile
+.endif
+
.if (${OPSYS} == FreeBSD && ${OSVERSION} >= 1400092 && ${SSL_DEFAULT} == base) || \
${SSL_DEFAULT:Mopenssl3*}
LIB_DEPENDS+= libgnutls.so:security/gnutls
diff --git a/net/asterisk20/distinfo b/net/asterisk20/distinfo
index e434cabdd451..863cb2748d8c 100644
--- a/net/asterisk20/distinfo
+++ b/net/asterisk20/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1743145333
-SHA256 (asterisk/asterisk-20.13.0.tar.gz) = c7113837c8c327db147c77b4dcec04e8115fdcf24f1c700a5661720b4df1f04a
-SIZE (asterisk/asterisk-20.13.0.tar.gz) = 28412463
+TIMESTAMP = 1746865242
+SHA256 (asterisk/asterisk-20.14.0.tar.gz) = f9152e87467d5b57a898e3bc69bcded87b8525db21e5bf06ea361120af838ce6
+SIZE (asterisk/asterisk-20.14.0.tar.gz) = 28438237
SHA256 (asterisk/asterisk-core-sounds-en-g729-1.6.tar.gz) = b49dec15e07bb9bff6af0da3a07180651a38ef54d3ea54a3f20c35f081ed8714
SIZE (asterisk/asterisk-core-sounds-en-g729-1.6.tar.gz) = 1557798
SHA256 (asterisk/asterisk-moh-opsound-g729-2.03.tar.gz) = 0147ca9a97f0c550227aacb7793499057c4d2c64e021c95f93722f27d5549585
diff --git a/net/asterisk20/files/extra-patch-third-party_pjproject_Makefile b/net/asterisk20/files/extra-patch-third-party_pjproject_Makefile
new file mode 100644
index 000000000000..87eef1e94182
--- /dev/null
+++ b/net/asterisk20/files/extra-patch-third-party_pjproject_Makefile
@@ -0,0 +1,11 @@
+--- third-party/pjproject/Makefile.orig 2022-02-03 12:25:09 UTC
++++ third-party/pjproject/Makefile
+@@ -212,7 +208,7 @@ $(ALL_LIB_FILES): source/build.mak source/pjlib/includ
+
+ pjproject.symbols: $(ALL_LIB_FILES)
+ $(ECHO_PREFIX) Generating symbols
+- $(CMD_PREFIX) $(NM) -Pog $(ALL_LIB_FILES) | $(SED) -n -E -e "s/.+: ([_]?[pP][jJ][^ ]+) .+/\1/gp" | sort -u > pjproject.symbols
++ $(CMD_PREFIX) $(NM) -Pog $(ALL_LIB_FILES) | $(SED) -n -r -e "s/^([pP][jJ][^ ]+) .+/\1/gp" | sort -u > pjproject.symbols
+
+ source/pjsip-apps/src/asterisk_malloc_debug.c: patches/asterisk_malloc_debug.c
+ $(ECHO_PREFIX) Copying $< to $@
diff --git a/net/asterisk20/files/patch-third-party_pjproject_Makefile b/net/asterisk20/files/patch-third-party_pjproject_Makefile
index dcfd4d618e80..c9a1732c0d27 100644
--- a/net/asterisk20/files/patch-third-party_pjproject_Makefile
+++ b/net/asterisk20/files/patch-third-party_pjproject_Makefile
@@ -19,12 +19,3 @@
rm -rf source pjproject-*/ $(REALLY_QUIET) || : ;\
$(TAR) -xjf $< ;\
mv pjproject-$(PJPROJECT_VERSION) source
-@@ -212,7 +208,7 @@ $(ALL_LIB_FILES): source/build.mak source/pjlib/includ
-
- pjproject.symbols: $(ALL_LIB_FILES)
- $(ECHO_PREFIX) Generating symbols
-- $(CMD_PREFIX) $(NM) -Pog $(ALL_LIB_FILES) | $(SED) -n -E -e "s/.+: ([_]?[pP][jJ][^ ]+) .+/\1/gp" | sort -u > pjproject.symbols
-+ $(CMD_PREFIX) $(NM) -Pog $(ALL_LIB_FILES) | $(SED) -n -r -e "s/^([pP][jJ][^ ]+) .+/\1/gp" | sort -u > pjproject.symbols
-
- source/pjsip-apps/src/asterisk_malloc_debug.c: patches/asterisk_malloc_debug.c
- $(ECHO_PREFIX) Copying $< to $@
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/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/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/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/shadowsocks-rust/Makefile b/net/shadowsocks-rust/Makefile
index 35d7cf8ea581..0edc9247b167 100644
--- a/net/shadowsocks-rust/Makefile
+++ b/net/shadowsocks-rust/Makefile
@@ -1,6 +1,6 @@
PORTNAME= shadowsocks-rust
DISTVERSIONPREFIX= v
-DISTVERSION= 1.23.2
+DISTVERSION= 1.23.4
CATEGORIES= net
MAINTAINER= yuri@FreeBSD.org
diff --git a/net/shadowsocks-rust/Makefile.crates b/net/shadowsocks-rust/Makefile.crates
index 7ae098a9fe0f..d26d773f3e71 100644
--- a/net/shadowsocks-rust/Makefile.crates
+++ b/net/shadowsocks-rust/Makefile.crates
@@ -4,7 +4,7 @@ CARGO_CRATES= addr2line-0.24.2 \
aes-0.8.4 \
aes-gcm-0.10.3 \
aes-gcm-siv-0.11.1 \
- ahash-0.8.11 \
+ ahash-0.8.12 \
aho-corasick-1.1.3 \
alloc-no-stdlib-2.0.4 \
alloc-stdlib-0.2.2 \
@@ -15,17 +15,16 @@ CARGO_CRATES= addr2line-0.24.2 \
anstyle-parse-0.2.6 \
anstyle-query-1.1.2 \
anstyle-wincon-3.0.7 \
- anyhow-1.0.97 \
+ anyhow-1.0.98 \
arc-swap-1.7.1 \
arrayref-0.3.9 \
arrayvec-0.7.6 \
async-channel-2.3.1 \
- async-recursion-1.1.1 \
async-task-4.7.1 \
async-trait-0.1.88 \
atomic-waker-1.1.2 \
autocfg-1.4.0 \
- backtrace-0.3.74 \
+ backtrace-0.3.75 \
base16ct-0.2.0 \
base64-0.22.1 \
base64ct-1.7.3 \
@@ -38,7 +37,7 @@ CARGO_CRATES= addr2line-0.24.2 \
block-buffer-0.10.4 \
blocking-1.6.1 \
bloomfilter-3.0.1 \
- brotli-8.0.0 \
+ brotli-8.0.1 \
brotli-decompressor-5.0.0 \
bson-2.14.0 \
build-time-0.1.3 \
@@ -50,18 +49,18 @@ CARGO_CRATES= addr2line-0.24.2 \
c2rust-bitfields-0.19.0 \
c2rust-bitfields-derive-0.19.0 \
camellia-0.1.0 \
- cc-1.2.17 \
+ cc-1.2.22 \
ccm-0.5.0 \
cexpr-0.6.0 \
cfg-if-1.0.0 \
cfg_aliases-0.2.1 \
chacha20-0.9.1 \
chacha20poly1305-0.10.1 \
- chrono-0.4.40 \
+ chrono-0.4.41 \
cipher-0.4.4 \
clang-sys-1.8.1 \
- clap-4.5.37 \
- clap_builder-4.5.37 \
+ clap-4.5.38 \
+ clap_builder-4.5.38 \
clap_lex-0.7.4 \
cmake-0.1.54 \
colorchoice-1.0.3 \
@@ -81,12 +80,12 @@ CARGO_CRATES= addr2line-0.24.2 \
crypto-common-0.1.6 \
ctr-0.9.2 \
daemonize-0.5.0 \
- data-encoding-2.8.0 \
+ data-encoding-2.9.0 \
defmt-0.3.100 \
defmt-1.0.1 \
defmt-macros-1.0.1 \
defmt-parser-1.0.0 \
- der-0.7.9 \
+ der-0.7.10 \
deranged-0.4.0 \
derivative-2.2.0 \
destructure_traitobject-0.2.0 \
@@ -105,7 +104,7 @@ CARGO_CRATES= addr2line-0.24.2 \
env_filter-0.1.3 \
env_logger-0.11.8 \
equivalent-1.0.2 \
- errno-0.3.10 \
+ errno-0.3.11 \
etherparse-0.18.0 \
event-listener-5.4.0 \
event-listener-strategy-0.5.4 \
@@ -131,25 +130,24 @@ CARGO_CRATES= addr2line-0.24.2 \
futures-util-0.3.31 \
generator-0.8.4 \
generic-array-0.14.7 \
- getrandom-0.2.15 \
- getrandom-0.3.2 \
+ getrandom-0.2.16 \
+ getrandom-0.3.3 \
ghash-0.5.1 \
gimli-0.31.1 \
glob-0.3.2 \
group-0.13.0 \
- h2-0.4.8 \
+ h2-0.4.10 \
h3-0.0.7 \
h3-quinn-0.0.9 \
hash32-0.3.1 \
- hashbrown-0.15.2 \
+ hashbrown-0.15.3 \
heapless-0.8.0 \
heck-0.5.0 \
hex-0.4.3 \
- hickory-proto-0.25.1 \
- hickory-resolver-0.25.1 \
+ hickory-proto-0.25.2 \
+ hickory-resolver-0.25.2 \
hkdf-0.12.4 \
hmac-0.12.1 \
- hostname-0.4.0 \
http-1.3.1 \
http-body-1.0.1 \
http-body-util-0.1.3 \
@@ -162,19 +160,16 @@ CARGO_CRATES= addr2line-0.24.2 \
hyper-util-0.1.11 \
iana-time-zone-0.1.63 \
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.1 \
- icu_normalizer-1.5.0 \
- icu_normalizer_data-1.5.1 \
- icu_properties-1.5.1 \
- icu_properties_data-1.5.1 \
- icu_provider-1.5.0 \
- icu_provider_macros-1.5.0 \
+ icu_collections-2.0.0 \
+ icu_locale_core-2.0.0 \
+ icu_normalizer-2.0.0 \
+ icu_normalizer_data-2.0.0 \
+ icu_properties-2.0.0 \
+ icu_properties_data-2.0.0 \
+ icu_provider-2.0.0 \
idna-1.0.3 \
- idna_adapter-1.2.0 \
- indexmap-2.8.0 \
+ idna_adapter-1.2.1 \
+ indexmap-2.9.0 \
inotify-0.11.0 \
inotify-sys-0.1.5 \
inout-0.1.4 \
@@ -187,28 +182,29 @@ CARGO_CRATES= addr2line-0.24.2 \
itoa-1.0.15 \
jemalloc-sys-0.5.4+5.3.0-patched \
jemallocator-0.5.4 \
- jiff-0.2.5 \
- jiff-static-0.2.5 \
+ jiff-0.2.13 \
+ jiff-static-0.2.13 \
jobserver-0.1.33 \
js-sys-0.3.77 \
json5-0.4.1 \
- kqueue-1.0.8 \
+ kqueue-1.1.1 \
kqueue-sys-1.0.4 \
lazy_static-1.5.0 \
lazycell-1.3.0 \
libc-0.2.172 \
- libloading-0.8.6 \
+ libloading-0.8.7 \
libmimalloc-sys-0.1.42 \
libredox-0.1.3 \
librocksdb-sys-0.17.1+9.9.3 \
libz-sys-1.1.22 \
- linux-raw-sys-0.9.3 \
- litemap-0.7.5 \
+ linux-raw-sys-0.9.4 \
+ litemap-0.8.0 \
lock_api-0.4.12 \
log-0.4.27 \
log-mdc-0.1.0 \
log4rs-1.3.0 \
loom-0.7.2 \
+ lru-slab-0.1.2 \
lru_time_cache-0.11.11 \
lz4-sys-1.11.1+lz4-1.10.0 \
managed-0.8.0 \
@@ -218,11 +214,11 @@ CARGO_CRATES= addr2line-0.24.2 \
mimalloc-0.1.46 \
mime-0.3.17 \
minimal-lexical-0.2.1 \
- miniz_oxide-0.8.5 \
+ miniz_oxide-0.8.8 \
mio-1.0.3 \
moka-0.12.10 \
native-tls-0.2.14 \
- nix-0.29.0 \
+ nix-0.30.1 \
nom-7.1.3 \
notify-8.0.0 \
notify-types-2.0.0 \
@@ -236,8 +232,8 @@ CARGO_CRATES= addr2line-0.24.2 \
openssl-0.10.72 \
openssl-macros-0.1.1 \
openssl-probe-0.1.6 \
- openssl-src-300.4.2+3.4.1 \
- openssl-sys-0.9.107 \
+ openssl-src-300.5.0+3.5.0 \
+ openssl-sys-0.9.108 \
option-ext-0.2.0 \
ordered-float-2.10.1 \
overload-0.1.1 \
@@ -262,16 +258,17 @@ CARGO_CRATES= addr2line-0.24.2 \
polyval-0.6.2 \
portable-atomic-1.11.0 \
portable-atomic-util-0.2.4 \
+ potential_utf-0.1.2 \
powerfmt-0.2.0 \
ppv-lite86-0.2.21 \
primeorder-0.13.6 \
proc-macro-error-attr2-2.0.0 \
proc-macro-error2-2.0.1 \
- proc-macro2-1.0.94 \
+ proc-macro2-1.0.95 \
qrcode-0.14.1 \
- quinn-0.11.7 \
- quinn-proto-0.11.10 \
- quinn-udp-0.5.11 \
+ quinn-0.11.8 \
+ quinn-proto-0.11.12 \
+ quinn-udp-0.5.12 \
quote-1.0.40 \
r-efi-5.2.0 \
radium-0.7.0 \
@@ -281,7 +278,7 @@ CARGO_CRATES= addr2line-0.24.2 \
rand_chacha-0.9.0 \
rand_core-0.6.4 \
rand_core-0.9.3 \
- redox_syscall-0.5.10 \
+ redox_syscall-0.5.12 \
redox_users-0.5.0 \
regex-1.11.1 \
regex-automata-0.1.10 \
@@ -289,24 +286,24 @@ CARGO_CRATES= addr2line-0.24.2 \
regex-syntax-0.6.29 \
regex-syntax-0.8.5 \
reqwest-0.12.15 \
- resolv-conf-0.7.1 \
+ resolv-conf-0.7.3 \
ring-0.17.14 \
ring-compat-0.8.0 \
rocksdb-0.23.0 \
rpassword-7.4.0 \
rpmalloc-0.2.2 \
rpmalloc-sys-0.2.3+b097fd0 \
- rtoolbox-0.0.2 \
+ rtoolbox-0.0.3 \
rustc-demangle-0.1.24 \
rustc-hash-1.1.0 \
rustc-hash-2.1.1 \
rustc_version-0.4.1 \
- rustix-1.0.5 \
- rustls-0.23.25 \
+ rustix-1.0.7 \
+ rustls-0.23.27 \
rustls-native-certs-0.8.1 \
rustls-pemfile-2.2.0 \
- rustls-pki-types-1.11.0 \
- rustls-webpki-0.103.1 \
+ rustls-pki-types-1.12.0 \
+ rustls-webpki-0.103.3 \
rustversion-1.0.20 \
ryu-1.0.20 \
same-file-1.0.6 \
@@ -327,16 +324,16 @@ CARGO_CRATES= addr2line-0.24.2 \
serde_urlencoded-0.7.1 \
serde_yaml-0.9.34+deprecated \
sha1-0.10.6 \
- sha2-0.10.8 \
+ sha2-0.10.9 \
shadowsocks-crypto-0.6.1 \
sharded-slab-0.1.7 \
shlex-1.3.0 \
- signal-hook-registry-1.4.2 \
+ signal-hook-registry-1.4.5 \
signature-2.2.0 \
siphasher-1.0.1 \
slab-0.4.9 \
sm4-0.5.1 \
- smallvec-1.14.0 \
+ smallvec-1.15.0 \
smoltcp-0.12.0 \
snmalloc-rs-0.3.8 \
snmalloc-sys-0.3.8 \
@@ -347,9 +344,9 @@ CARGO_CRATES= addr2line-0.24.2 \
strsim-0.11.1 \
subtle-2.6.1 \
syn-1.0.109 \
- syn-2.0.100 \
+ syn-2.0.101 \
sync_wrapper-1.0.2 \
- synstructure-0.13.1 \
+ synstructure-0.13.2 \
sysexits-0.9.0 \
system-configuration-0.6.1 \
system-configuration-sys-0.6.0 \
@@ -357,7 +354,7 @@ CARGO_CRATES= addr2line-0.24.2 \
tap-1.0.1 \
tcmalloc-0.3.0 \
tcmalloc-sys-0.3.0 \
- tempfile-3.19.1 \
+ tempfile-3.20.0 \
terminal_size-0.4.2 \
thiserror-1.0.69 \
thiserror-2.0.12 \
@@ -368,15 +365,15 @@ CARGO_CRATES= addr2line-0.24.2 \
time-0.3.41 \
time-core-0.1.4 \
time-macros-0.2.22 \
- tinystr-0.7.6 \
+ tinystr-0.8.1 \
tinyvec-1.9.0 \
tinyvec_macros-0.1.1 \
- tokio-1.44.2 \
+ tokio-1.45.0 \
tokio-macros-2.5.0 \
tokio-native-tls-0.3.1 \
tokio-rustls-0.26.2 \
tokio-tfo-0.3.1 \
- tokio-util-0.7.14 \
+ tokio-util-0.7.15 \
tower-0.5.2 \
tower-layer-0.3.3 \
tower-service-0.3.3 \
@@ -387,7 +384,7 @@ CARGO_CRATES= addr2line-0.24.2 \
tracing-subscriber-0.3.19 \
trait-variant-0.1.2 \
try-lock-0.2.5 \
- tun-0.7.18 \
+ tun-0.7.19 \
typemap-ors-1.0.0 \
typenum-1.18.0 \
ucd-trie-0.1.7 \
@@ -397,7 +394,6 @@ CARGO_CRATES= addr2line-0.24.2 \
unsafe-libyaml-0.2.11 \
untrusted-0.9.0 \
url-2.5.4 \
- utf16_iter-1.0.5 \
utf8_iter-1.0.4 \
utf8parse-0.2.2 \
uuid-1.16.0 \
@@ -416,15 +412,14 @@ CARGO_CRATES= addr2line-0.24.2 \
wasm-bindgen-shared-0.2.100 \
web-sys-0.3.77 \
web-time-1.1.0 \
- webpki-roots-0.26.8 \
+ webpki-roots-0.26.11 \
+ webpki-roots-1.0.0 \
widestring-1.2.0 \
winapi-0.3.9 \
winapi-i686-pc-windows-gnu-0.4.0 \
winapi-util-0.1.9 \
winapi-x86_64-pc-windows-gnu-0.4.0 \
- windows-0.52.0 \
windows-0.58.0 \
- windows-core-0.52.0 \
windows-core-0.58.0 \
windows-core-0.61.0 \
windows-implement-0.58.0 \
@@ -470,23 +465,21 @@ CARGO_CRATES= addr2line-0.24.2 \
windows_x86_64_msvc-0.53.0 \
winreg-0.50.0 \
winreg-0.55.0 \
- wintun-bindings-0.7.30 \
+ wintun-bindings-0.7.31 \
wit-bindgen-rt-0.39.0 \
- write16-1.0.0 \
- writeable-0.5.5 \
+ writeable-0.6.1 \
wyz-0.5.1 \
- xdg-2.5.2 \
- yoke-0.7.5 \
- yoke-derive-0.7.5 \
- zerocopy-0.7.35 \
- zerocopy-0.8.24 \
- zerocopy-derive-0.7.35 \
- zerocopy-derive-0.8.24 \
+ xdg-3.0.0 \
+ yoke-0.8.0 \
+ yoke-derive-0.8.0 \
+ zerocopy-0.8.25 \
+ zerocopy-derive-0.8.25 \
zerofrom-0.1.6 \
zerofrom-derive-0.1.6 \
zeroize-1.8.1 \
- zerovec-0.10.4 \
- zerovec-derive-0.10.3 \
+ zerotrie-0.2.2 \
+ zerovec-0.11.2 \
+ zerovec-derive-0.11.1 \
zstd-0.13.3 \
zstd-safe-7.2.4 \
zstd-sys-2.0.15+zstd.1.5.7
diff --git a/net/shadowsocks-rust/distinfo b/net/shadowsocks-rust/distinfo
index e04aa372314c..9e80069496b2 100644
--- a/net/shadowsocks-rust/distinfo
+++ b/net/shadowsocks-rust/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1745725834
+TIMESTAMP = 1747122885
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
@@ -11,8 +11,8 @@ SHA256 (rust/crates/aes-gcm-0.10.3.crate) = 831010a0f742e1209b3bcea8fab6a8e14905
SIZE (rust/crates/aes-gcm-0.10.3.crate) = 148991
SHA256 (rust/crates/aes-gcm-siv-0.11.1.crate) = ae0784134ba9375416d469ec31e7c5f9fa94405049cf08c5ce5b4698be673e0d
SIZE (rust/crates/aes-gcm-siv-0.11.1.crate) = 26633
-SHA256 (rust/crates/ahash-0.8.11.crate) = e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011
-SIZE (rust/crates/ahash-0.8.11.crate) = 43607
+SHA256 (rust/crates/ahash-0.8.12.crate) = 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75
+SIZE (rust/crates/ahash-0.8.12.crate) = 43413
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
@@ -33,8 +33,8 @@ SHA256 (rust/crates/anstyle-query-1.1.2.crate) = 79947af37f4177cfead1110013d6789
SIZE (rust/crates/anstyle-query-1.1.2.crate) = 9969
SHA256 (rust/crates/anstyle-wincon-3.0.7.crate) = ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e
SIZE (rust/crates/anstyle-wincon-3.0.7.crate) = 12400
-SHA256 (rust/crates/anyhow-1.0.97.crate) = dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f
-SIZE (rust/crates/anyhow-1.0.97.crate) = 52221
+SHA256 (rust/crates/anyhow-1.0.98.crate) = e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487
+SIZE (rust/crates/anyhow-1.0.98.crate) = 53334
SHA256 (rust/crates/arc-swap-1.7.1.crate) = 69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457
SIZE (rust/crates/arc-swap-1.7.1.crate) = 68512
SHA256 (rust/crates/arrayref-0.3.9.crate) = 76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb
@@ -43,8 +43,6 @@ SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5b
SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
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-task-4.7.1.crate) = 8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de
SIZE (rust/crates/async-task-4.7.1.crate) = 38077
SHA256 (rust/crates/async-trait-0.1.88.crate) = e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5
@@ -53,8 +51,8 @@ SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d
SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422
SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26
SIZE (rust/crates/autocfg-1.4.0.crate) = 17712
-SHA256 (rust/crates/backtrace-0.3.74.crate) = 8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a
-SIZE (rust/crates/backtrace-0.3.74.crate) = 88516
+SHA256 (rust/crates/backtrace-0.3.75.crate) = 6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002
+SIZE (rust/crates/backtrace-0.3.75.crate) = 92665
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
@@ -79,8 +77,8 @@ SHA256 (rust/crates/blocking-1.6.1.crate) = 703f41c54fc768e63e091340b424302bb1c2
SIZE (rust/crates/blocking-1.6.1.crate) = 17788
SHA256 (rust/crates/bloomfilter-3.0.1.crate) = 1f6d7f06817e48ea4e17532fa61bc4e8b9a101437f0623f69d2ea54284f3a817
SIZE (rust/crates/bloomfilter-3.0.1.crate) = 51639
-SHA256 (rust/crates/brotli-8.0.0.crate) = cf19e729cdbd51af9a397fb9ef8ac8378007b797f8273cfbfdf45dcaa316167b
-SIZE (rust/crates/brotli-8.0.0.crate) = 741666
+SHA256 (rust/crates/brotli-8.0.1.crate) = 9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d
+SIZE (rust/crates/brotli-8.0.1.crate) = 741712
SHA256 (rust/crates/brotli-decompressor-5.0.0.crate) = 874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03
SIZE (rust/crates/brotli-decompressor-5.0.0.crate) = 195282
SHA256 (rust/crates/bson-2.14.0.crate) = af8113ff51309e2779e8785a246c10fb783e8c2452f134d6257fd71cc03ccd6c
@@ -103,8 +101,8 @@ SHA256 (rust/crates/c2rust-bitfields-derive-0.19.0.crate) = a279db9c50c4024eeca1
SIZE (rust/crates/c2rust-bitfields-derive-0.19.0.crate) = 3620
SHA256 (rust/crates/camellia-0.1.0.crate) = 3264e2574e9ef2b53ce6f536dea83a69ac0bc600b762d1523ff83fe07230ce30
SIZE (rust/crates/camellia-0.1.0.crate) = 89085
-SHA256 (rust/crates/cc-1.2.17.crate) = 1fcb57c740ae1daf453ae85f16e37396f672b039e00d9d866e07ddb24e328e3a
-SIZE (rust/crates/cc-1.2.17.crate) = 105794
+SHA256 (rust/crates/cc-1.2.22.crate) = 32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1
+SIZE (rust/crates/cc-1.2.22.crate) = 106294
SHA256 (rust/crates/ccm-0.5.0.crate) = 9ae3c82e4355234767756212c570e29833699ab63e6ffd161887314cc5b43847
SIZE (rust/crates/ccm-0.5.0.crate) = 242273
SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766
@@ -117,16 +115,16 @@ SHA256 (rust/crates/chacha20-0.9.1.crate) = c3613f74bd2eac03dad61bd53dbe620703d4
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/chrono-0.4.40.crate) = 1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c
-SIZE (rust/crates/chrono-0.4.40.crate) = 229824
+SHA256 (rust/crates/chrono-0.4.41.crate) = c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d
+SIZE (rust/crates/chrono-0.4.41.crate) = 234621
SHA256 (rust/crates/cipher-0.4.4.crate) = 773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad
SIZE (rust/crates/cipher-0.4.4.crate) = 19073
SHA256 (rust/crates/clang-sys-1.8.1.crate) = 0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4
SIZE (rust/crates/clang-sys-1.8.1.crate) = 44009
-SHA256 (rust/crates/clap-4.5.37.crate) = eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071
-SIZE (rust/crates/clap-4.5.37.crate) = 56962
-SHA256 (rust/crates/clap_builder-4.5.37.crate) = efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2
-SIZE (rust/crates/clap_builder-4.5.37.crate) = 168761
+SHA256 (rust/crates/clap-4.5.38.crate) = ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000
+SIZE (rust/crates/clap-4.5.38.crate) = 57140
+SHA256 (rust/crates/clap_builder-4.5.38.crate) = 379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120
+SIZE (rust/crates/clap_builder-4.5.38.crate) = 169177
SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
SIZE (rust/crates/clap_lex-0.7.4.crate) = 12858
SHA256 (rust/crates/cmake-0.1.54.crate) = e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0
@@ -165,8 +163,8 @@ SHA256 (rust/crates/ctr-0.9.2.crate) = 0369ee1ad671834580515889b80f2ea915f23b8be
SIZE (rust/crates/ctr-0.9.2.crate) = 18344
SHA256 (rust/crates/daemonize-0.5.0.crate) = ab8bfdaacb3c887a54d41bdf48d3af8873b3f5566469f8ba21b92057509f116e
SIZE (rust/crates/daemonize-0.5.0.crate) = 7125
-SHA256 (rust/crates/data-encoding-2.8.0.crate) = 575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010
-SIZE (rust/crates/data-encoding-2.8.0.crate) = 21394
+SHA256 (rust/crates/data-encoding-2.9.0.crate) = 2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476
+SIZE (rust/crates/data-encoding-2.9.0.crate) = 21564
SHA256 (rust/crates/defmt-0.3.100.crate) = f0963443817029b2024136fc4dd07a5107eb8f977eaf18fcd1fdeb11306b64ad
SIZE (rust/crates/defmt-0.3.100.crate) = 6189
SHA256 (rust/crates/defmt-1.0.1.crate) = 548d977b6da32fa1d1fda2876453da1e7df63ad0304c8b3dae4dbe7b96f39b78
@@ -175,8 +173,8 @@ SHA256 (rust/crates/defmt-macros-1.0.1.crate) = 3d4fc12a85bcf441cfe44344c4b72d58
SIZE (rust/crates/defmt-macros-1.0.1.crate) = 22630
SHA256 (rust/crates/defmt-parser-1.0.0.crate) = 10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e
SIZE (rust/crates/defmt-parser-1.0.0.crate) = 10881
-SHA256 (rust/crates/der-0.7.9.crate) = f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0
-SIZE (rust/crates/der-0.7.9.crate) = 85173
+SHA256 (rust/crates/der-0.7.10.crate) = e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb
+SIZE (rust/crates/der-0.7.10.crate) = 90111
SHA256 (rust/crates/deranged-0.4.0.crate) = 9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e
SIZE (rust/crates/deranged-0.4.0.crate) = 23235
SHA256 (rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b
@@ -213,8 +211,8 @@ SHA256 (rust/crates/env_logger-0.11.8.crate) = 13c863f0904021b108aa8b2f55046443e
SIZE (rust/crates/env_logger-0.11.8.crate) = 32538
SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f
SIZE (rust/crates/equivalent-1.0.2.crate) = 7419
-SHA256 (rust/crates/errno-0.3.10.crate) = 33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d
-SIZE (rust/crates/errno-0.3.10.crate) = 11824
+SHA256 (rust/crates/errno-0.3.11.crate) = 976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e
+SIZE (rust/crates/errno-0.3.11.crate) = 12048
SHA256 (rust/crates/etherparse-0.18.0.crate) = 3ff83a5facf1a7cbfef93cfb48d6d4fb6a1f42d8ac2341a96b3255acb4d4f860
SIZE (rust/crates/etherparse-0.18.0.crate) = 446226
SHA256 (rust/crates/event-listener-5.4.0.crate) = 3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae
@@ -265,10 +263,10 @@ SHA256 (rust/crates/generator-0.8.4.crate) = cc6bd114ceda131d3b1d665eba35788690a
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.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
-SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
-SHA256 (rust/crates/getrandom-0.3.2.crate) = 73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0
-SIZE (rust/crates/getrandom-0.3.2.crate) = 49140
+SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592
+SIZE (rust/crates/getrandom-0.2.16.crate) = 40163
+SHA256 (rust/crates/getrandom-0.3.3.crate) = 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4
+SIZE (rust/crates/getrandom-0.3.3.crate) = 49493
SHA256 (rust/crates/ghash-0.5.1.crate) = f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1
SIZE (rust/crates/ghash-0.5.1.crate) = 9482
SHA256 (rust/crates/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f
@@ -277,32 +275,30 @@ SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58
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.8.crate) = 5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2
-SIZE (rust/crates/h2-0.4.8.crate) = 174535
+SHA256 (rust/crates/h2-0.4.10.crate) = a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5
+SIZE (rust/crates/h2-0.4.10.crate) = 174800
SHA256 (rust/crates/h3-0.0.7.crate) = 7dfb059a4f28a66f186ed16ad912d142f490676acba59353831d7cb45a96b0d3
SIZE (rust/crates/h3-0.0.7.crate) = 117561
SHA256 (rust/crates/h3-quinn-0.0.9.crate) = 6d482318ae94198fc8e3cbb0b7ba3099c865d744e6ec7c62039ca7b6b6c66fbf
SIZE (rust/crates/h3-quinn-0.0.9.crate) = 13981
SHA256 (rust/crates/hash32-0.3.1.crate) = 47d60b12902ba28e2730cd37e95b8c9223af2808df9e902d4df49588d1470606
SIZE (rust/crates/hash32-0.3.1.crate) = 10273
-SHA256 (rust/crates/hashbrown-0.15.2.crate) = bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289
-SIZE (rust/crates/hashbrown-0.15.2.crate) = 138478
+SHA256 (rust/crates/hashbrown-0.15.3.crate) = 84b26c544d002229e640969970a2e74021aadf6e2f96372b9c58eff97de08eb3
+SIZE (rust/crates/hashbrown-0.15.3.crate) = 140413
SHA256 (rust/crates/heapless-0.8.0.crate) = 0bfb9eb618601c89945a70e254898da93b13be0388091d42117462b265bb3fad
SIZE (rust/crates/heapless-0.8.0.crate) = 77802
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.1.crate) = 6d844af74f7b799e41c78221be863bade11c430d46042c3b49ca8ae0c6d27287
-SIZE (rust/crates/hickory-proto-0.25.1.crate) = 413254
-SHA256 (rust/crates/hickory-resolver-0.25.1.crate) = a128410b38d6f931fcc6ca5c107a3b02cabd6c05967841269a4ad65d23c44331
-SIZE (rust/crates/hickory-resolver-0.25.1.crate) = 90654
+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/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/hostname-0.4.0.crate) = f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba
-SIZE (rust/crates/hostname-0.4.0.crate) = 10632
SHA256 (rust/crates/http-1.3.1.crate) = f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565
SIZE (rust/crates/http-1.3.1.crate) = 106063
SHA256 (rust/crates/http-body-1.0.1.crate) = 1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184
@@ -327,32 +323,26 @@ SHA256 (rust/crates/iana-time-zone-0.1.63.crate) = b0c919e5debc312ad217002b8048a
SIZE (rust/crates/iana-time-zone-0.1.63.crate) = 32919
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.1.crate) = 7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d
-SIZE (rust/crates/icu_locid_transform_data-1.5.1.crate) = 42937
-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.1.crate) = c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7
-SIZE (rust/crates/icu_normalizer_data-1.5.1.crate) = 50737
-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.1.crate) = 85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2
-SIZE (rust/crates/icu_properties_data-1.5.1.crate) = 229231
-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/icu_collections-2.0.0.crate) = 200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47
+SIZE (rust/crates/icu_collections-2.0.0.crate) = 83033
+SHA256 (rust/crates/icu_locale_core-2.0.0.crate) = 0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a
+SIZE (rust/crates/icu_locale_core-2.0.0.crate) = 74430
+SHA256 (rust/crates/icu_normalizer-2.0.0.crate) = 436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979
+SIZE (rust/crates/icu_normalizer-2.0.0.crate) = 61543
+SHA256 (rust/crates/icu_normalizer_data-2.0.0.crate) = 00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3
+SIZE (rust/crates/icu_normalizer_data-2.0.0.crate) = 68101
+SHA256 (rust/crates/icu_properties-2.0.0.crate) = 2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a
+SIZE (rust/crates/icu_properties-2.0.0.crate) = 58065
+SHA256 (rust/crates/icu_properties_data-2.0.0.crate) = 8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04
+SIZE (rust/crates/icu_properties_data-2.0.0.crate) = 159069
+SHA256 (rust/crates/icu_provider-2.0.0.crate) = 03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af
+SIZE (rust/crates/icu_provider-2.0.0.crate) = 50966
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/indexmap-2.8.0.crate) = 3954d50fe15b02142bf25d3b8bdadb634ec3948f103d04ffe3031bc8fe9d7058
-SIZE (rust/crates/indexmap-2.8.0.crate) = 89670
+SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
+SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389
+SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e
+SIZE (rust/crates/indexmap-2.9.0.crate) = 91214
SHA256 (rust/crates/inotify-0.11.0.crate) = f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3
SIZE (rust/crates/inotify-0.11.0.crate) = 26241
SHA256 (rust/crates/inotify-sys-0.1.5.crate) = e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb
@@ -377,18 +367,18 @@ SHA256 (rust/crates/jemalloc-sys-0.5.4+5.3.0-patched.crate) = ac6c1946e1cea1788c
SIZE (rust/crates/jemalloc-sys-0.5.4+5.3.0-patched.crate) = 884321
SHA256 (rust/crates/jemallocator-0.5.4.crate) = a0de374a9f8e63150e6f5e8a60cc14c668226d7a347d8aee1a45766e3c4dd3bc
SIZE (rust/crates/jemallocator-0.5.4.crate) = 13088
-SHA256 (rust/crates/jiff-0.2.5.crate) = c102670231191d07d37a35af3eb77f1f0dbf7a71be51a962dcd57ea607be7260
-SIZE (rust/crates/jiff-0.2.5.crate) = 698600
-SHA256 (rust/crates/jiff-static-0.2.5.crate) = 4cdde31a9d349f1b1f51a0b3714a5940ac022976f4b49485fc04be052b183b4c
-SIZE (rust/crates/jiff-static-0.2.5.crate) = 75874
+SHA256 (rust/crates/jiff-0.2.13.crate) = f02000660d30638906021176af16b17498bd0d12813dbfe7b276d8bc7f3c0806
+SIZE (rust/crates/jiff-0.2.13.crate) = 707842
+SHA256 (rust/crates/jiff-static-0.2.13.crate) = f3c30758ddd7188629c6713fc45d1188af4f44c90582311d0c8d8c9907f60c48
+SIZE (rust/crates/jiff-static-0.2.13.crate) = 76123
SHA256 (rust/crates/jobserver-0.1.33.crate) = 38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a
SIZE (rust/crates/jobserver-0.1.33.crate) = 29136
SHA256 (rust/crates/js-sys-0.3.77.crate) = 1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f
SIZE (rust/crates/js-sys-0.3.77.crate) = 55538
SHA256 (rust/crates/json5-0.4.1.crate) = 96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1
SIZE (rust/crates/json5-0.4.1.crate) = 15678
-SHA256 (rust/crates/kqueue-1.0.8.crate) = 7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c
-SIZE (rust/crates/kqueue-1.0.8.crate) = 12642
+SHA256 (rust/crates/kqueue-1.1.1.crate) = eac30106d7dce88daf4a3fcb4879ea939476d5074a9b7ddd0fb97fa4bed5596a
+SIZE (rust/crates/kqueue-1.1.1.crate) = 21504
SHA256 (rust/crates/kqueue-sys-1.0.4.crate) = ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b
SIZE (rust/crates/kqueue-sys-1.0.4.crate) = 7160
SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe
@@ -397,8 +387,8 @@ SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013
SIZE (rust/crates/lazycell-1.3.0.crate) = 12502
SHA256 (rust/crates/libc-0.2.172.crate) = d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa
SIZE (rust/crates/libc-0.2.172.crate) = 791646
-SHA256 (rust/crates/libloading-0.8.6.crate) = fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34
-SIZE (rust/crates/libloading-0.8.6.crate) = 28922
+SHA256 (rust/crates/libloading-0.8.7.crate) = 6a793df0d7afeac54f95b471d3af7f0d4fb975699f972341a4b76988d49cdf0c
+SIZE (rust/crates/libloading-0.8.7.crate) = 30374
SHA256 (rust/crates/libmimalloc-sys-0.1.42.crate) = ec9d6fac27761dabcd4ee73571cdb06b7022dc99089acbe5435691edffaac0f4
SIZE (rust/crates/libmimalloc-sys-0.1.42.crate) = 224614
SHA256 (rust/crates/libredox-0.1.3.crate) = c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d
@@ -407,10 +397,10 @@ SHA256 (rust/crates/librocksdb-sys-0.17.1+9.9.3.crate) = 2b7869a512ae9982f4d46ba
SIZE (rust/crates/librocksdb-sys-0.17.1+9.9.3.crate) = 6898368
SHA256 (rust/crates/libz-sys-1.1.22.crate) = 8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d
SIZE (rust/crates/libz-sys-1.1.22.crate) = 841053
-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.5.crate) = 23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856
-SIZE (rust/crates/litemap-0.7.5.crate) = 29962
+SHA256 (rust/crates/linux-raw-sys-0.9.4.crate) = cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12
+SIZE (rust/crates/linux-raw-sys-0.9.4.crate) = 2311088
+SHA256 (rust/crates/litemap-0.8.0.crate) = 241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956
+SIZE (rust/crates/litemap-0.8.0.crate) = 34344
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
@@ -421,6 +411,8 @@ SHA256 (rust/crates/log4rs-1.3.0.crate) = 0816135ae15bd0391cf284eab37e6e3ee0a6ee
SIZE (rust/crates/log4rs-1.3.0.crate) = 66668
SHA256 (rust/crates/loom-0.7.2.crate) = 419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca
SIZE (rust/crates/loom-0.7.2.crate) = 73989
+SHA256 (rust/crates/lru-slab-0.1.2.crate) = 112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154
+SIZE (rust/crates/lru-slab-0.1.2.crate) = 9090
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/lz4-sys-1.11.1+lz4-1.10.0.crate) = 6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6
@@ -439,16 +431,16 @@ SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bc
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.8.5.crate) = 8e3e04debbb59698c15bacbb6d93584a8c0ca9cc3213cb423d31f760d8843ce5
-SIZE (rust/crates/miniz_oxide-0.8.5.crate) = 62237
+SHA256 (rust/crates/miniz_oxide-0.8.8.crate) = 3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a
+SIZE (rust/crates/miniz_oxide-0.8.8.crate) = 67065
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/native-tls-0.2.14.crate) = 87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e
SIZE (rust/crates/native-tls-0.2.14.crate) = 29385
-SHA256 (rust/crates/nix-0.29.0.crate) = 71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46
-SIZE (rust/crates/nix-0.29.0.crate) = 318248
+SHA256 (rust/crates/nix-0.30.1.crate) = 74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6
+SIZE (rust/crates/nix-0.30.1.crate) = 342015
SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
SIZE (rust/crates/nom-7.1.3.crate) = 117570
SHA256 (rust/crates/notify-8.0.0.crate) = 2fee8403b3d66ac7b26aee6e40a897d85dc5ce26f44da36b8b73e987cc52e943
@@ -475,10 +467,10 @@ SHA256 (rust/crates/openssl-macros-0.1.1.crate) = a948666b637a0f465e8564c73e89d4
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-src-300.4.2+3.4.1.crate) = 168ce4e058f975fe43e89d9ccf78ca668601887ae736090aacc23ae353c298e2
-SIZE (rust/crates/openssl-src-300.4.2+3.4.1.crate) = 9956732
-SHA256 (rust/crates/openssl-sys-0.9.107.crate) = 8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07
-SIZE (rust/crates/openssl-sys-0.9.107.crate) = 78156
+SHA256 (rust/crates/openssl-src-300.5.0+3.5.0.crate) = e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f
+SIZE (rust/crates/openssl-src-300.5.0+3.5.0.crate) = 10488436
+SHA256 (rust/crates/openssl-sys-0.9.108.crate) = e145e1651e858e820e4860f7b9c5e169bc1d8ce1c86043be79fa7b7634821847
+SIZE (rust/crates/openssl-sys-0.9.108.crate) = 78190
SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
SHA256 (rust/crates/ordered-float-2.10.1.crate) = 68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c
@@ -527,6 +519,8 @@ SHA256 (rust/crates/portable-atomic-1.11.0.crate) = 350e9b48cbc6b0e028b0473b1144
SIZE (rust/crates/portable-atomic-1.11.0.crate) = 181258
SHA256 (rust/crates/portable-atomic-util-0.2.4.crate) = d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507
SIZE (rust/crates/portable-atomic-util-0.2.4.crate) = 47043
+SHA256 (rust/crates/potential_utf-0.1.2.crate) = e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585
+SIZE (rust/crates/potential_utf-0.1.2.crate) = 9613
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.21.crate) = 85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9
@@ -537,16 +531,16 @@ SHA256 (rust/crates/proc-macro-error-attr2-2.0.0.crate) = 96de42df36bb9bba5542fe
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.94.crate) = a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84
-SIZE (rust/crates/proc-macro2-1.0.94.crate) = 52391
+SHA256 (rust/crates/proc-macro2-1.0.95.crate) = 02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778
+SIZE (rust/crates/proc-macro2-1.0.95.crate) = 51820
SHA256 (rust/crates/qrcode-0.14.1.crate) = d68782463e408eb1e668cf6152704bd856c78c5b6417adaee3203d8f4c1fc9ec
SIZE (rust/crates/qrcode-0.14.1.crate) = 66224
-SHA256 (rust/crates/quinn-0.11.7.crate) = c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012
-SIZE (rust/crates/quinn-0.11.7.crate) = 79387
-SHA256 (rust/crates/quinn-proto-0.11.10.crate) = b820744eb4dc9b57a3398183639c511b5a26d2ed702cedd3febaa1393caa22cc
-SIZE (rust/crates/quinn-proto-0.11.10.crate) = 229164
-SHA256 (rust/crates/quinn-udp-0.5.11.crate) = 541d0f57c6ec747a90738a52741d3221f7960e8ac2f0ff4b1a63680e033b4ab5
-SIZE (rust/crates/quinn-udp-0.5.11.crate) = 31854
+SHA256 (rust/crates/quinn-0.11.8.crate) = 626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8
+SIZE (rust/crates/quinn-0.11.8.crate) = 79949
+SHA256 (rust/crates/quinn-proto-0.11.12.crate) = 49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e
+SIZE (rust/crates/quinn-proto-0.11.12.crate) = 235821
+SHA256 (rust/crates/quinn-udp-0.5.12.crate) = ee4e529991f949c5e25755532370b8af5d114acae52326361d68d47af64aa842
+SIZE (rust/crates/quinn-udp-0.5.12.crate) = 31825
SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d
SIZE (rust/crates/quote-1.0.40.crate) = 31063
SHA256 (rust/crates/r-efi-5.2.0.crate) = 74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5
@@ -565,8 +559,8 @@ SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9ba
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/redox_syscall-0.5.10.crate) = 0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1
-SIZE (rust/crates/redox_syscall-0.5.10.crate) = 30226
+SHA256 (rust/crates/redox_syscall-0.5.12.crate) = 928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af
+SIZE (rust/crates/redox_syscall-0.5.12.crate) = 29544
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.11.1.crate) = b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191
@@ -581,8 +575,8 @@ SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303af
SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541
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.1.crate) = 48375394603e3dd4b2d64371f7148fd8c7baa2680e28741f2cb8d23b59e3d4c4
-SIZE (rust/crates/resolv-conf-0.7.1.crate) = 17501
+SHA256 (rust/crates/resolv-conf-0.7.3.crate) = fc7c8f7f733062b66dc1c63f9db168ac0b97a9210e247fa90fdc9ad08f51b302
+SIZE (rust/crates/resolv-conf-0.7.3.crate) = 16929
SHA256 (rust/crates/ring-0.17.14.crate) = a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7
SIZE (rust/crates/ring-0.17.14.crate) = 1502610
SHA256 (rust/crates/ring-compat-0.8.0.crate) = ccce7bae150b815f0811db41b8312fcb74bffa4cab9cee5429ee00f356dd5bd4
@@ -595,8 +589,8 @@ SHA256 (rust/crates/rpmalloc-0.2.2.crate) = 86179c13cdc0bcedbb60e63c1aebe3bac821
SIZE (rust/crates/rpmalloc-0.2.2.crate) = 13561
SHA256 (rust/crates/rpmalloc-sys-0.2.3+b097fd0.crate) = 8d4b7d5e225a53887ee57fcec492eaf114b8e290f7072d035adc6ddd6810b67b
SIZE (rust/crates/rpmalloc-sys-0.2.3+b097fd0.crate) = 91990
-SHA256 (rust/crates/rtoolbox-0.0.2.crate) = c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e
-SIZE (rust/crates/rtoolbox-0.0.2.crate) = 9179
+SHA256 (rust/crates/rtoolbox-0.0.3.crate) = a7cc970b249fbe527d6e02e0a227762c9108b2f49d81094fe357ffc6d14d7f6f
+SIZE (rust/crates/rtoolbox-0.0.3.crate) = 10149
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-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
@@ -605,18 +599,18 @@ SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b6
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/rustix-1.0.5.crate) = d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf
-SIZE (rust/crates/rustix-1.0.5.crate) = 414160
-SHA256 (rust/crates/rustls-0.23.25.crate) = 822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c
-SIZE (rust/crates/rustls-0.23.25.crate) = 346742
+SHA256 (rust/crates/rustix-1.0.7.crate) = c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266
+SIZE (rust/crates/rustix-1.0.7.crate) = 414500
+SHA256 (rust/crates/rustls-0.23.27.crate) = 730944ca083c1c233a75c09f199e973ca499344a2b7ba9e755c457e86fb4a321
+SIZE (rust/crates/rustls-0.23.27.crate) = 355915
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-webpki-0.103.1.crate) = fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03
-SIZE (rust/crates/rustls-webpki-0.103.1.crate) = 820273
+SHA256 (rust/crates/rustls-pki-types-1.12.0.crate) = 229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79
+SIZE (rust/crates/rustls-pki-types-1.12.0.crate) = 64740
+SHA256 (rust/crates/rustls-webpki-0.103.3.crate) = e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435
+SIZE (rust/crates/rustls-webpki-0.103.3.crate) = 81840
SHA256 (rust/crates/rustversion-1.0.20.crate) = eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2
SIZE (rust/crates/rustversion-1.0.20.crate) = 20666
SHA256 (rust/crates/ryu-1.0.20.crate) = 28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f
@@ -657,16 +651,16 @@ SHA256 (rust/crates/serde_yaml-0.9.34+deprecated.crate) = 6a8b1a1a2ebf674015cc02
SIZE (rust/crates/serde_yaml-0.9.34+deprecated.crate) = 65290
SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba
SIZE (rust/crates/sha1-0.10.6.crate) = 13517
-SHA256 (rust/crates/sha2-0.10.8.crate) = 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8
-SIZE (rust/crates/sha2-0.10.8.crate) = 26357
+SHA256 (rust/crates/sha2-0.10.9.crate) = a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283
+SIZE (rust/crates/sha2-0.10.9.crate) = 29271
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/signal-hook-registry-1.4.5.crate) = 9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410
+SIZE (rust/crates/signal-hook-registry-1.4.5.crate) = 19004
SHA256 (rust/crates/signature-2.2.0.crate) = 77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de
SIZE (rust/crates/signature-2.2.0.crate) = 15531
SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d
@@ -675,8 +669,8 @@ SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0b
SIZE (rust/crates/slab-0.4.9.crate) = 17108
SHA256 (rust/crates/sm4-0.5.1.crate) = 2d7abf5135ffd68fb4b438e1fb246923b80d25eda386d8b798bb4ad3ed00f75f
SIZE (rust/crates/sm4-0.5.1.crate) = 9597
-SHA256 (rust/crates/smallvec-1.14.0.crate) = 7fcf8323ef1faaee30a44a340193b1ac6814fd9b7b4e88e9d4519a3e4abe1cfd
-SIZE (rust/crates/smallvec-1.14.0.crate) = 35561
+SHA256 (rust/crates/smallvec-1.15.0.crate) = 8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9
+SIZE (rust/crates/smallvec-1.15.0.crate) = 38113
SHA256 (rust/crates/smoltcp-0.12.0.crate) = dad095989c1533c1c266d9b1e8d70a1329dd3723c3edac6d03bbd67e7bf6f4bb
SIZE (rust/crates/smoltcp-0.12.0.crate) = 334621
SHA256 (rust/crates/snmalloc-rs-0.3.8.crate) = eb317153089fdfa4d8a2eec059d40a5a23c3bde43995ea23b19121c3f621e74a
@@ -697,12 +691,12 @@ SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb
SIZE (rust/crates/subtle-2.6.1.crate) = 14562
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/syn-2.0.101.crate) = 8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf
+SIZE (rust/crates/syn-2.0.101.crate) = 299250
SHA256 (rust/crates/sync_wrapper-1.0.2.crate) = 0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263
SIZE (rust/crates/sync_wrapper-1.0.2.crate) = 6958
-SHA256 (rust/crates/synstructure-0.13.1.crate) = c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971
-SIZE (rust/crates/synstructure-0.13.1.crate) = 18327
+SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
+SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
SHA256 (rust/crates/sysexits-0.9.0.crate) = 198f60d1f7f003f168507691e42d082df109ef0f05c6fd006e22528371a5f1b4
SIZE (rust/crates/sysexits-0.9.0.crate) = 29279
SHA256 (rust/crates/system-configuration-0.6.1.crate) = 3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b
@@ -717,8 +711,8 @@ SHA256 (rust/crates/tcmalloc-0.3.0.crate) = 375205113d84a1c5eeed67beaa0ce08e41be
SIZE (rust/crates/tcmalloc-0.3.0.crate) = 6674
SHA256 (rust/crates/tcmalloc-sys-0.3.0.crate) = 3b7ad73e635dd232c2c2106d59269f59a61de421cc6b95252d2d932094ff1f40
SIZE (rust/crates/tcmalloc-sys-0.3.0.crate) = 1981
-SHA256 (rust/crates/tempfile-3.19.1.crate) = 7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf
-SIZE (rust/crates/tempfile-3.19.1.crate) = 39634
+SHA256 (rust/crates/tempfile-3.20.0.crate) = e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1
+SIZE (rust/crates/tempfile-3.20.0.crate) = 42306
SHA256 (rust/crates/terminal_size-0.4.2.crate) = 45c6481c4829e4cc63825e62c49186a34538b7b2750b73b266581ffb612fb5ed
SIZE (rust/crates/terminal_size-0.4.2.crate) = 9976
SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
@@ -739,14 +733,14 @@ SHA256 (rust/crates/time-core-0.1.4.crate) = c9e9a38711f559d9e3ce1cdb06dd7c5b8ea
SIZE (rust/crates/time-core-0.1.4.crate) = 8422
SHA256 (rust/crates/time-macros-0.2.22.crate) = 3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49
SIZE (rust/crates/time-macros-0.2.22.crate) = 24604
-SHA256 (rust/crates/tinystr-0.7.6.crate) = 9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f
-SIZE (rust/crates/tinystr-0.7.6.crate) = 16971
+SHA256 (rust/crates/tinystr-0.8.1.crate) = 5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b
+SIZE (rust/crates/tinystr-0.8.1.crate) = 23333
SHA256 (rust/crates/tinyvec-1.9.0.crate) = 09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71
SIZE (rust/crates/tinyvec-1.9.0.crate) = 54137
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-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-native-tls-0.3.1.crate) = bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2
@@ -755,8 +749,8 @@ SHA256 (rust/crates/tokio-rustls-0.26.2.crate) = 8e727b36a1a0e8b74c376ac2211e40c
SIZE (rust/crates/tokio-rustls-0.26.2.crate) = 31655
SHA256 (rust/crates/tokio-tfo-0.3.1.crate) = 3fb4382c6371e29365853d2b71e915d5398df46312a2158097d8bb3f54d0f1b4
SIZE (rust/crates/tokio-tfo-0.3.1.crate) = 17188
-SHA256 (rust/crates/tokio-util-0.7.14.crate) = 6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034
-SIZE (rust/crates/tokio-util-0.7.14.crate) = 118861
+SHA256 (rust/crates/tokio-util-0.7.15.crate) = 66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df
+SIZE (rust/crates/tokio-util-0.7.15.crate) = 124255
SHA256 (rust/crates/tower-0.5.2.crate) = d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9
SIZE (rust/crates/tower-0.5.2.crate) = 109417
SHA256 (rust/crates/tower-layer-0.3.3.crate) = 121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e
@@ -777,8 +771,8 @@ SHA256 (rust/crates/trait-variant-0.1.2.crate) = 70977707304198400eb4835a78f6a9f
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/tun-0.7.18.crate) = caaf6aa0a713f0e3b20157f6048d113b6256c045e0e2d80734d54cf1c72dc24a
-SIZE (rust/crates/tun-0.7.18.crate) = 36769
+SHA256 (rust/crates/tun-0.7.19.crate) = 96826f74fb6301ef2954661a43a9ff37cd1158de10a138c1184300333d2d98e4
+SIZE (rust/crates/tun-0.7.19.crate) = 36399
SHA256 (rust/crates/typemap-ors-1.0.0.crate) = a68c24b707f02dd18f1e4ccceb9d49f2058c2fb86384ef9972592904d7a28867
SIZE (rust/crates/typemap-ors-1.0.0.crate) = 4974
SHA256 (rust/crates/typenum-1.18.0.crate) = 1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f
@@ -797,8 +791,6 @@ SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e
SIZE (rust/crates/untrusted-0.9.0.crate) = 14447
SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60
SIZE (rust/crates/url-2.5.4.crate) = 81097
-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
@@ -835,8 +827,10 @@ 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-roots-0.26.8.crate) = 2210b291f7ea53617fbafcc4939f10914214ec15aace5ba62293a668f322c5c9
-SIZE (rust/crates/webpki-roots-0.26.8.crate) = 257981
+SHA256 (rust/crates/webpki-roots-0.26.11.crate) = 521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9
+SIZE (rust/crates/webpki-roots-0.26.11.crate) = 15557
+SHA256 (rust/crates/webpki-roots-1.0.0.crate) = 2853738d1cc4f2da3a225c18ec6c3721abb31961096e9dbf5ab35fa88b19cfdb
+SIZE (rust/crates/webpki-roots-1.0.0.crate) = 248893
SHA256 (rust/crates/widestring-1.2.0.crate) = dd7cf3379ca1aac9eea11fba24fd7e315d621f8dfe35c8d7d2be8b793726e07d
SIZE (rust/crates/widestring-1.2.0.crate) = 89105
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
@@ -847,12 +841,8 @@ SHA256 (rust/crates/winapi-util-0.1.9.crate) = cf221c93e13a30d793f7645a0e7762c55
SIZE (rust/crates/winapi-util-0.1.9.crate) = 12464
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.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-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.61.0.crate) = 4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980
@@ -943,45 +933,41 @@ SHA256 (rust/crates/winreg-0.50.0.crate) = 524e57b2c537c0f9b1e69f1965311ec12182b
SIZE (rust/crates/winreg-0.50.0.crate) = 29703
SHA256 (rust/crates/winreg-0.55.0.crate) = cb5a765337c50e9ec252c2069be9bf91c7df47afb103b642ba3a53bf8101be97
SIZE (rust/crates/winreg-0.55.0.crate) = 31048
-SHA256 (rust/crates/wintun-bindings-0.7.30.crate) = 67a02981bed4592bcd271f9bfe154228ddbd2fd69e37a7d358da5d3a1251d696
-SIZE (rust/crates/wintun-bindings-0.7.30.crate) = 794061
+SHA256 (rust/crates/wintun-bindings-0.7.31.crate) = 605f50b13e12e1f9f99dc5e93701d779dbe47282fec186cb8a079165368d3124
+SIZE (rust/crates/wintun-bindings-0.7.31.crate) = 794078
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/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/writeable-0.6.1.crate) = ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb
+SIZE (rust/crates/writeable-0.6.1.crate) = 24068
SHA256 (rust/crates/wyz-0.5.1.crate) = 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed
SIZE (rust/crates/wyz-0.5.1.crate) = 18790
-SHA256 (rust/crates/xdg-2.5.2.crate) = 213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546
-SIZE (rust/crates/xdg-2.5.2.crate) = 14394
-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/zerocopy-0.7.35.crate) = 1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0
-SIZE (rust/crates/zerocopy-0.7.35.crate) = 152645
-SHA256 (rust/crates/zerocopy-0.8.24.crate) = 2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879
-SIZE (rust/crates/zerocopy-0.8.24.crate) = 243777
-SHA256 (rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e
-SIZE (rust/crates/zerocopy-derive-0.7.35.crate) = 37829
-SHA256 (rust/crates/zerocopy-derive-0.8.24.crate) = a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be
-SIZE (rust/crates/zerocopy-derive-0.8.24.crate) = 86487
+SHA256 (rust/crates/xdg-3.0.0.crate) = 2fb433233f2df9344722454bc7e96465c9d03bff9d77c248f9e7523fe79585b5
+SIZE (rust/crates/xdg-3.0.0.crate) = 15821
+SHA256 (rust/crates/yoke-0.8.0.crate) = 5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc
+SIZE (rust/crates/yoke-0.8.0.crate) = 28726
+SHA256 (rust/crates/yoke-derive-0.8.0.crate) = 38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6
+SIZE (rust/crates/yoke-derive-0.8.0.crate) = 7521
+SHA256 (rust/crates/zerocopy-0.8.25.crate) = a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb
+SIZE (rust/crates/zerocopy-0.8.25.crate) = 252714
+SHA256 (rust/crates/zerocopy-derive-0.8.25.crate) = 28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef
+SIZE (rust/crates/zerocopy-derive-0.8.25.crate) = 87671
SHA256 (rust/crates/zerofrom-0.1.6.crate) = 50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5
SIZE (rust/crates/zerofrom-0.1.6.crate) = 5669
SHA256 (rust/crates/zerofrom-derive-0.1.6.crate) = d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502
SIZE (rust/crates/zerofrom-derive-0.1.6.crate) = 8305
SHA256 (rust/crates/zeroize-1.8.1.crate) = ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde
SIZE (rust/crates/zeroize-1.8.1.crate) = 20029
-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/zerotrie-0.2.2.crate) = 36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595
+SIZE (rust/crates/zerotrie-0.2.2.crate) = 74423
+SHA256 (rust/crates/zerovec-0.11.2.crate) = 4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428
+SIZE (rust/crates/zerovec-0.11.2.crate) = 124500
+SHA256 (rust/crates/zerovec-derive-0.11.1.crate) = 5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f
+SIZE (rust/crates/zerovec-derive-0.11.1.crate) = 21294
SHA256 (rust/crates/zstd-0.13.3.crate) = e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a
SIZE (rust/crates/zstd-0.13.3.crate) = 30514
SHA256 (rust/crates/zstd-safe-7.2.4.crate) = 8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d
SIZE (rust/crates/zstd-safe-7.2.4.crate) = 29350
SHA256 (rust/crates/zstd-sys-2.0.15+zstd.1.5.7.crate) = eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237
SIZE (rust/crates/zstd-sys-2.0.15+zstd.1.5.7.crate) = 774847
-SHA256 (shadowsocks-shadowsocks-rust-v1.23.2_GH0.tar.gz) = 1bede0eb443063c37317728d568638e3348d86f1292c9864c5bdc5a9f96d8b7a
-SIZE (shadowsocks-shadowsocks-rust-v1.23.2_GH0.tar.gz) = 507505
+SHA256 (shadowsocks-shadowsocks-rust-v1.23.4_GH0.tar.gz) = 8a91836256989e3a56409d0e83da6549ecf727e2d6642cd4e707993d9c8a23d3
+SIZE (shadowsocks-shadowsocks-rust-v1.23.4_GH0.tar.gz) = 509530
diff --git a/net/td-system-tools/Makefile b/net/td-system-tools/Makefile
index c639edfe102e..bb6a15a5581c 100644
--- a/net/td-system-tools/Makefile
+++ b/net/td-system-tools/Makefile
@@ -1,5 +1,5 @@
PORTNAME= td-system-tools
-DISTVERSION= 2.1.0
+DISTVERSION= 2.1.1
CATEGORIES= net
MASTER_SITES= https://www.nntb.no/~dreibh/system-tools/download/
diff --git a/net/td-system-tools/distinfo b/net/td-system-tools/distinfo
index b3a9b877eff4..c5ab21aefbe8 100644
--- a/net/td-system-tools/distinfo
+++ b/net/td-system-tools/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745777528
-SHA256 (td-system-tools-2.1.0.tar.xz) = 12db2ef294479942f89b954b5ba9436e1fa16129bbb05d01ed48fc48c1baf0a1
-SIZE (td-system-tools-2.1.0.tar.xz) = 195348
+TIMESTAMP = 1747127543
+SHA256 (td-system-tools-2.1.1.tar.xz) = 342de42c218aa534de650a62100d55839cdded2c0149e6b727baba272a620a1a
+SIZE (td-system-tools-2.1.1.tar.xz) = 197448
diff --git a/news/inn-current/Makefile b/news/inn-current/Makefile
index fc465e7a759f..26bb36633f90 100644
--- a/news/inn-current/Makefile
+++ b/news/inn-current/Makefile
@@ -5,7 +5,7 @@ MASTER_SITE_SUBDIR= inn/snapshots
DISTNAME= inn-${BRANCH}-${SNAPSHOT}
BRANCH= 2.8
-SNAPSHOT= 20250329
+SNAPSHOT= 20250509
CONFLICTS= inn-2.[0-9]*
@@ -17,8 +17,8 @@ WRKSRC= ${WRKDIR}/${DISTNAME}
CPE_PRODUCT= inn
-INNLIB_LONG= 9.0.1
-LIBVER_LONG= 3.0.8
-LIBSTORAGEVER_LONG= 3.1.2
+INNLIB_LONG= 9.0.2
+LIBVER_LONG= 3.0.9
+LIBSTORAGEVER_LONG= 3.1.3
.include "${.CURDIR}/../inn/Makefile"
diff --git a/news/inn-current/distinfo b/news/inn-current/distinfo
index 0c5175cbb4d5..9f792b223ad9 100644
--- a/news/inn-current/distinfo
+++ b/news/inn-current/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1743399468
-SHA256 (inn-2.8-20250329.tar.gz) = 3dbbf22d4f81991dcae4a759df6e5a4968169566a23a754af9072a0b50133914
-SIZE (inn-2.8-20250329.tar.gz) = 2834830
+TIMESTAMP = 1747222301
+SHA256 (inn-2.8-20250509.tar.gz) = 7eff22da102aac26653ddacc17560fb3b6bad2e609c14cba92e34cf0d6f9c83f
+SIZE (inn-2.8-20250509.tar.gz) = 2835439
diff --git a/news/inn-current/pkg-plist b/news/inn-current/pkg-plist
index a1d8bdc19d73..7991c26c826f 100644
--- a/news/inn-current/pkg-plist
+++ b/news/inn-current/pkg-plist
@@ -188,7 +188,6 @@ lib/libinnstorage.so.%%LIBSTORAGEVER_LONG%%
@comment --------------------------------------------------------------
@cwd
share/man/man1/convdate.1.gz
-share/man/man1/delayer.1.gz
share/man/man1/fastrm.1.gz
share/man/man1/gencancel.1.gz
share/man/man1/getlist.1.gz
@@ -200,10 +199,8 @@ share/man/man1/nntpget.1.gz
share/man/man1/pgpverify.1.gz
share/man/man1/pullnews.1.gz
share/man/man1/rnews.1.gz
-share/man/man1/shlock.1.gz
share/man/man1/shrinkfile.1.gz
share/man/man1/simpleftp.1.gz
-share/man/man1/sm.1.gz
share/man/man3/INN::Config.3pm.gz
share/man/man3/INN::Utils::Shlock.3pm.gz
share/man/man3/INN::ovsqlite_client.3pm.gz
@@ -263,6 +260,7 @@ share/man/man8/cnfsstat.8.gz
share/man/man8/controlchan.8.gz
share/man/man8/ctlinnd.8.gz
share/man/man8/cvtbatch.8.gz
+share/man/man8/delayer.8.gz
share/man/man8/docheckgroups.8.gz
share/man/man8/domain.8.gz
share/man/man8/expire.8.gz
@@ -309,6 +307,8 @@ share/man/man8/send-ihave.8.gz
share/man/man8/send-uucp.8.gz
share/man/man8/sendinpaths.8.gz
share/man/man8/sendxbatches.8.gz
+share/man/man8/shlock.8.gz
+share/man/man8/sm.8.gz
share/man/man8/tally.control.8.gz
share/man/man8/tdx-util.8.gz
share/man/man8/tinyleaf.8.gz
diff --git a/science/R-cran-eco/Makefile b/science/R-cran-eco/Makefile
index 2967e9718267..8d881dd8cb0a 100644
--- a/science/R-cran-eco/Makefile
+++ b/science/R-cran-eco/Makefile
@@ -10,6 +10,9 @@ WWW= https://imai.princeton.edu/software/eco.html
LICENSE= GPLv2
+DEPRECATED= Unsupported upstream
+EXPIRATION_DATE=2025-06-14
+
USES= cran:auto-plist,compiles
.include <bsd.port.mk>
diff --git a/security/boringssl/Makefile b/security/boringssl/Makefile
index b427ea2ca43b..6605e0b5f37c 100644
--- a/security/boringssl/Makefile
+++ b/security/boringssl/Makefile
@@ -1,5 +1,5 @@
PORTNAME= boringssl
-PORTVERSION= 0.0.0.0.2025.05.07.01
+PORTVERSION= 0.0.0.0.2025.05.13.01
CATEGORIES= security
EXTRACT_ONLY= ${GH_ACCOUNT}-${PORTNAME}-${PORTVERSION}-${GH_TAGNAME}_GH0.tar.gz
@@ -19,7 +19,7 @@ CPE_VENDOR= google
USE_GITHUB= yes
GH_ACCOUNT= google
-GH_TAGNAME= 864a235
+GH_TAGNAME= 8997380
CMAKE_ARGS+= -DBUILD_SHARED_LIBS=1
CFLAGS_i386= -msse2
diff --git a/security/boringssl/distinfo b/security/boringssl/distinfo
index 6e865c3421a2..170d821b0d5f 100644
--- a/security/boringssl/distinfo
+++ b/security/boringssl/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1746707749
+TIMESTAMP = 1747212570
SHA256 (filippo.io/edwards25519/@v/v1.1.0.zip) = 9ac43a686d06fdebd719f7af3866c87eb069302272dfb131007adf471c308b65
SIZE (filippo.io/edwards25519/@v/v1.1.0.zip) = 55809
SHA256 (filippo.io/edwards25519/@v/v1.1.0.mod) = 099556fc4d7e6f5cb135efdd8b6bb4c0932e38ea058c53fc5fa5ce285572fb61
@@ -11,5 +11,5 @@ SHA256 (golang.org/x/sys/@v/v0.32.0.zip) = 85d47075d21fd7ef35d9a47fc73f2356fb3cd
SIZE (golang.org/x/sys/@v/v0.32.0.zip) = 1991164
SHA256 (golang.org/x/sys/@v/v0.32.0.mod) = f67e3e18f4c08e60a7e80726ab36b691fdcea5b81ae1c696ff64caf518bcfe3d
SIZE (golang.org/x/sys/@v/v0.32.0.mod) = 35
-SHA256 (google-boringssl-0.0.0.0.2025.05.07.01-864a235_GH0.tar.gz) = 5d35ccedd5ce74a11523ad4f08c1edb589697d22b11b644edae65f3592351f98
-SIZE (google-boringssl-0.0.0.0.2025.05.07.01-864a235_GH0.tar.gz) = 46144754
+SHA256 (google-boringssl-0.0.0.0.2025.05.13.01-8997380_GH0.tar.gz) = c385bc4309ecc58e04cf701d2e95a3dbc9c74e12cb3e5b9417b3df6cb2de790f
+SIZE (google-boringssl-0.0.0.0.2025.05.13.01-8997380_GH0.tar.gz) = 46142079
diff --git a/security/libp11/Makefile b/security/libp11/Makefile
index 1ac2909bf055..7575e9c2ed49 100644
--- a/security/libp11/Makefile
+++ b/security/libp11/Makefile
@@ -1,5 +1,5 @@
PORTNAME= libp11
-PORTVERSION= 0.4.13
+PORTVERSION= 0.4.14
DISTVERSIONPREFIX= ${PORTNAME}-
CATEGORIES= security devel
@@ -35,7 +35,9 @@ CONFIGURE_ENV= LTLIB_CFLAGS="-I${LOCALBASE}/include" \
OPENSSL_CFLAGS="-I${OPENSSLINC}" \
OPENSSL_LIBS="-L${OPENSSLLIB} -lssl -lcrypto"
-CONFIGURE_ARGS= --with-enginesdir=${PREFIX}/lib/engines
+CONFIGURE_ARGS= --with-enginesdir=${PREFIX}/lib/engines \
+ --with-modulesdir=${PREFIX}/lib/ossl-modules \
+ --enable-static-engine
INSTALL_TARGET= install-strip
diff --git a/security/libp11/distinfo b/security/libp11/distinfo
index def41ebc82a5..15ac552b5724 100644
--- a/security/libp11/distinfo
+++ b/security/libp11/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1734366816
-SHA256 (OpenSC-libp11-libp11-0.4.13_GH0.tar.gz) = 5e8e258c6a8e33155c3a2bd2bd7d12a758f82b7bda1f92e8b77075d16edc9889
-SIZE (OpenSC-libp11-libp11-0.4.13_GH0.tar.gz) = 148443
+TIMESTAMP = 1747212917
+SHA256 (OpenSC-libp11-libp11-0.4.14_GH0.tar.gz) = 99405d1b46bf48a990892676b7bc5597692adc53fc50f7bb19e83d03bd394b94
+SIZE (OpenSC-libp11-libp11-0.4.14_GH0.tar.gz) = 172631
diff --git a/security/libp11/files/patch-configure.ac b/security/libp11/files/patch-configure.ac
index 42b316830aa1..d427d911cbc4 100644
--- a/security/libp11/files/patch-configure.ac
+++ b/security/libp11/files/patch-configure.ac
@@ -1,6 +1,6 @@
---- configure.ac.orig 2024-12-13 18:13:57 UTC
+--- configure.ac.orig 2025-05-13 21:17:57 UTC
+++ configure.ac
-@@ -208,7 +208,7 @@ fi
+@@ -246,7 +246,7 @@ fi
[Default PKCS#11 module.])
fi
diff --git a/security/libp11/files/patch-src_Makefile.am b/security/libp11/files/patch-src_Makefile.am
new file mode 100644
index 000000000000..f8e9be42f65a
--- /dev/null
+++ b/security/libp11/files/patch-src_Makefile.am
@@ -0,0 +1,13 @@
+--- src/Makefile.am.orig 2025-05-14 13:58:16 UTC
++++ src/Makefile.am
+@@ -4,8 +4,8 @@ EXTRA_DIST = Makefile.mak libp11.rc.in pkcs11.rc.in
+ CLEANFILES = libp11.pc
+ EXTRA_DIST = Makefile.mak libp11.rc.in pkcs11.rc.in
+
+-noinst_HEADERS= libp11-int.h pkcs11.h p11_pthread.h
+-include_HEADERS= libp11.h p11_err.h util.h
++noinst_HEADERS= libp11-int.h pkcs11.h p11_pthread.h util.h
++include_HEADERS= libp11.h p11_err.h
+ if ENABLE_STATIC_ENGINE
+ lib_LTLIBRARIES = libp11.la libpkcs11.la
+ else
diff --git a/security/libp11/pkg-plist b/security/libp11/pkg-plist
index 73bea38f97d3..79526fa0f30a 100644
--- a/security/libp11/pkg-plist
+++ b/security/libp11/pkg-plist
@@ -2,10 +2,12 @@ include/libp11.h
include/p11_err.h
lib/engines/libpkcs11.so
lib/engines/pkcs11.so
+lib/ossl-modules/libpkcs11.so
+lib/ossl-modules/pkcs11prov.so
lib/libp11.a
lib/libp11.so
lib/libp11.so.3
-lib/libp11.so.3.6.0
+lib/libp11.so.3.7.0
lib/libpkcs11.a
lib/libpkcs11.so
lib/libpkcs11.so.0
@@ -15,6 +17,9 @@ libdata/pkgconfig/libp11.pc
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/auth.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/decrypt.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/eckeygen.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/getrandom.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/listkeys.c
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/listkeys_ext.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/rsakeygen.c
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/storecert.c
diff --git a/security/quantis-kmod/Makefile b/security/quantis-kmod/Makefile
index dfe765e1d376..15b2f7cc4ca1 100644
--- a/security/quantis-kmod/Makefile
+++ b/security/quantis-kmod/Makefile
@@ -13,9 +13,7 @@ LICENSE= BSD3CLAUSE GPLv2
LICENSE_COMB= dual
LICENSE_FILE= ${WRKDIR}/Quantis-${DISTVERSION}/License.txt
-USES= kmod uidfix zip:infozip
-
-EXTRACT_BEFORE_ARGS= -aqo
+USES= kmod uidfix zip
WRKSRC= ${WRKDIR}/Quantis-${DISTVERSION}/Drivers/Unix/QuantisPci
diff --git a/security/tpm2-tss/Makefile b/security/tpm2-tss/Makefile
index f02c6c5417b2..8d60a2b418bc 100644
--- a/security/tpm2-tss/Makefile
+++ b/security/tpm2-tss/Makefile
@@ -1,6 +1,6 @@
PORTNAME= tpm2-tss
DISTVERSION= 4.0.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= security
MASTER_SITES= https://github.com/tpm2-software/tpm2-tss/releases/download/${DISTVERSION}/
diff --git a/security/tpm2-tss/files/patch-src_tss2-esys_esys__context.c b/security/tpm2-tss/files/patch-src_tss2-esys_esys__context.c
new file mode 100644
index 000000000000..d613ac6e7e64
--- /dev/null
+++ b/security/tpm2-tss/files/patch-src_tss2-esys_esys__context.c
@@ -0,0 +1,11 @@
+--- src/tss2-esys/esys_context.c.orig 2025-02-22 22:43:21 UTC
++++ src/tss2-esys/esys_context.c
+@@ -26,7 +26,7 @@
+ * If not specified, load a TCTI in this order:
+ * Library libtss2-tcti-default.so (link to the preferred TCTI)
+ * Library libtss2-tcti-tabrmd.so (tabrmd)
+- * Device /dev/tpmrm0 (kernel resident resource manager)
++ * Device /dev/tpmrm0 (kernel resident resource manager, SKIPPED on FreeBSD)
+ * Device /dev/tpm0 (hardware TPM)
+ * TCP socket localhost:2321 (TPM simulator)
+ * @param esys_context [out] The ESYS_CONTEXT.
diff --git a/security/tpm2-tss/files/patch-src_tss2-tcti_tcti-device.c b/security/tpm2-tss/files/patch-src_tss2-tcti_tcti-device.c
new file mode 100644
index 000000000000..52a165e2a191
--- /dev/null
+++ b/security/tpm2-tss/files/patch-src_tss2-tcti_tcti-device.c
@@ -0,0 +1,12 @@
+--- src/tss2-tcti/tcti-device.c.orig 2023-01-23 18:36:16.000000000 +0000
++++ src/tss2-tcti/tcti-device.c 2025-05-08 08:40:29.255475000 +0000
+@@ -61,7 +61,9 @@
+ #ifdef __VXWORKS__
+ "/tpm0"
+ #else
++#ifndef __FreeBSD__
+ "/dev/tpmrm0",
++#endif /* __FreeBSD__ */
+ "/dev/tpm0",
+ #endif /* __VX_WORKS__ */
+ };
diff --git a/security/tpm2-tss/files/patch-src_tss2-tcti_tctildr-dl.c b/security/tpm2-tss/files/patch-src_tss2-tcti_tctildr-dl.c
new file mode 100644
index 000000000000..9353fa36c133
--- /dev/null
+++ b/security/tpm2-tss/files/patch-src_tss2-tcti_tctildr-dl.c
@@ -0,0 +1,16 @@
+--- src/tss2-tcti/tctildr-dl.c.orig 2025-02-22 22:43:21 UTC
++++ src/tss2-tcti/tctildr-dl.c
+@@ -37,11 +37,13 @@ struct {
+ .file = "libtss2-tcti-tabrmd.so.0",
+ .description = "Access libtss2-tcti-tabrmd.so",
+ },
++#if !defined(__FreeBSD__)
+ {
+ .file = "libtss2-tcti-device.so.0",
+ .conf = "/dev/tpmrm0",
+ .description = "Access libtss2-tcti-device.so.0 with /dev/tpmrm0",
+ },
++#endif
+ {
+ .file = "libtss2-tcti-device.so.0",
+ .conf = "/dev/tpm0",
diff --git a/security/tpm2-tss/files/patch-src_tss2-tcti_tctildr-nodl.c b/security/tpm2-tss/files/patch-src_tss2-tcti_tctildr-nodl.c
new file mode 100644
index 000000000000..219dee0c0639
--- /dev/null
+++ b/security/tpm2-tss/files/patch-src_tss2-tcti_tctildr-nodl.c
@@ -0,0 +1,11 @@
+--- src/tss2-tcti/tctildr-nodl.c.orig 2025-02-22 22:43:21 UTC
++++ src/tss2-tcti/tctildr-nodl.c
+@@ -67,7 +67,7 @@ struct {
+ .init = Tss2_Tcti_Tbs_Init,
+ .description = "Access to TBS",
+ },
+-#elif defined (__VXWORKS__)
++#elif defined (__VXWORKS__) || defined(__FreeBSD__)
+ {
+ .names = {
+ "libtss2-tcti-device.so.0",
diff --git a/security/tpm2-tss/files/patch-test_unit_tctildr-nodl.c b/security/tpm2-tss/files/patch-test_unit_tctildr-nodl.c
new file mode 100644
index 000000000000..99090001bd2b
--- /dev/null
+++ b/security/tpm2-tss/files/patch-test_unit_tctildr-nodl.c
@@ -0,0 +1,14 @@
+--- test/unit/tctildr-nodl.c.orig 2025-02-22 22:43:21 UTC
++++ test/unit/tctildr-nodl.c
+@@ -65,9 +65,11 @@ test_tctildr_get_default_all_fail (void **state)
+ /* device:/dev/tpm0 */
+ will_return (__wrap_tcti_from_init, tcti_ctx);
+ will_return (__wrap_tcti_from_init, TEST_RC);
++#if !defined (__FreeBSD__)
+ /* device:/dev/tpmrm0 */
+ will_return (__wrap_tcti_from_init, tcti_ctx);
+ will_return (__wrap_tcti_from_init, TEST_RC);
++#endif
+ /* swtpm */
+ will_return (__wrap_tcti_from_init, tcti_ctx);
+ will_return (__wrap_tcti_from_init, TEST_RC);
diff --git a/security/vuxml/vuln/2025.xml b/security/vuxml/vuln/2025.xml
index 8bcfd16d2c2e..b6bd8cf4938e 100644
--- a/security/vuxml/vuln/2025.xml
+++ b/security/vuxml/vuln/2025.xml
@@ -1,3 +1,137 @@
+ <vuln vid="52efdd56-30bd-11f0-81be-b42e991fc52e">
+ <topic>Mozilla -- memory safety bugs</topic>
+ <affects>
+ <package>
+ <name>firefox</name>
+ <range><lt>138.0,2</lt></range>
+ </package>
+ <package>
+ <name>firefox-esr</name>
+ <range><lt>128.10</lt></range>
+ </package>
+ <package>
+ <name>thunderbird</name>
+ <range><lt>138.0</lt></range>
+ </package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>security@mozilla.org reports:</p>
+ <blockquote cite="https://bugzilla.mozilla.org/buglist.cgi?bug_id=1951161%2C1952105">
+ <p>Memory safety bugs present in Firefox 137, Thunderbird 137,
+ Firefox ESR 128.9, and Thunderbird 128.9. Some of these bugs
+ showed evidence of memory corruption and we presume that
+ with enough effort some of these could have been exploited
+ to run arbitrary code.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-4091</cvename>
+ <url>https://nvd.nist.gov/vuln/detail/CVE-2025-4091</url>
+ </references>
+ <dates>
+ <discovery>2025-04-29</discovery>
+ <entry>2025-05-14</entry>
+ </dates>
+ </vuln>
+
+ <vuln vid="4f17db64-30bd-11f0-81be-b42e991fc52e">
+ <topic>Mozilla -- memory corruption</topic>
+ <affects>
+ <package>
+ <name>firefox-esr</name>
+ <range><lt>128.10</lt></range>
+ </package>
+ <package>
+ <name>thunderbird</name>
+ <range><lt>128.10</lt></range>
+ </package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>security@mozilla.org reports:</p>
+ <blockquote cite="https://bugzilla.mozilla.org/show_bug.cgi?id=1894100">
+ <p>Memory safety bug present in Firefox ESR 128.9, and
+ Thunderbird 128.9. This bug showed evidence of memory
+ corruption and we presume that with enough effort this could
+ have been exploited to run arbitrary code.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-4093</cvename>
+ <url>https://nvd.nist.gov/vuln/detail/CVE-2025-4093</url>
+ </references>
+ <dates>
+ <discovery>2025-04-29</discovery>
+ <entry>2025-05-14</entry>
+ </dates>
+ </vuln>
+
+ <vuln vid="6f10b49d-07b1-4be4-8abf-edf880b16ad2">
+ <topic>vscode -- security feature bypass vulnerability</topic>
+ <affects>
+ <package>
+ <name>vscode</name>
+ <range><lt>1.100.1</lt></range>
+ </package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <p>VSCode developers report:</p>
+ <blockquote cite="https://github.com/microsoft/vscode/security/advisories/GHSA-742r-ggwg-vqxm">
+ <p>A security feature bypass vulnerability exists in VS Code 1.100.0 and earlier versions where a maliciously crafted URL could be considered trusted when it should not have due to how VS Code handled glob patterns in the trusted domains feature. When paired with the #fetch tool in Chat, this scenario would require the attacker to convince an LLM (via prompt injection) to fetch the maliciously crafted URL but when fetched, the user would have no moment to confirm the flighting of the request.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2025-21264</cvename>
+ <url>https://github.com/microsoft/vscode/security/advisories/GHSA-742r-ggwg-vqxm</url>
+ <url>https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-21264</url>
+ </references>
+ <dates>
+ <discovery>2025-05-13</discovery>
+ <entry>2025-05-14</entry>
+ </dates>
+ </vuln>
+
+ <vuln vid="a96cd659-303e-11f0-94b5-54ee755069b5">
+ <topic>libxslt -- multiple vulnerabilities</topic>
+ <affects>
+ <package>
+ <name>libxslt</name>
+ <range><lt>1.1.43</lt></range>
+ </package>
+ </affects>
+ <description>
+ <body xmlns="http://www.w3.org/1999/xhtml">
+ <h1>[CVE-2024-55549] Fix UAF related to excluded namespaces</h1>
+ <blockquote cite="https://gitlab.gnome.org/GNOME/libxslt/-/issues/127">
+ <p>xsltGetInheritedNsList in libxslt before 1.1.43 has a use-after-free issue related to exclusion of result prefixes.</p>
+ </blockquote>
+ <h1>[CVE-2025-24855] Fix use-after-free of XPath context node</h1>
+ <blockquote cite="https://gitlab.gnome.org/GNOME/libxslt/-/issues/128">
+ <p>numbers.c in libxslt before 1.1.43 has a use-after-free because
+ , in nested XPath evaluations, an XPath context node can be
+ modified but never restored. This is related to
+ xsltNumberFormatGetValue, xsltEvalXPathPredicate,
+ xsltEvalXPathStringNs, and xsltComputeSortResultInternal.</p>
+ </blockquote>
+ </body>
+ </description>
+ <references>
+ <cvename>CVE-2024-55549</cvename>
+ <cvename>CVE-2025-24855</cvename>
+ <url>https://nvd.nist.gov/vuln/detail/CVE-2024-55549</url>
+ <url>https://nvd.nist.gov/vuln/detail/CVE-2025-24855</url>
+ </references>
+ <dates>
+ <discovery>2025-03-13</discovery>
+ <entry>2025-05-13</entry>
+ </dates>
+ </vuln>
+
<vuln vid="89c668d5-2f80-11f0-9632-641c67a117d8">
<topic>www/varnish7 -- Request Smuggling Attack</topic>
<affects>
diff --git a/shells/nu_plugin_formats/Makefile.crates b/shells/nu_plugin_formats/Makefile.crates
index 57d3a3eb5eb5..21fb90222f01 100644
--- a/shells/nu_plugin_formats/Makefile.crates
+++ b/shells/nu_plugin_formats/Makefile.crates
@@ -18,7 +18,7 @@ CARGO_CRATES= adler2-2.0.0 \
bumpalo-3.16.0 \
byteorder-1.5.0 \
bytes-1.10.0 \
- bytesize-1.3.2 \
+ bytesize-1.3.3 \
cc-1.2.16 \
cexpr-0.6.0 \
cfg-if-1.0.0 \
@@ -63,11 +63,11 @@ CARGO_CRATES= adler2-2.0.0 \
iana-time-zone-0.1.61 \
iana-time-zone-haiku-0.1.2 \
ical-0.11.0 \
- indexmap-2.7.0 \
+ indexmap-2.9.0 \
interprocess-2.2.2 \
inventory-0.3.15 \
is_ci-1.2.0 \
- is_debug-1.0.2 \
+ is_debug-1.1.0 \
itertools-0.13.0 \
itoa-1.0.14 \
js-sys-0.3.76 \
@@ -91,20 +91,20 @@ CARGO_CRATES= adler2-2.0.0 \
nom-7.1.3 \
ntapi-0.4.1 \
nu-ansi-term-0.50.1 \
- nu-cmd-lang-0.103.0 \
- nu-derive-value-0.103.0 \
- nu-engine-0.103.0 \
- nu-glob-0.103.0 \
- nu-parser-0.103.0 \
- nu-path-0.103.0 \
- nu-plugin-0.103.0 \
- nu-plugin-core-0.103.0 \
- nu-plugin-engine-0.103.0 \
- nu-plugin-protocol-0.103.0 \
- nu-plugin-test-support-0.103.0 \
- nu-protocol-0.103.0 \
- nu-system-0.103.0 \
- nu-utils-0.103.0 \
+ nu-cmd-lang-0.104.0 \
+ nu-derive-value-0.104.0 \
+ nu-engine-0.104.0 \
+ nu-glob-0.104.0 \
+ nu-parser-0.104.0 \
+ nu-path-0.104.0 \
+ nu-plugin-0.104.0 \
+ nu-plugin-core-0.104.0 \
+ nu-plugin-engine-0.104.0 \
+ nu-plugin-protocol-0.104.0 \
+ nu-plugin-test-support-0.104.0 \
+ nu-protocol-0.104.0 \
+ nu-system-0.104.0 \
+ nu-utils-0.104.0 \
num-conv-0.1.0 \
num-format-0.4.4 \
num-traits-0.2.19 \
@@ -154,7 +154,7 @@ CARGO_CRATES= adler2-2.0.0 \
serde-1.0.216 \
serde_derive-1.0.216 \
serde_json-1.0.133 \
- shadow-rs-0.38.0 \
+ shadow-rs-1.1.1 \
shlex-1.3.0 \
signal-hook-0.3.17 \
signal-hook-mio-0.2.4 \
@@ -174,9 +174,9 @@ CARGO_CRATES= adler2-2.0.0 \
terminal_size-0.4.1 \
textwrap-0.16.1 \
thiserror-1.0.69 \
- thiserror-2.0.6 \
+ thiserror-2.0.12 \
thiserror-impl-1.0.69 \
- thiserror-impl-2.0.6 \
+ thiserror-impl-2.0.12 \
time-0.3.37 \
time-core-0.1.2 \
time-macros-0.2.19 \
@@ -185,6 +185,9 @@ CARGO_CRATES= adler2-2.0.0 \
typeid-1.0.2 \
typetag-0.2.18 \
typetag-impl-0.2.18 \
+ tz-rs-0.7.0 \
+ tzdb-0.7.2 \
+ tzdb_data-0.2.1 \
unicase-2.8.0 \
unicode-ident-1.0.14 \
unicode-linebreak-0.1.5 \
diff --git a/shells/nu_plugin_formats/distinfo b/shells/nu_plugin_formats/distinfo
index d30c371c946a..521fe81a164f 100644
--- a/shells/nu_plugin_formats/distinfo
+++ b/shells/nu_plugin_formats/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1742766201
-SHA256 (nu_plugin_formats-0.103.0.tar.gz) = 7feeecd05c7f36bf4a167f4eff93d4775ca23eaa768bbc6818049fc326e005ec
-SIZE (nu_plugin_formats-0.103.0.tar.gz) = 22608
+TIMESTAMP = 1747177937
+SHA256 (nu_plugin_formats-0.104.0.tar.gz) = bf192da1c43bd013ed2e7f09c0935d4156ce4e4a2b50f8a7277ae4a448b50e5e
+SIZE (nu_plugin_formats-0.104.0.tar.gz) = 22766
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
SIZE (rust/crates/adler2-2.0.0.crate) = 13529
SHA256 (rust/crates/ahash-0.8.11.crate) = e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011
@@ -41,8 +41,8 @@ SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353
SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
SHA256 (rust/crates/bytes-1.10.0.crate) = f61dac84819c6588b558454b194026eb1f09c293b9036ae9b159e74e73ab6cf9
SIZE (rust/crates/bytes-1.10.0.crate) = 76656
-SHA256 (rust/crates/bytesize-1.3.2.crate) = 2d2c12f985c78475a6b8d629afd0c360260ef34cfef52efccdcfd31972f81c2e
-SIZE (rust/crates/bytesize-1.3.2.crate) = 11575
+SHA256 (rust/crates/bytesize-1.3.3.crate) = 2e93abca9e28e0a1b9877922aacb20576e05d4679ffa78c3d6dc22a26a216659
+SIZE (rust/crates/bytesize-1.3.3.crate) = 11594
SHA256 (rust/crates/cc-1.2.16.crate) = be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c
SIZE (rust/crates/cc-1.2.16.crate) = 103847
SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766
@@ -131,16 +131,16 @@ SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba5
SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
SHA256 (rust/crates/ical-0.11.0.crate) = 9b7cab7543a8b7729a19e2c04309f902861293dcdae6558dfbeb634454d279f6
SIZE (rust/crates/ical-0.11.0.crate) = 29407
-SHA256 (rust/crates/indexmap-2.7.0.crate) = 62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f
-SIZE (rust/crates/indexmap-2.7.0.crate) = 85335
+SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e
+SIZE (rust/crates/indexmap-2.9.0.crate) = 91214
SHA256 (rust/crates/interprocess-2.2.2.crate) = 894148491d817cb36b6f778017b8ac46b17408d522dd90f539d677ea938362eb
SIZE (rust/crates/interprocess-2.2.2.crate) = 114885
SHA256 (rust/crates/inventory-0.3.15.crate) = f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767
SIZE (rust/crates/inventory-0.3.15.crate) = 13967
SHA256 (rust/crates/is_ci-1.2.0.crate) = 7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45
SIZE (rust/crates/is_ci-1.2.0.crate) = 4521
-SHA256 (rust/crates/is_debug-1.0.2.crate) = e8ea828c9d6638a5bd3d8b14e37502b4d56cae910ccf8a5b7f51c7a0eb1d0508
-SIZE (rust/crates/is_debug-1.0.2.crate) = 2640
+SHA256 (rust/crates/is_debug-1.1.0.crate) = 1fe266d2e243c931d8190177f20bf7f24eed45e96f39e87dc49a27b32d12d407
+SIZE (rust/crates/is_debug-1.1.0.crate) = 3398
SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186
SIZE (rust/crates/itertools-0.13.0.crate) = 146261
SHA256 (rust/crates/itoa-1.0.14.crate) = d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674
@@ -187,34 +187,34 @@ SHA256 (rust/crates/ntapi-0.4.1.crate) = e8a3895c6391c39d7fe7ebc444a87eb2991b2a0
SIZE (rust/crates/ntapi-0.4.1.crate) = 126552
SHA256 (rust/crates/nu-ansi-term-0.50.1.crate) = d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399
SIZE (rust/crates/nu-ansi-term-0.50.1.crate) = 28536
-SHA256 (rust/crates/nu-cmd-lang-0.103.0.crate) = 8cea93e3f189c944a246221d7c8ed8e57b23379bf9bb0d31ea7964ff2b56020d
-SIZE (rust/crates/nu-cmd-lang-0.103.0.crate) = 45435
-SHA256 (rust/crates/nu-derive-value-0.103.0.crate) = 8f1f5198366892552a9a827a61a27e31543a0827c55ccfb6bf060489cec80d25
-SIZE (rust/crates/nu-derive-value-0.103.0.crate) = 13996
-SHA256 (rust/crates/nu-engine-0.103.0.crate) = 0cb715bb4c18e4259d21c5b710f04f7190c9803211e2a0baa31ec3a5841daa56
-SIZE (rust/crates/nu-engine-0.103.0.crate) = 69023
-SHA256 (rust/crates/nu-glob-0.103.0.crate) = 904fa576593ed75439eec561f62824bbe55f4a05f1c8239309a939d43e0ad704
-SIZE (rust/crates/nu-glob-0.103.0.crate) = 28776
-SHA256 (rust/crates/nu-parser-0.103.0.crate) = daac6d76c123d2534bcbc67ed065c4a78a54cf034e09332ed648a85339c11f91
-SIZE (rust/crates/nu-parser-0.103.0.crate) = 118259
-SHA256 (rust/crates/nu-path-0.103.0.crate) = e6e3a55f26e42d1f98fbb4f41fa4fcc7dee1f61f13c5eabda5ca90e78825b2fa
-SIZE (rust/crates/nu-path-0.103.0.crate) = 28869
-SHA256 (rust/crates/nu-plugin-0.103.0.crate) = 5f35f2290c077441edfde50745b501ba5ffad11217d5d01168cf1ab1b0e4c03d
-SIZE (rust/crates/nu-plugin-0.103.0.crate) = 39573
-SHA256 (rust/crates/nu-plugin-core-0.103.0.crate) = 5ba6f1d1c7f6ca9852c26e8e65a0f530b8fa3a1237a6c62de089ccaf6c1645fe
-SIZE (rust/crates/nu-plugin-core-0.103.0.crate) = 39670
-SHA256 (rust/crates/nu-plugin-engine-0.103.0.crate) = edc79cff665e4434153c97bd7065608f6649cf3a45cb1576d39a58a111c87c9f
-SIZE (rust/crates/nu-plugin-engine-0.103.0.crate) = 51503
-SHA256 (rust/crates/nu-plugin-protocol-0.103.0.crate) = 88bef165a59909561b349fb3eda7e16afae8f8d06d6c99527b4545c086b51f87
-SIZE (rust/crates/nu-plugin-protocol-0.103.0.crate) = 26703
-SHA256 (rust/crates/nu-plugin-test-support-0.103.0.crate) = 91b913effb3fc1b17338a9d3dacddd81ec907a65c94fbd050685366d60d4a773
-SIZE (rust/crates/nu-plugin-test-support-0.103.0.crate) = 23362
-SHA256 (rust/crates/nu-protocol-0.103.0.crate) = ca35b5860d171e8e0994d42373f62fc99fb7a0b205e5d8a38897e2869d5f6ab7
-SIZE (rust/crates/nu-protocol-0.103.0.crate) = 228512
-SHA256 (rust/crates/nu-system-0.103.0.crate) = 70bb9b1c59acd274bd36b4879e1e03491a3ee2f24689a9070c66fbd8aed23b27
-SIZE (rust/crates/nu-system-0.103.0.crate) = 30772
-SHA256 (rust/crates/nu-utils-0.103.0.crate) = 2f01345a3c94f75397020250286c536e1b306cb714b2931c1a1c9a3318254793
-SIZE (rust/crates/nu-utils-0.103.0.crate) = 32382
+SHA256 (rust/crates/nu-cmd-lang-0.104.0.crate) = e66adfeda88f8e27bcb25d068d9e6e8b3a94c2bf988a9c30e8e3b2045867aefe
+SIZE (rust/crates/nu-cmd-lang-0.104.0.crate) = 46346
+SHA256 (rust/crates/nu-derive-value-0.104.0.crate) = 5fd0d8e358b6440d01fe4e617f180aea826bade72efb54f5dc1c22e0e8038b6f
+SIZE (rust/crates/nu-derive-value-0.104.0.crate) = 13996
+SHA256 (rust/crates/nu-engine-0.104.0.crate) = 0c2b01483e3d09460375f0c0da7a83b6dc26fb319ca09c55d0665087b2d587c7
+SIZE (rust/crates/nu-engine-0.104.0.crate) = 69242
+SHA256 (rust/crates/nu-glob-0.104.0.crate) = 202ce25889336061efea24e69d4e0de7147c15fd9892cdd70533500d47db8364
+SIZE (rust/crates/nu-glob-0.104.0.crate) = 18374
+SHA256 (rust/crates/nu-parser-0.104.0.crate) = cb0591ef4d4989c1930863d9d17d8fd2d70b03ec2d9caeca067e9626e05c49d9
+SIZE (rust/crates/nu-parser-0.104.0.crate) = 119009
+SHA256 (rust/crates/nu-path-0.104.0.crate) = 41c68c7c06898a5c4c9f10038da63759661cb8ac8f301ce7d159173a595c8258
+SIZE (rust/crates/nu-path-0.104.0.crate) = 28878
+SHA256 (rust/crates/nu-plugin-0.104.0.crate) = e00d2ccb35a1206c51740bea63b0deb72dc4c34ca6ceae6feac95f84d68370d2
+SIZE (rust/crates/nu-plugin-0.104.0.crate) = 39550
+SHA256 (rust/crates/nu-plugin-core-0.104.0.crate) = 30e416e6de2b62925ffc1924740a0e5340316a1630af3d2490d513bcb1f94e94
+SIZE (rust/crates/nu-plugin-core-0.104.0.crate) = 39724
+SHA256 (rust/crates/nu-plugin-engine-0.104.0.crate) = 14fb214ba23829ebfe61b9a5e0688cd5620922438d7d76a6f6b3e1151d07e82a
+SIZE (rust/crates/nu-plugin-engine-0.104.0.crate) = 51488
+SHA256 (rust/crates/nu-plugin-protocol-0.104.0.crate) = be7edbdee451bb29150b5e8184660d79d0c0801a6748b9f712b758cb78110305
+SIZE (rust/crates/nu-plugin-protocol-0.104.0.crate) = 26744
+SHA256 (rust/crates/nu-plugin-test-support-0.104.0.crate) = b8acb62c21fd980e467162bc17a4e93a8435e28249256b52e58718278149978d
+SIZE (rust/crates/nu-plugin-test-support-0.104.0.crate) = 23523
+SHA256 (rust/crates/nu-protocol-0.104.0.crate) = ab657b1947f1fad3c5052cb210fa311744736a4800a966ae21c4bc63de7c60ab
+SIZE (rust/crates/nu-protocol-0.104.0.crate) = 231989
+SHA256 (rust/crates/nu-system-0.104.0.crate) = f47094aaab4f1e3a86c3960400d82a50fcabde907f964ae095963ec95669577a
+SIZE (rust/crates/nu-system-0.104.0.crate) = 31114
+SHA256 (rust/crates/nu-utils-0.104.0.crate) = 327999b774d78b301a6b68c33d312a1a8047c59fb8971b6552ebf823251f1481
+SIZE (rust/crates/nu-utils-0.104.0.crate) = 32234
SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
SHA256 (rust/crates/num-format-0.4.4.crate) = a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3
@@ -313,8 +313,8 @@ SHA256 (rust/crates/serde_derive-1.0.216.crate) = 46f859dbbf73865c6627ed570e7896
SIZE (rust/crates/serde_derive-1.0.216.crate) = 57674
SHA256 (rust/crates/serde_json-1.0.133.crate) = c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377
SIZE (rust/crates/serde_json-1.0.133.crate) = 150739
-SHA256 (rust/crates/shadow-rs-0.38.0.crate) = 69d433b5df1e1958a668457ebe4a9c5b7bcfe844f4eb2276ac43cf273baddd54
-SIZE (rust/crates/shadow-rs-0.38.0.crate) = 34481
+SHA256 (rust/crates/shadow-rs-1.1.1.crate) = 6d5625ed609cf66d7e505e7d487aca815626dc4ebb6c0dd07637ca61a44651a6
+SIZE (rust/crates/shadow-rs-1.1.1.crate) = 34850
SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
SIZE (rust/crates/shlex-1.3.0.crate) = 18713
SHA256 (rust/crates/signal-hook-0.3.17.crate) = 8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801
@@ -353,12 +353,12 @@ SHA256 (rust/crates/textwrap-0.16.1.crate) = 23d434d3f8967a09480fb04132ebe0a3e08
SIZE (rust/crates/textwrap-0.16.1.crate) = 56012
SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
-SHA256 (rust/crates/thiserror-2.0.6.crate) = 8fec2a1820ebd077e2b90c4df007bebf344cd394098a13c563957d0afc83ea47
-SIZE (rust/crates/thiserror-2.0.6.crate) = 28433
+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.6.crate) = d65750cab40f4ff1929fb1ba509e9914eb756131cef4210da8d5d700d26f6312
-SIZE (rust/crates/thiserror-impl-2.0.6.crate) = 20946
+SHA256 (rust/crates/thiserror-impl-2.0.12.crate) = 7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d
+SIZE (rust/crates/thiserror-impl-2.0.12.crate) = 21141
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
@@ -375,6 +375,12 @@ SHA256 (rust/crates/typetag-0.2.18.crate) = 52ba3b6e86ffe0054b2c44f2d86407388b93
SIZE (rust/crates/typetag-0.2.18.crate) = 30145
SHA256 (rust/crates/typetag-impl-0.2.18.crate) = 70b20a22c42c8f1cd23ce5e34f165d4d37038f5b663ad20fb6adbdf029172483
SIZE (rust/crates/typetag-impl-0.2.18.crate) = 9137
+SHA256 (rust/crates/tz-rs-0.7.0.crate) = e1450bf2b99397e72070e7935c89facaa80092ac812502200375f1f7d33c71a1
+SIZE (rust/crates/tz-rs-0.7.0.crate) = 46486
+SHA256 (rust/crates/tzdb-0.7.2.crate) = 0be2ea5956f295449f47c0b825c5e109022ff1a6a53bb4f77682a87c2341fbf5
+SIZE (rust/crates/tzdb-0.7.2.crate) = 10188
+SHA256 (rust/crates/tzdb_data-0.2.1.crate) = 0604b35c1f390a774fdb138cac75a99981078895d24bcab175987440bbff803b
+SIZE (rust/crates/tzdb_data-0.2.1.crate) = 246122
SHA256 (rust/crates/unicase-2.8.0.crate) = 7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df
SIZE (rust/crates/unicase-2.8.0.crate) = 23843
SHA256 (rust/crates/unicode-ident-1.0.14.crate) = adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83
diff --git a/shells/nu_plugin_gstat/Makefile.crates b/shells/nu_plugin_gstat/Makefile.crates
index b06ff3f7467d..6fac73d8fc5c 100644
--- a/shells/nu_plugin_gstat/Makefile.crates
+++ b/shells/nu_plugin_gstat/Makefile.crates
@@ -62,7 +62,7 @@ CARGO_CRATES= adler2-2.0.0 \
icu_provider_macros-1.5.0 \
idna-1.0.3 \
idna_adapter-1.2.0 \
- indexmap-2.7.0 \
+ indexmap-2.9.0 \
interprocess-2.2.2 \
inventory-0.3.15 \
is_ci-1.2.0 \
@@ -94,22 +94,22 @@ CARGO_CRATES= adler2-2.0.0 \
nom-7.1.3 \
ntapi-0.4.1 \
nu-ansi-term-0.50.1 \
- nu-derive-value-0.103.0 \
- nu-engine-0.103.0 \
- nu-glob-0.103.0 \
- nu-path-0.103.0 \
- nu-plugin-0.103.0 \
- nu-plugin-core-0.103.0 \
- nu-plugin-protocol-0.103.0 \
- nu-protocol-0.103.0 \
- nu-system-0.103.0 \
- nu-utils-0.103.0 \
+ nu-derive-value-0.104.0 \
+ nu-engine-0.104.0 \
+ nu-glob-0.104.0 \
+ nu-path-0.104.0 \
+ nu-plugin-0.104.0 \
+ nu-plugin-core-0.104.0 \
+ nu-plugin-protocol-0.104.0 \
+ nu-protocol-0.104.0 \
+ nu-system-0.104.0 \
+ nu-utils-0.104.0 \
num-format-0.4.4 \
num-traits-0.2.19 \
omnipath-0.1.6 \
once_cell-1.20.2 \
openssl-probe-0.1.5 \
- openssl-sys-0.9.105 \
+ openssl-sys-0.9.107 \
option-ext-0.2.0 \
os_pipe-1.2.1 \
owo-colors-4.1.0 \
@@ -166,9 +166,9 @@ CARGO_CRATES= adler2-2.0.0 \
terminal_size-0.4.1 \
textwrap-0.16.1 \
thiserror-1.0.69 \
- thiserror-2.0.6 \
+ thiserror-2.0.12 \
thiserror-impl-1.0.69 \
- thiserror-impl-2.0.6 \
+ thiserror-impl-2.0.12 \
tinystr-0.7.6 \
typeid-1.0.2 \
typetag-0.2.18 \
diff --git a/shells/nu_plugin_gstat/distinfo b/shells/nu_plugin_gstat/distinfo
index cdee5ed77919..21c48ccaa14d 100644
--- a/shells/nu_plugin_gstat/distinfo
+++ b/shells/nu_plugin_gstat/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1742766203
-SHA256 (nu_plugin_gstat-0.103.0.tar.gz) = 0eaeffa8ce2ec575197cffcaf263bc43830c39c9ec349be4a903eac061b2497b
-SIZE (nu_plugin_gstat-0.103.0.tar.gz) = 19563
+TIMESTAMP = 1747177940
+SHA256 (nu_plugin_gstat-0.104.0.tar.gz) = 246e4dec7f17628a69deadb9bbc7c5cffaf8cd4f3c1ad41263fae04891ffc3f5
+SIZE (nu_plugin_gstat-0.104.0.tar.gz) = 19552
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
SIZE (rust/crates/adler2-2.0.0.crate) = 13529
SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
@@ -129,8 +129,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/indexmap-2.7.0.crate) = 62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f
-SIZE (rust/crates/indexmap-2.7.0.crate) = 85335
+SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e
+SIZE (rust/crates/indexmap-2.9.0.crate) = 91214
SHA256 (rust/crates/interprocess-2.2.2.crate) = 894148491d817cb36b6f778017b8ac46b17408d522dd90f539d677ea938362eb
SIZE (rust/crates/interprocess-2.2.2.crate) = 114885
SHA256 (rust/crates/inventory-0.3.15.crate) = f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767
@@ -193,26 +193,26 @@ SHA256 (rust/crates/ntapi-0.4.1.crate) = e8a3895c6391c39d7fe7ebc444a87eb2991b2a0
SIZE (rust/crates/ntapi-0.4.1.crate) = 126552
SHA256 (rust/crates/nu-ansi-term-0.50.1.crate) = d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399
SIZE (rust/crates/nu-ansi-term-0.50.1.crate) = 28536
-SHA256 (rust/crates/nu-derive-value-0.103.0.crate) = 8f1f5198366892552a9a827a61a27e31543a0827c55ccfb6bf060489cec80d25
-SIZE (rust/crates/nu-derive-value-0.103.0.crate) = 13996
-SHA256 (rust/crates/nu-engine-0.103.0.crate) = 0cb715bb4c18e4259d21c5b710f04f7190c9803211e2a0baa31ec3a5841daa56
-SIZE (rust/crates/nu-engine-0.103.0.crate) = 69023
-SHA256 (rust/crates/nu-glob-0.103.0.crate) = 904fa576593ed75439eec561f62824bbe55f4a05f1c8239309a939d43e0ad704
-SIZE (rust/crates/nu-glob-0.103.0.crate) = 28776
-SHA256 (rust/crates/nu-path-0.103.0.crate) = e6e3a55f26e42d1f98fbb4f41fa4fcc7dee1f61f13c5eabda5ca90e78825b2fa
-SIZE (rust/crates/nu-path-0.103.0.crate) = 28869
-SHA256 (rust/crates/nu-plugin-0.103.0.crate) = 5f35f2290c077441edfde50745b501ba5ffad11217d5d01168cf1ab1b0e4c03d
-SIZE (rust/crates/nu-plugin-0.103.0.crate) = 39573
-SHA256 (rust/crates/nu-plugin-core-0.103.0.crate) = 5ba6f1d1c7f6ca9852c26e8e65a0f530b8fa3a1237a6c62de089ccaf6c1645fe
-SIZE (rust/crates/nu-plugin-core-0.103.0.crate) = 39670
-SHA256 (rust/crates/nu-plugin-protocol-0.103.0.crate) = 88bef165a59909561b349fb3eda7e16afae8f8d06d6c99527b4545c086b51f87
-SIZE (rust/crates/nu-plugin-protocol-0.103.0.crate) = 26703
-SHA256 (rust/crates/nu-protocol-0.103.0.crate) = ca35b5860d171e8e0994d42373f62fc99fb7a0b205e5d8a38897e2869d5f6ab7
-SIZE (rust/crates/nu-protocol-0.103.0.crate) = 228512
-SHA256 (rust/crates/nu-system-0.103.0.crate) = 70bb9b1c59acd274bd36b4879e1e03491a3ee2f24689a9070c66fbd8aed23b27
-SIZE (rust/crates/nu-system-0.103.0.crate) = 30772
-SHA256 (rust/crates/nu-utils-0.103.0.crate) = 2f01345a3c94f75397020250286c536e1b306cb714b2931c1a1c9a3318254793
-SIZE (rust/crates/nu-utils-0.103.0.crate) = 32382
+SHA256 (rust/crates/nu-derive-value-0.104.0.crate) = 5fd0d8e358b6440d01fe4e617f180aea826bade72efb54f5dc1c22e0e8038b6f
+SIZE (rust/crates/nu-derive-value-0.104.0.crate) = 13996
+SHA256 (rust/crates/nu-engine-0.104.0.crate) = 0c2b01483e3d09460375f0c0da7a83b6dc26fb319ca09c55d0665087b2d587c7
+SIZE (rust/crates/nu-engine-0.104.0.crate) = 69242
+SHA256 (rust/crates/nu-glob-0.104.0.crate) = 202ce25889336061efea24e69d4e0de7147c15fd9892cdd70533500d47db8364
+SIZE (rust/crates/nu-glob-0.104.0.crate) = 18374
+SHA256 (rust/crates/nu-path-0.104.0.crate) = 41c68c7c06898a5c4c9f10038da63759661cb8ac8f301ce7d159173a595c8258
+SIZE (rust/crates/nu-path-0.104.0.crate) = 28878
+SHA256 (rust/crates/nu-plugin-0.104.0.crate) = e00d2ccb35a1206c51740bea63b0deb72dc4c34ca6ceae6feac95f84d68370d2
+SIZE (rust/crates/nu-plugin-0.104.0.crate) = 39550
+SHA256 (rust/crates/nu-plugin-core-0.104.0.crate) = 30e416e6de2b62925ffc1924740a0e5340316a1630af3d2490d513bcb1f94e94
+SIZE (rust/crates/nu-plugin-core-0.104.0.crate) = 39724
+SHA256 (rust/crates/nu-plugin-protocol-0.104.0.crate) = be7edbdee451bb29150b5e8184660d79d0c0801a6748b9f712b758cb78110305
+SIZE (rust/crates/nu-plugin-protocol-0.104.0.crate) = 26744
+SHA256 (rust/crates/nu-protocol-0.104.0.crate) = ab657b1947f1fad3c5052cb210fa311744736a4800a966ae21c4bc63de7c60ab
+SIZE (rust/crates/nu-protocol-0.104.0.crate) = 231989
+SHA256 (rust/crates/nu-system-0.104.0.crate) = f47094aaab4f1e3a86c3960400d82a50fcabde907f964ae095963ec95669577a
+SIZE (rust/crates/nu-system-0.104.0.crate) = 31114
+SHA256 (rust/crates/nu-utils-0.104.0.crate) = 327999b774d78b301a6b68c33d312a1a8047c59fb8971b6552ebf823251f1481
+SIZE (rust/crates/nu-utils-0.104.0.crate) = 32234
SHA256 (rust/crates/num-format-0.4.4.crate) = a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3
SIZE (rust/crates/num-format-0.4.4.crate) = 61509
SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
@@ -223,8 +223,8 @@ SHA256 (rust/crates/once_cell-1.20.2.crate) = 1261fe7e33c73b354eab43b1273a57c8f9
SIZE (rust/crates/once_cell-1.20.2.crate) = 33394
SHA256 (rust/crates/openssl-probe-0.1.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf
SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227
-SHA256 (rust/crates/openssl-sys-0.9.105.crate) = 8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc
-SIZE (rust/crates/openssl-sys-0.9.105.crate) = 72287
+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_pipe-1.2.1.crate) = 5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982
@@ -337,12 +337,12 @@ SHA256 (rust/crates/textwrap-0.16.1.crate) = 23d434d3f8967a09480fb04132ebe0a3e08
SIZE (rust/crates/textwrap-0.16.1.crate) = 56012
SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
-SHA256 (rust/crates/thiserror-2.0.6.crate) = 8fec2a1820ebd077e2b90c4df007bebf344cd394098a13c563957d0afc83ea47
-SIZE (rust/crates/thiserror-2.0.6.crate) = 28433
+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.6.crate) = d65750cab40f4ff1929fb1ba509e9914eb756131cef4210da8d5d700d26f6312
-SIZE (rust/crates/thiserror-impl-2.0.6.crate) = 20946
+SHA256 (rust/crates/thiserror-impl-2.0.12.crate) = 7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d
+SIZE (rust/crates/thiserror-impl-2.0.12.crate) = 21141
SHA256 (rust/crates/tinystr-0.7.6.crate) = 9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f
SIZE (rust/crates/tinystr-0.7.6.crate) = 16971
SHA256 (rust/crates/typeid-1.0.2.crate) = 0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e
diff --git a/shells/nu_plugin_inc/Makefile.crates b/shells/nu_plugin_inc/Makefile.crates
index 2d999154b43e..e513e8e85970 100644
--- a/shells/nu_plugin_inc/Makefile.crates
+++ b/shells/nu_plugin_inc/Makefile.crates
@@ -47,7 +47,7 @@ CARGO_CRATES= adler2-2.0.0 \
hex-0.4.3 \
iana-time-zone-0.1.61 \
iana-time-zone-haiku-0.1.2 \
- indexmap-2.7.0 \
+ indexmap-2.9.0 \
interprocess-2.2.2 \
inventory-0.3.15 \
is_ci-1.2.0 \
@@ -74,16 +74,16 @@ CARGO_CRATES= adler2-2.0.0 \
nom-7.1.3 \
ntapi-0.4.1 \
nu-ansi-term-0.50.1 \
- nu-derive-value-0.103.0 \
- nu-engine-0.103.0 \
- nu-glob-0.103.0 \
- nu-path-0.103.0 \
- nu-plugin-0.103.0 \
- nu-plugin-core-0.103.0 \
- nu-plugin-protocol-0.103.0 \
- nu-protocol-0.103.0 \
- nu-system-0.103.0 \
- nu-utils-0.103.0 \
+ nu-derive-value-0.104.0 \
+ nu-engine-0.104.0 \
+ nu-glob-0.104.0 \
+ nu-path-0.104.0 \
+ nu-plugin-0.104.0 \
+ nu-plugin-core-0.104.0 \
+ nu-plugin-protocol-0.104.0 \
+ nu-protocol-0.104.0 \
+ nu-system-0.104.0 \
+ nu-utils-0.104.0 \
num-format-0.4.4 \
num-traits-0.2.19 \
omnipath-0.1.6 \
@@ -140,9 +140,9 @@ CARGO_CRATES= adler2-2.0.0 \
terminal_size-0.4.1 \
textwrap-0.16.1 \
thiserror-1.0.69 \
- thiserror-2.0.6 \
+ thiserror-2.0.12 \
thiserror-impl-1.0.69 \
- thiserror-impl-2.0.6 \
+ thiserror-impl-2.0.12 \
typeid-1.0.2 \
typetag-0.2.18 \
typetag-impl-0.2.18 \
diff --git a/shells/nu_plugin_inc/distinfo b/shells/nu_plugin_inc/distinfo
index bd40523814e4..e919b04ae2e9 100644
--- a/shells/nu_plugin_inc/distinfo
+++ b/shells/nu_plugin_inc/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1742766205
-SHA256 (nu_plugin_inc-0.103.0.tar.gz) = 3c6e772067e0969f7187fbe0ee26d6f950784ed42fa901ceaee27ce7020cfae8
-SIZE (nu_plugin_inc-0.103.0.tar.gz) = 15019
+TIMESTAMP = 1747177942
+SHA256 (nu_plugin_inc-0.104.0.tar.gz) = db8cbc30677cc482a0180f2be3bd2a026ddc1132ce3d0bb2f9a065e2e31547c2
+SIZE (nu_plugin_inc-0.104.0.tar.gz) = 15008
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
SIZE (rust/crates/adler2-2.0.0.crate) = 13529
SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
@@ -99,8 +99,8 @@ SHA256 (rust/crates/iana-time-zone-0.1.61.crate) = 235e081f3925a06703c2d0117ea8b
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/indexmap-2.7.0.crate) = 62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f
-SIZE (rust/crates/indexmap-2.7.0.crate) = 85335
+SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e
+SIZE (rust/crates/indexmap-2.9.0.crate) = 91214
SHA256 (rust/crates/interprocess-2.2.2.crate) = 894148491d817cb36b6f778017b8ac46b17408d522dd90f539d677ea938362eb
SIZE (rust/crates/interprocess-2.2.2.crate) = 114885
SHA256 (rust/crates/inventory-0.3.15.crate) = f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767
@@ -153,26 +153,26 @@ SHA256 (rust/crates/ntapi-0.4.1.crate) = e8a3895c6391c39d7fe7ebc444a87eb2991b2a0
SIZE (rust/crates/ntapi-0.4.1.crate) = 126552
SHA256 (rust/crates/nu-ansi-term-0.50.1.crate) = d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399
SIZE (rust/crates/nu-ansi-term-0.50.1.crate) = 28536
-SHA256 (rust/crates/nu-derive-value-0.103.0.crate) = 8f1f5198366892552a9a827a61a27e31543a0827c55ccfb6bf060489cec80d25
-SIZE (rust/crates/nu-derive-value-0.103.0.crate) = 13996
-SHA256 (rust/crates/nu-engine-0.103.0.crate) = 0cb715bb4c18e4259d21c5b710f04f7190c9803211e2a0baa31ec3a5841daa56
-SIZE (rust/crates/nu-engine-0.103.0.crate) = 69023
-SHA256 (rust/crates/nu-glob-0.103.0.crate) = 904fa576593ed75439eec561f62824bbe55f4a05f1c8239309a939d43e0ad704
-SIZE (rust/crates/nu-glob-0.103.0.crate) = 28776
-SHA256 (rust/crates/nu-path-0.103.0.crate) = e6e3a55f26e42d1f98fbb4f41fa4fcc7dee1f61f13c5eabda5ca90e78825b2fa
-SIZE (rust/crates/nu-path-0.103.0.crate) = 28869
-SHA256 (rust/crates/nu-plugin-0.103.0.crate) = 5f35f2290c077441edfde50745b501ba5ffad11217d5d01168cf1ab1b0e4c03d
-SIZE (rust/crates/nu-plugin-0.103.0.crate) = 39573
-SHA256 (rust/crates/nu-plugin-core-0.103.0.crate) = 5ba6f1d1c7f6ca9852c26e8e65a0f530b8fa3a1237a6c62de089ccaf6c1645fe
-SIZE (rust/crates/nu-plugin-core-0.103.0.crate) = 39670
-SHA256 (rust/crates/nu-plugin-protocol-0.103.0.crate) = 88bef165a59909561b349fb3eda7e16afae8f8d06d6c99527b4545c086b51f87
-SIZE (rust/crates/nu-plugin-protocol-0.103.0.crate) = 26703
-SHA256 (rust/crates/nu-protocol-0.103.0.crate) = ca35b5860d171e8e0994d42373f62fc99fb7a0b205e5d8a38897e2869d5f6ab7
-SIZE (rust/crates/nu-protocol-0.103.0.crate) = 228512
-SHA256 (rust/crates/nu-system-0.103.0.crate) = 70bb9b1c59acd274bd36b4879e1e03491a3ee2f24689a9070c66fbd8aed23b27
-SIZE (rust/crates/nu-system-0.103.0.crate) = 30772
-SHA256 (rust/crates/nu-utils-0.103.0.crate) = 2f01345a3c94f75397020250286c536e1b306cb714b2931c1a1c9a3318254793
-SIZE (rust/crates/nu-utils-0.103.0.crate) = 32382
+SHA256 (rust/crates/nu-derive-value-0.104.0.crate) = 5fd0d8e358b6440d01fe4e617f180aea826bade72efb54f5dc1c22e0e8038b6f
+SIZE (rust/crates/nu-derive-value-0.104.0.crate) = 13996
+SHA256 (rust/crates/nu-engine-0.104.0.crate) = 0c2b01483e3d09460375f0c0da7a83b6dc26fb319ca09c55d0665087b2d587c7
+SIZE (rust/crates/nu-engine-0.104.0.crate) = 69242
+SHA256 (rust/crates/nu-glob-0.104.0.crate) = 202ce25889336061efea24e69d4e0de7147c15fd9892cdd70533500d47db8364
+SIZE (rust/crates/nu-glob-0.104.0.crate) = 18374
+SHA256 (rust/crates/nu-path-0.104.0.crate) = 41c68c7c06898a5c4c9f10038da63759661cb8ac8f301ce7d159173a595c8258
+SIZE (rust/crates/nu-path-0.104.0.crate) = 28878
+SHA256 (rust/crates/nu-plugin-0.104.0.crate) = e00d2ccb35a1206c51740bea63b0deb72dc4c34ca6ceae6feac95f84d68370d2
+SIZE (rust/crates/nu-plugin-0.104.0.crate) = 39550
+SHA256 (rust/crates/nu-plugin-core-0.104.0.crate) = 30e416e6de2b62925ffc1924740a0e5340316a1630af3d2490d513bcb1f94e94
+SIZE (rust/crates/nu-plugin-core-0.104.0.crate) = 39724
+SHA256 (rust/crates/nu-plugin-protocol-0.104.0.crate) = be7edbdee451bb29150b5e8184660d79d0c0801a6748b9f712b758cb78110305
+SIZE (rust/crates/nu-plugin-protocol-0.104.0.crate) = 26744
+SHA256 (rust/crates/nu-protocol-0.104.0.crate) = ab657b1947f1fad3c5052cb210fa311744736a4800a966ae21c4bc63de7c60ab
+SIZE (rust/crates/nu-protocol-0.104.0.crate) = 231989
+SHA256 (rust/crates/nu-system-0.104.0.crate) = f47094aaab4f1e3a86c3960400d82a50fcabde907f964ae095963ec95669577a
+SIZE (rust/crates/nu-system-0.104.0.crate) = 31114
+SHA256 (rust/crates/nu-utils-0.104.0.crate) = 327999b774d78b301a6b68c33d312a1a8047c59fb8971b6552ebf823251f1481
+SIZE (rust/crates/nu-utils-0.104.0.crate) = 32234
SHA256 (rust/crates/num-format-0.4.4.crate) = a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3
SIZE (rust/crates/num-format-0.4.4.crate) = 61509
SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
@@ -285,12 +285,12 @@ SHA256 (rust/crates/textwrap-0.16.1.crate) = 23d434d3f8967a09480fb04132ebe0a3e08
SIZE (rust/crates/textwrap-0.16.1.crate) = 56012
SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
-SHA256 (rust/crates/thiserror-2.0.6.crate) = 8fec2a1820ebd077e2b90c4df007bebf344cd394098a13c563957d0afc83ea47
-SIZE (rust/crates/thiserror-2.0.6.crate) = 28433
+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.6.crate) = d65750cab40f4ff1929fb1ba509e9914eb756131cef4210da8d5d700d26f6312
-SIZE (rust/crates/thiserror-impl-2.0.6.crate) = 20946
+SHA256 (rust/crates/thiserror-impl-2.0.12.crate) = 7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d
+SIZE (rust/crates/thiserror-impl-2.0.12.crate) = 21141
SHA256 (rust/crates/typeid-1.0.2.crate) = 0e13db2e0ccd5e14a544e8a246ba2312cd25223f616442d7f2cb0e3db614236e
SIZE (rust/crates/typeid-1.0.2.crate) = 8844
SHA256 (rust/crates/typetag-0.2.18.crate) = 52ba3b6e86ffe0054b2c44f2d86407388b933b16cb0a70eea3929420db1d9bbe
diff --git a/shells/nu_plugin_polars/Makefile.crates b/shells/nu_plugin_polars/Makefile.crates
index 87c0af950e39..547f8cb77edc 100644
--- a/shells/nu_plugin_polars/Makefile.crates
+++ b/shells/nu_plugin_polars/Makefile.crates
@@ -18,7 +18,7 @@ CARGO_CRATES= addr2line-0.24.2 \
anstyle-wincon-3.0.6 \
arbitrary-1.4.1 \
argminmax-0.6.2 \
- array-init-cursor-0.2.0 \
+ array-init-cursor-0.2.1 \
arrayref-0.3.9 \
arrayvec-0.5.2 \
arrayvec-0.7.6 \
@@ -68,8 +68,8 @@ CARGO_CRATES= addr2line-0.24.2 \
byteorder-1.5.0 \
bytes-1.10.0 \
bytes-utils-0.1.4 \
- bytesize-1.3.2 \
- calamine-0.26.1 \
+ bytesize-1.3.3 \
+ calamine-0.27.0 \
castaway-0.2.3 \
cc-1.2.16 \
cexpr-0.6.0 \
@@ -99,7 +99,7 @@ CARGO_CRATES= addr2line-0.24.2 \
crc-2.1.0 \
crc-catalog-1.1.1 \
crc32fast-1.4.2 \
- crossbeam-channel-0.5.13 \
+ crossbeam-channel-0.5.15 \
crossbeam-deque-0.8.5 \
crossbeam-epoch-0.9.18 \
crossbeam-queue-0.3.11 \
@@ -109,7 +109,7 @@ CARGO_CRATES= addr2line-0.24.2 \
crypto-common-0.1.6 \
csv-1.3.1 \
csv-core-0.1.11 \
- data-encoding-2.8.0 \
+ data-encoding-2.9.0 \
deranged-0.3.11 \
derive_arbitrary-1.4.1 \
devicons-0.6.12 \
@@ -162,6 +162,7 @@ CARGO_CRATES= addr2line-0.24.2 \
fuzzy-matcher-0.3.7 \
generic-array-0.14.7 \
getrandom-0.2.15 \
+ getrandom-0.3.1 \
gimli-0.31.1 \
glob-0.3.1 \
h2-0.3.26 \
@@ -180,7 +181,7 @@ CARGO_CRATES= addr2line-0.24.2 \
http-body-util-0.1.2 \
httparse-1.9.5 \
httpdate-1.0.3 \
- human-date-parser-0.2.0 \
+ human-date-parser-0.3.1 \
humantime-2.1.0 \
hyper-0.14.31 \
hyper-1.5.1 \
@@ -202,7 +203,7 @@ CARGO_CRATES= addr2line-0.24.2 \
icu_provider_macros-1.5.0 \
idna-1.0.3 \
idna_adapter-1.2.0 \
- indexmap-2.7.0 \
+ indexmap-2.9.0 \
indicatif-0.17.9 \
inotify-0.9.6 \
inotify-sys-0.1.5 \
@@ -212,7 +213,7 @@ CARGO_CRATES= addr2line-0.24.2 \
is-docker-0.2.0 \
is-wsl-0.4.0 \
is_ci-1.2.0 \
- is_debug-1.0.2 \
+ is_debug-1.1.0 \
is_terminal_polyfill-1.70.1 \
itertools-0.11.0 \
itertools-0.13.0 \
@@ -257,32 +258,33 @@ CARGO_CRATES= addr2line-0.24.2 \
native-tls-0.2.12 \
nix-0.29.0 \
nom-7.1.3 \
+ nom-8.0.0 \
notify-6.1.1 \
notify-debouncer-full-0.3.2 \
now-0.1.3 \
ntapi-0.4.1 \
nu-ansi-term-0.50.1 \
- nu-cmd-base-0.103.0 \
- nu-cmd-lang-0.103.0 \
- nu-color-config-0.103.0 \
- nu-command-0.103.0 \
- nu-derive-value-0.103.0 \
- nu-engine-0.103.0 \
- nu-glob-0.103.0 \
- nu-json-0.103.0 \
- nu-parser-0.103.0 \
- nu-path-0.103.0 \
- nu-plugin-0.103.0 \
- nu-plugin-core-0.103.0 \
- nu-plugin-engine-0.103.0 \
- nu-plugin-protocol-0.103.0 \
- nu-plugin-test-support-0.103.0 \
- nu-pretty-hex-0.103.0 \
- nu-protocol-0.103.0 \
- nu-system-0.103.0 \
- nu-table-0.103.0 \
- nu-term-grid-0.103.0 \
- nu-utils-0.103.0 \
+ nu-cmd-base-0.104.0 \
+ nu-cmd-lang-0.104.0 \
+ nu-color-config-0.104.0 \
+ nu-command-0.104.0 \
+ nu-derive-value-0.104.0 \
+ nu-engine-0.104.0 \
+ nu-glob-0.104.0 \
+ nu-json-0.104.0 \
+ nu-parser-0.104.0 \
+ nu-path-0.104.0 \
+ nu-plugin-0.104.0 \
+ nu-plugin-core-0.104.0 \
+ nu-plugin-engine-0.104.0 \
+ nu-plugin-protocol-0.104.0 \
+ nu-plugin-test-support-0.104.0 \
+ nu-pretty-hex-0.104.0 \
+ nu-protocol-0.104.0 \
+ nu-system-0.104.0 \
+ nu-table-0.104.0 \
+ nu-term-grid-0.104.0 \
+ nu-utils-0.104.0 \
num-0.4.3 \
num-bigint-0.4.6 \
num-complex-0.4.6 \
@@ -294,17 +296,17 @@ CARGO_CRATES= addr2line-0.24.2 \
num-traits-0.2.19 \
num_threads-0.1.7 \
number_prefix-0.4.0 \
- nuon-0.103.0 \
+ nuon-0.104.0 \
object-0.36.5 \
object_store-0.11.2 \
oem_cp-2.0.0 \
omnipath-0.1.6 \
once_cell-1.20.2 \
open-5.3.1 \
- openssl-0.10.70 \
+ openssl-0.10.72 \
openssl-macros-0.1.1 \
openssl-probe-0.1.5 \
- openssl-sys-0.9.105 \
+ openssl-sys-0.9.107 \
option-ext-0.2.0 \
os_display-0.1.3 \
os_pipe-1.2.1 \
@@ -314,11 +316,13 @@ CARGO_CRATES= addr2line-0.24.2 \
parking_lot-0.12.3 \
parking_lot_core-0.9.10 \
parse-zoneinfo-0.3.1 \
- parse_datetime-0.6.0 \
+ parse_datetime-0.8.0 \
paste-1.0.15 \
pathdiff-0.2.3 \
percent-encoding-2.3.1 \
pest-2.7.15 \
+ pest_consume-1.1.3 \
+ pest_consume_macros-1.1.0 \
pest_derive-2.7.15 \
pest_generator-2.7.15 \
pest_meta-2.7.15 \
@@ -367,15 +371,17 @@ CARGO_CRATES= addr2line-0.24.2 \
pure-rust-locales-0.8.1 \
pwd-1.4.0 \
quick-error-2.0.1 \
- quick-xml-0.31.0 \
quick-xml-0.37.1 \
quinn-0.11.6 \
quinn-proto-0.11.9 \
quinn-udp-0.5.8 \
quote-1.0.37 \
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_distr-0.4.3 \
raw-cpuid-11.2.0 \
rayon-1.10.0 \
@@ -430,7 +436,7 @@ CARGO_CRATES= addr2line-0.24.2 \
serde_yaml-0.9.34+deprecated \
sha1_smol-1.0.1 \
sha2-0.10.8 \
- shadow-rs-0.38.0 \
+ shadow-rs-1.1.1 \
shell-words-1.1.0 \
shlex-1.3.0 \
signal-hook-0.3.17 \
@@ -448,6 +454,7 @@ CARGO_CRATES= addr2line-0.24.2 \
snafu-derive-0.8.5 \
snap-1.1.1 \
socket2-0.5.8 \
+ socks-0.3.4 \
sqlparser-0.53.0 \
stable_deref_trait-1.2.0 \
stacker-0.1.17 \
@@ -463,6 +470,7 @@ CARGO_CRATES= addr2line-0.24.2 \
supports-color-3.0.2 \
supports-hyperlinks-3.1.0 \
supports-unicode-3.0.0 \
+ syn-1.0.109 \
syn-2.0.90 \
sync_wrapper-1.0.2 \
synstructure-0.13.1 \
@@ -473,9 +481,9 @@ CARGO_CRATES= addr2line-0.24.2 \
terminal_size-0.4.1 \
textwrap-0.16.1 \
thiserror-1.0.69 \
- thiserror-2.0.6 \
+ thiserror-2.0.12 \
thiserror-impl-1.0.69 \
- thiserror-impl-2.0.6 \
+ thiserror-impl-2.0.12 \
thread_local-1.1.8 \
time-0.3.37 \
time-core-0.1.2 \
@@ -483,8 +491,8 @@ CARGO_CRATES= addr2line-0.24.2 \
tinystr-0.7.6 \
tinyvec-1.8.0 \
tinyvec_macros-0.1.1 \
- titlecase-3.4.0 \
- tokio-1.43.0 \
+ titlecase-3.5.0 \
+ tokio-1.44.2 \
tokio-macros-2.5.0 \
tokio-native-tls-0.3.1 \
tokio-rustls-0.24.1 \
@@ -502,6 +510,9 @@ CARGO_CRATES= addr2line-0.24.2 \
typenum-1.17.0 \
typetag-0.2.18 \
typetag-impl-0.2.18 \
+ tz-rs-0.7.0 \
+ tzdb-0.7.2 \
+ tzdb_data-0.2.1 \
ucd-trie-0.1.7 \
umask-2.1.0 \
unicase-2.8.0 \
@@ -522,17 +533,17 @@ CARGO_CRATES= addr2line-0.24.2 \
utf16_iter-1.0.5 \
utf8_iter-1.0.4 \
utf8parse-0.2.2 \
- uu_cp-0.0.29 \
- uu_mkdir-0.0.29 \
- uu_mktemp-0.0.29 \
- uu_mv-0.0.29 \
- uu_touch-0.0.29 \
- uu_uname-0.0.29 \
- uu_whoami-0.0.29 \
- uucore-0.0.29 \
- uucore_procs-0.0.29 \
- uuhelp_parser-0.0.29 \
- uuid-1.12.0 \
+ uu_cp-0.0.30 \
+ uu_mkdir-0.0.30 \
+ uu_mktemp-0.0.30 \
+ uu_mv-0.0.30 \
+ uu_touch-0.0.30 \
+ uu_uname-0.0.30 \
+ uu_whoami-0.0.30 \
+ uucore-0.0.30 \
+ uucore_procs-0.0.30 \
+ uuhelp_parser-0.0.30 \
+ uuid-1.16.0 \
v_htmlescape-0.15.8 \
value-trait-0.10.1 \
vcpkg-0.2.15 \
@@ -544,6 +555,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 \
wasm-bindgen-0.2.99 \
wasm-bindgen-backend-0.2.99 \
wasm-bindgen-futures-0.4.49 \
@@ -597,6 +609,7 @@ CARGO_CRATES= addr2line-0.24.2 \
winnow-0.6.20 \
winreg-0.52.0 \
winsafe-0.0.19 \
+ wit-bindgen-rt-0.33.0 \
write16-1.0.0 \
writeable-0.5.5 \
xattr-1.3.1 \
@@ -605,13 +618,15 @@ CARGO_CRATES= addr2line-0.24.2 \
yoke-0.7.5 \
yoke-derive-0.7.5 \
zerocopy-0.7.35 \
+ zerocopy-0.8.23 \
zerocopy-derive-0.7.35 \
+ zerocopy-derive-0.8.23 \
zerofrom-0.1.5 \
zerofrom-derive-0.1.5 \
zeroize-1.8.1 \
zerovec-0.10.4 \
zerovec-derive-0.10.3 \
- zip-2.4.1 \
+ zip-2.5.0 \
zlib-rs-0.4.1 \
zopfli-0.8.1 \
zstd-0.13.2 \
diff --git a/shells/nu_plugin_polars/distinfo b/shells/nu_plugin_polars/distinfo
index a269549dd1f0..52479a47122f 100644
--- a/shells/nu_plugin_polars/distinfo
+++ b/shells/nu_plugin_polars/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1742766213
-SHA256 (nu_plugin_polars-0.103.0.tar.gz) = 2adc5616cc194ce1c72063f8ed988a6d99927dc7e4c560edb557db348f6cc613
-SIZE (nu_plugin_polars-0.103.0.tar.gz) = 142746
+TIMESTAMP = 1747177950
+SHA256 (nu_plugin_polars-0.104.0.tar.gz) = 65b5ff15782ac1b20ffbe91fc4b0034996800d35815d819f8584f3aaddfc80ea
+SIZE (nu_plugin_polars-0.104.0.tar.gz) = 155724
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,8 +41,8 @@ SHA256 (rust/crates/arbitrary-1.4.1.crate) = dde20b3d026af13f561bdd0f15edf01fc73
SIZE (rust/crates/arbitrary-1.4.1.crate) = 36816
SHA256 (rust/crates/argminmax-0.6.2.crate) = 52424b59d69d69d5056d508b260553afd91c57e21849579cd1f50ee8b8b88eaa
SIZE (rust/crates/argminmax-0.6.2.crate) = 55956
-SHA256 (rust/crates/array-init-cursor-0.2.0.crate) = bf7d0a018de4f6aa429b9d33d69edf69072b1c5b1cb8d3e4a5f7ef898fc3eb76
-SIZE (rust/crates/array-init-cursor-0.2.0.crate) = 2590
+SHA256 (rust/crates/array-init-cursor-0.2.1.crate) = ed51fe0f224d1d4ea768be38c51f9f831dee9d05c163c11fba0b8c44387b1fc3
+SIZE (rust/crates/array-init-cursor-0.2.1.crate) = 7102
SHA256 (rust/crates/arrayref-0.3.9.crate) = 76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb
SIZE (rust/crates/arrayref-0.3.9.crate) = 9186
SHA256 (rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
@@ -141,10 +141,10 @@ SHA256 (rust/crates/bytes-1.10.0.crate) = f61dac84819c6588b558454b194026eb1f09c2
SIZE (rust/crates/bytes-1.10.0.crate) = 76656
SHA256 (rust/crates/bytes-utils-0.1.4.crate) = 7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35
SIZE (rust/crates/bytes-utils-0.1.4.crate) = 20703
-SHA256 (rust/crates/bytesize-1.3.2.crate) = 2d2c12f985c78475a6b8d629afd0c360260ef34cfef52efccdcfd31972f81c2e
-SIZE (rust/crates/bytesize-1.3.2.crate) = 11575
-SHA256 (rust/crates/calamine-0.26.1.crate) = 138646b9af2c5d7f1804ea4bf93afc597737d2bd4f7341d67c48b03316976eb1
-SIZE (rust/crates/calamine-0.26.1.crate) = 89109
+SHA256 (rust/crates/bytesize-1.3.3.crate) = 2e93abca9e28e0a1b9877922aacb20576e05d4679ffa78c3d6dc22a26a216659
+SIZE (rust/crates/bytesize-1.3.3.crate) = 11594
+SHA256 (rust/crates/calamine-0.27.0.crate) = 6d80f81ba5c68206b9027e62346d49dc26fb32ffc4fe6ef7022a8ae21d348ccb
+SIZE (rust/crates/calamine-0.27.0.crate) = 89837
SHA256 (rust/crates/castaway-0.2.3.crate) = 0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5
SIZE (rust/crates/castaway-0.2.3.crate) = 11509
SHA256 (rust/crates/cc-1.2.16.crate) = be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c
@@ -203,8 +203,8 @@ SHA256 (rust/crates/crc-catalog-1.1.1.crate) = ccaeedb56da03b09f598226e25e80088c
SIZE (rust/crates/crc-catalog-1.1.1.crate) = 8698
SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
-SHA256 (rust/crates/crossbeam-channel-0.5.13.crate) = 33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2
-SIZE (rust/crates/crossbeam-channel-0.5.13.crate) = 91174
+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.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d
SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726
SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
@@ -223,8 +223,8 @@ SHA256 (rust/crates/csv-1.3.1.crate) = acdc4883a9c96732e4733212c01447ebd805833b7
SIZE (rust/crates/csv-1.3.1.crate) = 888542
SHA256 (rust/crates/csv-core-0.1.11.crate) = 5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70
SIZE (rust/crates/csv-core-0.1.11.crate) = 25852
-SHA256 (rust/crates/data-encoding-2.8.0.crate) = 575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010
-SIZE (rust/crates/data-encoding-2.8.0.crate) = 21394
+SHA256 (rust/crates/data-encoding-2.9.0.crate) = 2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476
+SIZE (rust/crates/data-encoding-2.9.0.crate) = 21564
SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4
SIZE (rust/crates/deranged-0.3.11.crate) = 18043
SHA256 (rust/crates/derive_arbitrary-1.4.1.crate) = 30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800
@@ -329,6 +329,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/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f
SIZE (rust/crates/gimli-0.31.1.crate) = 279515
SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b
@@ -365,8 +367,8 @@ SHA256 (rust/crates/httparse-1.9.5.crate) = 7d71d3574edd2771538b901e6549113b4006
SIZE (rust/crates/httparse-1.9.5.crate) = 39029
SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9
SIZE (rust/crates/httpdate-1.0.3.crate) = 10639
-SHA256 (rust/crates/human-date-parser-0.2.0.crate) = 1116cf4debfe770c12168458321c4a8591b71c4c19f7100de07c84cf81701c63
-SIZE (rust/crates/human-date-parser-0.2.0.crate) = 11931
+SHA256 (rust/crates/human-date-parser-0.3.1.crate) = 406f83c56de4b2c9183be52ae9a4fefa22c0e0c3d3d7ef80be26eaee11c7110e
+SIZE (rust/crates/human-date-parser-0.3.1.crate) = 15566
SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
SIZE (rust/crates/humantime-2.1.0.crate) = 16749
SHA256 (rust/crates/hyper-0.14.31.crate) = 8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85
@@ -409,8 +411,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/indexmap-2.7.0.crate) = 62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f
-SIZE (rust/crates/indexmap-2.7.0.crate) = 85335
+SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e
+SIZE (rust/crates/indexmap-2.9.0.crate) = 91214
SHA256 (rust/crates/indicatif-0.17.9.crate) = cbf675b85ed934d3c67b5c5469701eec7db22689d0a2139d856e0925fa28b281
SIZE (rust/crates/indicatif-0.17.9.crate) = 65246
SHA256 (rust/crates/inotify-0.9.6.crate) = f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff
@@ -429,8 +431,8 @@ SHA256 (rust/crates/is-wsl-0.4.0.crate) = 173609498df190136aa7dea1a91db051746d33
SIZE (rust/crates/is-wsl-0.4.0.crate) = 3264
SHA256 (rust/crates/is_ci-1.2.0.crate) = 7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45
SIZE (rust/crates/is_ci-1.2.0.crate) = 4521
-SHA256 (rust/crates/is_debug-1.0.2.crate) = e8ea828c9d6638a5bd3d8b14e37502b4d56cae910ccf8a5b7f51c7a0eb1d0508
-SIZE (rust/crates/is_debug-1.0.2.crate) = 2640
+SHA256 (rust/crates/is_debug-1.1.0.crate) = 1fe266d2e243c931d8190177f20bf7f24eed45e96f39e87dc49a27b32d12d407
+SIZE (rust/crates/is_debug-1.1.0.crate) = 3398
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/itertools-0.11.0.crate) = b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57
@@ -519,6 +521,8 @@ SHA256 (rust/crates/nix-0.29.0.crate) = 71e2746dc3a24dd78b3cfcb7be93368c6de9963d
SIZE (rust/crates/nix-0.29.0.crate) = 318248
SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/nom-8.0.0.crate) = df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405
+SIZE (rust/crates/nom-8.0.0.crate) = 135590
SHA256 (rust/crates/notify-6.1.1.crate) = 6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d
SIZE (rust/crates/notify-6.1.1.crate) = 40117
SHA256 (rust/crates/notify-debouncer-full-0.3.2.crate) = fb7fd166739789c9ff169e654dc1501373db9d80a4c3f972817c8a4d7cf8f34e
@@ -529,48 +533,48 @@ SHA256 (rust/crates/ntapi-0.4.1.crate) = e8a3895c6391c39d7fe7ebc444a87eb2991b2a0
SIZE (rust/crates/ntapi-0.4.1.crate) = 126552
SHA256 (rust/crates/nu-ansi-term-0.50.1.crate) = d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399
SIZE (rust/crates/nu-ansi-term-0.50.1.crate) = 28536
-SHA256 (rust/crates/nu-cmd-base-0.103.0.crate) = b5e3fadfe7bf3383778c596df0bd11c166e8c363aa64133269c0ff695086c1d2
-SIZE (rust/crates/nu-cmd-base-0.103.0.crate) = 17418
-SHA256 (rust/crates/nu-cmd-lang-0.103.0.crate) = 8cea93e3f189c944a246221d7c8ed8e57b23379bf9bb0d31ea7964ff2b56020d
-SIZE (rust/crates/nu-cmd-lang-0.103.0.crate) = 45435
-SHA256 (rust/crates/nu-color-config-0.103.0.crate) = bd3638911ec37bc7393abce308d45a8e3f0c35d74f55fbe1029b7a8e9edc6322
-SIZE (rust/crates/nu-color-config-0.103.0.crate) = 25583
-SHA256 (rust/crates/nu-command-0.103.0.crate) = 9e5514fc30fa130b9f36efeddc5725153b4bb0ace265b8e216db20690682d7ec
-SIZE (rust/crates/nu-command-0.103.0.crate) = 625733
-SHA256 (rust/crates/nu-derive-value-0.103.0.crate) = 8f1f5198366892552a9a827a61a27e31543a0827c55ccfb6bf060489cec80d25
-SIZE (rust/crates/nu-derive-value-0.103.0.crate) = 13996
-SHA256 (rust/crates/nu-engine-0.103.0.crate) = 0cb715bb4c18e4259d21c5b710f04f7190c9803211e2a0baa31ec3a5841daa56
-SIZE (rust/crates/nu-engine-0.103.0.crate) = 69023
-SHA256 (rust/crates/nu-glob-0.103.0.crate) = 904fa576593ed75439eec561f62824bbe55f4a05f1c8239309a939d43e0ad704
-SIZE (rust/crates/nu-glob-0.103.0.crate) = 28776
-SHA256 (rust/crates/nu-json-0.103.0.crate) = 0da34885b46b3973e7a6d6a3e91a2014caa8cfdd7ea66d969fa1a8eec485cea9
-SIZE (rust/crates/nu-json-0.103.0.crate) = 35290
-SHA256 (rust/crates/nu-parser-0.103.0.crate) = daac6d76c123d2534bcbc67ed065c4a78a54cf034e09332ed648a85339c11f91
-SIZE (rust/crates/nu-parser-0.103.0.crate) = 118259
-SHA256 (rust/crates/nu-path-0.103.0.crate) = e6e3a55f26e42d1f98fbb4f41fa4fcc7dee1f61f13c5eabda5ca90e78825b2fa
-SIZE (rust/crates/nu-path-0.103.0.crate) = 28869
-SHA256 (rust/crates/nu-plugin-0.103.0.crate) = 5f35f2290c077441edfde50745b501ba5ffad11217d5d01168cf1ab1b0e4c03d
-SIZE (rust/crates/nu-plugin-0.103.0.crate) = 39573
-SHA256 (rust/crates/nu-plugin-core-0.103.0.crate) = 5ba6f1d1c7f6ca9852c26e8e65a0f530b8fa3a1237a6c62de089ccaf6c1645fe
-SIZE (rust/crates/nu-plugin-core-0.103.0.crate) = 39670
-SHA256 (rust/crates/nu-plugin-engine-0.103.0.crate) = edc79cff665e4434153c97bd7065608f6649cf3a45cb1576d39a58a111c87c9f
-SIZE (rust/crates/nu-plugin-engine-0.103.0.crate) = 51503
-SHA256 (rust/crates/nu-plugin-protocol-0.103.0.crate) = 88bef165a59909561b349fb3eda7e16afae8f8d06d6c99527b4545c086b51f87
-SIZE (rust/crates/nu-plugin-protocol-0.103.0.crate) = 26703
-SHA256 (rust/crates/nu-plugin-test-support-0.103.0.crate) = 91b913effb3fc1b17338a9d3dacddd81ec907a65c94fbd050685366d60d4a773
-SIZE (rust/crates/nu-plugin-test-support-0.103.0.crate) = 23362
-SHA256 (rust/crates/nu-pretty-hex-0.103.0.crate) = a10a0548f4b881bffbd4b383b531e3338868eb2ef0cd9c421eedf427a4c1e9d6
-SIZE (rust/crates/nu-pretty-hex-0.103.0.crate) = 9701
-SHA256 (rust/crates/nu-protocol-0.103.0.crate) = ca35b5860d171e8e0994d42373f62fc99fb7a0b205e5d8a38897e2869d5f6ab7
-SIZE (rust/crates/nu-protocol-0.103.0.crate) = 228512
-SHA256 (rust/crates/nu-system-0.103.0.crate) = 70bb9b1c59acd274bd36b4879e1e03491a3ee2f24689a9070c66fbd8aed23b27
-SIZE (rust/crates/nu-system-0.103.0.crate) = 30772
-SHA256 (rust/crates/nu-table-0.103.0.crate) = c9b35a78b1bcf4fb967590b78d4bef3245a071cb4f9534bba13254eb495761a3
-SIZE (rust/crates/nu-table-0.103.0.crate) = 39208
-SHA256 (rust/crates/nu-term-grid-0.103.0.crate) = f16be75e959343a65be5e2604902184b72448a21ce4fba22de9cc52371b76e8c
-SIZE (rust/crates/nu-term-grid-0.103.0.crate) = 11983
-SHA256 (rust/crates/nu-utils-0.103.0.crate) = 2f01345a3c94f75397020250286c536e1b306cb714b2931c1a1c9a3318254793
-SIZE (rust/crates/nu-utils-0.103.0.crate) = 32382
+SHA256 (rust/crates/nu-cmd-base-0.104.0.crate) = 1ae53525607e64c6c51ca3f217cd94d793f2553e728c0e0c38ac7daa1066dd96
+SIZE (rust/crates/nu-cmd-base-0.104.0.crate) = 17415
+SHA256 (rust/crates/nu-cmd-lang-0.104.0.crate) = e66adfeda88f8e27bcb25d068d9e6e8b3a94c2bf988a9c30e8e3b2045867aefe
+SIZE (rust/crates/nu-cmd-lang-0.104.0.crate) = 46346
+SHA256 (rust/crates/nu-color-config-0.104.0.crate) = 8e844ab91dcb93f7387f28820c63849c11f6ca41657f3885efe6b7fe6f0ffd8c
+SIZE (rust/crates/nu-color-config-0.104.0.crate) = 25575
+SHA256 (rust/crates/nu-command-0.104.0.crate) = 8ab3937ddd17e4ff4d5a80901bae3072d90d4f27a0028ed08fd937095dfceb64
+SIZE (rust/crates/nu-command-0.104.0.crate) = 640220
+SHA256 (rust/crates/nu-derive-value-0.104.0.crate) = 5fd0d8e358b6440d01fe4e617f180aea826bade72efb54f5dc1c22e0e8038b6f
+SIZE (rust/crates/nu-derive-value-0.104.0.crate) = 13996
+SHA256 (rust/crates/nu-engine-0.104.0.crate) = 0c2b01483e3d09460375f0c0da7a83b6dc26fb319ca09c55d0665087b2d587c7
+SIZE (rust/crates/nu-engine-0.104.0.crate) = 69242
+SHA256 (rust/crates/nu-glob-0.104.0.crate) = 202ce25889336061efea24e69d4e0de7147c15fd9892cdd70533500d47db8364
+SIZE (rust/crates/nu-glob-0.104.0.crate) = 18374
+SHA256 (rust/crates/nu-json-0.104.0.crate) = 6e80c87a04bb9cd342ec97254f977b9e08ea762a330b2f0d0c9317bfa9408b12
+SIZE (rust/crates/nu-json-0.104.0.crate) = 29947
+SHA256 (rust/crates/nu-parser-0.104.0.crate) = cb0591ef4d4989c1930863d9d17d8fd2d70b03ec2d9caeca067e9626e05c49d9
+SIZE (rust/crates/nu-parser-0.104.0.crate) = 119009
+SHA256 (rust/crates/nu-path-0.104.0.crate) = 41c68c7c06898a5c4c9f10038da63759661cb8ac8f301ce7d159173a595c8258
+SIZE (rust/crates/nu-path-0.104.0.crate) = 28878
+SHA256 (rust/crates/nu-plugin-0.104.0.crate) = e00d2ccb35a1206c51740bea63b0deb72dc4c34ca6ceae6feac95f84d68370d2
+SIZE (rust/crates/nu-plugin-0.104.0.crate) = 39550
+SHA256 (rust/crates/nu-plugin-core-0.104.0.crate) = 30e416e6de2b62925ffc1924740a0e5340316a1630af3d2490d513bcb1f94e94
+SIZE (rust/crates/nu-plugin-core-0.104.0.crate) = 39724
+SHA256 (rust/crates/nu-plugin-engine-0.104.0.crate) = 14fb214ba23829ebfe61b9a5e0688cd5620922438d7d76a6f6b3e1151d07e82a
+SIZE (rust/crates/nu-plugin-engine-0.104.0.crate) = 51488
+SHA256 (rust/crates/nu-plugin-protocol-0.104.0.crate) = be7edbdee451bb29150b5e8184660d79d0c0801a6748b9f712b758cb78110305
+SIZE (rust/crates/nu-plugin-protocol-0.104.0.crate) = 26744
+SHA256 (rust/crates/nu-plugin-test-support-0.104.0.crate) = b8acb62c21fd980e467162bc17a4e93a8435e28249256b52e58718278149978d
+SIZE (rust/crates/nu-plugin-test-support-0.104.0.crate) = 23523
+SHA256 (rust/crates/nu-pretty-hex-0.104.0.crate) = 64523a7b09e51d4af0a7569ed476e931b5a2b931d07633c417f4ab09be4d9864
+SIZE (rust/crates/nu-pretty-hex-0.104.0.crate) = 9700
+SHA256 (rust/crates/nu-protocol-0.104.0.crate) = ab657b1947f1fad3c5052cb210fa311744736a4800a966ae21c4bc63de7c60ab
+SIZE (rust/crates/nu-protocol-0.104.0.crate) = 231989
+SHA256 (rust/crates/nu-system-0.104.0.crate) = f47094aaab4f1e3a86c3960400d82a50fcabde907f964ae095963ec95669577a
+SIZE (rust/crates/nu-system-0.104.0.crate) = 31114
+SHA256 (rust/crates/nu-table-0.104.0.crate) = 2248c1b5c2f5e95eb6be6e02715e3a88673f0781d5bff207f4eed5aea666cf44
+SIZE (rust/crates/nu-table-0.104.0.crate) = 38412
+SHA256 (rust/crates/nu-term-grid-0.104.0.crate) = 42aca5245e6d1d25a5ef223f2b4a2d8592d22064b868d822cfe7307de112c735
+SIZE (rust/crates/nu-term-grid-0.104.0.crate) = 11978
+SHA256 (rust/crates/nu-utils-0.104.0.crate) = 327999b774d78b301a6b68c33d312a1a8047c59fb8971b6552ebf823251f1481
+SIZE (rust/crates/nu-utils-0.104.0.crate) = 32234
SHA256 (rust/crates/num-0.4.3.crate) = 35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23
SIZE (rust/crates/num-0.4.3.crate) = 9575
SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9
@@ -593,8 +597,8 @@ SHA256 (rust/crates/num_threads-0.1.7.crate) = 5c7398b9c8b70908f6371f47ed3673790
SIZE (rust/crates/num_threads-0.1.7.crate) = 7455
SHA256 (rust/crates/number_prefix-0.4.0.crate) = 830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3
SIZE (rust/crates/number_prefix-0.4.0.crate) = 6922
-SHA256 (rust/crates/nuon-0.103.0.crate) = 19acc9cc8769e6428c244229bcd042c222088cca8c6ebb045df630e79922cd16
-SIZE (rust/crates/nuon-0.103.0.crate) = 20508
+SHA256 (rust/crates/nuon-0.104.0.crate) = 6ad155fee37ed58420483d38c40cd9bea88160e281e1d04c1592525c8f8da9a5
+SIZE (rust/crates/nuon-0.104.0.crate) = 20515
SHA256 (rust/crates/object-0.36.5.crate) = aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e
SIZE (rust/crates/object-0.36.5.crate) = 327435
SHA256 (rust/crates/object_store-0.11.2.crate) = 3cfccb68961a56facde1163f9319e0d15743352344e7808a11795fb99698dcaf
@@ -607,14 +611,14 @@ SHA256 (rust/crates/once_cell-1.20.2.crate) = 1261fe7e33c73b354eab43b1273a57c8f9
SIZE (rust/crates/once_cell-1.20.2.crate) = 33394
SHA256 (rust/crates/open-5.3.1.crate) = 3ecd52f0b8d15c40ce4820aa251ed5de032e5d91fab27f7db2f40d42a8bdf69c
SIZE (rust/crates/open-5.3.1.crate) = 25229
-SHA256 (rust/crates/openssl-0.10.70.crate) = 61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6
-SIZE (rust/crates/openssl-0.10.70.crate) = 277545
+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.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf
SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227
-SHA256 (rust/crates/openssl-sys-0.9.105.crate) = 8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc
-SIZE (rust/crates/openssl-sys-0.9.105.crate) = 72287
+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_display-0.1.3.crate) = 7a6229bad892b46b0dcfaaeb18ad0d2e56400f5aaea05b768bde96e73676cf75
@@ -633,8 +637,8 @@ SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627
SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406
SHA256 (rust/crates/parse-zoneinfo-0.3.1.crate) = 1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24
SIZE (rust/crates/parse-zoneinfo-0.3.1.crate) = 97290
-SHA256 (rust/crates/parse_datetime-0.6.0.crate) = a8720474e3dd4af20cea8716703498b9f3b690f318fa9d9d9e2e38eaf44b96d0
-SIZE (rust/crates/parse_datetime-0.6.0.crate) = 12822
+SHA256 (rust/crates/parse_datetime-0.8.0.crate) = 4bffd1156cebf13f681d7769924d3edfb9d9d71ba206a8d8e8e7eb9df4f4b1e7
+SIZE (rust/crates/parse_datetime-0.8.0.crate) = 17808
SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a
SIZE (rust/crates/paste-1.0.15.crate) = 18374
SHA256 (rust/crates/pathdiff-0.2.3.crate) = df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3
@@ -643,6 +647,10 @@ SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e
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_consume-1.1.3.crate) = 79447402d15d18e7142e14c72f2e63fa3d155be1bc5b70b3ccbb610ac55f536b
+SIZE (rust/crates/pest_consume-1.1.3.crate) = 11828
+SHA256 (rust/crates/pest_consume_macros-1.1.0.crate) = 9d8630a7a899cb344ec1c16ba0a6b24240029af34bdc0a21f84e411d7f793f29
+SIZE (rust/crates/pest_consume_macros-1.1.0.crate) = 6962
SHA256 (rust/crates/pest_derive-2.7.15.crate) = 816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e
SIZE (rust/crates/pest_derive-2.7.15.crate) = 40745
SHA256 (rust/crates/pest_generator-2.7.15.crate) = 7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b
@@ -739,8 +747,6 @@ SHA256 (rust/crates/pwd-1.4.0.crate) = 72c71c0c79b9701efe4e1e4b563b2016dd4ee789e
SIZE (rust/crates/pwd-1.4.0.crate) = 4145
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.31.0.crate) = 1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33
-SIZE (rust/crates/quick-xml-0.31.0.crate) = 172236
SHA256 (rust/crates/quick-xml-0.37.1.crate) = f22f29bdff3987b4d8632ef95fd6424ec7e4e0a57e2f4fc63e489e75357f6a03
SIZE (rust/crates/quick-xml-0.37.1.crate) = 187839
SHA256 (rust/crates/quinn-0.11.6.crate) = 62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef
@@ -753,10 +759,16 @@ SHA256 (rust/crates/quote-1.0.37.crate) = b5b9d34b8991d19d98081b46eacdd8eb58c6f2
SIZE (rust/crates/quote-1.0.37.crate) = 28558
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_distr-0.4.3.crate) = 32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31
SIZE (rust/crates/rand_distr-0.4.3.crate) = 58255
SHA256 (rust/crates/raw-cpuid-11.2.0.crate) = 1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0
@@ -865,8 +877,8 @@ SHA256 (rust/crates/sha1_smol-1.0.1.crate) = bbfa15b3dddfee50a0fff136974b3e1bde5
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/shadow-rs-0.38.0.crate) = 69d433b5df1e1958a668457ebe4a9c5b7bcfe844f4eb2276ac43cf273baddd54
-SIZE (rust/crates/shadow-rs-0.38.0.crate) = 34481
+SHA256 (rust/crates/shadow-rs-1.1.1.crate) = 6d5625ed609cf66d7e505e7d487aca815626dc4ebb6c0dd07637ca61a44651a6
+SIZE (rust/crates/shadow-rs-1.1.1.crate) = 34850
SHA256 (rust/crates/shell-words-1.1.0.crate) = 24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde
SIZE (rust/crates/shell-words-1.1.0.crate) = 9871
SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
@@ -901,6 +913,8 @@ SHA256 (rust/crates/snap-1.1.1.crate) = 1b6b67fb9a61334225b5b790716f609cd58395f8
SIZE (rust/crates/snap-1.1.1.crate) = 33763
SHA256 (rust/crates/socket2-0.5.8.crate) = c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8
SIZE (rust/crates/socket2-0.5.8.crate) = 56309
+SHA256 (rust/crates/socks-0.3.4.crate) = f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b
+SIZE (rust/crates/socks-0.3.4.crate) = 13172
SHA256 (rust/crates/sqlparser-0.53.0.crate) = 05a528114c392209b3264855ad491fcce534b94a38771b0a0b97a79379275ce8
SIZE (rust/crates/sqlparser-0.53.0.crate) = 266820
SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
@@ -931,6 +945,8 @@ SHA256 (rust/crates/supports-hyperlinks-3.1.0.crate) = 804f44ed3c63152de6a9f90ac
SIZE (rust/crates/supports-hyperlinks-3.1.0.crate) = 8235
SHA256 (rust/crates/supports-unicode-3.0.0.crate) = b7401a30af6cb5818bb64852270bb722533397edcfc7344954a38f420819ece2
SIZE (rust/crates/supports-unicode-3.0.0.crate) = 7825
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
SHA256 (rust/crates/syn-2.0.90.crate) = 919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31
SIZE (rust/crates/syn-2.0.90.crate) = 290584
SHA256 (rust/crates/sync_wrapper-1.0.2.crate) = 0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263
@@ -951,12 +967,12 @@ SHA256 (rust/crates/textwrap-0.16.1.crate) = 23d434d3f8967a09480fb04132ebe0a3e08
SIZE (rust/crates/textwrap-0.16.1.crate) = 56012
SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
-SHA256 (rust/crates/thiserror-2.0.6.crate) = 8fec2a1820ebd077e2b90c4df007bebf344cd394098a13c563957d0afc83ea47
-SIZE (rust/crates/thiserror-2.0.6.crate) = 28433
+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.6.crate) = d65750cab40f4ff1929fb1ba509e9914eb756131cef4210da8d5d700d26f6312
-SIZE (rust/crates/thiserror-impl-2.0.6.crate) = 20946
+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
@@ -971,10 +987,10 @@ SHA256 (rust/crates/tinyvec-1.8.0.crate) = 445e881f4f6d382d5f27c034e25eb92edd7c7
SIZE (rust/crates/tinyvec-1.8.0.crate) = 46796
SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
-SHA256 (rust/crates/titlecase-3.4.0.crate) = ef6b5cbe1316986025d8f662ff6945a0c85f2ca8ca13f04b5e0829ddb0d047f2
-SIZE (rust/crates/titlecase-3.4.0.crate) = 11552
-SHA256 (rust/crates/tokio-1.43.0.crate) = 3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e
-SIZE (rust/crates/tokio-1.43.0.crate) = 817422
+SHA256 (rust/crates/titlecase-3.5.0.crate) = a1fad07d425f7245932d6deb5009e2c83d9642617b47750ffc3363815e269435
+SIZE (rust/crates/titlecase-3.5.0.crate) = 11847
+SHA256 (rust/crates/tokio-1.44.2.crate) = e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48
+SIZE (rust/crates/tokio-1.44.2.crate) = 841618
SHA256 (rust/crates/tokio-macros-2.5.0.crate) = 6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8
SIZE (rust/crates/tokio-macros-2.5.0.crate) = 12617
SHA256 (rust/crates/tokio-native-tls-0.3.1.crate) = bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2
@@ -1009,6 +1025,12 @@ SHA256 (rust/crates/typetag-0.2.18.crate) = 52ba3b6e86ffe0054b2c44f2d86407388b93
SIZE (rust/crates/typetag-0.2.18.crate) = 30145
SHA256 (rust/crates/typetag-impl-0.2.18.crate) = 70b20a22c42c8f1cd23ce5e34f165d4d37038f5b663ad20fb6adbdf029172483
SIZE (rust/crates/typetag-impl-0.2.18.crate) = 9137
+SHA256 (rust/crates/tz-rs-0.7.0.crate) = e1450bf2b99397e72070e7935c89facaa80092ac812502200375f1f7d33c71a1
+SIZE (rust/crates/tz-rs-0.7.0.crate) = 46486
+SHA256 (rust/crates/tzdb-0.7.2.crate) = 0be2ea5956f295449f47c0b825c5e109022ff1a6a53bb4f77682a87c2341fbf5
+SIZE (rust/crates/tzdb-0.7.2.crate) = 10188
+SHA256 (rust/crates/tzdb_data-0.2.1.crate) = 0604b35c1f390a774fdb138cac75a99981078895d24bcab175987440bbff803b
+SIZE (rust/crates/tzdb_data-0.2.1.crate) = 246122
SHA256 (rust/crates/ucd-trie-0.1.7.crate) = 2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971
SIZE (rust/crates/ucd-trie-0.1.7.crate) = 46795
SHA256 (rust/crates/umask-2.1.0.crate) = ec9a46c2549e35c054e0ffe281a3a6ec0007793db4df106604d37ed3f4d73d1c
@@ -1049,28 +1071,28 @@ SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59
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/uu_cp-0.0.29.crate) = 235439f8efcff799cbdb90992cb5b1845dce903c1569efc8d9b46417c83f5aa8
-SIZE (rust/crates/uu_cp-0.0.29.crate) = 43378
-SHA256 (rust/crates/uu_mkdir-0.0.29.crate) = ea0a30620d88a7ea16b522e1fe63ebb61f87f05fd63ade00938a024807356952
-SIZE (rust/crates/uu_mkdir-0.0.29.crate) = 8333
-SHA256 (rust/crates/uu_mktemp-0.0.29.crate) = e1db7648ff064cdfe8a0e6ef9546de3b03e34cefa270b783de7736a8470473cc
-SIZE (rust/crates/uu_mktemp-0.0.29.crate) = 11859
-SHA256 (rust/crates/uu_mv-0.0.29.crate) = 92ab8c17ac7153adaa0176924319827cfb240cf48e4260283facfdb37e776071
-SIZE (rust/crates/uu_mv-0.0.29.crate) = 14918
-SHA256 (rust/crates/uu_touch-0.0.29.crate) = 3adc774c7961272cd2feeb95f2bf2e0b8f7b8ccd5fbcf49727d0de1eab804b67
-SIZE (rust/crates/uu_touch-0.0.29.crate) = 15950
-SHA256 (rust/crates/uu_uname-0.0.29.crate) = 95a942626aec03d4f4d972b10e00f9ddcdced1933658076eccafea5a20fdafb8
-SIZE (rust/crates/uu_uname-0.0.29.crate) = 7271
-SHA256 (rust/crates/uu_whoami-0.0.29.crate) = a812f7a838c9375c15ed13b66048df2c632c1ac3ec613dabb28c648019c6d018
-SIZE (rust/crates/uu_whoami-0.0.29.crate) = 6344
-SHA256 (rust/crates/uucore-0.0.29.crate) = 50e0dc1598d959a08f24cea4d9e992f7ca874bd4ac80746683272afd37603b5e
-SIZE (rust/crates/uucore-0.0.29.crate) = 127128
-SHA256 (rust/crates/uucore_procs-0.0.29.crate) = 27d3de33ab2b56c0437cca084a2aeb1d46c56d138ab6341c009a90018a9a1c5f
-SIZE (rust/crates/uucore_procs-0.0.29.crate) = 3993
-SHA256 (rust/crates/uuhelp_parser-0.0.29.crate) = 0cf4c8b31abfb5dc79940d6ca8000a1a6aa42f38711cdeaacb95850c69924cbc
-SIZE (rust/crates/uuhelp_parser-0.0.29.crate) = 2904
-SHA256 (rust/crates/uuid-1.12.0.crate) = 744018581f9a3454a9e15beb8a33b017183f1e7c0cd170232a2d1453b23a51c4
-SIZE (rust/crates/uuid-1.12.0.crate) = 49085
+SHA256 (rust/crates/uu_cp-0.0.30.crate) = bf2f3906b7896f79519055d36760095577373e40ec244f46b259f502a4a91147
+SIZE (rust/crates/uu_cp-0.0.30.crate) = 45103
+SHA256 (rust/crates/uu_mkdir-0.0.30.crate) = 5be556a5d852f55b92bba460d7a97030a340ba4a3f4c510a8d0a893bfaf48356
+SIZE (rust/crates/uu_mkdir-0.0.30.crate) = 11237
+SHA256 (rust/crates/uu_mktemp-0.0.30.crate) = 5305fcf4f7f480e7438e19ff433ae60dea886bd528f87543029eb6b95d351afc
+SIZE (rust/crates/uu_mktemp-0.0.30.crate) = 14411
+SHA256 (rust/crates/uu_mv-0.0.30.crate) = 3be214b96554e4f7aa079b26c86c3ecf1b9ea15023ca2ec62d608273d12c7049
+SIZE (rust/crates/uu_mv-0.0.30.crate) = 18113
+SHA256 (rust/crates/uu_touch-0.0.30.crate) = 1e58581a0245de8e3ef75b115ab29592cfb60d4851149d4951604601d14ea420
+SIZE (rust/crates/uu_touch-0.0.30.crate) = 17229
+SHA256 (rust/crates/uu_uname-0.0.30.crate) = 324d96a21da91a81be334206ab65aad16d164d34cddeb640e1c56cd8d1854dd4
+SIZE (rust/crates/uu_uname-0.0.30.crate) = 9545
+SHA256 (rust/crates/uu_whoami-0.0.30.crate) = bee254de8b172a5978f12fe6cd9d4f2b60ea9ef1e37f0cb53bfee2c993b3e96a
+SIZE (rust/crates/uu_whoami-0.0.30.crate) = 8616
+SHA256 (rust/crates/uucore-0.0.30.crate) = 71f4e82877d06de779c611a3d54720f56f1e68b228fb30a5b6c66ef07e68263d
+SIZE (rust/crates/uucore-0.0.30.crate) = 132808
+SHA256 (rust/crates/uucore_procs-0.0.30.crate) = c72435859e812e602e225dea48d014abb6b1072220a8d44f2fe0565553b1f7e4
+SIZE (rust/crates/uucore_procs-0.0.30.crate) = 3993
+SHA256 (rust/crates/uuhelp_parser-0.0.30.crate) = 0bb6d972f580f8223cb7052d8580aea2b7061e368cf476de32ea9457b19459ed
+SIZE (rust/crates/uuhelp_parser-0.0.30.crate) = 2907
+SHA256 (rust/crates/uuid-1.16.0.crate) = 458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9
+SIZE (rust/crates/uuid-1.16.0.crate) = 58549
SHA256 (rust/crates/v_htmlescape-0.15.8.crate) = 4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c
SIZE (rust/crates/v_htmlescape-0.15.8.crate) = 10878
SHA256 (rust/crates/value-trait-0.10.1.crate) = 9170e001f458781e92711d2ad666110f153e4e50bfd5cbd02db6547625714187
@@ -1093,6 +1115,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/wasm-bindgen-0.2.99.crate) = a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396
SIZE (rust/crates/wasm-bindgen-0.2.99.crate) = 46136
SHA256 (rust/crates/wasm-bindgen-backend-0.2.99.crate) = 5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79
@@ -1199,6 +1223,8 @@ SHA256 (rust/crates/winreg-0.52.0.crate) = a277a57398d4bfa075df44f501a17cfdf8542
SIZE (rust/crates/winreg-0.52.0.crate) = 30148
SHA256 (rust/crates/winsafe-0.0.19.crate) = d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904
SIZE (rust/crates/winsafe-0.0.19.crate) = 492820
+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/write16-1.0.0.crate) = d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936
SIZE (rust/crates/write16-1.0.0.crate) = 7218
SHA256 (rust/crates/writeable-0.5.5.crate) = 1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51
@@ -1215,8 +1241,12 @@ SHA256 (rust/crates/yoke-derive-0.7.5.crate) = 2380878cad4ac9aac1e2435f3eb4020e8
SIZE (rust/crates/yoke-derive-0.7.5.crate) = 7525
SHA256 (rust/crates/zerocopy-0.7.35.crate) = 1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0
SIZE (rust/crates/zerocopy-0.7.35.crate) = 152645
+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.35.crate) = fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e
SIZE (rust/crates/zerocopy-derive-0.7.35.crate) = 37829
+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
@@ -1227,8 +1257,8 @@ 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 (rust/crates/zip-2.4.1.crate) = 938cc23ac49778ac8340e366ddc422b2227ea176edb447e23fc0627608dddadd
-SIZE (rust/crates/zip-2.4.1.crate) = 109830
+SHA256 (rust/crates/zip-2.5.0.crate) = 27c03817464f64e23f6f37574b4fdc8cf65925b5bfd2b0f2aedf959791941f88
+SIZE (rust/crates/zip-2.5.0.crate) = 111877
SHA256 (rust/crates/zlib-rs-0.4.1.crate) = aada01553a9312bad4b9569035a1f12b05e5ec9770a1a4b323757356928944f8
SIZE (rust/crates/zlib-rs-0.4.1.crate) = 190033
SHA256 (rust/crates/zopfli-0.8.1.crate) = e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946
diff --git a/shells/nu_plugin_query/Makefile.crates b/shells/nu_plugin_query/Makefile.crates
index 3a8d3dcb9a7a..7b6aaa4961d2 100644
--- a/shells/nu_plugin_query/Makefile.crates
+++ b/shells/nu_plugin_query/Makefile.crates
@@ -74,7 +74,7 @@ CARGO_CRATES= adler2-2.0.0 \
icu_provider_macros-1.5.0 \
idna-1.0.3 \
idna_adapter-1.2.0 \
- indexmap-2.7.0 \
+ indexmap-2.9.0 \
interprocess-2.2.2 \
inventory-0.3.15 \
is_ci-1.2.0 \
@@ -108,22 +108,22 @@ CARGO_CRATES= adler2-2.0.0 \
nom-7.1.3 \
ntapi-0.4.1 \
nu-ansi-term-0.50.1 \
- nu-derive-value-0.103.0 \
- nu-engine-0.103.0 \
- nu-glob-0.103.0 \
- nu-path-0.103.0 \
- nu-plugin-0.103.0 \
- nu-plugin-core-0.103.0 \
- nu-plugin-protocol-0.103.0 \
- nu-protocol-0.103.0 \
- nu-system-0.103.0 \
- nu-utils-0.103.0 \
+ nu-derive-value-0.104.0 \
+ nu-engine-0.104.0 \
+ nu-glob-0.104.0 \
+ nu-path-0.104.0 \
+ nu-plugin-0.104.0 \
+ nu-plugin-core-0.104.0 \
+ nu-plugin-protocol-0.104.0 \
+ nu-protocol-0.104.0 \
+ nu-system-0.104.0 \
+ nu-utils-0.104.0 \
num-format-0.4.4 \
num-traits-0.2.19 \
omnipath-0.1.6 \
once_cell-1.20.2 \
openssl-probe-0.1.5 \
- openssl-sys-0.9.105 \
+ openssl-sys-0.9.107 \
option-ext-0.2.0 \
os_pipe-1.2.1 \
owo-colors-4.1.0 \
@@ -205,9 +205,9 @@ CARGO_CRATES= adler2-2.0.0 \
terminal_size-0.4.1 \
textwrap-0.16.1 \
thiserror-1.0.69 \
- thiserror-2.0.6 \
+ thiserror-2.0.12 \
thiserror-impl-1.0.69 \
- thiserror-impl-2.0.6 \
+ thiserror-impl-2.0.12 \
tinystr-0.7.6 \
typed-arena-1.7.0 \
typeid-1.0.2 \
diff --git a/shells/nu_plugin_query/distinfo b/shells/nu_plugin_query/distinfo
index c7b44eddbb2d..23f3eb99be2d 100644
--- a/shells/nu_plugin_query/distinfo
+++ b/shells/nu_plugin_query/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1742766216
-SHA256 (nu_plugin_query-0.103.0.tar.gz) = 81421d21fce4a177ad1326a24e1ab486e88f82e1ae71bb71b791d4aab69b5d8a
-SIZE (nu_plugin_query-0.103.0.tar.gz) = 35016
+TIMESTAMP = 1747177952
+SHA256 (nu_plugin_query-0.104.0.tar.gz) = 4605bcb90a2cb72a9e953bef1ada4905a475793279fc0a83b0cbb99a6d23109b
+SIZE (nu_plugin_query-0.104.0.tar.gz) = 35019
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
SIZE (rust/crates/adler2-2.0.0.crate) = 13529
SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
@@ -153,8 +153,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/indexmap-2.7.0.crate) = 62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f
-SIZE (rust/crates/indexmap-2.7.0.crate) = 85335
+SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e
+SIZE (rust/crates/indexmap-2.9.0.crate) = 91214
SHA256 (rust/crates/interprocess-2.2.2.crate) = 894148491d817cb36b6f778017b8ac46b17408d522dd90f539d677ea938362eb
SIZE (rust/crates/interprocess-2.2.2.crate) = 114885
SHA256 (rust/crates/inventory-0.3.15.crate) = f958d3d68f4167080a18141e10381e7634563984a537f2a49a30fd8e53ac5767
@@ -221,26 +221,26 @@ SHA256 (rust/crates/ntapi-0.4.1.crate) = e8a3895c6391c39d7fe7ebc444a87eb2991b2a0
SIZE (rust/crates/ntapi-0.4.1.crate) = 126552
SHA256 (rust/crates/nu-ansi-term-0.50.1.crate) = d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399
SIZE (rust/crates/nu-ansi-term-0.50.1.crate) = 28536
-SHA256 (rust/crates/nu-derive-value-0.103.0.crate) = 8f1f5198366892552a9a827a61a27e31543a0827c55ccfb6bf060489cec80d25
-SIZE (rust/crates/nu-derive-value-0.103.0.crate) = 13996
-SHA256 (rust/crates/nu-engine-0.103.0.crate) = 0cb715bb4c18e4259d21c5b710f04f7190c9803211e2a0baa31ec3a5841daa56
-SIZE (rust/crates/nu-engine-0.103.0.crate) = 69023
-SHA256 (rust/crates/nu-glob-0.103.0.crate) = 904fa576593ed75439eec561f62824bbe55f4a05f1c8239309a939d43e0ad704
-SIZE (rust/crates/nu-glob-0.103.0.crate) = 28776
-SHA256 (rust/crates/nu-path-0.103.0.crate) = e6e3a55f26e42d1f98fbb4f41fa4fcc7dee1f61f13c5eabda5ca90e78825b2fa
-SIZE (rust/crates/nu-path-0.103.0.crate) = 28869
-SHA256 (rust/crates/nu-plugin-0.103.0.crate) = 5f35f2290c077441edfde50745b501ba5ffad11217d5d01168cf1ab1b0e4c03d
-SIZE (rust/crates/nu-plugin-0.103.0.crate) = 39573
-SHA256 (rust/crates/nu-plugin-core-0.103.0.crate) = 5ba6f1d1c7f6ca9852c26e8e65a0f530b8fa3a1237a6c62de089ccaf6c1645fe
-SIZE (rust/crates/nu-plugin-core-0.103.0.crate) = 39670
-SHA256 (rust/crates/nu-plugin-protocol-0.103.0.crate) = 88bef165a59909561b349fb3eda7e16afae8f8d06d6c99527b4545c086b51f87
-SIZE (rust/crates/nu-plugin-protocol-0.103.0.crate) = 26703
-SHA256 (rust/crates/nu-protocol-0.103.0.crate) = ca35b5860d171e8e0994d42373f62fc99fb7a0b205e5d8a38897e2869d5f6ab7
-SIZE (rust/crates/nu-protocol-0.103.0.crate) = 228512
-SHA256 (rust/crates/nu-system-0.103.0.crate) = 70bb9b1c59acd274bd36b4879e1e03491a3ee2f24689a9070c66fbd8aed23b27
-SIZE (rust/crates/nu-system-0.103.0.crate) = 30772
-SHA256 (rust/crates/nu-utils-0.103.0.crate) = 2f01345a3c94f75397020250286c536e1b306cb714b2931c1a1c9a3318254793
-SIZE (rust/crates/nu-utils-0.103.0.crate) = 32382
+SHA256 (rust/crates/nu-derive-value-0.104.0.crate) = 5fd0d8e358b6440d01fe4e617f180aea826bade72efb54f5dc1c22e0e8038b6f
+SIZE (rust/crates/nu-derive-value-0.104.0.crate) = 13996
+SHA256 (rust/crates/nu-engine-0.104.0.crate) = 0c2b01483e3d09460375f0c0da7a83b6dc26fb319ca09c55d0665087b2d587c7
+SIZE (rust/crates/nu-engine-0.104.0.crate) = 69242
+SHA256 (rust/crates/nu-glob-0.104.0.crate) = 202ce25889336061efea24e69d4e0de7147c15fd9892cdd70533500d47db8364
+SIZE (rust/crates/nu-glob-0.104.0.crate) = 18374
+SHA256 (rust/crates/nu-path-0.104.0.crate) = 41c68c7c06898a5c4c9f10038da63759661cb8ac8f301ce7d159173a595c8258
+SIZE (rust/crates/nu-path-0.104.0.crate) = 28878
+SHA256 (rust/crates/nu-plugin-0.104.0.crate) = e00d2ccb35a1206c51740bea63b0deb72dc4c34ca6ceae6feac95f84d68370d2
+SIZE (rust/crates/nu-plugin-0.104.0.crate) = 39550
+SHA256 (rust/crates/nu-plugin-core-0.104.0.crate) = 30e416e6de2b62925ffc1924740a0e5340316a1630af3d2490d513bcb1f94e94
+SIZE (rust/crates/nu-plugin-core-0.104.0.crate) = 39724
+SHA256 (rust/crates/nu-plugin-protocol-0.104.0.crate) = be7edbdee451bb29150b5e8184660d79d0c0801a6748b9f712b758cb78110305
+SIZE (rust/crates/nu-plugin-protocol-0.104.0.crate) = 26744
+SHA256 (rust/crates/nu-protocol-0.104.0.crate) = ab657b1947f1fad3c5052cb210fa311744736a4800a966ae21c4bc63de7c60ab
+SIZE (rust/crates/nu-protocol-0.104.0.crate) = 231989
+SHA256 (rust/crates/nu-system-0.104.0.crate) = f47094aaab4f1e3a86c3960400d82a50fcabde907f964ae095963ec95669577a
+SIZE (rust/crates/nu-system-0.104.0.crate) = 31114
+SHA256 (rust/crates/nu-utils-0.104.0.crate) = 327999b774d78b301a6b68c33d312a1a8047c59fb8971b6552ebf823251f1481
+SIZE (rust/crates/nu-utils-0.104.0.crate) = 32234
SHA256 (rust/crates/num-format-0.4.4.crate) = a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3
SIZE (rust/crates/num-format-0.4.4.crate) = 61509
SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
@@ -251,8 +251,8 @@ SHA256 (rust/crates/once_cell-1.20.2.crate) = 1261fe7e33c73b354eab43b1273a57c8f9
SIZE (rust/crates/once_cell-1.20.2.crate) = 33394
SHA256 (rust/crates/openssl-probe-0.1.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf
SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227
-SHA256 (rust/crates/openssl-sys-0.9.105.crate) = 8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc
-SIZE (rust/crates/openssl-sys-0.9.105.crate) = 72287
+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_pipe-1.2.1.crate) = 5ffd2b0a5634335b135d5728d84c5e0fd726954b87111f7506a61c502280d982
@@ -415,12 +415,12 @@ SHA256 (rust/crates/textwrap-0.16.1.crate) = 23d434d3f8967a09480fb04132ebe0a3e08
SIZE (rust/crates/textwrap-0.16.1.crate) = 56012
SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
-SHA256 (rust/crates/thiserror-2.0.6.crate) = 8fec2a1820ebd077e2b90c4df007bebf344cd394098a13c563957d0afc83ea47
-SIZE (rust/crates/thiserror-2.0.6.crate) = 28433
+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.6.crate) = d65750cab40f4ff1929fb1ba509e9914eb756131cef4210da8d5d700d26f6312
-SIZE (rust/crates/thiserror-impl-2.0.6.crate) = 20946
+SHA256 (rust/crates/thiserror-impl-2.0.12.crate) = 7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d
+SIZE (rust/crates/thiserror-impl-2.0.12.crate) = 21141
SHA256 (rust/crates/tinystr-0.7.6.crate) = 9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f
SIZE (rust/crates/tinystr-0.7.6.crate) = 16971
SHA256 (rust/crates/typed-arena-1.7.0.crate) = a9b2228007eba4120145f785df0f6c92ea538f5a3635a612ecf4e334c8c1446d
diff --git a/shells/nushell/Makefile b/shells/nushell/Makefile
index e01566f98b4f..f413c5b011cb 100644
--- a/shells/nushell/Makefile
+++ b/shells/nushell/Makefile
@@ -1,6 +1,5 @@
PORTNAME= nushell
-DISTVERSION= 0.103.0
-PORTREVISION= 1
+DISTVERSION= 0.104.0
CATEGORIES= shells
MAINTAINER= yuri@FreeBSD.org
@@ -39,7 +38,7 @@ CARGO_CRATES= addr2line-0.24.2 \
arbitrary-1.4.1 \
arboard-3.4.1 \
argminmax-0.6.2 \
- array-init-cursor-0.2.0 \
+ array-init-cursor-0.2.1 \
arrayref-0.3.9 \
arrayvec-0.5.2 \
arrayvec-0.7.6 \
@@ -94,8 +93,8 @@ CARGO_CRATES= addr2line-0.24.2 \
byteorder-1.5.0 \
bytes-1.10.0 \
bytes-utils-0.1.4 \
- bytesize-1.3.2 \
- calamine-0.26.1 \
+ bytesize-1.3.3 \
+ calamine-0.27.0 \
cassowary-0.3.0 \
castaway-0.2.3 \
cc-1.2.16 \
@@ -134,7 +133,7 @@ CARGO_CRATES= addr2line-0.24.2 \
crc-2.1.0 \
crc-catalog-1.1.1 \
crc32fast-1.4.2 \
- crossbeam-channel-0.5.13 \
+ crossbeam-channel-0.5.15 \
crossbeam-deque-0.8.5 \
crossbeam-epoch-0.9.18 \
crossbeam-queue-0.3.11 \
@@ -153,7 +152,7 @@ CARGO_CRATES= addr2line-0.24.2 \
darling-0.20.10 \
darling_core-0.20.10 \
darling_macro-0.20.10 \
- data-encoding-2.8.0 \
+ data-encoding-2.9.0 \
deranged-0.3.11 \
derive-new-0.6.0 \
derive_arbitrary-1.4.1 \
@@ -227,6 +226,7 @@ CARGO_CRATES= addr2line-0.24.2 \
generic-array-0.14.7 \
gethostname-0.4.3 \
getrandom-0.2.15 \
+ getrandom-0.3.1 \
gimli-0.31.1 \
git2-0.20.0 \
gjson-0.8.1 \
@@ -254,7 +254,7 @@ CARGO_CRATES= addr2line-0.24.2 \
http-body-util-0.1.2 \
httparse-1.9.5 \
httpdate-1.0.3 \
- human-date-parser-0.2.0 \
+ human-date-parser-0.3.1 \
humantime-2.1.0 \
hyper-0.14.31 \
hyper-1.5.1 \
@@ -278,7 +278,7 @@ CARGO_CRATES= addr2line-0.24.2 \
ident_case-1.0.1 \
idna-1.0.3 \
idna_adapter-1.2.0 \
- indexmap-2.7.0 \
+ indexmap-2.9.0 \
indicatif-0.17.9 \
indoc-2.0.5 \
inotify-0.9.6 \
@@ -290,7 +290,7 @@ CARGO_CRATES= addr2line-0.24.2 \
is-docker-0.2.0 \
is-wsl-0.4.0 \
is_ci-1.2.0 \
- is_debug-1.0.2 \
+ is_debug-1.1.0 \
is_executable-1.0.4 \
is_terminal_polyfill-1.70.1 \
itertools-0.11.0 \
@@ -343,13 +343,14 @@ CARGO_CRATES= addr2line-0.24.2 \
miniz_oxide-0.8.0 \
mio-0.8.11 \
mio-1.0.3 \
- mockito-1.6.1 \
+ mockito-1.7.0 \
multipart-rs-0.1.13 \
native-tls-0.2.12 \
new_debug_unreachable-1.0.6 \
nix-0.28.0 \
nix-0.29.0 \
nom-7.1.3 \
+ nom-8.0.0 \
notify-6.1.1 \
notify-debouncer-full-0.3.2 \
now-0.1.3 \
@@ -382,11 +383,11 @@ CARGO_CRATES= addr2line-0.24.2 \
omnipath-0.1.6 \
once_cell-1.20.2 \
open-5.3.1 \
- openssl-0.10.70 \
+ openssl-0.10.72 \
openssl-macros-0.1.1 \
openssl-probe-0.1.5 \
openssl-src-300.4.1+3.4.0 \
- openssl-sys-0.9.105 \
+ openssl-sys-0.9.107 \
option-ext-0.2.0 \
ordered-multimap-0.7.3 \
os_display-0.1.3 \
@@ -397,12 +398,14 @@ CARGO_CRATES= addr2line-0.24.2 \
parking_lot-0.12.3 \
parking_lot_core-0.9.10 \
parse-zoneinfo-0.3.1 \
- parse_datetime-0.6.0 \
+ parse_datetime-0.8.0 \
paste-1.0.15 \
pathdiff-0.2.3 \
percent-encoding-2.3.1 \
peresil-0.3.0 \
pest-2.7.15 \
+ pest_consume-1.1.3 \
+ pest_consume_macros-1.1.0 \
pest_derive-2.7.15 \
pest_generator-2.7.15 \
pest_meta-2.7.15 \
@@ -463,7 +466,6 @@ CARGO_CRATES= addr2line-0.24.2 \
pwd-1.4.0 \
quick-error-1.2.3 \
quick-error-2.0.1 \
- quick-xml-0.31.0 \
quick-xml-0.32.0 \
quick-xml-0.36.2 \
quick-xml-0.37.1 \
@@ -475,8 +477,11 @@ CARGO_CRATES= addr2line-0.24.2 \
quote-1.0.37 \
quoted_printable-0.5.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_distr-0.4.3 \
ratatui-0.29.0 \
raw-cpuid-11.2.0 \
@@ -487,7 +492,7 @@ CARGO_CRATES= addr2line-0.24.2 \
recvmsg-1.0.0 \
redox_syscall-0.5.8 \
redox_users-0.4.6 \
- reedline-0.39.0 \
+ reedline-0.40.0 \
ref-cast-1.0.23 \
ref-cast-impl-1.0.23 \
regex-1.11.1 \
@@ -506,9 +511,9 @@ CARGO_CRATES= addr2line-0.24.2 \
rstest_macros-0.23.0 \
rstest_reuse-0.7.0 \
rusqlite-0.31.0 \
- rust-embed-8.6.0 \
- rust-embed-impl-8.6.0 \
- rust-embed-utils-8.6.0 \
+ rust-embed-8.7.0 \
+ rust-embed-impl-8.7.0 \
+ rust-embed-utils-8.7.0 \
rust-ini-0.21.1 \
rust_decimal-1.36.0 \
rustc-demangle-0.1.24 \
@@ -554,7 +559,7 @@ CARGO_CRATES= addr2line-0.24.2 \
servo_arc-0.4.0 \
sha1_smol-1.0.1 \
sha2-0.10.8 \
- shadow-rs-0.38.0 \
+ shadow-rs-1.1.1 \
shell-words-1.1.0 \
shlex-1.3.0 \
signal-hook-0.3.17 \
@@ -573,6 +578,7 @@ CARGO_CRATES= addr2line-0.24.2 \
snafu-derive-0.8.5 \
snap-1.1.1 \
socket2-0.5.8 \
+ socks-0.3.4 \
sqlparser-0.53.0 \
stable_deref_trait-1.2.0 \
stacker-0.1.17 \
@@ -607,9 +613,9 @@ CARGO_CRATES= addr2line-0.24.2 \
termtree-0.4.1 \
textwrap-0.16.1 \
thiserror-1.0.69 \
- thiserror-2.0.6 \
+ thiserror-2.0.12 \
thiserror-impl-1.0.69 \
- thiserror-impl-2.0.6 \
+ thiserror-impl-2.0.12 \
thread_local-1.1.8 \
time-0.3.37 \
time-core-0.1.2 \
@@ -618,8 +624,8 @@ CARGO_CRATES= addr2line-0.24.2 \
tinystr-0.7.6 \
tinyvec-1.8.0 \
tinyvec_macros-0.1.1 \
- titlecase-3.4.0 \
- tokio-1.43.0 \
+ titlecase-3.5.0 \
+ tokio-1.44.2 \
tokio-macros-2.5.0 \
tokio-native-tls-0.3.1 \
tokio-rustls-0.24.1 \
@@ -641,6 +647,9 @@ CARGO_CRATES= addr2line-0.24.2 \
typenum-1.17.0 \
typetag-0.2.18 \
typetag-impl-0.2.18 \
+ tz-rs-0.7.0 \
+ tzdb-0.7.2 \
+ tzdb_data-0.2.1 \
ucd-trie-0.1.7 \
umask-2.1.0 \
unicase-2.8.0 \
@@ -663,17 +672,17 @@ CARGO_CRATES= addr2line-0.24.2 \
utf16_iter-1.0.5 \
utf8_iter-1.0.4 \
utf8parse-0.2.2 \
- uu_cp-0.0.29 \
- uu_mkdir-0.0.29 \
- uu_mktemp-0.0.29 \
- uu_mv-0.0.29 \
- uu_touch-0.0.29 \
- uu_uname-0.0.29 \
- uu_whoami-0.0.29 \
- uucore-0.0.29 \
- uucore_procs-0.0.29 \
- uuhelp_parser-0.0.29 \
- uuid-1.12.0 \
+ uu_cp-0.0.30 \
+ uu_mkdir-0.0.30 \
+ uu_mktemp-0.0.30 \
+ uu_mv-0.0.30 \
+ uu_touch-0.0.30 \
+ uu_uname-0.0.30 \
+ uu_whoami-0.0.30 \
+ uucore-0.0.30 \
+ uucore_procs-0.0.30 \
+ uuhelp_parser-0.0.30 \
+ uuid-1.16.0 \
v_htmlescape-0.15.8 \
value-trait-0.10.1 \
vcpkg-0.2.15 \
@@ -686,6 +695,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 \
wasm-bindgen-0.2.99 \
wasm-bindgen-backend-0.2.99 \
wasm-bindgen-futures-0.4.49 \
@@ -747,6 +757,7 @@ CARGO_CRATES= addr2line-0.24.2 \
winreg-0.52.0 \
winresource-0.1.19 \
winsafe-0.0.19 \
+ wit-bindgen-rt-0.33.0 \
wl-clipboard-rs-0.8.1 \
write16-1.0.0 \
writeable-0.5.5 \
@@ -760,13 +771,15 @@ CARGO_CRATES= addr2line-0.24.2 \
yoke-0.7.5 \
yoke-derive-0.7.5 \
zerocopy-0.7.35 \
+ zerocopy-0.8.23 \
zerocopy-derive-0.7.35 \
+ zerocopy-derive-0.8.23 \
zerofrom-0.1.5 \
zerofrom-derive-0.1.5 \
zeroize-1.8.1 \
zerovec-0.10.4 \
zerovec-derive-0.10.3 \
- zip-2.4.1 \
+ zip-2.5.0 \
zlib-rs-0.4.1 \
zopfli-0.8.1 \
zstd-0.13.2 \
diff --git a/shells/nushell/Makefile.version b/shells/nushell/Makefile.version
index 4eb759f739b2..3f9e243964ce 100644
--- a/shells/nushell/Makefile.version
+++ b/shells/nushell/Makefile.version
@@ -1,3 +1,3 @@
# this file is provided for nushell users
-NUSHELL_VER=0.103.0
+NUSHELL_VER=0.104.0
diff --git a/shells/nushell/distinfo b/shells/nushell/distinfo
index d355353386d9..6afb01d6136a 100644
--- a/shells/nushell/distinfo
+++ b/shells/nushell/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1742764885
+TIMESTAMP = 1747177901
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
@@ -45,8 +45,8 @@ SHA256 (rust/crates/arboard-3.4.1.crate) = df099ccb16cd014ff054ac1bf392c67feeef5
SIZE (rust/crates/arboard-3.4.1.crate) = 47070
SHA256 (rust/crates/argminmax-0.6.2.crate) = 52424b59d69d69d5056d508b260553afd91c57e21849579cd1f50ee8b8b88eaa
SIZE (rust/crates/argminmax-0.6.2.crate) = 55956
-SHA256 (rust/crates/array-init-cursor-0.2.0.crate) = bf7d0a018de4f6aa429b9d33d69edf69072b1c5b1cb8d3e4a5f7ef898fc3eb76
-SIZE (rust/crates/array-init-cursor-0.2.0.crate) = 2590
+SHA256 (rust/crates/array-init-cursor-0.2.1.crate) = ed51fe0f224d1d4ea768be38c51f9f831dee9d05c163c11fba0b8c44387b1fc3
+SIZE (rust/crates/array-init-cursor-0.2.1.crate) = 7102
SHA256 (rust/crates/arrayref-0.3.9.crate) = 76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb
SIZE (rust/crates/arrayref-0.3.9.crate) = 9186
SHA256 (rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
@@ -155,10 +155,10 @@ SHA256 (rust/crates/bytes-1.10.0.crate) = f61dac84819c6588b558454b194026eb1f09c2
SIZE (rust/crates/bytes-1.10.0.crate) = 76656
SHA256 (rust/crates/bytes-utils-0.1.4.crate) = 7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35
SIZE (rust/crates/bytes-utils-0.1.4.crate) = 20703
-SHA256 (rust/crates/bytesize-1.3.2.crate) = 2d2c12f985c78475a6b8d629afd0c360260ef34cfef52efccdcfd31972f81c2e
-SIZE (rust/crates/bytesize-1.3.2.crate) = 11575
-SHA256 (rust/crates/calamine-0.26.1.crate) = 138646b9af2c5d7f1804ea4bf93afc597737d2bd4f7341d67c48b03316976eb1
-SIZE (rust/crates/calamine-0.26.1.crate) = 89109
+SHA256 (rust/crates/bytesize-1.3.3.crate) = 2e93abca9e28e0a1b9877922aacb20576e05d4679ffa78c3d6dc22a26a216659
+SIZE (rust/crates/bytesize-1.3.3.crate) = 11594
+SHA256 (rust/crates/calamine-0.27.0.crate) = 6d80f81ba5c68206b9027e62346d49dc26fb32ffc4fe6ef7022a8ae21d348ccb
+SIZE (rust/crates/calamine-0.27.0.crate) = 89837
SHA256 (rust/crates/cassowary-0.3.0.crate) = df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53
SIZE (rust/crates/cassowary-0.3.0.crate) = 22876
SHA256 (rust/crates/castaway-0.2.3.crate) = 0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5
@@ -235,8 +235,8 @@ SHA256 (rust/crates/crc-catalog-1.1.1.crate) = ccaeedb56da03b09f598226e25e80088c
SIZE (rust/crates/crc-catalog-1.1.1.crate) = 8698
SHA256 (rust/crates/crc32fast-1.4.2.crate) = a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3
SIZE (rust/crates/crc32fast-1.4.2.crate) = 38491
-SHA256 (rust/crates/crossbeam-channel-0.5.13.crate) = 33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2
-SIZE (rust/crates/crossbeam-channel-0.5.13.crate) = 91174
+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.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d
SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726
SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
@@ -273,8 +273,8 @@ SHA256 (rust/crates/darling_core-0.20.10.crate) = 95133861a8032aaea082871032f581
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/data-encoding-2.9.0.crate) = 2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476
+SIZE (rust/crates/data-encoding-2.9.0.crate) = 21564
SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4
SIZE (rust/crates/deranged-0.3.11.crate) = 18043
SHA256 (rust/crates/derive-new-0.6.0.crate) = d150dea618e920167e5973d70ae6ece4385b7164e0d799fe7c122dd0a5d912ad
@@ -421,6 +421,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/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f
SIZE (rust/crates/gimli-0.31.1.crate) = 279515
SHA256 (rust/crates/git2-0.20.0.crate) = 3fda788993cc341f69012feba8bf45c0ba4f3291fcc08e214b4d5a7332d88aff
@@ -475,8 +477,8 @@ SHA256 (rust/crates/httparse-1.9.5.crate) = 7d71d3574edd2771538b901e6549113b4006
SIZE (rust/crates/httparse-1.9.5.crate) = 39029
SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9
SIZE (rust/crates/httpdate-1.0.3.crate) = 10639
-SHA256 (rust/crates/human-date-parser-0.2.0.crate) = 1116cf4debfe770c12168458321c4a8591b71c4c19f7100de07c84cf81701c63
-SIZE (rust/crates/human-date-parser-0.2.0.crate) = 11931
+SHA256 (rust/crates/human-date-parser-0.3.1.crate) = 406f83c56de4b2c9183be52ae9a4fefa22c0e0c3d3d7ef80be26eaee11c7110e
+SIZE (rust/crates/human-date-parser-0.3.1.crate) = 15566
SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
SIZE (rust/crates/humantime-2.1.0.crate) = 16749
SHA256 (rust/crates/hyper-0.14.31.crate) = 8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85
@@ -523,8 +525,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/indexmap-2.7.0.crate) = 62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f
-SIZE (rust/crates/indexmap-2.7.0.crate) = 85335
+SHA256 (rust/crates/indexmap-2.9.0.crate) = cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e
+SIZE (rust/crates/indexmap-2.9.0.crate) = 91214
SHA256 (rust/crates/indicatif-0.17.9.crate) = cbf675b85ed934d3c67b5c5469701eec7db22689d0a2139d856e0925fa28b281
SIZE (rust/crates/indicatif-0.17.9.crate) = 65246
SHA256 (rust/crates/indoc-2.0.5.crate) = b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5
@@ -547,8 +549,8 @@ SHA256 (rust/crates/is-wsl-0.4.0.crate) = 173609498df190136aa7dea1a91db051746d33
SIZE (rust/crates/is-wsl-0.4.0.crate) = 3264
SHA256 (rust/crates/is_ci-1.2.0.crate) = 7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45
SIZE (rust/crates/is_ci-1.2.0.crate) = 4521
-SHA256 (rust/crates/is_debug-1.0.2.crate) = e8ea828c9d6638a5bd3d8b14e37502b4d56cae910ccf8a5b7f51c7a0eb1d0508
-SIZE (rust/crates/is_debug-1.0.2.crate) = 2640
+SHA256 (rust/crates/is_debug-1.1.0.crate) = 1fe266d2e243c931d8190177f20bf7f24eed45e96f39e87dc49a27b32d12d407
+SIZE (rust/crates/is_debug-1.1.0.crate) = 3398
SHA256 (rust/crates/is_executable-1.0.4.crate) = d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2
SIZE (rust/crates/is_executable-1.0.4.crate) = 8263
SHA256 (rust/crates/is_terminal_polyfill-1.70.1.crate) = 7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf
@@ -653,8 +655,8 @@ SHA256 (rust/crates/mio-0.8.11.crate) = a4a650543ca06a924e8b371db273b2756685faae
SIZE (rust/crates/mio-0.8.11.crate) = 102983
SHA256 (rust/crates/mio-1.0.3.crate) = 2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd
SIZE (rust/crates/mio-1.0.3.crate) = 103703
-SHA256 (rust/crates/mockito-1.6.1.crate) = 652cd6d169a36eaf9d1e6bce1a221130439a966d7f27858af66a33a66e9c4ee2
-SIZE (rust/crates/mockito-1.6.1.crate) = 42149
+SHA256 (rust/crates/mockito-1.7.0.crate) = 7760e0e418d9b7e5777c0374009ca4c93861b9066f18cb334a20ce50ab63aa48
+SIZE (rust/crates/mockito-1.7.0.crate) = 42605
SHA256 (rust/crates/multipart-rs-0.1.13.crate) = 64cae00e7e52aa5072342ef9a2ccd71669be913c2176a81a665b1f9cd79345f2
SIZE (rust/crates/multipart-rs-0.1.13.crate) = 5624
SHA256 (rust/crates/native-tls-0.2.12.crate) = a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466
@@ -667,6 +669,8 @@ SHA256 (rust/crates/nix-0.29.0.crate) = 71e2746dc3a24dd78b3cfcb7be93368c6de9963d
SIZE (rust/crates/nix-0.29.0.crate) = 318248
SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/nom-8.0.0.crate) = df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405
+SIZE (rust/crates/nom-8.0.0.crate) = 135590
SHA256 (rust/crates/notify-6.1.1.crate) = 6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d
SIZE (rust/crates/notify-6.1.1.crate) = 40117
SHA256 (rust/crates/notify-debouncer-full-0.3.2.crate) = fb7fd166739789c9ff169e654dc1501373db9d80a4c3f972817c8a4d7cf8f34e
@@ -731,16 +735,16 @@ SHA256 (rust/crates/once_cell-1.20.2.crate) = 1261fe7e33c73b354eab43b1273a57c8f9
SIZE (rust/crates/once_cell-1.20.2.crate) = 33394
SHA256 (rust/crates/open-5.3.1.crate) = 3ecd52f0b8d15c40ce4820aa251ed5de032e5d91fab27f7db2f40d42a8bdf69c
SIZE (rust/crates/open-5.3.1.crate) = 25229
-SHA256 (rust/crates/openssl-0.10.70.crate) = 61cfb4e166a8bb8c9b55c500bc2308550148ece889be90f609377e58140f42c6
-SIZE (rust/crates/openssl-0.10.70.crate) = 277545
+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.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf
SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227
SHA256 (rust/crates/openssl-src-300.4.1+3.4.0.crate) = faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c
SIZE (rust/crates/openssl-src-300.4.1+3.4.0.crate) = 9945831
-SHA256 (rust/crates/openssl-sys-0.9.105.crate) = 8b22d5b84be05a8d6947c7cb71f7c849aa0f112acd4bf51c2a7c1c988ac0a9dc
-SIZE (rust/crates/openssl-sys-0.9.105.crate) = 72287
+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/ordered-multimap-0.7.3.crate) = 49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79
@@ -761,8 +765,8 @@ SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627
SIZE (rust/crates/parking_lot_core-0.9.10.crate) = 32406
SHA256 (rust/crates/parse-zoneinfo-0.3.1.crate) = 1f2a05b18d44e2957b88f96ba460715e295bc1d7510468a2f3d3b44535d26c24
SIZE (rust/crates/parse-zoneinfo-0.3.1.crate) = 97290
-SHA256 (rust/crates/parse_datetime-0.6.0.crate) = a8720474e3dd4af20cea8716703498b9f3b690f318fa9d9d9e2e38eaf44b96d0
-SIZE (rust/crates/parse_datetime-0.6.0.crate) = 12822
+SHA256 (rust/crates/parse_datetime-0.8.0.crate) = 4bffd1156cebf13f681d7769924d3edfb9d9d71ba206a8d8e8e7eb9df4f4b1e7
+SIZE (rust/crates/parse_datetime-0.8.0.crate) = 17808
SHA256 (rust/crates/paste-1.0.15.crate) = 57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a
SIZE (rust/crates/paste-1.0.15.crate) = 18374
SHA256 (rust/crates/pathdiff-0.2.3.crate) = df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3
@@ -773,6 +777,10 @@ SHA256 (rust/crates/peresil-0.3.0.crate) = f658886ed52e196e850cfbbfddab9eaa7f6d9
SIZE (rust/crates/peresil-0.3.0.crate) = 13573
SHA256 (rust/crates/pest-2.7.15.crate) = 8b7cafe60d6cf8e62e1b9b2ea516a089c008945bb5a275416789e7db0bc199dc
SIZE (rust/crates/pest-2.7.15.crate) = 127895
+SHA256 (rust/crates/pest_consume-1.1.3.crate) = 79447402d15d18e7142e14c72f2e63fa3d155be1bc5b70b3ccbb610ac55f536b
+SIZE (rust/crates/pest_consume-1.1.3.crate) = 11828
+SHA256 (rust/crates/pest_consume_macros-1.1.0.crate) = 9d8630a7a899cb344ec1c16ba0a6b24240029af34bdc0a21f84e411d7f793f29
+SIZE (rust/crates/pest_consume_macros-1.1.0.crate) = 6962
SHA256 (rust/crates/pest_derive-2.7.15.crate) = 816518421cfc6887a0d62bf441b6ffb4536fcc926395a69e1a85852d4363f57e
SIZE (rust/crates/pest_derive-2.7.15.crate) = 40745
SHA256 (rust/crates/pest_generator-2.7.15.crate) = 7d1396fd3a870fc7838768d171b4616d5c91f6cc25e377b673d714567d99377b
@@ -893,8 +901,6 @@ SHA256 (rust/crates/quick-error-1.2.3.crate) = a1d01941d82fa2ab50be1e79e6714289d
SIZE (rust/crates/quick-error-1.2.3.crate) = 15066
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.31.0.crate) = 1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33
-SIZE (rust/crates/quick-xml-0.31.0.crate) = 172236
SHA256 (rust/crates/quick-xml-0.32.0.crate) = 1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2
SIZE (rust/crates/quick-xml-0.32.0.crate) = 184149
SHA256 (rust/crates/quick-xml-0.36.2.crate) = f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe
@@ -917,10 +923,16 @@ SHA256 (rust/crates/quoted_printable-0.5.1.crate) = 640c9bd8497b02465aeef5375144
SIZE (rust/crates/quoted_printable-0.5.1.crate) = 8322
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_distr-0.4.3.crate) = 32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31
SIZE (rust/crates/rand_distr-0.4.3.crate) = 58255
SHA256 (rust/crates/ratatui-0.29.0.crate) = eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b
@@ -941,8 +953,8 @@ SHA256 (rust/crates/redox_syscall-0.5.8.crate) = 03a862b389f93e68874fbf580b9de08
SIZE (rust/crates/redox_syscall-0.5.8.crate) = 26319
SHA256 (rust/crates/redox_users-0.4.6.crate) = ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43
SIZE (rust/crates/redox_users-0.4.6.crate) = 15585
-SHA256 (rust/crates/reedline-0.39.0.crate) = dd4728ee71d2aa3a364ee64470d1aa64b3f0467b2d28b73df15259d005dec64a
-SIZE (rust/crates/reedline-0.39.0.crate) = 144694
+SHA256 (rust/crates/reedline-0.40.0.crate) = b5cdfab7494d13ebfb6ce64828648518205d3ce8541ef1f94a27887f29d2d50b
+SIZE (rust/crates/reedline-0.40.0.crate) = 145369
SHA256 (rust/crates/ref-cast-1.0.23.crate) = ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931
SIZE (rust/crates/ref-cast-1.0.23.crate) = 12795
SHA256 (rust/crates/ref-cast-impl-1.0.23.crate) = bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6
@@ -979,12 +991,12 @@ SHA256 (rust/crates/rstest_reuse-0.7.0.crate) = b3a8fb4672e840a587a66fc577a54913
SIZE (rust/crates/rstest_reuse-0.7.0.crate) = 12828
SHA256 (rust/crates/rusqlite-0.31.0.crate) = b838eba278d213a8beaf485bd313fd580ca4505a00d5871caeb1457c55322cae
SIZE (rust/crates/rusqlite-0.31.0.crate) = 152252
-SHA256 (rust/crates/rust-embed-8.6.0.crate) = 0b3aba5104622db5c9fc61098de54708feb732e7763d7faa2fa625899f00bf6f
-SIZE (rust/crates/rust-embed-8.6.0.crate) = 906979
-SHA256 (rust/crates/rust-embed-impl-8.6.0.crate) = 1f198c73be048d2c5aa8e12f7960ad08443e56fd39cc26336719fdb4ea0ebaae
-SIZE (rust/crates/rust-embed-impl-8.6.0.crate) = 10097
-SHA256 (rust/crates/rust-embed-utils-8.6.0.crate) = 5a2fcdc9f40c8dc2922842ca9add611ad19f332227fc651d015881ad1552bd9a
-SIZE (rust/crates/rust-embed-utils-8.6.0.crate) = 6115
+SHA256 (rust/crates/rust-embed-8.7.0.crate) = e5fbc0ee50fcb99af7cebb442e5df7b5b45e9460ffa3f8f549cd26b862bec49d
+SIZE (rust/crates/rust-embed-8.7.0.crate) = 907480
+SHA256 (rust/crates/rust-embed-impl-8.7.0.crate) = 6bf418c9a2e3f6663ca38b8a7134cc2c2167c9d69688860e8961e3faa731702e
+SIZE (rust/crates/rust-embed-impl-8.7.0.crate) = 10171
+SHA256 (rust/crates/rust-embed-utils-8.7.0.crate) = 08d55b95147fe01265d06b3955db798bdaed52e60e2211c41137701b3aba8e21
+SIZE (rust/crates/rust-embed-utils-8.7.0.crate) = 6123
SHA256 (rust/crates/rust-ini-0.21.1.crate) = 4e310ef0e1b6eeb79169a1171daf9abcb87a2e17c03bee2c4bb100b55c75409f
SIZE (rust/crates/rust-ini-0.21.1.crate) = 19496
SHA256 (rust/crates/rust_decimal-1.36.0.crate) = b082d80e3e3cc52b2ed634388d436fe1f4de6af5786cc2de9ba9737527bdf555
@@ -1075,8 +1087,8 @@ SHA256 (rust/crates/sha1_smol-1.0.1.crate) = bbfa15b3dddfee50a0fff136974b3e1bde5
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/shadow-rs-0.38.0.crate) = 69d433b5df1e1958a668457ebe4a9c5b7bcfe844f4eb2276ac43cf273baddd54
-SIZE (rust/crates/shadow-rs-0.38.0.crate) = 34481
+SHA256 (rust/crates/shadow-rs-1.1.1.crate) = 6d5625ed609cf66d7e505e7d487aca815626dc4ebb6c0dd07637ca61a44651a6
+SIZE (rust/crates/shadow-rs-1.1.1.crate) = 34850
SHA256 (rust/crates/shell-words-1.1.0.crate) = 24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde
SIZE (rust/crates/shell-words-1.1.0.crate) = 9871
SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
@@ -1113,6 +1125,8 @@ SHA256 (rust/crates/snap-1.1.1.crate) = 1b6b67fb9a61334225b5b790716f609cd58395f8
SIZE (rust/crates/snap-1.1.1.crate) = 33763
SHA256 (rust/crates/socket2-0.5.8.crate) = c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8
SIZE (rust/crates/socket2-0.5.8.crate) = 56309
+SHA256 (rust/crates/socks-0.3.4.crate) = f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b
+SIZE (rust/crates/socks-0.3.4.crate) = 13172
SHA256 (rust/crates/sqlparser-0.53.0.crate) = 05a528114c392209b3264855ad491fcce534b94a38771b0a0b97a79379275ce8
SIZE (rust/crates/sqlparser-0.53.0.crate) = 266820
SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3
@@ -1181,12 +1195,12 @@ SHA256 (rust/crates/textwrap-0.16.1.crate) = 23d434d3f8967a09480fb04132ebe0a3e08
SIZE (rust/crates/textwrap-0.16.1.crate) = 56012
SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
-SHA256 (rust/crates/thiserror-2.0.6.crate) = 8fec2a1820ebd077e2b90c4df007bebf344cd394098a13c563957d0afc83ea47
-SIZE (rust/crates/thiserror-2.0.6.crate) = 28433
+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.6.crate) = d65750cab40f4ff1929fb1ba509e9914eb756131cef4210da8d5d700d26f6312
-SIZE (rust/crates/thiserror-impl-2.0.6.crate) = 20946
+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
@@ -1203,10 +1217,10 @@ SHA256 (rust/crates/tinyvec-1.8.0.crate) = 445e881f4f6d382d5f27c034e25eb92edd7c7
SIZE (rust/crates/tinyvec-1.8.0.crate) = 46796
SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
-SHA256 (rust/crates/titlecase-3.4.0.crate) = ef6b5cbe1316986025d8f662ff6945a0c85f2ca8ca13f04b5e0829ddb0d047f2
-SIZE (rust/crates/titlecase-3.4.0.crate) = 11552
-SHA256 (rust/crates/tokio-1.43.0.crate) = 3d61fa4ffa3de412bfea335c6ecff681de2b609ba3c77ef3e00e521813a9ed9e
-SIZE (rust/crates/tokio-1.43.0.crate) = 817422
+SHA256 (rust/crates/titlecase-3.5.0.crate) = a1fad07d425f7245932d6deb5009e2c83d9642617b47750ffc3363815e269435
+SIZE (rust/crates/titlecase-3.5.0.crate) = 11847
+SHA256 (rust/crates/tokio-1.44.2.crate) = e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48
+SIZE (rust/crates/tokio-1.44.2.crate) = 841618
SHA256 (rust/crates/tokio-macros-2.5.0.crate) = 6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8
SIZE (rust/crates/tokio-macros-2.5.0.crate) = 12617
SHA256 (rust/crates/tokio-native-tls-0.3.1.crate) = bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2
@@ -1249,6 +1263,12 @@ SHA256 (rust/crates/typetag-0.2.18.crate) = 52ba3b6e86ffe0054b2c44f2d86407388b93
SIZE (rust/crates/typetag-0.2.18.crate) = 30145
SHA256 (rust/crates/typetag-impl-0.2.18.crate) = 70b20a22c42c8f1cd23ce5e34f165d4d37038f5b663ad20fb6adbdf029172483
SIZE (rust/crates/typetag-impl-0.2.18.crate) = 9137
+SHA256 (rust/crates/tz-rs-0.7.0.crate) = e1450bf2b99397e72070e7935c89facaa80092ac812502200375f1f7d33c71a1
+SIZE (rust/crates/tz-rs-0.7.0.crate) = 46486
+SHA256 (rust/crates/tzdb-0.7.2.crate) = 0be2ea5956f295449f47c0b825c5e109022ff1a6a53bb4f77682a87c2341fbf5
+SIZE (rust/crates/tzdb-0.7.2.crate) = 10188
+SHA256 (rust/crates/tzdb_data-0.2.1.crate) = 0604b35c1f390a774fdb138cac75a99981078895d24bcab175987440bbff803b
+SIZE (rust/crates/tzdb_data-0.2.1.crate) = 246122
SHA256 (rust/crates/ucd-trie-0.1.7.crate) = 2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971
SIZE (rust/crates/ucd-trie-0.1.7.crate) = 46795
SHA256 (rust/crates/umask-2.1.0.crate) = ec9a46c2549e35c054e0ffe281a3a6ec0007793db4df106604d37ed3f4d73d1c
@@ -1293,28 +1313,28 @@ SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59
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/uu_cp-0.0.29.crate) = 235439f8efcff799cbdb90992cb5b1845dce903c1569efc8d9b46417c83f5aa8
-SIZE (rust/crates/uu_cp-0.0.29.crate) = 43378
-SHA256 (rust/crates/uu_mkdir-0.0.29.crate) = ea0a30620d88a7ea16b522e1fe63ebb61f87f05fd63ade00938a024807356952
-SIZE (rust/crates/uu_mkdir-0.0.29.crate) = 8333
-SHA256 (rust/crates/uu_mktemp-0.0.29.crate) = e1db7648ff064cdfe8a0e6ef9546de3b03e34cefa270b783de7736a8470473cc
-SIZE (rust/crates/uu_mktemp-0.0.29.crate) = 11859
-SHA256 (rust/crates/uu_mv-0.0.29.crate) = 92ab8c17ac7153adaa0176924319827cfb240cf48e4260283facfdb37e776071
-SIZE (rust/crates/uu_mv-0.0.29.crate) = 14918
-SHA256 (rust/crates/uu_touch-0.0.29.crate) = 3adc774c7961272cd2feeb95f2bf2e0b8f7b8ccd5fbcf49727d0de1eab804b67
-SIZE (rust/crates/uu_touch-0.0.29.crate) = 15950
-SHA256 (rust/crates/uu_uname-0.0.29.crate) = 95a942626aec03d4f4d972b10e00f9ddcdced1933658076eccafea5a20fdafb8
-SIZE (rust/crates/uu_uname-0.0.29.crate) = 7271
-SHA256 (rust/crates/uu_whoami-0.0.29.crate) = a812f7a838c9375c15ed13b66048df2c632c1ac3ec613dabb28c648019c6d018
-SIZE (rust/crates/uu_whoami-0.0.29.crate) = 6344
-SHA256 (rust/crates/uucore-0.0.29.crate) = 50e0dc1598d959a08f24cea4d9e992f7ca874bd4ac80746683272afd37603b5e
-SIZE (rust/crates/uucore-0.0.29.crate) = 127128
-SHA256 (rust/crates/uucore_procs-0.0.29.crate) = 27d3de33ab2b56c0437cca084a2aeb1d46c56d138ab6341c009a90018a9a1c5f
-SIZE (rust/crates/uucore_procs-0.0.29.crate) = 3993
-SHA256 (rust/crates/uuhelp_parser-0.0.29.crate) = 0cf4c8b31abfb5dc79940d6ca8000a1a6aa42f38711cdeaacb95850c69924cbc
-SIZE (rust/crates/uuhelp_parser-0.0.29.crate) = 2904
-SHA256 (rust/crates/uuid-1.12.0.crate) = 744018581f9a3454a9e15beb8a33b017183f1e7c0cd170232a2d1453b23a51c4
-SIZE (rust/crates/uuid-1.12.0.crate) = 49085
+SHA256 (rust/crates/uu_cp-0.0.30.crate) = bf2f3906b7896f79519055d36760095577373e40ec244f46b259f502a4a91147
+SIZE (rust/crates/uu_cp-0.0.30.crate) = 45103
+SHA256 (rust/crates/uu_mkdir-0.0.30.crate) = 5be556a5d852f55b92bba460d7a97030a340ba4a3f4c510a8d0a893bfaf48356
+SIZE (rust/crates/uu_mkdir-0.0.30.crate) = 11237
+SHA256 (rust/crates/uu_mktemp-0.0.30.crate) = 5305fcf4f7f480e7438e19ff433ae60dea886bd528f87543029eb6b95d351afc
+SIZE (rust/crates/uu_mktemp-0.0.30.crate) = 14411
+SHA256 (rust/crates/uu_mv-0.0.30.crate) = 3be214b96554e4f7aa079b26c86c3ecf1b9ea15023ca2ec62d608273d12c7049
+SIZE (rust/crates/uu_mv-0.0.30.crate) = 18113
+SHA256 (rust/crates/uu_touch-0.0.30.crate) = 1e58581a0245de8e3ef75b115ab29592cfb60d4851149d4951604601d14ea420
+SIZE (rust/crates/uu_touch-0.0.30.crate) = 17229
+SHA256 (rust/crates/uu_uname-0.0.30.crate) = 324d96a21da91a81be334206ab65aad16d164d34cddeb640e1c56cd8d1854dd4
+SIZE (rust/crates/uu_uname-0.0.30.crate) = 9545
+SHA256 (rust/crates/uu_whoami-0.0.30.crate) = bee254de8b172a5978f12fe6cd9d4f2b60ea9ef1e37f0cb53bfee2c993b3e96a
+SIZE (rust/crates/uu_whoami-0.0.30.crate) = 8616
+SHA256 (rust/crates/uucore-0.0.30.crate) = 71f4e82877d06de779c611a3d54720f56f1e68b228fb30a5b6c66ef07e68263d
+SIZE (rust/crates/uucore-0.0.30.crate) = 132808
+SHA256 (rust/crates/uucore_procs-0.0.30.crate) = c72435859e812e602e225dea48d014abb6b1072220a8d44f2fe0565553b1f7e4
+SIZE (rust/crates/uucore_procs-0.0.30.crate) = 3993
+SHA256 (rust/crates/uuhelp_parser-0.0.30.crate) = 0bb6d972f580f8223cb7052d8580aea2b7061e368cf476de32ea9457b19459ed
+SIZE (rust/crates/uuhelp_parser-0.0.30.crate) = 2907
+SHA256 (rust/crates/uuid-1.16.0.crate) = 458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9
+SIZE (rust/crates/uuid-1.16.0.crate) = 58549
SHA256 (rust/crates/v_htmlescape-0.15.8.crate) = 4e8257fbc510f0a46eb602c10215901938b5c2a7d5e70fc11483b1d3c9b5b18c
SIZE (rust/crates/v_htmlescape-0.15.8.crate) = 10878
SHA256 (rust/crates/value-trait-0.10.1.crate) = 9170e001f458781e92711d2ad666110f153e4e50bfd5cbd02db6547625714187
@@ -1339,6 +1359,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/wasm-bindgen-0.2.99.crate) = a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396
SIZE (rust/crates/wasm-bindgen-0.2.99.crate) = 46136
SHA256 (rust/crates/wasm-bindgen-backend-0.2.99.crate) = 5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79
@@ -1461,6 +1483,8 @@ SHA256 (rust/crates/winresource-0.1.19.crate) = 7276691b353ad4547af8c3268488d131
SIZE (rust/crates/winresource-0.1.19.crate) = 75529
SHA256 (rust/crates/winsafe-0.0.19.crate) = d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904
SIZE (rust/crates/winsafe-0.0.19.crate) = 492820
+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/wl-clipboard-rs-0.8.1.crate) = 12b41773911497b18ca8553c3daaf8ec9fe9819caf93d451d3055f69de028adb
SIZE (rust/crates/wl-clipboard-rs-0.8.1.crate) = 32835
SHA256 (rust/crates/write16-1.0.0.crate) = d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936
@@ -1487,8 +1511,12 @@ SHA256 (rust/crates/yoke-derive-0.7.5.crate) = 2380878cad4ac9aac1e2435f3eb4020e8
SIZE (rust/crates/yoke-derive-0.7.5.crate) = 7525
SHA256 (rust/crates/zerocopy-0.7.35.crate) = 1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0
SIZE (rust/crates/zerocopy-0.7.35.crate) = 152645
+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.35.crate) = fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e
SIZE (rust/crates/zerocopy-derive-0.7.35.crate) = 37829
+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
@@ -1499,8 +1527,8 @@ 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 (rust/crates/zip-2.4.1.crate) = 938cc23ac49778ac8340e366ddc422b2227ea176edb447e23fc0627608dddadd
-SIZE (rust/crates/zip-2.4.1.crate) = 109830
+SHA256 (rust/crates/zip-2.5.0.crate) = 27c03817464f64e23f6f37574b4fdc8cf65925b5bfd2b0f2aedf959791941f88
+SIZE (rust/crates/zip-2.5.0.crate) = 111877
SHA256 (rust/crates/zlib-rs-0.4.1.crate) = aada01553a9312bad4b9569035a1f12b05e5ec9770a1a4b323757356928944f8
SIZE (rust/crates/zlib-rs-0.4.1.crate) = 190033
SHA256 (rust/crates/zopfli-0.8.1.crate) = e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946
@@ -1511,5 +1539,5 @@ SHA256 (rust/crates/zstd-safe-7.2.1.crate) = 54a3ab4db68cea366acc5c897c7b4d4d1b8
SIZE (rust/crates/zstd-safe-7.2.1.crate) = 21122
SHA256 (rust/crates/zstd-sys-2.0.13+zstd.1.5.6.crate) = 38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa
SIZE (rust/crates/zstd-sys-2.0.13+zstd.1.5.6.crate) = 749090
-SHA256 (nushell-nushell-0.103.0_GH0.tar.gz) = 0e654e47627ad8c053350bbc25fa75c55b76e11fd6841118214eaa5a10f9686e
-SIZE (nushell-nushell-0.103.0_GH0.tar.gz) = 3435849
+SHA256 (nushell-nushell-0.104.0_GH0.tar.gz) = 2964ef7148d0f67fa4860fa3eab1c7d15c51ec5292be0cd0865996816f46fe84
+SIZE (nushell-nushell-0.104.0_GH0.tar.gz) = 3477814
diff --git a/sysutils/cpupdate/Makefile b/sysutils/cpupdate/Makefile
index 9e37d8fdd51e..2af68aa68019 100644
--- a/sysutils/cpupdate/Makefile
+++ b/sysutils/cpupdate/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cpupdate
DISTVERSION= g20180513
-PORTREVISION= 9
+PORTREVISION= 10
CATEGORIES= sysutils
MAINTAINER= eugen@FreeBSD.org
@@ -34,10 +34,10 @@ GH_TAGNAME= 48e42d5
PLIST_FILES= sbin/${PORTNAME} share/man/man8/${PORTNAME}.8.gz
-# MCE DB r312
+# MCE DB r332
CPM_ACCOUNT= platomav
CPM_PROJECT= CPUMicrocodes
-CPM_TAGNAME= 7d439dd
+CPM_TAGNAME= 2bcc2d8
OPTIONS_DEFINE= CPM INTEL
CPM_DESC= Download platomav/CPUMicrocodes collection
@@ -48,7 +48,7 @@ CPM_PACK?= ${CPM_ACCOUNT}-${CPM_PROJECT}-${CPM_TAGNAME}_GH0.tar.gz
CPM_DIR= ${WRKDIR}/${CPM_PROJECT}-${CPM_TAGNAME}
CPM_DATADIR= ${DATADIR}/CPUMicrocodes/secondary/Intel
-INTEL_PACK= microcode-20241112
+INTEL_PACK= microcode-20250512
INTEL_DESC= Download Intel microcode pack ${INTEL_PACK}
INTEL_PROJECT= Intel-Linux-Processor-Microcode-Data-Files
INTEL_MASTER_SITES= https://codeload.github.com/intel/${INTEL_PROJECT}/tar.gz/:intel
diff --git a/sysutils/cpupdate/distinfo b/sysutils/cpupdate/distinfo
index 0b439b7030aa..6471c007a185 100644
--- a/sysutils/cpupdate/distinfo
+++ b/sysutils/cpupdate/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1731442370
-SHA256 (microcode-20241112) = 37246208ef68039be752438c72400a688a2238df13a7f5282497c80be2d8366d
-SIZE (microcode-20241112) = 12923653
+TIMESTAMP = 1747230739
+SHA256 (microcode-20250512) = 041af7d2f5791a47c1e914abd7d6255de4d4fc61b0f8e49ada6ee7014bcc3614
+SIZE (microcode-20250512) = 14985022
SHA256 (kernschmelze-cpupdate-g20180513-48e42d5_GH0.tar.gz) = d28582fe7edfb57da99fb2466417033ee619c32de9c6b5f1a5fae7d9be8253da
SIZE (kernschmelze-cpupdate-g20180513-48e42d5_GH0.tar.gz) = 4566722
-SHA256 (platomav-CPUMicrocodes-7d439dd_GH0.tar.gz) = 0f1bbd9f14d9ae385a640c84e58e353cf644192e0c22dbd60ad20a58e9375b51
-SIZE (platomav-CPUMicrocodes-7d439dd_GH0.tar.gz) = 27372480
+SHA256 (platomav-CPUMicrocodes-2bcc2d8_GH0.tar.gz) = 85cc2c012cae9bc1916fb70652cd05d616cd08eb35969cbc19e29ed5f5a7fba1
+SIZE (platomav-CPUMicrocodes-2bcc2d8_GH0.tar.gz) = 31583994
diff --git a/sysutils/fastfetch/Makefile b/sysutils/fastfetch/Makefile
index 40a4c934ec25..da85017f7c06 100644
--- a/sysutils/fastfetch/Makefile
+++ b/sysutils/fastfetch/Makefile
@@ -1,5 +1,5 @@
PORTNAME= fastfetch
-DISTVERSION= 2.42.0
+DISTVERSION= 2.43.0
CATEGORIES= sysutils
MAINTAINER= pkubaj@FreeBSD.org
diff --git a/sysutils/fastfetch/distinfo b/sysutils/fastfetch/distinfo
index 4806dc109aef..186f86ab9e81 100644
--- a/sysutils/fastfetch/distinfo
+++ b/sysutils/fastfetch/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745925528
-SHA256 (fastfetch-cli-fastfetch-2.42.0_GH0.tar.gz) = 9f94fdbe0642b2402517bba2fff4dd31099649d4e066f4c39b5b728cc3627f01
-SIZE (fastfetch-cli-fastfetch-2.42.0_GH0.tar.gz) = 1282221
+TIMESTAMP = 1747220428
+SHA256 (fastfetch-cli-fastfetch-2.43.0_GH0.tar.gz) = 192ddb57d021436d93ed8ad1fadaaeef20ce59a2296f31af65e12978b48feda5
+SIZE (fastfetch-cli-fastfetch-2.43.0_GH0.tar.gz) = 1301605
diff --git a/sysutils/ipmitool/Makefile b/sysutils/ipmitool/Makefile
index 259401ffafee..1f1d40910041 100644
--- a/sysutils/ipmitool/Makefile
+++ b/sysutils/ipmitool/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ipmitool
PORTVERSION= 1.8.19
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= sysutils
MASTER_SITES= https://codeberg.org/IPMITool/${PORTNAME}/archive/:ipmi \
LOCAL/zi/:iana
diff --git a/sysutils/ipmitool/files/patch-buffer-overrun-PR24 b/sysutils/ipmitool/files/patch-buffer-overrun-PR24
new file mode 100644
index 000000000000..21369ef063a1
--- /dev/null
+++ b/sysutils/ipmitool/files/patch-buffer-overrun-PR24
@@ -0,0 +1,33 @@
+From b4bc5c335159b1c272e06dba98e2916e3ecc0462 Mon Sep 17 00:00:00 2001
+From: Howitzer105mm <howitzer105mm@noreply.codeberg.org>
+Date: Tue, 26 Mar 2024 11:28:16 +0000
+Subject: [PATCH] open: Eliminate buffer overrun (#24)
+
+clangd reports a buffer overrun issue in `open` interface.
+
+The sprintf() used to fill ipmi_devfs2 requires 17 bytes to store the
+null terminated string. The character buffer is only 16 bytes in
+length.
+
+Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
+Reviewed-on: https://codeberg.org/IPMITool/ipmitool/pulls/24
+Reviewed-by: Alexander Amelkin <alexander@amelkin.msk.ru>
+Co-authored-by: Howitzer105mm <howitzer105mm@noreply.codeberg.org>
+Co-committed-by: Howitzer105mm <howitzer105mm@noreply.codeberg.org>
+---
+ src/plugins/open/open.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git src/plugins/open/open.c src/plugins/open/open.c
+index 39c8ea2..88cb6c3 100644
+--- src/plugins/open/open.c
++++ src/plugins/open/open.c
+@@ -94,7 +94,7 @@ ipmi_openipmi_open(struct ipmi_intf *intf)
+ {
+ char ipmi_dev[16];
+ char ipmi_devfs[16];
+- char ipmi_devfs2[16];
++ char ipmi_devfs2[17];
+ int devnum = 0;
+
+ devnum = intf->devnum;
diff --git a/sysutils/ipmitool/files/patch-dcmi b/sysutils/ipmitool/files/patch-dcmi
new file mode 100644
index 000000000000..0fc588c31360
--- /dev/null
+++ b/sysutils/ipmitool/files/patch-dcmi
@@ -0,0 +1,57 @@
+From ab5ce5baff097ebb6e2a17a171858be213ee68d3 Mon Sep 17 00:00:00 2001
+From: Thang Tran <thuutran@amperecomputing.com>
+Date: Tue, 11 Jul 2023 17:27:12 +0700
+Subject: [PATCH] dcmi: update parameters to read temperature sensors
+
+Issue:
+When the system has number of CPU temperature sensors more than 8,
+"ipmitool dcmi get_temp_reading" can not show all of sensors.
+
+Root cause:
+To request to read multiple sensors for each message, ipmitool has to
+send "Get Temperature Readings" command with the "Entity Instance" always
+0 and the "Entity Instance Start" as the offset. But the current code is
+sending "Entity Instance" is offset and "Entity Instance Start" always is
+0. It makes ipmitool only read 1 sensor each time. Besides that, the
+"Entity Instance Start" value starts from 1 (not 0), therefore, the
+initialization has to be set to 1.
+
+Solution:
+This commit corrects the order of parameters and the initialization of
+"Entity Instance Start" byte.
+
+Resolves ipmitool/ipmitool#3
+
+Tested:
+1. Update BMC software to support 24 CPU temperature sensors
+2. Request to read the temperature sensors
+$ipmitool dcmi get_temp_reading
+3. Display full 24 CPU temperature sensors.
+
+Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
+---
+ lib/ipmi_dcmi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git lib/ipmi_dcmi.c lib/ipmi_dcmi.c
+index 8ed87a9..8cf6d66 100644
+--- lib/ipmi_dcmi.c
++++ lib/ipmi_dcmi.c
+@@ -1595,7 +1595,7 @@ ipmi_dcmi_prnt_get_temp_readings(struct ipmi_intf * intf)
+ continue;
+ }
+ /* Total number of available instances for the Entity ID */
+- offset = 0;
++ offset = 1;
+ tota_inst = rsp->data[1];
+ while (tota_inst > 0) {
+ get_inst = ((tota_inst / DCMI_MAX_BYTE_TEMP_READ_SIZE) ?
+@@ -1603,7 +1603,7 @@ ipmi_dcmi_prnt_get_temp_readings(struct ipmi_intf * intf)
+ (tota_inst % DCMI_MAX_BYTE_TEMP_READ_SIZE));
+ rsp = ipmi_dcmi_get_temp_readings(intf,
+ dcmi_temp_read_vals[i].val,
+- offset, 0);
++ 0, offset);
+ if (chk_rsp(rsp)) {
+ continue;
+ }
diff --git a/sysutils/ipmitool/files/patch-fru-PR368 b/sysutils/ipmitool/files/patch-fru-PR368
new file mode 100644
index 000000000000..bdef578767ec
--- /dev/null
+++ b/sysutils/ipmitool/files/patch-fru-PR368
@@ -0,0 +1,296 @@
+From 81011685ea5e8897f8c0971eca5feb93c6880f09 Mon Sep 17 00:00:00 2001
+From: Andrew Liao <andrew8325@outlook.com>
+Date: Fri, 23 Sep 2022 10:11:04 +0800
+Subject: [PATCH 1/2] fru: Update the fru section offset only when they exist
+ (offset is not 0)
+
+---
+ lib/ipmi_fru.c | 52 ++++++++++++++++++++++++++++----------------------
+ 1 file changed, 29 insertions(+), 23 deletions(-)
+
+diff --git lib/ipmi_fru.c lib/ipmi_fru.c
+index 3d1d8a1a..a994f3cf 100644
+--- lib/ipmi_fru.c
++++ lib/ipmi_fru.c
+@@ -5052,35 +5052,41 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId,
+ /* Chassis type field */
+ if (f_type == 'c' )
+ {
+- printf("Moving Section Chassis, from %i to %i\n",
+- ((header.offset.board) * 8),
+- ((header.offset.board + change_size_by_8) * 8)
+- );
+- memcpy(
+- (fru_data_new + ((header.offset.board + change_size_by_8) * 8)),
+- (fru_data_old + (header.offset.board) * 8),
+- board_len
+- );
+- header.offset.board += change_size_by_8;
++ if (header.offset.board != 0) {
++ printf("Moving Section Chassis, from %i to %i\n",
++ ((header.offset.board) * 8),
++ ((header.offset.board + change_size_by_8) * 8)
++ );
++ memcpy(
++ (fru_data_new + ((header.offset.board + change_size_by_8) * 8)),
++ (fru_data_old + (header.offset.board) * 8),
++ board_len
++ );
++ header.offset.board += change_size_by_8;
++ }
+ }
+ /* Board type field */
+ if ((f_type == 'c' ) || (f_type == 'b' ))
+ {
+- printf("Moving Section Product, from %i to %i\n",
+- ((header.offset.product) * 8),
+- ((header.offset.product + change_size_by_8) * 8)
+- );
+- memcpy(
+- (fru_data_new + ((header.offset.product + change_size_by_8) * 8)),
+- (fru_data_old + (header.offset.product) * 8),
+- product_len
+- );
+- header.offset.product += change_size_by_8;
++ if (header.offset.product != 0) {
++ printf("Moving Section Product, from %i to %i\n",
++ ((header.offset.product) * 8),
++ ((header.offset.product + change_size_by_8) * 8)
++ );
++ memcpy(
++ (fru_data_new + ((header.offset.product + change_size_by_8) * 8)),
++ (fru_data_old + (header.offset.product) * 8),
++ product_len
++ );
++ header.offset.product += change_size_by_8;
++ }
+ }
+
+- if ((f_type == 'c' ) || (f_type == 'b' ) || (f_type == 'p' )) {
+- printf("Change multi offset from %d to %d\n", header.offset.multi, header.offset.multi + change_size_by_8);
+- header.offset.multi += change_size_by_8;
++ if (header.offset.multi != 0) {
++ if ((f_type == 'c' ) || (f_type == 'b' ) || (f_type == 'p' )) {
++ printf("Change multi offset from %d to %d\n", header.offset.multi, header.offset.multi + change_size_by_8);
++ header.offset.multi += change_size_by_8;
++ }
+ }
+
+ /* Adjust length of the section */
+
+From fe70e7d81334ba37614ca5cd0580b2a91a969fc1 Mon Sep 17 00:00:00 2001
+From: "Andrew.Liao" <andrew.liao@quantatw.com>
+Date: Mon, 26 Sep 2022 17:16:52 +0800
+Subject: [PATCH 2/2] fru: Adjust the fru section by their offset order
+
+Originally, ipmitool will assume the FRU section offset will follow a specific order, but this is not true (or not be defined in IPMI FRU SPEC). So change the FRU edit method, now it will:
+ - Calculate the section offset one by one according to their offset
+ - Ignore the FRU section offset if its offset is 00 (area does not exist)
+ - If the new FRU become smaller, reset the redundant data to 0
+Fixes #364
+---
+ lib/ipmi_fru.c | 151 +++++++++++++++++++++++++++++--------------------
+ 1 file changed, 90 insertions(+), 61 deletions(-)
+
+diff --git lib/ipmi_fru.c lib/ipmi_fru.c
+index a994f3cf..3bf8416d 100644
+--- lib/ipmi_fru.c
++++ lib/ipmi_fru.c
+@@ -4889,7 +4889,7 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId,
+ struct fru_info fru, struct fru_header header,
+ uint8_t f_type, uint8_t f_index, char *f_string)
+ {
+- int i = 0;
++ int i = 0, j;
+ uint8_t *fru_data_old = NULL;
+ uint8_t *fru_data_new = NULL;
+ uint8_t *fru_area = NULL;
+@@ -4901,6 +4901,7 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId,
+ uint32_t counter;
+ unsigned char cksum;
+ int rc = 1;
++ char section_list[] = {'i', 'c', 'b', 'p', 'm'};
+
+ fru_data_old = calloc( fru.size, sizeof(uint8_t) );
+
+@@ -5018,8 +5019,10 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId,
+ 5) Check if section must be resize. This occur when padding length is not between 0 and 7 */
+ if( (padding_len < 0) || (padding_len >= 8))
+ {
+- uint32_t remaining_offset = ((header.offset.product * 8) + product_len);
+- int change_size_by_8;
++ int change_size_by_8, section_len;
++ char *name;
++ uint8_t *section_offset_by_8;
++ uint8_t last_offset_by_8 = 0;
+
+ if(padding_len >= 8)
+ {
+@@ -5044,48 +5047,85 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId,
+ #endif
+
+ /* Must move sections */
+- /* Section that can be modified are as follow
+- Chassis
+- Board
+- product */
++ /* The IPMI FRU SPEC doesn't define the sequence of each FRU area.
++ * Therefore we need to find out the affected section in this change based on
++ * their current offset and adjust each of them.
++ */
+
+- /* Chassis type field */
+- if (f_type == 'c' )
+- {
+- if (header.offset.board != 0) {
+- printf("Moving Section Chassis, from %i to %i\n",
+- ((header.offset.board) * 8),
+- ((header.offset.board + change_size_by_8) * 8)
+- );
+- memcpy(
+- (fru_data_new + ((header.offset.board + change_size_by_8) * 8)),
+- (fru_data_old + (header.offset.board) * 8),
+- board_len
+- );
+- header.offset.board += change_size_by_8;
++ /* Find out the section behind the edited section and adjust them */
++ for (j = 0; j < sizeof(section_list); j++) {
++ section_offset_by_8 = NULL;
++ name = NULL;
++
++ switch (section_list[j]) {
++ case 'i':
++ section_offset_by_8 = &header.offset.internal;
++ name = "Internal";
++ break;
++ case 'c':
++ section_offset_by_8 = &header.offset.chassis;
++ name = "Chassis";
++ break;
++ case 'b':
++ section_offset_by_8 = &header.offset.board;
++ name = "Board";
++ break;
++ case 'p':
++ section_offset_by_8 = &header.offset.product;
++ name = "Product";
++ break;
++ case 'm':
++ section_offset_by_8 = &header.offset.multi;
++ name = "MitiRecord";
++ break;
++ default:
++ /* Should not go into here */
++ break;
+ }
+- }
+- /* Board type field */
+- if ((f_type == 'c' ) || (f_type == 'b' ))
+- {
+- if (header.offset.product != 0) {
+- printf("Moving Section Product, from %i to %i\n",
+- ((header.offset.product) * 8),
+- ((header.offset.product + change_size_by_8) * 8)
++
++ /* Should never happened */
++ if (section_offset_by_8 == NULL || name == NULL) {
++ continue;
++ }
++
++ /* Ignore the section that doesn't exist */
++ if (*section_offset_by_8 == 0) {
++ continue;
++ }
++
++ /* Store the last offset in case we need to reset the last part */
++ if (last_offset_by_8 < *section_offset_by_8) {
++ last_offset_by_8 = *section_offset_by_8;
++ }
++
++ /* Adjust the section offset that locates behind the current edit section */
++ if (*section_offset_by_8 > (header_offset / 8)) {
++
++ /* Make sure the adjusted offset range is still inside the FRU field */
++ section_len = *(fru_data_old + (*section_offset_by_8 * 8) + 1) * 8;
++ if (((*section_offset_by_8 * 8) + section_len + (change_size_by_8 * 8)) > fru.size)
++ {
++ /* Return error if oversize */
++ printf("Internal error, section %s out of FRU field. %i > %i\n",
++ name,
++ ((*section_offset_by_8 * 8) + section_len + (change_size_by_8 * 8)),
++ fru.size);
++ rc = -1;
++ goto ipmi_fru_set_field_string_rebuild_out;
++ }
++
++ /* Copy the section to adjusted offset */
++ printf("Moving Section %s, from %i to %i\n",
++ name,
++ ((*section_offset_by_8) * 8),
++ ((*section_offset_by_8 + change_size_by_8) * 8)
+ );
+ memcpy(
+- (fru_data_new + ((header.offset.product + change_size_by_8) * 8)),
+- (fru_data_old + (header.offset.product) * 8),
+- product_len
++ (fru_data_new + ((*section_offset_by_8 + change_size_by_8) * 8)),
++ (fru_data_old + (*section_offset_by_8) * 8),
++ section_len
+ );
+- header.offset.product += change_size_by_8;
+- }
+- }
+-
+- if (header.offset.multi != 0) {
+- if ((f_type == 'c' ) || (f_type == 'b' ) || (f_type == 'p' )) {
+- printf("Change multi offset from %d to %d\n", header.offset.multi, header.offset.multi + change_size_by_8);
+- header.offset.multi += change_size_by_8;
++ *section_offset_by_8 += change_size_by_8;
+ }
+ }
+
+@@ -5101,7 +5141,6 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId,
+ else if( f_type == 'p')
+ {
+ *(fru_data_new + product_offset + 1) += change_size_by_8;
+- product_len_new = *(fru_data_new + product_offset + 1) * 8;
+ }
+
+ /* Rebuild Header checksum */
+@@ -5116,26 +5155,16 @@ ipmi_fru_set_field_string_rebuild(struct ipmi_intf * intf, uint8_t fruId,
+ memcpy(fru_data_new, pfru_header, sizeof(struct fru_header));
+ }
+
+- /* Move remaining sections in 1 copy */
+- printf("Moving Remaining Bytes (Multi-Rec , etc..), from %i to %i\n",
+- remaining_offset,
+- ((header.offset.product) * 8) + product_len_new
+- );
+- if(((header.offset.product * 8) + product_len_new - remaining_offset) < 0)
+- {
+- memcpy(
+- fru_data_new + (header.offset.product * 8) + product_len_new,
+- fru_data_old + remaining_offset,
+- fru.size - remaining_offset
+- );
+- }
+- else
+- {
+- memcpy(
+- fru_data_new + (header.offset.product * 8) + product_len_new,
+- fru_data_old + remaining_offset,
+- fru.size - ((header.offset.product * 8) + product_len_new)
+- );
++ /* Reset the last part to 0 if the new FRU is smaller them old one */
++ if (change_size_by_8 < 0) {
++ section_len = *(fru_data_old + (last_offset_by_8 * 8) + 1) * 8;
++
++ /* Get the reset start offset and reset size */
++ int reset_start = ((last_offset_by_8 * 8) + section_len + (change_size_by_8 * 8));
++ int reset_size = (change_size_by_8 * (-1)) * 8;
++
++ printf("Reset to 0 from %i to %i\n", reset_start, reset_start + reset_size);
++ memset(fru_data_new + reset_start, 0, reset_size);
+ }
+ }
+
diff --git a/sysutils/ipmitool/files/patch-lan-PR389 b/sysutils/ipmitool/files/patch-lan-PR389
new file mode 100644
index 000000000000..1684d43d5be4
--- /dev/null
+++ b/sysutils/ipmitool/files/patch-lan-PR389
@@ -0,0 +1,33 @@
+From b293d87cac0183ca6872c450cb87d2dc873359a3 Mon Sep 17 00:00:00 2001
+From: Daniel Van Allen <dvanallen@google.com>
+Date: Wed, 21 Dec 2022 14:38:47 -0500
+Subject: [PATCH] lanp: Fix error response from Unsupported Parameter lookup
+
+Return a pointer to the lan_param instead of NULL in the case when the
+parameter is not supported.
+
+Resolves ipmitool/ipmitool#388
+Signed-off-by Daniel Van Allen <dvanallen@google.com>
+---
+ lib/ipmi_lanp.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git lib/ipmi_lanp.c lib/ipmi_lanp.c
+index 16c0d9a9..49dc697f 100644
+--- lib/ipmi_lanp.c
++++ lib/ipmi_lanp.c
+@@ -236,8 +236,12 @@ get_lan_param_select(struct ipmi_intf *intf, uint8_t chan, int param, int select
+ /* We treat them as valid but empty response */
+ p->data = NULL;
+ p->data_len = 0;
+- rc = p;
+- /* fall through */
++ lprintf(LOG_INFO, "Get LAN Parameter '%s' command unsupported: %s",
++ p->desc,
++ specific_val2str(rsp->ccode,
++ get_lan_cc_vals,
++ completion_code_vals));
++ return p;
+ default:
+ /* other completion codes are treated as error */
+ lprintf(LOG_INFO, "Get LAN Parameter '%s' command failed: %s",
diff --git a/sysutils/ipmitool/files/patch-lan-print b/sysutils/ipmitool/files/patch-lan-print
new file mode 100644
index 000000000000..858e27954b66
--- /dev/null
+++ b/sysutils/ipmitool/files/patch-lan-print
@@ -0,0 +1,36 @@
+From 137aeb64cbb493d61d6945cac156aba5f0510780 Mon Sep 17 00:00:00 2001
+From: Miao Wang <shankerwangmiao@gmail.com>
+Date: Sat, 10 Feb 2024 12:51:15 +0800
+Subject: [PATCH] lan: fix lan print fails on unsupported parameters
+
+After upgrading to ipmitool 1.8.19, ipmitool lan print can only print out
+`Set in Progress` and other parameters are missing on our servers. After
+bisecting, commit:
+
+ 351dad24a26f lan: Add processing of get/set specific CCs
+
+is identified to be the source of the problem, where the function
+get_lan_param_select is expected to consider severial error codes it
+receives as empty response. It then constructs an empty response in `p`
+and assigns `p` to `rc` and the control flow falls through to the
+default case, which prints the error code in verbose mode and should
+return `rc` instead of `NULL`.
+
+Signed-off-by: Miao Wang <shankerwangmiao@gmail.com>
+---
+ lib/ipmi_lanp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git lib/ipmi_lanp.c lib/ipmi_lanp.c
+index fe0046f..26e7365 100644
+--- lib/ipmi_lanp.c
++++ lib/ipmi_lanp.c
+@@ -245,7 +245,7 @@ get_lan_param_select(struct ipmi_intf *intf, uint8_t chan, int param, int select
+ specific_val2str(rsp->ccode,
+ get_lan_cc_vals,
+ completion_code_vals));
+- return NULL;
++ return rc;
+ }
+
+ p->data = rsp->data + 1;
diff --git a/sysutils/ipmitool/files/patch-lib_ipmi_sdr.c b/sysutils/ipmitool/files/patch-lib_ipmi_sdr.c
new file mode 100644
index 000000000000..961168c879d3
--- /dev/null
+++ b/sysutils/ipmitool/files/patch-lib_ipmi_sdr.c
@@ -0,0 +1,35 @@
+Description: Fix soensor reading
+Author: mareedu srinivasa rao
+Origin: upstream, https://sourceforge.net/p/ipmitool/bugs/490/
+Bug: https://sourceforge.net/p/ipmitool/bugs/490/
+Bug-debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983082
+Forwarded: not-needed
+Last-Update: 2022-10-29
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: lib/ipmi_sdr.c
+===================================================================
+--- lib/ipmi_sdr.c
++++ lib/ipmi_sdr.c
+@@ -1799,7 +1799,7 @@ ipmi_sdr_print_sensor_fc(struct ipmi_int
+ sr->s_a_units);
+ } else /* Discrete */
+ snprintf(sval, sizeof(sval),
+- "0x%02x", sr->s_reading);
++ "0x%02x", sr->s_data2);
+ }
+ else if (sr->s_scanning_disabled)
+ snprintf(sval, sizeof (sval), sr->full ? "disabled" : "Not Readable");
+Index: lib/ipmi_sensor.c
+===================================================================
+--- lib/ipmi_sensor.c
++++ lib/ipmi_sensor.c
+@@ -201,7 +201,7 @@ ipmi_sensor_print_fc_discrete(struct ipm
+ sr->s_a_str, sr->s_a_units, "ok");
+ } else {
+ printf("| 0x%-8x | %-10s | 0x%02x%02x",
+- sr->s_reading, "discrete",
++ sr->s_data2, "discrete",
+ sr->s_data2, sr->s_data3);
+ }
+ } else {
diff --git a/sysutils/ipmitool/files/patch-sdr b/sysutils/ipmitool/files/patch-sdr
new file mode 100644
index 000000000000..b7c2ef8c2e9a
--- /dev/null
+++ b/sysutils/ipmitool/files/patch-sdr
@@ -0,0 +1,75 @@
+From 202f7427e0a4d1f319fc4b914676cc2f08da6c6c Mon Sep 17 00:00:00 2001
+From: Alexander Amelkin <alexander@amelkin.msk.ru>
+Date: Tue, 17 Sep 2024 15:15:45 +0300
+Subject: [PATCH] sdr: Refix 6e037d6bfbbb93b349c8ca331ebde03a (#41)
+
+A bug was introduced by commit 6e037d6bfbbb93b349c8ca331ebde03a837f76bf
+due to which the command `ipmitool sdr type` stopped accepting raw
+hex values for the type and would only accept strings.
+
+Fix that by partially reverting the troublesome commit.
+
+Additionally, apply the logic of that commit to calls of
+`strcasecmp()` in ipmi_sdr.c.
+
+Resolves https://codeberg.org/IPMITool/ipmitool/issues/41
+
+Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
+---
+ lib/ipmi_sdr.c | 15 ++++++++-------
+ 1 file changed, 8 insertions(+), 7 deletions(-)
+
+diff --git lib/ipmi_sdr.c lib/ipmi_sdr.c
+index abd4ee1..4732762 100644
+--- lib/ipmi_sdr.c
++++ lib/ipmi_sdr.c
+@@ -4570,8 +4570,9 @@ ipmi_sdr_print_type(struct ipmi_intf *intf, char *type)
+ uint8_t sensor_type = 0;
+
+ if (!type ||
+- strcasecmp(type, "help") == 0 ||
+- strcasecmp(type, "list") == 0) {
++ !strcasecmp(type, "help") ||
++ !strcasecmp(type, "list"))
++ {
+ printf("Sensor Types:\n");
+ for (x = 1; x < SENSOR_TYPE_MAX; x += 2) {
+ printf("\t%-25s (0x%02x) %-25s (0x%02x)\n",
+@@ -4581,7 +4582,7 @@ ipmi_sdr_print_type(struct ipmi_intf *intf, char *type)
+ return 0;
+ }
+
+- if (!strcmp(type, "0x")) {
++ if (!strncmp(type, "0x", 2)) {
+ /* begins with 0x so let it be entered as raw hex value */
+ if (str2uchar(type, &sensor_type) != 0) {
+ lprintf(LOG_ERR,
+@@ -4591,7 +4592,7 @@ ipmi_sdr_print_type(struct ipmi_intf *intf, char *type)
+ }
+ } else {
+ for (x = 1; x < SENSOR_TYPE_MAX; x++) {
+- if (strcasecmp(sensor_type_desc[x], type) == 0) {
++ if (!strcasecmp(sensor_type_desc[x], type)) {
+ sensor_type = x;
+ break;
+ }
+@@ -4638,8 +4639,8 @@ ipmi_sdr_print_entity(struct ipmi_intf *intf, char *entitystr)
+ int rc = 0;
+
+ if (!entitystr ||
+- strcasecmp(entitystr, "help") == 0 ||
+- strcasecmp(entitystr, "list") == 0) {
++ !strcasecmp(entitystr, "help") ||
++ !strcasecmp(entitystr, "list")) {
+ print_valstr_2col(entity_id_vals, "Entity IDs", -1);
+ return 0;
+ }
+@@ -4654,7 +4655,7 @@ ipmi_sdr_print_entity(struct ipmi_intf *intf, char *entitystr)
+
+ /* now try string input */
+ for (i = 0; entity_id_vals[i].str; i++) {
+- if (strcasecmp(entitystr, entity_id_vals[i].str) == 0) {
++ if (!strcasecmp(entitystr, entity_id_vals[i].str)) {
+ entity.id = entity_id_vals[i].val;
+ entity.instance = 0x7f;
+ j=1;
diff --git a/sysutils/k9s/Makefile b/sysutils/k9s/Makefile
index 834e9d9eee01..1da043c3e578 100644
--- a/sysutils/k9s/Makefile
+++ b/sysutils/k9s/Makefile
@@ -1,6 +1,6 @@
PORTNAME= k9s
DISTVERSIONPREFIX= v
-DISTVERSION= 0.50.4
+DISTVERSION= 0.50.6
CATEGORIES= sysutils
MAINTAINER= gogolok@gmail.com
@@ -10,11 +10,11 @@ WWW= https://github.com/derailed/k9s
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= go:1.21,modules
+USES= go:1.24,modules
GO_MODULE= github.com/derailed/k9s
GO_BUILDFLAGS= -ldflags="-X github.com/derailed/k9s/cmd.version=${DISTVERSIONFULL} \
-X github.com/derailed/k9s/cmd.date=$$(date +'%Y-%m-%dT%H:%M:%SZ') \
- -X github.com/derailed/k9s/cmd.commit=e4e38161857a202f09488c7ab3603a27de464ad4"
+ -X github.com/derailed/k9s/cmd.commit=13cb55bb66272ac4c872a1f6bfa3e820d7d0ca5b"
PLIST_FILES= bin/${PORTNAME}
diff --git a/sysutils/k9s/distinfo b/sysutils/k9s/distinfo
index 057c925d0896..a9c0dc4bd8a6 100644
--- a/sysutils/k9s/distinfo
+++ b/sysutils/k9s/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1745214113
-SHA256 (go/sysutils_k9s/k9s-v0.50.4/v0.50.4.mod) = c94e084dc6f13e2e8cfc09af8745d99d3dcc8a04409eedc5daa4de2e6104f75b
-SIZE (go/sysutils_k9s/k9s-v0.50.4/v0.50.4.mod) = 19254
-SHA256 (go/sysutils_k9s/k9s-v0.50.4/v0.50.4.zip) = 617ace92bcdc51d63a63888c070cac98c696345e11bb45be46e4e5fe75a5eaaa
-SIZE (go/sysutils_k9s/k9s-v0.50.4/v0.50.4.zip) = 7485788
+TIMESTAMP = 1747190791
+SHA256 (go/sysutils_k9s/k9s-v0.50.6/v0.50.6.mod) = c41f2e178e3e345e07d729f0b53d7f9c3f69f41cbb51ff8550df54bb3d742172
+SIZE (go/sysutils_k9s/k9s-v0.50.6/v0.50.6.mod) = 19270
+SHA256 (go/sysutils_k9s/k9s-v0.50.6/v0.50.6.zip) = 027bb14ec2a3c7211a2233f0eb5ed176de37ef21e4181ac76bf69962dc6b0471
+SIZE (go/sysutils_k9s/k9s-v0.50.6/v0.50.6.zip) = 7496880
diff --git a/sysutils/py-ansible-core/Makefile b/sysutils/py-ansible-core/Makefile
index 993c3ca2df07..d334c5a230f1 100644
--- a/sysutils/py-ansible-core/Makefile
+++ b/sysutils/py-ansible-core/Makefile
@@ -1,5 +1,6 @@
PORTNAME= ansible-core
DISTVERSION= 2.18.5
+PORTREVISION= 1
CATEGORIES= sysutils python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -20,6 +21,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Jinja2>=3.0.0:devel/py-Jinja2@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}resolvelib>=0.5.3<1.1.0:devel/py-resolvelib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}toml>0:textproc/py-toml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}passlib>0:security/py-passlib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyyaml>=5.1:devel/py-pyyaml@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}bcrypt>=0:security/py-bcrypt@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}boto3>0:www/py-boto3@${PY_FLAVOR} \
diff --git a/sysutils/screen49/Makefile b/sysutils/screen49/Makefile
index e05d5edb29f6..580f13c0a7c1 100644
--- a/sysutils/screen49/Makefile
+++ b/sysutils/screen49/Makefile
@@ -1,6 +1,6 @@
PORTNAME= screen
PORTVERSION= 4.9.1
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= sysutils
MASTER_SITES= GNU \
ftp://ftp.gnu.org/gnu/screen/ \
@@ -21,10 +21,6 @@ WWW= https://www.gnu.org/software/screen/
CONFLICTS+= screen-devel*
-FORBIDDEN= Contains multiple CVEs
-DEPRECATED= Contains multiple CVEs, use screen50 instead
-EXPIRATION_DATE=2025-06-31
-
LICENSE= GPLv3
OPTIONS_DEFINE= INFO NETHACK XTERM_256 SYSTEM_SCREENRC MULTIUSER \
diff --git a/sysutils/screen49/files/patch-attacher.c b/sysutils/screen49/files/patch-attacher.c
index 0f89189898e3..c5f670bb6ceb 100644
--- a/sysutils/screen49/files/patch-attacher.c
+++ b/sysutils/screen49/files/patch-attacher.c
@@ -1,6 +1,75 @@
---- attacher.c.orig 2003-09-08 07:24:48.000000000 -0700
-+++ attacher.c 2011-01-02 21:42:39.547897531 -0800
-@@ -662,7 +662,7 @@
+--- attacher.c.orig 2023-08-16 00:29:26 UTC
++++ attacher.c
+@@ -73,7 +73,6 @@ extern int multiattach, multi_uid, own_uid;
+ #ifdef MULTIUSER
+ extern char *multi;
+ extern int multiattach, multi_uid, own_uid;
+-extern int tty_mode, tty_oldmode;
+ # ifndef USE_SETEUID
+ static int multipipe[2];
+ # endif
+@@ -160,9 +159,6 @@ int how;
+
+ if (pipe(multipipe))
+ Panic(errno, "pipe");
+- if (chmod(attach_tty, 0666))
+- Panic(errno, "chmod %s", attach_tty);
+- tty_oldmode = tty_mode;
+ eff_uid = -1; /* make UserContext fork */
+ real_uid = multi_uid;
+ if ((ret = UserContext()) <= 0)
+@@ -174,11 +170,6 @@ int how;
+ Panic(errno, "UserContext");
+ close(multipipe[1]);
+ read(multipipe[0], &dummy, 1);
+- if (tty_oldmode >= 0)
+- {
+- chmod(attach_tty, tty_oldmode);
+- tty_oldmode = -1;
+- }
+ ret = UserStatus();
+ #ifdef LOCK
+ if (ret == SIG_LOCK)
+@@ -224,9 +215,6 @@ int how;
+ xseteuid(multi_uid);
+ xseteuid(own_uid);
+ #endif
+- if (chmod(attach_tty, 0666))
+- Panic(errno, "chmod %s", attach_tty);
+- tty_oldmode = tty_mode;
+ }
+ # endif /* USE_SETEUID */
+ #endif /* MULTIUSER */
+@@ -423,13 +411,6 @@ int how;
+ ContinuePlease = 0;
+ # ifndef USE_SETEUID
+ close(multipipe[1]);
+-# else
+- xseteuid(own_uid);
+- if (tty_oldmode >= 0)
+- if (chmod(attach_tty, tty_oldmode))
+- Panic(errno, "chmod %s", attach_tty);
+- tty_oldmode = -1;
+- xseteuid(real_uid);
+ # endif
+ }
+ #endif
+@@ -505,14 +486,6 @@ AttacherFinit SIGDEFARG
+ close(s);
+ }
+ }
+-#ifdef MULTIUSER
+- if (tty_oldmode >= 0)
+- {
+- if (setuid(own_uid))
+- Panic(errno, "setuid");
+- chmod(attach_tty, tty_oldmode);
+- }
+-#endif
+ exit(0);
+ SIGRETURN;
+ }
+@@ -732,7 +705,7 @@ LockTerminal()
printf("\n");
prg = getenv("LOCKPRG");
@@ -9,8 +78,8 @@
{
signal(SIGCHLD, SIG_DFL);
debug1("lockterminal: '%s' seems executable, execl it!\n", prg);
-@@ -676,7 +676,11 @@
- setuid(real_uid); /* this should be done already */
+@@ -751,7 +724,11 @@ LockTerminal()
+ Panic(errno, "setuid");
#endif
closeallfiles(0); /* important: /etc/shadow may be open */
- execl(prg, "SCREEN-LOCK", NULL);
diff --git a/sysutils/screen49/files/patch-configure.ac b/sysutils/screen49/files/patch-configure.ac
index 1f32616b3797..1fc7eb310d6a 100644
--- a/sysutils/screen49/files/patch-configure.ac
+++ b/sysutils/screen49/files/patch-configure.ac
@@ -1,6 +1,6 @@
---- configure.ac.orig 2023-08-15 17:29:26.000000000 -0700
-+++ configure.ac 2024-01-02 18:30:11.205776000 -0800
-@@ -669,7 +669,7 @@
+--- configure.ac.orig 2023-08-16 00:29:26 UTC
++++ configure.ac
+@@ -669,7 +669,7 @@ olibs="$LIBS"
tgetent((char *)0, (char *)0);
],,
olibs="$LIBS"
@@ -9,7 +9,7 @@
AC_CHECKING(libcurses)
AC_TRY_LINK([
#include <curses.h>
-@@ -756,19 +756,6 @@
+@@ -756,19 +756,6 @@ fi
fi
fi
@@ -29,7 +29,7 @@
AC_CHECK_FUNCS(getpt)
dnl check for openpty()
-@@ -900,11 +887,11 @@
+@@ -900,11 +887,11 @@ dnl
dnl
dnl **** utmp handling ****
dnl
@@ -43,7 +43,7 @@
#include <utmpx.h>
#define utmp utmpx
#else
-@@ -917,11 +904,11 @@
+@@ -917,11 +904,11 @@ LIBS="$LIBS -lgen"
[int x = DEAD_PROCESS; pututline((struct utmp *)0); getutent();], AC_DEFINE(GETUTENT),
olibs="$LIBS"
LIBS="$LIBS -lgen"
@@ -57,7 +57,7 @@
#include <utmpx.h>
#define utmp utmpx
#else
-@@ -931,13 +918,13 @@
+@@ -931,13 +918,13 @@ AC_TRY_LINK([
#define pututline _pututline
#endif
],
diff --git a/sysutils/screen49/files/patch-doc__Makefile.in b/sysutils/screen49/files/patch-doc__Makefile.in
index 8666be063fe5..c90450268d09 100644
--- a/sysutils/screen49/files/patch-doc__Makefile.in
+++ b/sysutils/screen49/files/patch-doc__Makefile.in
@@ -1,7 +1,7 @@
---- doc/Makefile.in.orig 2014-04-29 20:26:42.618832001 -0700
-+++ doc/Makefile.in 2014-04-29 20:29:26.379384101 -0700
-@@ -31,7 +31,10 @@
- $(MAKEINFO) --no-split $(srcdir)/screen.texinfo -o screen.info
+--- doc/Makefile.in.orig 2023-08-16 00:29:26 UTC
++++ doc/Makefile.in
+@@ -31,7 +31,10 @@ install: installdirs
+ $(MAKEINFO) $(srcdir)/screen.texinfo -o screen.info
install: installdirs
+ifeq (${WITH_MAN},1)
@@ -11,8 +11,8 @@
-$(MAKE) screen.info
-if test -f screen.info; then d=.; else d=$(srcdir); fi; \
if test -f $$d/screen.info; then \
-@@ -40,13 +43,19 @@
- install-info --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/screen.info; \
+@@ -40,13 +43,19 @@ install: installdirs
+ install-info --info-dir=$(DESTDIR)$(infodir) $$d/screen.info; \
else true; fi; \
fi
+endif
diff --git a/sysutils/screen49/files/patch-misc.c b/sysutils/screen49/files/patch-misc.c
index 1364b230d55a..6ea949fbf7a4 100644
--- a/sysutils/screen49/files/patch-misc.c
+++ b/sysutils/screen49/files/patch-misc.c
@@ -1,4 +1,4 @@
---- misc.c.orig 2022-01-28 14:06:02 UTC
+--- misc.c.orig 2023-08-16 00:29:26 UTC
+++ misc.c
@@ -28,8 +28,10 @@
@@ -11,7 +11,7 @@
#include "config.h"
#include "screen.h"
-@@ -796,3 +798,17 @@
+@@ -720,3 +722,17 @@ xvsnprintf(char *s, int n, char *fmt, xva_list stack)
}
#endif
diff --git a/sysutils/screen49/files/patch-os.h b/sysutils/screen49/files/patch-os.h
index 80e7ec3c0bcb..ca0237af91ac 100644
--- a/sysutils/screen49/files/patch-os.h
+++ b/sysutils/screen49/files/patch-os.h
@@ -1,6 +1,6 @@
---- os.h.orig 2019-10-01 15:08:00.000000000 -0700
-+++ os.h 2019-10-28 19:37:41.585526000 -0700
-@@ -250,9 +250,11 @@
+--- os.h.orig 2023-08-16 00:29:26 UTC
++++ os.h
+@@ -250,9 +250,11 @@ extern int errno;
#endif
#if defined(UTMPOK) || defined(BUGGYGETLOGIN)
@@ -23,7 +23,7 @@
#endif
#ifndef MAXPATHLEN
-@@ -524,6 +526,6 @@
+@@ -524,6 +526,6 @@ typedef struct fd_set { int fds_bits[1]; } fd_set;
/* Changing those you won't be able to attach to your old sessions
* when changing those values in official tree don't forget to bump
* MSG_VERSION */
diff --git a/sysutils/screen49/files/patch-osdef.h.in b/sysutils/screen49/files/patch-osdef.h.in
index 3b32fe80ed81..c8249fc3d3bc 100644
--- a/sysutils/screen49/files/patch-osdef.h.in
+++ b/sysutils/screen49/files/patch-osdef.h.in
@@ -1,5 +1,5 @@
---- osdef.h.in.orig 2023-08-15 17:29:26.000000000 -0700
-+++ osdef.h.in 2024-07-17 20:59:56.936179000 -0700
+--- osdef.h.in.orig 2023-08-16 00:29:26 UTC
++++ osdef.h.in
@@ -28,6 +28,8 @@
****************************************************************
*/
@@ -9,7 +9,7 @@
extern int printf __P((char *, ...));
extern int fprintf __P((FILE *, char *, ...));
extern int sprintf __P((char *, char *, ...));
-@@ -71,6 +73,7 @@
+@@ -71,6 +73,7 @@ extern void bcopy __P((char *, char *, int));
#else
extern void bcopy __P((char *, char *, int));
#endif
diff --git a/sysutils/screen49/files/patch-resize.c b/sysutils/screen49/files/patch-resize.c
index a2af125f12ff..216fec9c1ab6 100644
--- a/sysutils/screen49/files/patch-resize.c
+++ b/sysutils/screen49/files/patch-resize.c
@@ -1,8 +1,8 @@
---- resize.c.orig Mon Sep 8 07:26:31 2003
-+++ resize.c Mon Dec 1 17:16:29 2003
-@@ -682,6 +682,17 @@
- if (wi == 0)
- he = hi = 0;
+--- resize.c.orig 2023-08-16 00:29:26 UTC
++++ resize.c
+@@ -683,6 +683,17 @@ int wi, he, hi;
+ he = MAXWIDTH;
+ }
+ if (wi > 1000)
+ {
diff --git a/sysutils/screen49/files/patch-screen.c b/sysutils/screen49/files/patch-screen.c
index 50b28c02a955..bde83a3b06cc 100644
--- a/sysutils/screen49/files/patch-screen.c
+++ b/sysutils/screen49/files/patch-screen.c
@@ -1,6 +1,115 @@
---- screen.c.orig 2017-07-10 12:26:25.000000000 -0700
-+++ screen.c 2017-08-25 20:20:20.471073000 -0700
-@@ -2214,7 +2214,7 @@
+--- screen.c.orig 2023-08-16 00:29:26 UTC
++++ screen.c
+@@ -230,8 +230,6 @@ int multiattach;
+ int multi_uid;
+ int own_uid;
+ int multiattach;
+-int tty_mode;
+-int tty_oldmode = -1;
+ #endif
+
+ char HostName[MAXSTR];
+@@ -1009,9 +1007,6 @@ int main(int ac, char** av)
+
+ /* ttyname implies isatty */
+ SetTtyname(true, &st);
+-#ifdef MULTIUSER
+- tty_mode = (int)st.st_mode & 0777;
+-#endif
+
+ fl = fcntl(0, F_GETFL, 0);
+ if (fl != -1 && (fl & (O_RDWR|O_RDONLY|O_WRONLY)) == O_RDWR)
+@@ -1127,15 +1122,28 @@ int main(int ac, char** av)
+ #endif
+ }
+
+- if (stat(SockPath, &st) == -1)
+- Panic(errno, "Cannot access %s", SockPath);
+- else
+- if (!S_ISDIR(st.st_mode))
++ if (stat(SockPath, &st) == -1) {
++ if (eff_uid == real_uid) {
++ Panic(errno, "Cannot access %s", SockPath);
++ } else {
++ Panic(0, "Error accessing %s", SockPath);
++ }
++ } else if (!S_ISDIR(st.st_mode)) {
++ if (eff_uid == real_uid || st.st_uid == real_uid) {
+ Panic(0, "%s is not a directory.", SockPath);
++ } else {
++ Panic(0, "Error accessing %s", SockPath);
++ }
++ }
+ #ifdef MULTIUSER
+ if (multi) {
+- if ((int)st.st_uid != multi_uid)
+- Panic(0, "%s is not the owner of %s.", multi, SockPath);
++ if ((int)st.st_uid != multi_uid) {
++ if (eff_uid == real_uid || st.st_uid == real_uid) {
++ Panic(0, "%s is not the owner of %s.", multi, SockPath);
++ } else {
++ Panic(0, "Error accessing %s", SockPath);
++ }
++ }
+ }
+ else
+ #endif
+@@ -1149,9 +1157,13 @@ int main(int ac, char** av)
+ Panic(0, "You are not the owner of %s.", SockPath);
+ #endif
+ }
+-
+- if ((st.st_mode & 0777) != 0700)
+- Panic(0, "Directory %s must have mode 700.", SockPath);
++ if ((st.st_mode & 0777) != 0700) {
++ if (eff_uid == real_uid || st.st_uid == real_uid) {
++ Panic(0, "Directory %s must have mode 700.", SockPath);
++ } else {
++ Panic(0, "Error accessing %s", SockPath);
++ }
++ }
+ if (SockMatch && index(SockMatch, '/'))
+ Panic(0, "Bad session name '%s'", SockMatch);
+ SockName = SockPath + strlen(SockPath) + 1;
+@@ -1189,8 +1201,14 @@ int main(int ac, char** av)
+ else
+ exit(9 + (fo || oth ? 1 : 0) + fo);
+ }
+- if (fo == 0)
+- Panic(0, "No Sockets found in %s.\n", SockPath);
++ if (fo == 0) {
++ if (eff_uid == real_uid || st.st_uid == real_uid) {
++ Panic(0, "No Sockets found in %s.\n", SockPath);
++ } else {
++ Panic(0, "Error accessing %s", SockPath);
++ }
++ }
++
+ Msg(0, "%d Socket%s in %s.", fo, fo > 1 ? "s" : "", SockPath);
+ eexit(0);
+ }
+@@ -2170,20 +2188,6 @@ DEFINE_VARARGS_FN(Panic)
+ if (D_userpid)
+ Kill(D_userpid, SIG_BYE);
+ }
+-#ifdef MULTIUSER
+- if (tty_oldmode >= 0) {
+-
+-# ifdef USE_SETEUID
+- if (setuid(own_uid))
+- xseteuid(own_uid); /* may be a loop. sigh. */
+-# else
+- setuid(own_uid);
+-# endif
+-
+- debug1("Panic: changing back modes from %s\n", attach_tty);
+- chmod(attach_tty, tty_oldmode);
+- }
+-#endif
+ eexit(1);
+ }
+
+@@ -2234,7 +2238,7 @@ static char *pad_expand(char *buf, char *p, int numpad
pn2 = pn = p + padlen;
r = winmsg_numrend;
while (p >= buf) {
diff --git a/sysutils/screen49/files/patch-socket.c b/sysutils/screen49/files/patch-socket.c
index cfa52856c2e7..01bd213ae5c4 100644
--- a/sysutils/screen49/files/patch-socket.c
+++ b/sysutils/screen49/files/patch-socket.c
@@ -1,84 +1,97 @@
---- socket.c.orig 2022-01-28 14:06:02 UTC
+--- socket.c.orig 2025-05-13 14:58:03 UTC
+++ socket.c
-@@ -141,12 +141,14 @@
- char *firstn = NULL;
- int nfound = 0, ngood = 0, ndead = 0, nwipe = 0, npriv = 0;
- int nperfect = 0;
-+ char timestr[64];
- struct sent
- {
- struct sent *next;
- int mode;
- char *name;
-- } *slist, **slisttail, *sent, *nsent;
-+ time_t time_created;
-+ } *slist, **slisttail, *sent, *nsent, *schosen;
+@@ -171,8 +171,13 @@ bool *is_sock;
+ xsetegid(real_gid);
+ #endif
- if (match)
- {
-@@ -258,8 +260,13 @@
- sent->next = 0;
- sent->name = SaveStr(name);
- sent->mode = mode;
-+ sent->time_created = SessionCreationTime(name);
-+ for (slisttail = &slist; *slisttail; slisttail = &((*slisttail)->next))
-+ {
-+ if ((*slisttail)->time_created < sent->time_created) break;
-+ }
-+ sent->next = *slisttail;
- *slisttail = sent;
-- slisttail = &sent->next;
- nfound++;
- sockfd = MakeClientSocket(0, *is_sock);
- #ifdef USE_SETEUID
-@@ -359,34 +366,42 @@
- }
- for (sent = slist; sent; sent = sent->next)
+- if ((dirp = opendir(SockPath)) == 0)
+- Panic(errno, "Cannot opendir %s", SockPath);
++ if ((dirp = opendir(SockPath)) == 0) {
++ if (eff_uid == real_uid) {
++ Panic(errno, "Cannot opendir %s", SockPath);
++ } else {
++ Panic(0, "Error accessing %s", SockPath);
++ }
++ }
+
+ slist = 0;
+ slisttail = &slist;
+@@ -841,6 +846,11 @@ int pid;
+ return UserStatus();
+ }
+
++static void KillUnpriv(pid_t pid, int sig) {
++ UserContext();
++ UserReturn(kill(pid, sig));
++}
++
+ #ifdef hpux
+ /*
+ * From: "F. K. Bruner" <napalm@ugcs.caltech.edu>
+@@ -926,14 +936,14 @@ struct win *wi;
+ {
+ Msg(errno, "Could not perform necessary sanity checks on pts device.");
+ close(i);
+- Kill(pid, SIG_BYE);
++ KillUnpriv(pid, SIG_BYE);
+ return -1;
+ }
+ if (strcmp(ttyname_in_ns, m->m_tty))
+ {
+ Msg(errno, "Attach: passed fd does not match tty: %s - %s!", ttyname_in_ns, m->m_tty[0] != '\0' ? m->m_tty : "(null)");
+ close(i);
+- Kill(pid, SIG_BYE);
++ KillUnpriv(pid, SIG_BYE);
+ return -1;
+ }
+ /* m->m_tty so far contains the actual name of the pts device in the
+@@ -950,19 +960,19 @@ struct win *wi;
{
-+ if (sent->time_created == 0)
-+ {
-+ sprintf(timestr, "??" "?");
-+ }
-+ else
-+ {
-+ strftime(timestr, 64, "%x %X", localtime(&sent->time_created));
-+ }
- switch (sent->mode)
- {
- case 0700:
-- printf("\t%s\t(Attached)\n", sent->name);
-+ printf("\t%s\t(%s)\t(Attached)\n", sent->name, timestr);
- break;
- case 0600:
-- printf("\t%s\t(Detached)\n", sent->name);
-+ printf("\t%s\t(%s)\t(Detached)\n", sent->name, timestr);
- break;
+ Msg(errno, "Attach: passed fd does not match tty: %s - %s!", m->m_tty, myttyname ? myttyname : "NULL");
+ close(i);
+- Kill(pid, SIG_BYE);
++ KillUnpriv(pid, SIG_BYE);
+ return -1;
+ }
+ }
+ else if ((i = secopen(m->m_tty, O_RDWR | O_NONBLOCK, 0)) < 0)
+ {
+ Msg(errno, "Attach: Could not open %s!", m->m_tty);
+- Kill(pid, SIG_BYE);
++ KillUnpriv(pid, SIG_BYE);
+ return -1;
+ }
#ifdef MULTIUSER
- case 0701:
-- printf("\t%s\t(Multi, attached)\n", sent->name);
-+ printf("\t%s\t(%s)\t(Multi, attached)\n", sent->name, timestr);
- break;
- case 0601:
-- printf("\t%s\t(Multi, detached)\n", sent->name);
-+ printf("\t%s\t(%s)\t(Multi, detached)\n", sent->name, timestr);
- break;
+ if (attach)
+- Kill(pid, SIGCONT);
++ KillUnpriv(pid, SIGCONT);
#endif
- case -1:
- /* No trigraphs here! */
-- printf("\t%s\t(Dead ?%c?)\n", sent->name, '?');
-+ printf("\t%s\t(%s)\t(Dead ?%c?)\n", sent->name, timestr, '?');
- break;
- case -2:
-- printf("\t%s\t(Removed)\n", sent->name);
-+ printf("\t%s\t(%s)\t(Removed)\n", sent->name, timestr);
- break;
- case -3:
-- printf("\t%s\t(Remote or dead)\n", sent->name);
-+ printf("\t%s\t(%s)\t(Remote or dead)\n", sent->name, timestr);
- break;
- case -4:
-- printf("\t%s\t(Private)\n", sent->name);
-+ printf("\t%s\t(%s)\t(Private)\n", sent->name, timestr);
- break;
- }
+
+ #if defined(ultrix) || defined(pyr) || defined(NeXT)
+@@ -975,7 +985,7 @@ struct win *wi;
+ {
+ write(i, "Attaching from inside of screen?\n", 33);
+ close(i);
+- Kill(pid, SIG_BYE);
++ KillUnpriv(pid, SIG_BYE);
+ Msg(0, "Attach msg ignored: coming from inside.");
+ return -1;
}
+@@ -986,7 +996,7 @@ struct win *wi;
+ {
+ write(i, "Access to session denied.\n", 26);
+ close(i);
+- Kill(pid, SIG_BYE);
++ KillUnpriv(pid, SIG_BYE);
+ Msg(0, "Attach: access denied for user %s.", user);
+ return -1;
+ }
+@@ -1304,7 +1314,7 @@ ReceiveMsg()
+ Msg(0, "Query attempt with bad pid(%d)!", m.m.command.apid);
+ }
+ else {
+- Kill(m.m.command.apid,
++ KillUnpriv(m.m.command.apid,
+ (queryflag >= 0)
+ ? SIGCONT
+ : SIG_BYE); /* Send SIG_BYE if an error happened */
diff --git a/sysutils/screen49/files/patch-termcap.c b/sysutils/screen49/files/patch-termcap.c
index cbe7a90f11a2..a7abaa54ce81 100644
--- a/sysutils/screen49/files/patch-termcap.c
+++ b/sysutils/screen49/files/patch-termcap.c
@@ -1,6 +1,6 @@
---- termcap.c.orig 2020-02-05 12:09:38.000000000 -0800
-+++ termcap.c 2020-02-11 20:10:12.747990000 -0800
-@@ -361,11 +361,7 @@
+--- termcap.c.orig 2023-08-16 00:29:26 UTC
++++ termcap.c
+@@ -361,11 +361,7 @@ int he;
if (D_CG0)
{
if (D_CS0 == 0)
diff --git a/sysutils/screen49/files/patch-terminfo__checktc.c b/sysutils/screen49/files/patch-terminfo__checktc.c
index d4ffb75cc0c1..7c38ac40c386 100644
--- a/sysutils/screen49/files/patch-terminfo__checktc.c
+++ b/sysutils/screen49/files/patch-terminfo__checktc.c
@@ -1,6 +1,6 @@
---- terminfo/checktc.c.orig Fri Sep 29 09:13:22 1995
-+++ terminfo/checktc.c Tue Apr 22 20:37:18 2003
-@@ -171,6 +171,7 @@
+--- terminfo/checktc.c.orig 2023-08-16 00:29:26 UTC
++++ terminfo/checktc.c
+@@ -171,6 +171,7 @@ char *s;
fflush(stdout);
}
@@ -8,7 +8,7 @@
void CPutStr(s, c)
char *s;
int c;
-@@ -178,6 +179,7 @@
+@@ -178,6 +179,7 @@ int c;
tputs(tgoto(s, 0, c), 1, putcha);
fflush(stdout);
}
diff --git a/sysutils/screen49/files/patch-utmp.c b/sysutils/screen49/files/patch-utmp.c
index 0573d96ceab5..e019f8cedc09 100644
--- a/sysutils/screen49/files/patch-utmp.c
+++ b/sysutils/screen49/files/patch-utmp.c
@@ -1,5 +1,5 @@
---- utmp.c.orig 2023-08-15 17:29:26.000000000 -0700
-+++ utmp.c 2023-08-19 08:57:48.376313000 -0700
+--- utmp.c.orig 2023-08-16 00:29:26 UTC
++++ utmp.c
@@ -26,6 +26,7 @@
****************************************************************
*/
@@ -8,7 +8,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-@@ -89,11 +90,13 @@
+@@ -89,11 +90,13 @@ static struct utmp *getutslot __P((slot_t));
static int pututslot __P((slot_t, struct utmp *, char *, struct win *));
static struct utmp *getutslot __P((slot_t));
#ifndef GETUTENT
@@ -22,7 +22,7 @@
#if defined(linux) && defined(GETUTENT)
static struct utmp *xpututline __P((struct utmp *utmp));
# define pututline xpututline
-@@ -102,9 +105,7 @@
+@@ -102,9 +105,7 @@ static char UtmpName[] = UTMPFILE;
static int utmpok;
static char UtmpName[] = UTMPFILE;
@@ -32,7 +32,7 @@
# if defined(GETUTENT) && (!defined(SVR4) || defined(__hpux)) && ! defined(__CYGWIN__)
-@@ -409,12 +410,6 @@
+@@ -409,12 +410,6 @@ struct win *wi;
register slot_t slot;
struct utmp u;
int saved_ut;
@@ -45,7 +45,7 @@
wi->w_slot = (slot_t)0;
if (!utmpok || wi->w_type != W_TYPE_PTY)
-@@ -435,51 +430,13 @@
+@@ -435,51 +430,13 @@ struct win *wi;
makeuser(&u, stripdev(wi->w_tty), LoginName, wi->w_pid);
#ifdef UTHOST
@@ -100,7 +100,7 @@
{
Msg(errno,"Could not write %s", UtmpName);
UT_CLOSE;
-@@ -607,7 +564,7 @@
+@@ -607,7 +564,7 @@ struct utmp *u;
struct utmp *u;
{
u->ut_type = DEAD_PROCESS;
@@ -109,7 +109,7 @@
u->ut_exit.e_termination = 0;
u->ut_exit.e_exit = 0;
#endif
-@@ -640,7 +597,11 @@
+@@ -640,7 +597,11 @@ int pid;
/* must use temp variable because of NetBSD/sparc64, where
* ut_xtime is long(64) but time_t is int(32) */
(void)time(&now);
@@ -122,7 +122,7 @@
}
static slot_t
-@@ -670,6 +631,7 @@
+@@ -670,6 +631,7 @@ initutmp()
return (utmpfd = open(UtmpName, O_RDWR)) >= 0;
}
@@ -130,7 +130,7 @@
static void
setutent()
{
-@@ -694,6 +656,7 @@
+@@ -694,6 +656,7 @@ getutent()
return 0;
return &uent;
}
@@ -138,7 +138,7 @@
static struct utmp *
getutslot(slot)
-@@ -750,9 +713,13 @@
+@@ -750,9 +713,13 @@ int pid;
{
time_t now;
strncpy(u->ut_line, line, sizeof(u->ut_line));
diff --git a/textproc/fzf/Makefile b/textproc/fzf/Makefile
index 346d321c10a5..2f1bc8578a87 100644
--- a/textproc/fzf/Makefile
+++ b/textproc/fzf/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fzf
DISTVERSIONPREFIX= v
-DISTVERSION= 0.61.1
+DISTVERSION= 0.61.2
CATEGORIES= textproc
MASTER_SITES= https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${DISTVERSIONFULL}/:gomod
DISTFILES= go.mod:gomod
@@ -21,7 +21,7 @@ GH_PROJECT= fzf
GO_MODULE= github.com/junegunn/fzf
GO_BUILDFLAGS= -ldflags="-X main.version=${DISTVERSION} -X main.revision=${COMMIT_ID} -s -w"
-COMMIT_ID= 93cb375
+COMMIT_ID= 90ad1b7
PLIST_FILES= bin/fzf share/man/man1/fzf.1.gz
diff --git a/textproc/fzf/distinfo b/textproc/fzf/distinfo
index 4c89023e9228..3c60274ecc1b 100644
--- a/textproc/fzf/distinfo
+++ b/textproc/fzf/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1747046301
-SHA256 (go/textproc_fzf/junegunn-fzf-v0.61.1_GH0/go.mod) = d28136ddcb65827d87be980ad5387e4aeee3f01edcb3f0c74aa031b895ae4f55
-SIZE (go/textproc_fzf/junegunn-fzf-v0.61.1_GH0/go.mod) = 527
-SHA256 (go/textproc_fzf/junegunn-fzf-v0.61.1_GH0/junegunn-fzf-v0.61.1_GH0.tar.gz) = 702e1886dab359a1dab361b372c1ac05b2a1ed5d916aa0fbc08e8269a53a5171
-SIZE (go/textproc_fzf/junegunn-fzf-v0.61.1_GH0/junegunn-fzf-v0.61.1_GH0.tar.gz) = 331027
+TIMESTAMP = 1747219243
+SHA256 (go/textproc_fzf/junegunn-fzf-v0.61.2_GH0/go.mod) = d28136ddcb65827d87be980ad5387e4aeee3f01edcb3f0c74aa031b895ae4f55
+SIZE (go/textproc_fzf/junegunn-fzf-v0.61.2_GH0/go.mod) = 527
+SHA256 (go/textproc_fzf/junegunn-fzf-v0.61.2_GH0/junegunn-fzf-v0.61.2_GH0.tar.gz) = 15a2d8b9bcd9cf85219f02f3cf750c45acd3d5901ce69a7dcdb9db3e12f36a90
+SIZE (go/textproc_fzf/junegunn-fzf-v0.61.2_GH0/junegunn-fzf-v0.61.2_GH0.tar.gz) = 331925
diff --git a/textproc/harper/Makefile b/textproc/harper/Makefile
index da37fab8ef1c..63c31ef3fa4a 100644
--- a/textproc/harper/Makefile
+++ b/textproc/harper/Makefile
@@ -1,6 +1,6 @@
PORTNAME= harper
DISTVERSIONPREFIX= v
-DISTVERSION= 0.34.1
+DISTVERSION= 0.35.0
CATEGORIES= textproc
MAINTAINER= ashish@FreeBSD.org
diff --git a/textproc/harper/Makefile.crates b/textproc/harper/Makefile.crates
index dde09a898a68..ae4d54255ad1 100644
--- a/textproc/harper/Makefile.crates
+++ b/textproc/harper/Makefile.crates
@@ -36,8 +36,8 @@ CARGO_CRATES= addr2line-0.24.2 \
ciborium-0.2.2 \
ciborium-io-0.2.2 \
ciborium-ll-0.2.2 \
- clap-4.5.37 \
- clap_builder-4.5.37 \
+ clap-4.5.38 \
+ clap_builder-4.5.38 \
clap_derive-4.5.32 \
clap_lex-0.7.4 \
colorchoice-1.0.3 \
@@ -171,7 +171,7 @@ CARGO_CRATES= addr2line-0.24.2 \
pulldown-cmark-0.13.0 \
pulldown-cmark-escape-0.11.0 \
quickcheck-1.0.3 \
- quickcheck_macros-1.0.0 \
+ quickcheck_macros-1.1.0 \
quinn-0.11.6 \
quinn-proto-0.11.9 \
quinn-udp-0.5.10 \
@@ -220,7 +220,6 @@ CARGO_CRATES= addr2line-0.24.2 \
strum-0.27.1 \
strum_macros-0.27.1 \
subtle-2.6.1 \
- syn-1.0.109 \
syn-2.0.96 \
sync_wrapper-1.0.2 \
synstructure-0.13.1 \
@@ -235,7 +234,7 @@ CARGO_CRATES= addr2line-0.24.2 \
tinytemplate-1.2.1 \
tinyvec-1.9.0 \
tinyvec_macros-0.1.1 \
- tokio-1.44.2 \
+ tokio-1.45.0 \
tokio-macros-2.5.0 \
tokio-rustls-0.26.2 \
tokio-util-0.7.13 \
diff --git a/textproc/harper/distinfo b/textproc/harper/distinfo
index e20be3433a26..a11e3d9f7a5d 100644
--- a/textproc/harper/distinfo
+++ b/textproc/harper/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1746817926
+TIMESTAMP = 1747254641
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
@@ -75,10 +75,10 @@ SHA256 (rust/crates/ciborium-io-0.2.2.crate) = 05afea1e0a06c9be33d539b876f1ce369
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/clap-4.5.37.crate) = eccb054f56cbd38340b380d4a8e69ef1f02f1af43db2f0cc817a4774d80ae071
-SIZE (rust/crates/clap-4.5.37.crate) = 56962
-SHA256 (rust/crates/clap_builder-4.5.37.crate) = efd9466fac8543255d3b1fcad4762c5e116ffe808c8a3043d4263cd4fd4862a2
-SIZE (rust/crates/clap_builder-4.5.37.crate) = 168761
+SHA256 (rust/crates/clap-4.5.38.crate) = ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000
+SIZE (rust/crates/clap-4.5.38.crate) = 57140
+SHA256 (rust/crates/clap_builder-4.5.38.crate) = 379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120
+SIZE (rust/crates/clap_builder-4.5.38.crate) = 169177
SHA256 (rust/crates/clap_derive-4.5.32.crate) = 09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7
SIZE (rust/crates/clap_derive-4.5.32.crate) = 33441
SHA256 (rust/crates/clap_lex-0.7.4.crate) = f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6
@@ -345,8 +345,8 @@ SHA256 (rust/crates/pulldown-cmark-escape-0.11.0.crate) = 007d8adb5ddab6f8e3f491
SIZE (rust/crates/pulldown-cmark-escape-0.11.0.crate) = 6719
SHA256 (rust/crates/quickcheck-1.0.3.crate) = 588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6
SIZE (rust/crates/quickcheck-1.0.3.crate) = 28069
-SHA256 (rust/crates/quickcheck_macros-1.0.0.crate) = b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9
-SIZE (rust/crates/quickcheck_macros-1.0.0.crate) = 5275
+SHA256 (rust/crates/quickcheck_macros-1.1.0.crate) = f71ee38b42f8459a88d3362be6f9b841ad2d5421844f61eb1c59c11bff3ac14a
+SIZE (rust/crates/quickcheck_macros-1.1.0.crate) = 11744
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
@@ -443,8 +443,6 @@ SHA256 (rust/crates/strum_macros-0.27.1.crate) = c77a8c5abcaf0f9ce05d62342b7d298
SIZE (rust/crates/strum_macros-0.27.1.crate) = 29670
SHA256 (rust/crates/subtle-2.6.1.crate) = 13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292
SIZE (rust/crates/subtle-2.6.1.crate) = 14562
-SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
-SIZE (rust/crates/syn-1.0.109.crate) = 237611
SHA256 (rust/crates/syn-2.0.96.crate) = d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80
SIZE (rust/crates/syn-2.0.96.crate) = 297497
SHA256 (rust/crates/sync_wrapper-1.0.2.crate) = 0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263
@@ -473,8 +471,8 @@ SHA256 (rust/crates/tinyvec-1.9.0.crate) = 09b3661f17e86524eccd4371ab0429194e0d7
SIZE (rust/crates/tinyvec-1.9.0.crate) = 54137
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-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.2.crate) = 8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b
@@ -713,5 +711,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 (Automattic-harper-v0.34.1_GH0.tar.gz) = bfc20385a67a1094221d2c34dd6895f9517e5037b814cc8749771d04be51f68e
-SIZE (Automattic-harper-v0.34.1_GH0.tar.gz) = 3805183
+SHA256 (Automattic-harper-v0.35.0_GH0.tar.gz) = 0d3ab41a46848be51522aab13a5b220b692af24b05ee68abe630be3123cf803d
+SIZE (Automattic-harper-v0.35.0_GH0.tar.gz) = 3814570
diff --git a/textproc/libxslt/Makefile b/textproc/libxslt/Makefile
index 17dc9fcb9408..ff4d2c528dd3 100644
--- a/textproc/libxslt/Makefile
+++ b/textproc/libxslt/Makefile
@@ -1,18 +1,15 @@
PORTNAME= libxslt
-DISTVERSION= 1.1.42
+DISTVERSION= 1.1.43
CATEGORIES= textproc gnome
MASTER_SITES= GNOME/sources/${PORTNAME}/${DISTVERSION:R}/
DIST_SUBDIR= gnome
-PATCH_SITES= https://gitlab.gnome.org/GNOME/libxslt/-/commit/
-PATCHFILES= bf59c338121b8b45d66ba6ecea69ad498015c396.patch:-p1
-
MAINTAINER= desktop@FreeBSD.org
COMMENT= XML stylesheet transformation library
WWW= https://gitlab.gnome.org/GNOME/libxslt/
LICENSE= MIT
-LICENSE_FILE= ${WRKSRC}/COPYING
+LICENSE_FILE= ${WRKSRC}/Copyright
# See note in textproc/libxml2 for why this port uses autotools
USES= cpe gmake gnome libtool localbase:ldflags pathfix pkgconfig tar:xz
@@ -27,16 +24,19 @@ TEST_TARGET= check
PLIST_SUB= LIBVERSION=${PORTVERSION}
-OPTIONS_DEFINE= CRYPTO STATIC
-OPTIONS_DEFAULT= CRYPTO STATIC
+OPTIONS_DEFINE= CRYPTO PLUGINS STATIC
+OPTIONS_DEFAULT= CRYPTO PLUGINS STATIC
OPTIONS_SUB= yes
CRYPTO_DESC= Enable crypto support
+PLUGINS_DESC= Enable dynamically-loaded plugins support
CRYPTO_LIB_DEPENDS= libgcrypt.so:security/libgcrypt \
libgpg-error.so:security/libgpg-error
CRYPTO_CONFIGURE_WITH= crypto
+PLUGINS_CONFIGURE_WITH= plugins
+
STATIC_CONFIGURE_ENABLE= static
.include <bsd.port.mk>
diff --git a/textproc/libxslt/distinfo b/textproc/libxslt/distinfo
index 82c1f45643e7..164bc0aab94d 100644
--- a/textproc/libxslt/distinfo
+++ b/textproc/libxslt/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1740975033
-SHA256 (gnome/libxslt-1.1.42.tar.xz) = 85ca62cac0d41fc77d3f6033da9df6fd73d20ea2fc18b0a3609ffb4110e1baeb
-SIZE (gnome/libxslt-1.1.42.tar.xz) = 1573668
-SHA256 (gnome/bf59c338121b8b45d66ba6ecea69ad498015c396.patch) = 6acb468675339f3d882fb8180608977625f9eded1e9653387833e23212bf9d3c
-SIZE (gnome/bf59c338121b8b45d66ba6ecea69ad498015c396.patch) = 8454
+TIMESTAMP = 1747170090
+SHA256 (gnome/libxslt-1.1.43.tar.xz) = 5a3d6b383ca5afc235b171118e90f5ff6aa27e9fea3303065231a6d403f0183a
+SIZE (gnome/libxslt-1.1.43.tar.xz) = 1518364
diff --git a/textproc/libxslt/pkg-plist b/textproc/libxslt/pkg-plist
index ce3d8ff24fa5..05b5430a3085 100644
--- a/textproc/libxslt/pkg-plist
+++ b/textproc/libxslt/pkg-plist
@@ -29,7 +29,7 @@ lib/cmake/libxslt/libxslt-config.cmake
%%STATIC%%lib/libexslt.a
lib/libexslt.so
lib/libexslt.so.0
-lib/libexslt.so.0.8.23
+lib/libexslt.so.0.8.24
%%STATIC%%lib/libxslt.a
lib/libxslt.so
lib/libxslt.so.1
@@ -78,4 +78,4 @@ share/gtk-doc/html/libxslt/up.png
share/man/man1/xsltproc.1.gz
share/man/man3/libexslt.3.gz
share/man/man3/libxslt.3.gz
-@dir lib/libxslt-plugins
+%%PLUGINS%%@dir lib/libxslt-plugins
diff --git a/textproc/nerdlog/Makefile b/textproc/nerdlog/Makefile
index bc0939f962a1..deb6ae6d8f44 100644
--- a/textproc/nerdlog/Makefile
+++ b/textproc/nerdlog/Makefile
@@ -1,6 +1,6 @@
PORTNAME= nerdlog
DISTVERSIONPREFIX= v
-DISTVERSION= 1.6.0
+DISTVERSION= 1.7.2
CATEGORIES= textproc
MAINTAINER= lwhsu@FreeBSD.org
diff --git a/textproc/nerdlog/distinfo b/textproc/nerdlog/distinfo
index cbf9a2a5896a..de88d91e34ee 100644
--- a/textproc/nerdlog/distinfo
+++ b/textproc/nerdlog/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1746533765
-SHA256 (go/textproc_nerdlog/nerdlog-v1.6.0/v1.6.0.mod) = 84c90da8b68005e016c1cfb86a87ea46ed0dfa374d53dd0128ede3438f89e0ff
-SIZE (go/textproc_nerdlog/nerdlog-v1.6.0/v1.6.0.mod) = 1211
-SHA256 (go/textproc_nerdlog/nerdlog-v1.6.0/v1.6.0.zip) = 099b21d3f460b3f065be1bf9358bfb3c6aac46b286cea5e3ef4861e9dec88f0d
-SIZE (go/textproc_nerdlog/nerdlog-v1.6.0/v1.6.0.zip) = 2009588
+TIMESTAMP = 1747280855
+SHA256 (go/textproc_nerdlog/nerdlog-v1.7.2/v1.7.2.mod) = 84c90da8b68005e016c1cfb86a87ea46ed0dfa374d53dd0128ede3438f89e0ff
+SIZE (go/textproc_nerdlog/nerdlog-v1.7.2/v1.7.2.mod) = 1211
+SHA256 (go/textproc_nerdlog/nerdlog-v1.7.2/v1.7.2.zip) = 51c057284a0153805c6c49bee0f52db8dcc6bcbc6f6e562096df434048786442
+SIZE (go/textproc_nerdlog/nerdlog-v1.7.2/v1.7.2.zip) = 2080263
diff --git a/textproc/p5-Pod-Simple/Makefile b/textproc/p5-Pod-Simple/Makefile
index a6fb4b161ecb..99dbf461640c 100644
--- a/textproc/p5-Pod-Simple/Makefile
+++ b/textproc/p5-Pod-Simple/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Pod-Simple
-PORTVERSION= 3.45
+PORTVERSION= 3.46
CATEGORIES= textproc devel perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
diff --git a/textproc/p5-Pod-Simple/distinfo b/textproc/p5-Pod-Simple/distinfo
index d794be91abc3..bfcafa14fe39 100644
--- a/textproc/p5-Pod-Simple/distinfo
+++ b/textproc/p5-Pod-Simple/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1685162476
-SHA256 (Pod-Simple-3.45.tar.gz) = 8483bb95cd3e4307d66def092a3779f843af772482bfdc024e3e00d0c4db0cfa
-SIZE (Pod-Simple-3.45.tar.gz) = 303973
+TIMESTAMP = 1747208270
+SHA256 (Pod-Simple-3.46.tar.gz) = 3d2b0e844f14a44d8269b38206abdfc07646af3c0db7dad733dddb84d826b9f0
+SIZE (Pod-Simple-3.46.tar.gz) = 305537
diff --git a/textproc/p5-Senna/Makefile b/textproc/p5-Senna/Makefile
index 4e2c0b6ed002..c5f0073da946 100644
--- a/textproc/p5-Senna/Makefile
+++ b/textproc/p5-Senna/Makefile
@@ -15,9 +15,12 @@ LICENSE= LGPL21
BUILD_DEPENDS= ${RUN_DEPENDS}
RUN_DEPENDS= senna-cfg:textproc/senna
-USES= perl5 localbase
+USES= localbase perl5
USE_PERL5= modbuild
-CONFIGURE_ARGS+=</dev/null
+
+CONFIGURE_ARGS+= </dev/null
+
+PORTSCOUT= skipv:0.60000
.include <bsd.port.options.mk>
diff --git a/textproc/wikiman/Makefile b/textproc/wikiman/Makefile
index 8e82afa66567..dd8a96f201dd 100644
--- a/textproc/wikiman/Makefile
+++ b/textproc/wikiman/Makefile
@@ -1,6 +1,5 @@
PORTNAME= wikiman
-DISTVERSION= 2.13.2
-PORTREVISION= 1
+DISTVERSION= 2.14.1
CATEGORIES= textproc
MAINTAINER= filip@parag.rs
diff --git a/textproc/wikiman/distinfo b/textproc/wikiman/distinfo
index 115fdf9d4ba0..416b48c7d00d 100644
--- a/textproc/wikiman/distinfo
+++ b/textproc/wikiman/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1694784000
-SHA256 (filiparag-wikiman-2.13.2_GH0.tar.gz) = f9d76ff056e152b70259c35377cfd85a1d506b096955037b2303e548ba5106b7
-SIZE (filiparag-wikiman-2.13.2_GH0.tar.gz) = 1373380
+TIMESTAMP = 1747242000
+SHA256 (filiparag-wikiman-2.14.1_GH0.tar.gz) = 5a8964b3200c7f9d1c05555fff81fc90f76e0624de7f1d14628933f3480333cb
+SIZE (filiparag-wikiman-2.14.1_GH0.tar.gz) = 1377244
diff --git a/textproc/wikiman/pkg-plist b/textproc/wikiman/pkg-plist
index 868bcda41fe1..3a1e9284f8b4 100644
--- a/textproc/wikiman/pkg-plist
+++ b/textproc/wikiman/pkg-plist
@@ -1,6 +1,7 @@
bin/wikiman
share/man/man1/wikiman.1.gz
%%DATADIR%%/sources/arch.sh
+%%DATADIR%%/sources/devdocs.sh
%%DATADIR%%/sources/fbsd.sh
%%DATADIR%%/sources/gentoo.sh
%%DATADIR%%/sources/man.sh
diff --git a/www/grafana/Makefile b/www/grafana/Makefile
index 0dd96cfe8e72..6f770e49d424 100644
--- a/www/grafana/Makefile
+++ b/www/grafana/Makefile
@@ -1,18 +1,28 @@
PORTNAME= grafana
DISTVERSIONPREFIX= v
-DISTVERSION= 11.6.1
+DISTVERSION= 12.0.0
CATEGORIES= www
MASTER_SITES= https://dl.grafana.com/oss/release/ \
https://raw.githubusercontent.com/${GH_ACCOUNT}/${GH_PROJECT}/${DISTVERSIONFULL}/:gomod
DISTFILES= grafana-${DISTVERSION}.linux-amd64${EXTRACT_SUFX} \
go.mod:gomod \
go.work:gomod \
+ .citools/bra/go.mod:gomod \
+ .citools/cog/go.mod:gomod \
+ .citools/cue/go.mod:gomod \
+ .citools/golangci-lint/go.mod:gomod \
+ .citools/jb/go.mod:gomod \
+ .citools/lefthook/go.mod:gomod \
+ .citools/swagger/go.mod:gomod \
apps/advisor/go.mod:gomod \
apps/alerting/notifications/go.mod:gomod \
+ apps/dashboard/go.mod:gomod \
+ apps/folder/go.mod:gomod \
apps/investigations/go.mod:gomod \
apps/playlist/go.mod:gomod \
pkg/aggregator/go.mod:gomod \
pkg/apimachinery/go.mod:gomod \
+ pkg/apis/secret/go.mod:gomod \
pkg/apiserver/go.mod:gomod \
pkg/build/go.mod:gomod \
pkg/build/wire/go.mod:gomod \
@@ -42,14 +52,15 @@ USES= cpe go:1.24,modules
USE_GITHUB= yes
USE_RC_SUBR= grafana
-TAG= ae23ead
+TAG= 4c0e704
-GO_MODULE= github.com/grafana/grafana
GO_MOD_DIST= github
+GO_MODULE= github.com/grafana/grafana
GO_TARGET= ./pkg/cmd/grafana \
./pkg/cmd/grafana-server \
./pkg/cmd/grafana-cli
-GO_BUILDFLAGS= -ldflags="-w -X main.version=${PORTVERSION} -X main.commit=${TAG}"
+GO_BUILDFLAGS= -ldflags="-w -X main.version=${DISTVERSION} -X main.commit=${TAG} \
+ -X main.buildstamp=$$(${STAT} -f %Sm -t %s ${WRKSRC}/.gitignore)"
CONFLICTS_INSTALL= grafana*
diff --git a/www/grafana/distinfo b/www/grafana/distinfo
index 1aa24ff481fe..48c8b409e43a 100644
--- a/www/grafana/distinfo
+++ b/www/grafana/distinfo
@@ -1,41 +1,61 @@
-TIMESTAMP = 1745492346
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/grafana-11.6.1.linux-amd64.tar.gz) = 35a5efca8c535ce961217765faf8d6895c6d1c1587eaeec50d606a5cb218603b
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/grafana-11.6.1.linux-amd64.tar.gz) = 178027958
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/go.mod) = 91c7674d10c8814d15ada1bad9d1bd41c0c5e8969c5e5da1da5be85d33fe49d8
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/go.mod) = 37750
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/go.work) = 91abc49021e028c3c2a4736a1c91e473d980ae1c7540138f9e1f436a62329a81
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/go.work) = 1462
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/apps/advisor/go.mod) = 6c61070df4915b2e6fb69f557bd105c760b941acadd3c66f3fcd57bf7d4d1585
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/apps/advisor/go.mod) = 4058
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/apps/alerting/notifications/go.mod) = 124a37f4bdb7a567d3a511767c1638496ecc5a1dd5f97633fcba7155faf52df6
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/apps/alerting/notifications/go.mod) = 4797
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/apps/investigations/go.mod) = 3c3fe091bb7aed6c745175e21ccb3e961a81f0653a84a97d7ac696258f8108c4
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/apps/investigations/go.mod) = 4257
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/apps/playlist/go.mod) = 8a5d285defd20e31ef83b1263e79762cdd08fe9f1e688830bdad1644279a68cd
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/apps/playlist/go.mod) = 4239
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/aggregator/go.mod) = c316078737a7666ce9cf0da5f7f7d107ade730adbbe5752732d74899c2d38b31
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/aggregator/go.mod) = 8280
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/apimachinery/go.mod) = b1b10d93f324e13169864fe92a6d93b0fb23614a6c645775d75c56d311fc3c87
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/apimachinery/go.mod) = 2516
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/apiserver/go.mod) = 4400608ae4eb0546c1918324a44f7c5f6b35fcb545756fd170fc8de9be3b83d4
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/apiserver/go.mod) = 5052
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/build/go.mod) = ec5a5dac4253889681f8888b61ad5d5059a855d72aa82dd5bcaeb80ab91101c9
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/build/go.mod) = 7764
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/build/wire/go.mod) = fbc23dcc413d6b1fa9ab71380da68211859df0e155165d4aabcf557499fb6cf6
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/build/wire/go.mod) = 330
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/codegen/go.mod) = 7eeccc07ccb7293e6051f207882ea8c9f22199b886acebbc41b6459b651904e5
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/codegen/go.mod) = 2437
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/plugins/codegen/go.mod) = 6ee06b09fab35cc0a7d99cd955d770c820b2b9c1f4cfaec53d1127302b22597e
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/plugins/codegen/go.mod) = 2233
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/promlib/go.mod) = 3d788d99106f6c4aebc9d5e5feb1eb8c52ae1504fc6224e4bf0af8f5026568fe
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/promlib/go.mod) = 6861
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/semconv/go.mod) = 102611f5bece34904bdb7928b7a852764ffb36bc25efb8ce69673a5d61ce1a86
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/semconv/go.mod) = 314
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/storage/unified/apistore/go.mod) = ac17130a28f32539688a7650c734d1b84ef5c01489c89c148b7b79a0a89746f1
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/storage/unified/apistore/go.mod) = 23405
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/storage/unified/resource/go.mod) = 15915ab2954992958d66bbded2270f043994ba6ea868720fa6d3f2d9788acc33
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/storage/unified/resource/go.mod) = 14537
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/util/xorm/go.mod) = fd0137d7c79a69fe252bde216f0f8146fbb301e344fb4f2a4c444d6379da9cb5
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/pkg/util/xorm/go.mod) = 3150
-SHA256 (go/www_grafana/grafana-grafana-v11.6.1_GH0/grafana-grafana-v11.6.1_GH0.tar.gz) = 1435ba4b47d22f906495c3f53be9f416a721b5b0ca0621533393130fff87aa73
-SIZE (go/www_grafana/grafana-grafana-v11.6.1_GH0/grafana-grafana-v11.6.1_GH0.tar.gz) = 36539394
+TIMESTAMP = 1746523933
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/grafana-12.0.0.linux-amd64.tar.gz) = b5f15e29cb815c24eaf631ebaab1729608d9c44606bdef24e5248ccbeba2e95e
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/grafana-12.0.0.linux-amd64.tar.gz) = 183576101
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/go.mod) = 6ceec7e41167dd6ccb862746961e40d0cf31c8526684bfd2c980007f205609cf
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/go.mod) = 38990
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/go.work) = 582d313125088d393e9bf0bc3e62d4ce4e01f5bca62d404de61359b32fe624a4
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/go.work) = 1420
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/bra/go.mod) = 9c26b766b230e220d3a089052ecbbc735c5813503cea96f00b98e2f426f1500b
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/bra/go.mod) = 845
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/cog/go.mod) = 85c347f1808375367fd14a913af040aaedb179768bbe0f31fb7a511f8f9c3ccb
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/cog/go.mod) = 2256
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/cue/go.mod) = ce73854fe392b493136dd8585c1d431d72cd82c244bf617073352004648a9471
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/cue/go.mod) = 1533
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/golangci-lint/go.mod) = 6697690d3f339916262d3ed0a2f10880823e19db9520e907ee840e551d8ae8ac
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/golangci-lint/go.mod) = 10518
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/jb/go.mod) = 3c425afcbd554cfb50b6b5595b91cb67d8e990c967a428c3f34186b6de745475
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/jb/go.mod) = 788
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/lefthook/go.mod) = 7a722525e0e97bc44608efd3baee778d5a96ed464acae97291ec2f67a287f7f2
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/lefthook/go.mod) = 2508
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/swagger/go.mod) = a5a2ca8a1422870edac6a4d5aa94065ddbbf9b769667077fd27a0e1d2f73bfba
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/.citools/swagger/go.mod) = 2983
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/apps/advisor/go.mod) = 6c61070df4915b2e6fb69f557bd105c760b941acadd3c66f3fcd57bf7d4d1585
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/apps/advisor/go.mod) = 4058
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/apps/alerting/notifications/go.mod) = d433a9fcbea78026ef8f926b3b10f701568d04ecc9c9d61fba0d199213c592c3
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/apps/alerting/notifications/go.mod) = 4838
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/apps/dashboard/go.mod) = 13786f0addc30cd695e352543e1409c0ffa8857eb69a544007d9c78e218dcc21
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/apps/dashboard/go.mod) = 6587
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/apps/folder/go.mod) = f1b308c3d11835603f93425a59619ac600b74590b16c003bf44ce9a61787e17a
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/apps/folder/go.mod) = 2749
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/apps/investigations/go.mod) = 39a2dd9a2655af15232f35fda4656e5a7162dce7a22a02903185d4d8363316c1
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/apps/investigations/go.mod) = 4319
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/apps/playlist/go.mod) = af328216a05802c409348764579c74249af6cc944c0f87ef3f141dcfe01535de
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/apps/playlist/go.mod) = 4301
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/aggregator/go.mod) = 3d7b399ae76ee86858d2555edb186f8b106c1e2860701710914d04c57b773a36
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/aggregator/go.mod) = 8310
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/apimachinery/go.mod) = 20cca84623d4bd3bd7c67de6e31fa3f433e99e42df6936ac665f645fe39fbadf
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/apimachinery/go.mod) = 2472
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/apis/secret/go.mod) = fa225e7fb224a25468dc0f2b247a55db248f65f9b944b7ac0f3ec5f7614de062
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/apis/secret/go.mod) = 4939
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/apiserver/go.mod) = 7378a27c0569587d71c6e0323718d21337c8186cf1b93df3093c1583731e5e10
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/apiserver/go.mod) = 5111
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/build/go.mod) = 45257f048442b4c6bd7ce660db2cab5d51a76378d1819ffa9ee103e82b0dfeca
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/build/go.mod) = 7931
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/build/wire/go.mod) = c4bd5ec552b8a78c51631dd0c4e5654481c6ef72d6b897fd8cdadec90d1c3db0
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/build/wire/go.mod) = 330
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/codegen/go.mod) = af218f935140c2564403f76d0b4cb2a3867ccb78558ba5f610ea5a106f4ccdbe
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/codegen/go.mod) = 2490
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/plugins/codegen/go.mod) = 14e17b15ca415ed502b6391b65e0b28a2c2682d52215ad52afe901ba2c3eb480
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/plugins/codegen/go.mod) = 2233
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/promlib/go.mod) = 99645974b2fba727e251431f916fc8fb4ecfac110cb4358af5ee0e25442ef383
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/promlib/go.mod) = 6945
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/semconv/go.mod) = dffd3c1a8b43a8c1f81c88afc7fabd07551f08a727caa6c81b21cc7f22989500
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/semconv/go.mod) = 269
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/storage/unified/apistore/go.mod) = 09bf0410097e19e63fead5f16ab2a493eb000ca8a78102592d4fb07647e0c74f
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/storage/unified/apistore/go.mod) = 23423
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/storage/unified/resource/go.mod) = ec8255b1d842f1ea1a6fb79d3b10144dc2a066c37c241621825b8e124708e0e1
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/storage/unified/resource/go.mod) = 11340
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/util/xorm/go.mod) = efd1c53e50b60912388fa292a66c6c618f3888b28bf1f58767b344fbb5b71285
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/pkg/util/xorm/go.mod) = 3135
+SHA256 (go/www_grafana/grafana-grafana-v12.0.0_GH0/grafana-grafana-v12.0.0_GH0.tar.gz) = 479b337fc101adfc8386414af053337b567c8d11480aa05499ccd929c4d70601
+SIZE (go/www_grafana/grafana-grafana-v12.0.0_GH0/grafana-grafana-v12.0.0_GH0.tar.gz) = 37646751
diff --git a/www/linux-vieb/Makefile b/www/linux-vieb/Makefile
index aad6a028d354..40c51bd028df 100644
--- a/www/linux-vieb/Makefile
+++ b/www/linux-vieb/Makefile
@@ -1,6 +1,6 @@
PORTNAME= vieb
-DISTVERSION= 12.2.0
-PORTREVISION= 2
+DISTVERSION= 12.3.0
+PORTREVISION= 0
CATEGORIES= www linux
MASTER_SITES= https://github.com/Jelmerro/Vieb/releases/download/${DISTVERSION}/ \
LOCAL/nivit/${PORTNAME}/:images
diff --git a/www/linux-vieb/distinfo b/www/linux-vieb/distinfo
index 218dddb7c86f..898c5d3e1df7 100644
--- a/www/linux-vieb/distinfo
+++ b/www/linux-vieb/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1738773707
-SHA256 (vieb-12.2.0.tar.gz) = dfe1ab70227adbfbcf9e845fbc92596377827d164db48b0533ddf038934fbb08
-SIZE (vieb-12.2.0.tar.gz) = 105202556
-SHA256 (vieb-images-12.2.0.tar.gz) = 5102ff85d837acdf914a0c459367b74c337969096f9f202e1f91ce1b5a6b2d9b
-SIZE (vieb-images-12.2.0.tar.gz) = 970027
+TIMESTAMP = 1747147993
+SHA256 (vieb-12.3.0.tar.gz) = 68aaf4bd9dcfa242e5f6ab46a529601262325e5ee82d392181eb7228e9dc8a5e
+SIZE (vieb-12.3.0.tar.gz) = 110829778
+SHA256 (vieb-images-12.3.0.tar.gz) = 78768881d33d2016153e0c5be54b52cd08aed685b4d577e1b9c5f07a50421b42
+SIZE (vieb-images-12.3.0.tar.gz) = 968923
diff --git a/www/p5-Net-Curl/Makefile b/www/p5-Net-Curl/Makefile
index 3a5440ad62fb..b579501e7631 100644
--- a/www/p5-Net-Curl/Makefile
+++ b/www/p5-Net-Curl/Makefile
@@ -1,5 +1,6 @@
PORTNAME= Net-Curl
-PORTVERSION= 0.57
+DISTVERSION= 0.57
+PORTREVISION= 1
CATEGORIES= www ftp perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
@@ -10,10 +11,10 @@ WWW= https://metacpan.org/dist/Net-Curl
LICENSE= MIT
-LIB_DEPENDS= libcurl.so:ftp/curl
BUILD_DEPENDS= p5-ExtUtils-PkgConfig>=1.16:devel/p5-ExtUtils-PkgConfig
+LIB_DEPENDS= libcurl.so:ftp/curl
-USES= perl5 localbase
+USES= localbase perl5
USE_PERL5= configure
post-install:
diff --git a/www/p5-Net-Curl/files/patch-Makefile.PL b/www/p5-Net-Curl/files/patch-Makefile.PL
new file mode 100644
index 000000000000..f3e843a6182c
--- /dev/null
+++ b/www/p5-Net-Curl/files/patch-Makefile.PL
@@ -0,0 +1,11 @@
+--- Makefile.PL.orig 2025-05-11 19:09:26 UTC
++++ Makefile.PL
+@@ -341,7 +341,7 @@ sub get_constants_headers
+
+ my @out;
+ foreach my $e (sort keys %syms) {
+- if ( $e =~ /(OBSOLETE|^CURL_DEPRECATED\z|^CURL_EXTERN|^CURL_IGNORE_DEPRECATION\z|^CURLOPTDEPRECATED\z|_LAST\z|_LASTENTRY\z|^CURL_FORMAT_OFF_T$|^CURL_ISOCPP$|^CURLOPT$)/ ) {
++ if ( $e =~ /(OBSOLETE|^CURL_DEPRECATED\z|^CURL_EXTERN|^CURL_IGNORE_DEPRECATION\z|^CURLOPTDEPRECATED\z|_LAST\z|_LASTENTRY\z|^CURL_FORMAT_OFF_T$|^CURL_ISOCPP$|^CURLOPT$|^CURL_HAS_)/ ) {
+ next;
+ }
+ push @out, $e;
diff --git a/www/p5-Net-Curl/files/patch-inc_symbols-in-versions b/www/p5-Net-Curl/files/patch-inc_symbols-in-versions
index 95daebaf8ec9..50d4a7b6f1bb 100644
--- a/www/p5-Net-Curl/files/patch-inc_symbols-in-versions
+++ b/www/p5-Net-Curl/files/patch-inc_symbols-in-versions
@@ -1,6 +1,37 @@
---- inc/symbols-in-versions.orig 2025-01-20 14:34:49 UTC
+--- inc/symbols-in-versions.orig 2025-05-11 19:08:52 UTC
+++ inc/symbols-in-versions
-@@ -449,6 +449,7 @@ CURLINFO_HTTP_CODE 7.4.1 7.10.8
+@@ -45,6 +45,7 @@ CURL_GLOBAL_WIN32 7.8.1
+ CURL_GLOBAL_NOTHING 7.8
+ CURL_GLOBAL_SSL 7.8
+ CURL_GLOBAL_WIN32 7.8.1
++CURL_HAS_DECLSPEC_ATTRIBUTE 8.13.0
+ CURL_HET_DEFAULT 7.59.0
+ CURL_HTTP_VERSION_1_0 7.9.1
+ CURL_HTTP_VERSION_1_1 7.9.1
+@@ -336,11 +337,11 @@ CURLE_URL_MALFORMAT 7.1
+ CURLE_UNSUPPORTED_PROTOCOL 7.1
+ CURLE_UPLOAD_FAILED 7.16.3
+ CURLE_URL_MALFORMAT 7.1
++CURLE_ECH_REQUIRED 8.8.0
+ CURLE_URL_MALFORMAT_USER 7.1 7.17.0
+ CURLE_USE_SSL_FAILED 7.17.0
+ CURLE_WEIRD_SERVER_REPLY 7.51.0
+ CURLE_WRITE_ERROR 7.1
+-CURLE_ECH_REQUIRED 8.8.0
+ CURLFILETYPE_DEVICE_BLOCK 7.21.0
+ CURLFILETYPE_DEVICE_CHAR 7.21.0
+ CURLFILETYPE_DIRECTORY 7.21.0
+@@ -358,6 +359,9 @@ CURLFINFOFLAG_KNOWN_UID 7.21.0
+ CURLFINFOFLAG_KNOWN_SIZE 7.21.0
+ CURLFINFOFLAG_KNOWN_TIME 7.21.0
+ CURLFINFOFLAG_KNOWN_UID 7.21.0
++CURLFOLLOW_ALL 8.13.0
++CURLFOLLOW_OBEYCODE 8.13.0
++CURLFOLLOW_FIRSTONLY 8.13.0
+ CURLFORM_ARRAY 7.9.1 7.56.0
+ CURLFORM_ARRAY_END 7.9.1 7.9.5 7.9.6
+ CURLFORM_ARRAY_START 7.9.1 7.9.5 7.9.6
+@@ -449,6 +453,7 @@ CURLINFO_HTTPAUTH_AVAIL 7.10.8
CURLINFO_HTTP_CONNECTCODE 7.10.7
CURLINFO_HTTP_VERSION 7.50.0
CURLINFO_HTTPAUTH_AVAIL 7.10.8
@@ -8,7 +39,7 @@
CURLINFO_LASTONE 7.4.1
CURLINFO_LASTSOCKET 7.15.2 7.45.0
CURLINFO_LOCAL_IP 7.21.0
-@@ -471,6 +472,7 @@ CURLINFO_PROTOCOL 7.52.0 7.85.0
+@@ -471,6 +476,7 @@ CURLINFO_PROXYAUTH_AVAIL 7.10.8
CURLINFO_PROXY_ERROR 7.73.0
CURLINFO_PROXY_SSL_VERIFYRESULT 7.52.0
CURLINFO_PROXYAUTH_AVAIL 7.10.8
@@ -16,3 +47,34 @@
CURLINFO_PTR 7.54.1
CURLINFO_QUEUE_TIME_T 8.6.0
CURLINFO_REDIRECT_COUNT 7.9.7
+@@ -889,6 +895,7 @@ CURLOPT_UPLOAD_BUFFERSIZE 7.62.0
+ CURLOPT_UPKEEP_INTERVAL_MS 7.62.0
+ CURLOPT_UPLOAD 7.1
+ CURLOPT_UPLOAD_BUFFERSIZE 7.62.0
++CURLOPT_UPLOAD_FLAGS 8.13.0
+ CURLOPT_URL 7.1
+ CURLOPT_USE_SSL 7.17.0
+ CURLOPT_USERAGENT 7.1
+@@ -1122,6 +1129,11 @@ CURLUPART_ZONEID 7.65.0
+ CURLUPART_URL 7.62.0
+ CURLUPART_USER 7.62.0
+ CURLUPART_ZONEID 7.65.0
++CURLULFLAG_ANSWERED 8.13.0
++CURLULFLAG_DELETED 8.13.0
++CURLULFLAG_DRAFT 8.13.0
++CURLULFLAG_FLAGGED 8.13.0
++CURLULFLAG_SEEN 8.13.0
+ CURLUSESSL_ALL 7.17.0
+ CURLUSESSL_CONTROL 7.17.0
+ CURLUSESSL_NONE 7.17.0
+@@ -1150,8 +1162,8 @@ LIBCURL_TIMESTAMP 7.16.2
+ CURLWS_TEXT 7.86.0
+ LIBCURL_COPYRIGHT 7.18.0
+ LIBCURL_TIMESTAMP 7.16.2
+-LIBCURL_VERSION 7.11.0
++LIBCURL_VERSION 7.1.1
+ LIBCURL_VERSION_MAJOR 7.11.0
+ LIBCURL_VERSION_MINOR 7.11.0
+-LIBCURL_VERSION_NUM 7.11.0
++LIBCURL_VERSION_NUM 7.1.1
+ LIBCURL_VERSION_PATCH 7.11.0
diff --git a/www/py-flask/Makefile b/www/py-flask/Makefile
index 64975c52c559..b7c137b698ff 100644
--- a/www/py-flask/Makefile
+++ b/www/py-flask/Makefile
@@ -1,5 +1,5 @@
PORTNAME= flask
-DISTVERSION= 3.1.0
+DISTVERSION= 3.1.1
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/www/py-flask/distinfo b/www/py-flask/distinfo
index ab53a28c5fc4..dd7789fa3a5b 100644
--- a/www/py-flask/distinfo
+++ b/www/py-flask/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1732758182
-SHA256 (flask-3.1.0.tar.gz) = 5f873c5184c897c8d9d1b05df1e3d01b14910ce69607a117bd3277098a5836ac
-SIZE (flask-3.1.0.tar.gz) = 680824
+TIMESTAMP = 1747179697
+SHA256 (flask-3.1.1.tar.gz) = 284c7b8f2f58cb737f0cf1c30fd7eaf0ccfcde196099d24ecede3fc2005aa59e
+SIZE (flask-3.1.1.tar.gz) = 753440
diff --git a/www/reproxy/Makefile b/www/reproxy/Makefile
index fcd3f054a2d9..c8c3d19d8495 100644
--- a/www/reproxy/Makefile
+++ b/www/reproxy/Makefile
@@ -1,7 +1,6 @@
PORTNAME= reproxy
-PORTVERSION= 1.1.1
+PORTVERSION= 1.2.3
DISTVERSIONPREFIX= v
-PORTREVISION= 5
CATEGORIES= www
MAINTAINER= danfe@FreeBSD.org
@@ -11,7 +10,7 @@ WWW= https://reproxy.io/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= go:modules
+USES= go:1.23,modules
USE_GITHUB= yes
GH_ACCOUNT= umputun
diff --git a/www/reproxy/distinfo b/www/reproxy/distinfo
index a15b25cc08cb..6173629a2615 100644
--- a/www/reproxy/distinfo
+++ b/www/reproxy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1707197375
-SHA256 (umputun-reproxy-v1.1.1_GH0.tar.gz) = 595af6971ea6be9f5f4a3e92c9c9ad9024c93c353456cd3d8d9efa9786679c1e
-SIZE (umputun-reproxy-v1.1.1_GH0.tar.gz) = 3166619
+TIMESTAMP = 1740074776
+SHA256 (umputun-reproxy-v1.2.3_GH0.tar.gz) = 5156be192698e263134e486448de3099e389cdc508c4a311830f371395ecfe13
+SIZE (umputun-reproxy-v1.2.3_GH0.tar.gz) = 3449957
diff --git a/x11-themes/Kvantum/Makefile b/x11-themes/Kvantum/Makefile
index 28d4f604f62a..8d0b5f06119c 100644
--- a/x11-themes/Kvantum/Makefile
+++ b/x11-themes/Kvantum/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Kvantum
-DISTVERSION= 1.1.4
+DISTVERSION= 1.1.5
CATEGORIES= x11-themes
MASTER_SITES= https://github.com/tsujan/${PORTNAME}/releases/download/V${DISTVERSION}/
diff --git a/x11-themes/Kvantum/distinfo b/x11-themes/Kvantum/distinfo
index 545e9d5bfebc..5745b8a749ac 100644
--- a/x11-themes/Kvantum/distinfo
+++ b/x11-themes/Kvantum/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741039264
-SHA256 (Kvantum-1.1.4.tar.xz) = 0b47a7081b943a035f8cff66767d00cb134f179f5e24d6ac8362c1f2e4ca2d1b
-SIZE (Kvantum-1.1.4.tar.xz) = 2079404
+TIMESTAMP = 1747219027
+SHA256 (Kvantum-1.1.5.tar.xz) = 64af08988e8579ac8078b7db38a4986daa24d490ea6d54d70c08140a7737bc53
+SIZE (Kvantum-1.1.5.tar.xz) = 2079940
diff --git a/x11-toolkits/libdecor/Makefile b/x11-toolkits/libdecor/Makefile
index f560da21781d..fcd062acda78 100644
--- a/x11-toolkits/libdecor/Makefile
+++ b/x11-toolkits/libdecor/Makefile
@@ -1,6 +1,5 @@
PORTNAME= libdecor
-DISTVERSION= 0.2.2
-PORTREVISION= 4
+DISTVERSION= 0.2.3
CATEGORIES= x11-toolkits
MAINTAINER= jbeich@FreeBSD.org
diff --git a/x11-toolkits/libdecor/distinfo b/x11-toolkits/libdecor/distinfo
index b5c4c9e5fc84..f96571bb63da 100644
--- a/x11-toolkits/libdecor/distinfo
+++ b/x11-toolkits/libdecor/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1705352442
-SHA256 (libdecor-0.2.2.tar.bz2) = 943e693316300a8deb50ca5879656ac3c642e7b769dbc2d093e9919b72076bc6
-SIZE (libdecor-0.2.2.tar.bz2) = 45375
+TIMESTAMP = 1747165420
+SHA256 (libdecor-0.2.3.tar.bz2) = 704138616a96eafbe68bbd5e55df2c8adb21ae5ec165ba56b6ea1f99869167d5
+SIZE (libdecor-0.2.3.tar.bz2) = 45727
diff --git a/x11-toolkits/libdecor/pkg-plist b/x11-toolkits/libdecor/pkg-plist
index 385862d39f0d..33c7f13b142b 100644
--- a/x11-toolkits/libdecor/pkg-plist
+++ b/x11-toolkits/libdecor/pkg-plist
@@ -4,7 +4,7 @@
include/libdecor-0/libdecor.h
lib/libdecor-0.so
lib/libdecor-0.so.0
-lib/libdecor-0.so.0.200.2
+lib/libdecor-0.so.0.200.3
%%CAIRO%%lib/libdecor/plugins-1/libdecor-cairo.so
%%GTK3%%lib/libdecor/plugins-1/libdecor-gtk.so
libdata/pkgconfig/libdecor-0.pc
diff --git a/x11/controllermap/Makefile b/x11/controllermap/Makefile
index ef2fdaa89363..0c3997109b64 100644
--- a/x11/controllermap/Makefile
+++ b/x11/controllermap/Makefile
@@ -1,5 +1,5 @@
PORTNAME= controllermap
-DISTVERSION= 2.32.2
+DISTVERSION= 2.32.6
CATEGORIES= x11
MASTER_SITES= https://www.libsdl.org/release/
DISTNAME= SDL2-${DISTVERSION}
diff --git a/x11/controllermap/distinfo b/x11/controllermap/distinfo
index 3600535fd86e..97147148db62 100644
--- a/x11/controllermap/distinfo
+++ b/x11/controllermap/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741178610
-SHA256 (SDL2-2.32.2.tar.gz) = c5f30c427fd8107ee4a400c84d4447dd211352512eaf0b6e89cc6a50a2821922
-SIZE (SDL2-2.32.2.tar.gz) = 7627192
+TIMESTAMP = 1746129373
+SHA256 (SDL2-2.32.6.tar.gz) = 6a7a40d6c2e00016791815e1a9f4042809210bdf10cc78d2c75b45c4f52f93ad
+SIZE (SDL2-2.32.6.tar.gz) = 7627447
diff --git a/x11/gxkb/Makefile b/x11/gxkb/Makefile
index 8deae4f2ce9b..db52fc292420 100644
--- a/x11/gxkb/Makefile
+++ b/x11/gxkb/Makefile
@@ -1,9 +1,7 @@
PORTNAME= gxkb
-PORTVERSION= 0.9.5
+PORTVERSION= 0.9.6
CATEGORIES= x11
MASTER_SITES= SF/${PORTNAME}
-# RU and BY flags were removed as of version 0.9.4 so we need two distfiles
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${PORTNAME}-0.9.3${EXTRACT_SUFX}
MAINTAINER= danfe@FreeBSD.org
COMMENT= X11 keyboard layout indicator and switcher
@@ -12,15 +10,23 @@ WWW= https://zen-tools.github.io/gxkb/
LICENSE= GPLv2
LIB_DEPENDS= libxklavier.so:x11/libxklavier
+RUN_DEPENDS= ${_FLAGS_DIR}/epo.png:misc/flag-icons@${_FLAGS_FLAVOR}
USES= gnome pkgconfig
GNU_CONFIGURE= yes
-GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
USE_GNOME= gdkpixbuf glib20
PORTDOCS= AUTHORS NEWS
OPTIONS_DEFINE= DOCS GTK2
+OPTIONS_DEFAULT= ROUNDED
+OPTIONS_SINGLE= FLAGS
+OPTIONS_SINGLE_FLAGS= BORDERED PLAIN ROUNDED
+
+FLAGS_DESC= Preferred flag decorations
+BORDERED_DESC= Thin black border
+PLAIN_DESC= Plain (undecorated)
+ROUNDED_DESC= Rounded corners
GTK2_DESC= Build against GTK version 2, not 3
GTK2_EXTRA_PATCHES= ${FILESDIR}/extra-patch-gtk2
@@ -30,17 +36,21 @@ GTK2_USES= autoreconf
GTK2_USE= GNOME=gtk20
GTK2_USE_OFF= GNOME=gtk30
+_FLAGS_DIR= ${LOCALBASE}/share/icons/flag-icons/${_FLAGS_FLAVOR}/21x16
+_FLAGS_FLAVOR= ${PORT_OPTIONS:${OPTIONS_DEFINE:S,^,N,:ts:}:tl}
+
+post-patch:
+ @${REINPLACE_CMD} -e '/^SUBDIRS = flags/d' \
+ ${WRKSRC}/data/Makefile.[ai][mn]
+ @${REINPLACE_CMD} -e 's,$$(datadir)/gxkb/flags,${_FLAGS_DIR},' \
+ ${WRKSRC}/src/Makefile.[ai][mn]
+
post-patch-DOCS-on:
@${REINPLACE_CMD} -e '/^doc_DATA/s, C[^ ]*,,g' \
${WRKSRC}/doc/Makefile.[ai][mn]
post-patch-DOCS-off:
- @${REINPLACE_CMD} -e '/^SUBDIRS/s, doc,,' ${WRKSRC}/Makefile.in
-
-post-install:
-.for c in by ru
- ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}-0.9.3/data/flags/${c}.png \
- ${STAGEDIR}${DATADIR}/flags
-.endfor
+ @${REINPLACE_CMD} -e '/^SUBDIRS/s, doc,,' \
+ ${WRKSRC}/Makefile.[ai][mn]
.include <bsd.port.mk>
diff --git a/x11/gxkb/distinfo b/x11/gxkb/distinfo
index ecda7d3238be..2ca8e6c58f06 100644
--- a/x11/gxkb/distinfo
+++ b/x11/gxkb/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1707253056
-SHA256 (gxkb-0.9.5.tar.gz) = 255af5516a5b39acb0cd2a821404833decce00c2bfee42e2d68dfb461d18c82f
-SIZE (gxkb-0.9.5.tar.gz) = 236124
-SHA256 (gxkb-0.9.3.tar.gz) = ef0bbea5f40051e57ca35f304a91ff296044029913cd4d07470fd26b5204d831
-SIZE (gxkb-0.9.3.tar.gz) = 174152
+TIMESTAMP = 1722449975
+SHA256 (gxkb-0.9.6.tar.gz) = 43c68ff62d62fd6e2e9ca42b3f209c68cc37924c44302e28c1b04ef9f541ebdb
+SIZE (gxkb-0.9.6.tar.gz) = 236500
diff --git a/x11/gxkb/pkg-plist b/x11/gxkb/pkg-plist
index 16c10cd6e8e2..7d5ce6c1680f 100644
--- a/x11/gxkb/pkg-plist
+++ b/x11/gxkb/pkg-plist
@@ -1,103 +1,5 @@
bin/gxkb
share/applications/gxkb.desktop
-%%DATADIR%%/flags/af.png
-%%DATADIR%%/flags/al.png
-%%DATADIR%%/flags/am.png
-%%DATADIR%%/flags/at.png
-%%DATADIR%%/flags/au.png
-%%DATADIR%%/flags/az.png
-%%DATADIR%%/flags/ba.png
-%%DATADIR%%/flags/bd.png
-%%DATADIR%%/flags/be.png
-%%DATADIR%%/flags/bg.png
-%%DATADIR%%/flags/br.png
-%%DATADIR%%/flags/bt.png
-%%DATADIR%%/flags/bw.png
-%%DATADIR%%/flags/by.png
-%%DATADIR%%/flags/ca.png
-%%DATADIR%%/flags/cd.png
-%%DATADIR%%/flags/ch.png
-%%DATADIR%%/flags/cm.png
-%%DATADIR%%/flags/cn.png
-%%DATADIR%%/flags/cz.png
-%%DATADIR%%/flags/cz_qwerty.png
-%%DATADIR%%/flags/de.png
-%%DATADIR%%/flags/dk.png
-%%DATADIR%%/flags/dz.png
-%%DATADIR%%/flags/ee.png
-%%DATADIR%%/flags/eg.png
-%%DATADIR%%/flags/epo.png
-%%DATADIR%%/flags/es.png
-%%DATADIR%%/flags/et.png
-%%DATADIR%%/flags/eu.png
-%%DATADIR%%/flags/fi.png
-%%DATADIR%%/flags/fo.png
-%%DATADIR%%/flags/fr.png
-%%DATADIR%%/flags/gb.png
-%%DATADIR%%/flags/ge.png
-%%DATADIR%%/flags/gh.png
-%%DATADIR%%/flags/gn.png
-%%DATADIR%%/flags/gr.png
-%%DATADIR%%/flags/hr.png
-%%DATADIR%%/flags/hu.png
-%%DATADIR%%/flags/id.png
-%%DATADIR%%/flags/ie.png
-%%DATADIR%%/flags/il.png
-%%DATADIR%%/flags/in.png
-%%DATADIR%%/flags/iq.png
-%%DATADIR%%/flags/ir.png
-%%DATADIR%%/flags/is.png
-%%DATADIR%%/flags/it.png
-%%DATADIR%%/flags/jp.png
-%%DATADIR%%/flags/ke.png
-%%DATADIR%%/flags/kg.png
-%%DATADIR%%/flags/kh.png
-%%DATADIR%%/flags/kr.png
-%%DATADIR%%/flags/kz.png
-%%DATADIR%%/flags/la.png
-%%DATADIR%%/flags/lk.png
-%%DATADIR%%/flags/lt.png
-%%DATADIR%%/flags/lv.png
-%%DATADIR%%/flags/ma.png
-%%DATADIR%%/flags/md.png
-%%DATADIR%%/flags/me.png
-%%DATADIR%%/flags/mk.png
-%%DATADIR%%/flags/ml.png
-%%DATADIR%%/flags/mm.png
-%%DATADIR%%/flags/mn.png
-%%DATADIR%%/flags/mt.png
-%%DATADIR%%/flags/mv.png
-%%DATADIR%%/flags/my.png
-%%DATADIR%%/flags/ng.png
-%%DATADIR%%/flags/nl.png
-%%DATADIR%%/flags/no.png
-%%DATADIR%%/flags/np.png
-%%DATADIR%%/flags/nz.png
-%%DATADIR%%/flags/ph.png
-%%DATADIR%%/flags/pk.png
-%%DATADIR%%/flags/pl.png
-%%DATADIR%%/flags/pt.png
-%%DATADIR%%/flags/ro.png
-%%DATADIR%%/flags/rs.png
-%%DATADIR%%/flags/ru.png
-%%DATADIR%%/flags/se.png
-%%DATADIR%%/flags/si.png
-%%DATADIR%%/flags/sk.png
-%%DATADIR%%/flags/sn.png
-%%DATADIR%%/flags/sy.png
-%%DATADIR%%/flags/tg.png
-%%DATADIR%%/flags/th.png
-%%DATADIR%%/flags/tj.png
-%%DATADIR%%/flags/tm.png
-%%DATADIR%%/flags/tr.png
-%%DATADIR%%/flags/tw.png
-%%DATADIR%%/flags/tz.png
-%%DATADIR%%/flags/ua.png
-%%DATADIR%%/flags/us.png
-%%DATADIR%%/flags/uz.png
-%%DATADIR%%/flags/vn.png
-%%DATADIR%%/flags/za.png
-%%DATADIR%%/flags/zz.png
%%DATADIR%%/logo.png
share/man/man1/gxkb.1.gz
share/pixmaps/gxkb.xpm