git: 740042a4126b - main - net/gemserv: Update to 0.6.6

From: Fernando Apesteguía <fernape_at_FreeBSD.org>
Date: Thu, 26 Jan 2023 18:18:23 UTC
The branch main has been updated by fernape:

URL: https://cgit.FreeBSD.org/ports/commit/?id=740042a4126b6461d79eae867b50abb7a693938c

commit 740042a4126b6461d79eae867b50abb7a693938c
Author:     Evilham <contact@evilham.com>
AuthorDate: 2023-01-26 17:53:00 +0000
Commit:     Fernando Apesteguía <fernape@FreeBSD.org>
CommitDate: 2023-01-26 18:14:06 +0000

    net/gemserv: Update to 0.6.6
    
    ChangeLog: https://git.sr.ht/~int80h/gemserv/tree/v0.6.6/item/README#L79
    
    This update fixes a security issue for which there is no CVE assigned:
    
    https://git.sr.ht/~int80h/gemserv/refs
    
    PR:             265800
    Reported by:    contact@evilham.com
    Approved by:    ea@uoga.net (maintainer)
---
 net/gemserv/Makefile                    |  80 +------
 net/gemserv/Makefile.crates             | 103 +++++++++
 net/gemserv/distinfo                    | 366 ++++++++++++++++++--------------
 net/gemserv/files/config.toml.sample.in |  38 +++-
 net/gemserv/files/gemserv.in            |   2 +
 net/gemserv/files/patch-powerpc         |  62 ------
 net/gemserv/files/patch-src_lib_tls.rs  |  35 +++
 net/gemserv/pkg-message                 |  12 +-
 8 files changed, 391 insertions(+), 307 deletions(-)

diff --git a/net/gemserv/Makefile b/net/gemserv/Makefile
index c288d214db3d..39ab2d1f46eb 100644
--- a/net/gemserv/Makefile
+++ b/net/gemserv/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	gemserv
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.4.5
-PORTREVISION=	17
+DISTVERSION=	0.6.6
 CATEGORIES=	net
 MASTER_SITES=	https://git.sr.ht/~int80h/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/
 DISTFILES=	${PORTNAME}-${DISTVERSIONPREFIX}${PORTVERSION}${EXTRACT_SUFX}
@@ -17,83 +16,6 @@ LICENSE_FILE_MIT=	${WRKSRC}/LICENSE
 USES=		cargo ssl
 USE_RC_SUBR=	gemserv
 
-CARGO_CRATES=	atty-0.2.14 \
-		autocfg-1.0.1 \
-		bitflags-1.2.1 \
-		bytes-0.5.6 \
-		cc-1.0.66 \
-		cfg-if-0.1.10 \
-		cfg-if-1.0.0 \
-		chrono-0.4.19 \
-		colored-1.9.3 \
-		foreign-types-0.3.2 \
-		foreign-types-shared-0.1.1 \
-		form_urlencoded-1.0.0 \
-		futures-core-0.3.8 \
-		futures-macro-0.3.8 \
-		futures-task-0.3.8 \
-		futures-util-0.3.8 \
-		idna-0.2.0 \
-		iovec-0.1.4 \
-		lazy_static-1.4.0 \
-		libc-0.2.81 \
-		log-0.4.11 \
-		matches-0.1.8 \
-		memchr-2.3.4 \
-		mime-0.3.16 \
-		mime_guess-2.0.3 \
-		mio-0.6.23 \
-		mio-uds-0.6.8 \
-		net2-0.2.37 \
-		num-integer-0.1.44 \
-		num-traits-0.2.14 \
-		num_cpus-1.13.0 \
-		once_cell-1.5.2 \
-		openssl-0.10.32 \
-		percent-encoding-2.1.0 \
-		pin-project-1.0.2 \
-		pin-project-internal-1.0.2 \
-		pin-project-lite-0.1.11 \
-		pin-utils-0.1.0 \
-		pkg-config-0.3.19 \
-		proc-macro-hack-0.5.19 \
-		proc-macro-nested-0.1.6 \
-		proc-macro2-1.0.24 \
-		quote-1.0.8 \
-		serde-1.0.118 \
-		serde_derive-1.0.118 \
-		signal-hook-registry-1.3.0 \
-		simple_logger-1.11.0 \
-		slab-0.4.2 \
-		syn-1.0.55 \
-		time-0.1.44 \
-		tinyvec-1.1.0 \
-		tinyvec_macros-0.1.0 \
-		tokio-0.2.24 \
-		tokio-openssl-0.4.0 \
-		toml-0.5.8 \
-		unicase-2.6.0 \
-		unicode-bidi-0.3.4 \
-		unicode-normalization-0.1.16 \
-		unicode-xid-0.2.1 \
-		url-2.2.0 \
-		version_check-0.9.2 \
-		winapi-0.2.8 \
-		winapi-0.3.9 \
-		mio-named-pipes-0.1.7 \
-		openssl-sys-0.9.61 \
-		hermit-abi-0.1.18 \
-		winapi-i686-pc-windows-gnu-0.4.0 \
-		winapi-x86_64-pc-windows-gnu-0.4.0 \
-		fuchsia-zircon-0.3.3 \
-		fuchsia-zircon-sys-0.3.3 \
-		kernel32-sys-0.2.2 \
-		miow-0.2.2 \
-		miow-0.3.7 \
-		wasi-0.10.0+wasi-snapshot-preview1 \
-		winapi-build-0.1.1 \
-		ws2_32-sys-0.2.1 \
-		vcpkg-0.2.12
 CARGO_FEATURES=
 
 SUB_FILES=	config.toml.sample index.gmi.sample
diff --git a/net/gemserv/Makefile.crates b/net/gemserv/Makefile.crates
new file mode 100644
index 000000000000..53dc866f7c6f
--- /dev/null
+++ b/net/gemserv/Makefile.crates
@@ -0,0 +1,103 @@
+CARGO_CRATES=	aho-corasick-0.7.18 \
+		atty-0.2.14 \
+		autocfg-1.0.1 \
+		base64-0.13.0 \
+		bitflags-1.2.1 \
+		block-buffer-0.9.0 \
+		bumpalo-3.8.0 \
+		bytes-1.1.0 \
+		cc-1.0.72 \
+		cfg-if-1.0.0 \
+		chrono-0.4.19 \
+		colored-1.9.3 \
+		cpufeatures-0.2.1 \
+		data-encoding-2.3.2 \
+		der-oid-macro-0.5.0 \
+		der-parser-6.0.0 \
+		digest-0.9.0 \
+		form_urlencoded-1.0.1 \
+		futures-core-0.3.19 \
+		futures-macro-0.3.19 \
+		futures-task-0.3.19 \
+		futures-util-0.3.19 \
+		generic-array-0.14.4 \
+		half-1.7.1 \
+		hermit-abi-0.1.19 \
+		idna-0.2.3 \
+		instant-0.1.12 \
+		itoa-0.4.8 \
+		js-sys-0.3.55 \
+		lazy_static-1.4.0 \
+		libc-0.2.112 \
+		lock_api-0.4.5 \
+		log-0.4.14 \
+		matches-0.1.9 \
+		memchr-2.4.1 \
+		mime-0.3.16 \
+		minimal-lexical-0.2.1 \
+		mio-0.7.14 \
+		miow-0.3.7 \
+		new_mime_guess-3.0.2 \
+		nom-7.1.0 \
+		ntapi-0.3.6 \
+		num-bigint-0.4.3 \
+		num-integer-0.1.44 \
+		num-traits-0.2.14 \
+		num_cpus-1.13.1 \
+		oid-registry-0.2.0 \
+		once_cell-1.9.0 \
+		opaque-debug-0.3.0 \
+		parking_lot-0.11.2 \
+		parking_lot_core-0.8.5 \
+		percent-encoding-2.1.0 \
+		pin-project-lite-0.2.7 \
+		pin-utils-0.1.0 \
+		proc-macro2-1.0.34 \
+		quote-1.0.10 \
+		redox_syscall-0.2.10 \
+		regex-1.5.4 \
+		regex-syntax-0.6.25 \
+		ring-0.16.20 \
+		rusticata-macros-4.0.0 \
+		rustls-0.20.2 \
+		rustls-pemfile-0.2.1 \
+		scopeguard-1.1.0 \
+		sct-0.7.0 \
+		serde-1.0.132 \
+		serde_derive-1.0.132 \
+		sha2-0.9.8 \
+		signal-hook-registry-1.4.0 \
+		simple_logger-1.16.0 \
+		slab-0.4.5 \
+		smallvec-1.7.0 \
+		spin-0.5.2 \
+		syn-1.0.83 \
+		thiserror-1.0.30 \
+		thiserror-impl-1.0.30 \
+		time-0.3.5 \
+		time-macros-0.2.3 \
+		tinyvec-1.5.1 \
+		tinyvec_macros-0.1.0 \
+		tokio-1.15.0 \
+		tokio-macros-1.7.0 \
+		tokio-rustls-0.23.2 \
+		toml-0.5.8 \
+		typenum-1.14.0 \
+		unicase-2.6.0 \
+		unicode-bidi-0.3.7 \
+		unicode-normalization-0.1.19 \
+		unicode-xid-0.2.2 \
+		untrusted-0.7.1 \
+		url-2.2.2 \
+		version_check-0.9.3 \
+		wasm-bindgen-0.2.78 \
+		wasm-bindgen-backend-0.2.78 \
+		wasm-bindgen-macro-0.2.78 \
+		wasm-bindgen-macro-support-0.2.78 \
+		wasm-bindgen-shared-0.2.78 \
+		web-sys-0.3.55 \
+		webpki-0.22.0 \
+		winapi-0.3.9 \
+		winapi-i686-pc-windows-gnu-0.4.0 \
+		winapi-x86_64-pc-windows-gnu-0.4.0 \
+		x509-parser-0.12.0
diff --git a/net/gemserv/distinfo b/net/gemserv/distinfo
index 5a2c942b49da..584f7eefcbf7 100644
--- a/net/gemserv/distinfo
+++ b/net/gemserv/distinfo
@@ -1,157 +1,209 @@
-TIMESTAMP = 1620397069
-SHA256 (gemserv-v0.4.5.tar.gz) = 7aeb5edc8af6ebefc2331aebc0c360798711c2fb16ee9cbde8c5c4f9502c491f
-SIZE (gemserv-v0.4.5.tar.gz) = 16739
-SHA256 (rust/crates/atty-0.2.14.tar.gz) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
-SIZE (rust/crates/atty-0.2.14.tar.gz) = 5470
-SHA256 (rust/crates/autocfg-1.0.1.tar.gz) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
-SIZE (rust/crates/autocfg-1.0.1.tar.gz) = 12908
-SHA256 (rust/crates/bitflags-1.2.1.tar.gz) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
-SIZE (rust/crates/bitflags-1.2.1.tar.gz) = 16745
-SHA256 (rust/crates/bytes-0.5.6.tar.gz) = 0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38
-SIZE (rust/crates/bytes-0.5.6.tar.gz) = 46291
-SHA256 (rust/crates/cc-1.0.66.tar.gz) = 4c0496836a84f8d0495758516b8621a622beb77c0fed418570e50764093ced48
-SIZE (rust/crates/cc-1.0.66.tar.gz) = 53454
-SHA256 (rust/crates/cfg-if-0.1.10.tar.gz) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
-SIZE (rust/crates/cfg-if-0.1.10.tar.gz) = 7933
-SHA256 (rust/crates/cfg-if-1.0.0.tar.gz) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
-SIZE (rust/crates/cfg-if-1.0.0.tar.gz) = 7934
-SHA256 (rust/crates/chrono-0.4.19.tar.gz) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
-SIZE (rust/crates/chrono-0.4.19.tar.gz) = 155663
-SHA256 (rust/crates/colored-1.9.3.tar.gz) = f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59
-SIZE (rust/crates/colored-1.9.3.tar.gz) = 20062
-SHA256 (rust/crates/foreign-types-0.3.2.tar.gz) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
-SIZE (rust/crates/foreign-types-0.3.2.tar.gz) = 7504
-SHA256 (rust/crates/foreign-types-shared-0.1.1.tar.gz) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
-SIZE (rust/crates/foreign-types-shared-0.1.1.tar.gz) = 5672
-SHA256 (rust/crates/form_urlencoded-1.0.0.tar.gz) = ece68d15c92e84fa4f19d3780f1294e5ca82a78a6d515f1efaabcc144688be00
-SIZE (rust/crates/form_urlencoded-1.0.0.tar.gz) = 8412
-SHA256 (rust/crates/futures-core-0.3.8.tar.gz) = 847ce131b72ffb13b6109a221da9ad97a64cbe48feb1028356b836b47b8f1748
-SIZE (rust/crates/futures-core-0.3.8.tar.gz) = 13857
-SHA256 (rust/crates/futures-macro-0.3.8.tar.gz) = 77408a692f1f97bcc61dc001d752e00643408fbc922e4d634c655df50d595556
-SIZE (rust/crates/futures-macro-0.3.8.tar.gz) = 9766
-SHA256 (rust/crates/futures-task-0.3.8.tar.gz) = 7c554eb5bf48b2426c4771ab68c6b14468b6e76cc90996f528c3338d761a4d0d
-SIZE (rust/crates/futures-task-0.3.8.tar.gz) = 11118
-SHA256 (rust/crates/futures-util-0.3.8.tar.gz) = d304cff4a7b99cfb7986f7d43fbe93d175e72e704a8860787cc95e9ffd85cbd2
-SIZE (rust/crates/futures-util-0.3.8.tar.gz) = 134020
-SHA256 (rust/crates/idna-0.2.0.tar.gz) = 02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9
-SIZE (rust/crates/idna-0.2.0.tar.gz) = 257203
-SHA256 (rust/crates/iovec-0.1.4.tar.gz) = b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e
-SIZE (rust/crates/iovec-0.1.4.tar.gz) = 8720
-SHA256 (rust/crates/lazy_static-1.4.0.tar.gz) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
-SIZE (rust/crates/lazy_static-1.4.0.tar.gz) = 10443
-SHA256 (rust/crates/libc-0.2.81.tar.gz) = 1482821306169ec4d07f6aca392a4681f66c75c9918aa49641a2595db64053cb
-SIZE (rust/crates/libc-0.2.81.tar.gz) = 513105
-SHA256 (rust/crates/log-0.4.11.tar.gz) = 4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b
-SIZE (rust/crates/log-0.4.11.tar.gz) = 36276
-SHA256 (rust/crates/matches-0.1.8.tar.gz) = 7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08
-SIZE (rust/crates/matches-0.1.8.tar.gz) = 2216
-SHA256 (rust/crates/memchr-2.3.4.tar.gz) = 0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525
-SIZE (rust/crates/memchr-2.3.4.tar.gz) = 23077
-SHA256 (rust/crates/mime-0.3.16.tar.gz) = 2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d
-SIZE (rust/crates/mime-0.3.16.tar.gz) = 15206
-SHA256 (rust/crates/mime_guess-2.0.3.tar.gz) = 2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212
-SIZE (rust/crates/mime_guess-2.0.3.tar.gz) = 27437
-SHA256 (rust/crates/mio-0.6.23.tar.gz) = 4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4
-SIZE (rust/crates/mio-0.6.23.tar.gz) = 103554
-SHA256 (rust/crates/mio-uds-0.6.8.tar.gz) = afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0
-SIZE (rust/crates/mio-uds-0.6.8.tar.gz) = 11496
-SHA256 (rust/crates/net2-0.2.37.tar.gz) = 391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae
-SIZE (rust/crates/net2-0.2.37.tar.gz) = 21311
-SHA256 (rust/crates/num-integer-0.1.44.tar.gz) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
-SIZE (rust/crates/num-integer-0.1.44.tar.gz) = 22216
-SHA256 (rust/crates/num-traits-0.2.14.tar.gz) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
-SIZE (rust/crates/num-traits-0.2.14.tar.gz) = 45476
-SHA256 (rust/crates/num_cpus-1.13.0.tar.gz) = 05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3
-SIZE (rust/crates/num_cpus-1.13.0.tar.gz) = 14704
-SHA256 (rust/crates/once_cell-1.5.2.tar.gz) = 13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0
-SIZE (rust/crates/once_cell-1.5.2.tar.gz) = 27660
-SHA256 (rust/crates/openssl-0.10.32.tar.gz) = 038d43985d1ddca7a9900630d8cd031b56e4794eecc2e9ea39dd17aa04399a70
-SIZE (rust/crates/openssl-0.10.32.tar.gz) = 199469
-SHA256 (rust/crates/percent-encoding-2.1.0.tar.gz) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
-SIZE (rust/crates/percent-encoding-2.1.0.tar.gz) = 9748
-SHA256 (rust/crates/pin-project-1.0.2.tar.gz) = 9ccc2237c2c489783abd8c4c80e5450fc0e98644555b1364da68cc29aa151ca7
-SIZE (rust/crates/pin-project-1.0.2.tar.gz) = 54886
-SHA256 (rust/crates/pin-project-internal-1.0.2.tar.gz) = f8e8d2bf0b23038a4424865103a4df472855692821aab4e4f5c3312d461d9e5f
-SIZE (rust/crates/pin-project-internal-1.0.2.tar.gz) = 27379
-SHA256 (rust/crates/pin-project-lite-0.1.11.tar.gz) = c917123afa01924fc84bb20c4c03f004d9c38e5127e3c039bbf7f4b9c76a2f6b
-SIZE (rust/crates/pin-project-lite-0.1.11.tar.gz) = 25308
-SHA256 (rust/crates/pin-utils-0.1.0.tar.gz) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
-SIZE (rust/crates/pin-utils-0.1.0.tar.gz) = 7580
-SHA256 (rust/crates/pkg-config-0.3.19.tar.gz) = 3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c
-SIZE (rust/crates/pkg-config-0.3.19.tar.gz) = 15451
-SHA256 (rust/crates/proc-macro-hack-0.5.19.tar.gz) = dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5
-SIZE (rust/crates/proc-macro-hack-0.5.19.tar.gz) = 15556
-SHA256 (rust/crates/proc-macro-nested-0.1.6.tar.gz) = eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a
-SIZE (rust/crates/proc-macro-nested-0.1.6.tar.gz) = 6498
-SHA256 (rust/crates/proc-macro2-1.0.24.tar.gz) = 1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71
-SIZE (rust/crates/proc-macro2-1.0.24.tar.gz) = 37716
-SHA256 (rust/crates/quote-1.0.8.tar.gz) = 991431c3519a3f36861882da93630ce66b52918dcf1b8e2fd66b397fc96f28df
-SIZE (rust/crates/quote-1.0.8.tar.gz) = 24997
-SHA256 (rust/crates/serde-1.0.118.tar.gz) = 06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800
-SIZE (rust/crates/serde-1.0.118.tar.gz) = 74248
-SHA256 (rust/crates/serde_derive-1.0.118.tar.gz) = c84d3526699cd55261af4b941e4e725444df67aa4f9e6a3564f18030d12672df
-SIZE (rust/crates/serde_derive-1.0.118.tar.gz) = 50589
-SHA256 (rust/crates/signal-hook-registry-1.3.0.tar.gz) = 16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6
-SIZE (rust/crates/signal-hook-registry-1.3.0.tar.gz) = 17786
-SHA256 (rust/crates/simple_logger-1.11.0.tar.gz) = cd57f17c093ead1d4a1499dc9acaafdd71240908d64775465543b8d9a9f1d198
-SIZE (rust/crates/simple_logger-1.11.0.tar.gz) = 7194
-SHA256 (rust/crates/slab-0.4.2.tar.gz) = c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8
-SIZE (rust/crates/slab-0.4.2.tar.gz) = 10136
-SHA256 (rust/crates/syn-1.0.55.tar.gz) = a571a711dddd09019ccc628e1b17fe87c59b09d513c06c026877aa708334f37a
-SIZE (rust/crates/syn-1.0.55.tar.gz) = 229095
-SHA256 (rust/crates/time-0.1.44.tar.gz) = 6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255
-SIZE (rust/crates/time-0.1.44.tar.gz) = 28885
-SHA256 (rust/crates/tinyvec-1.1.0.tar.gz) = ccf8dbc19eb42fba10e8feaaec282fb50e2c14b2726d6301dbfeed0f73306a6f
-SIZE (rust/crates/tinyvec-1.1.0.tar.gz) = 39037
-SHA256 (rust/crates/tinyvec_macros-0.1.0.tar.gz) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
-SIZE (rust/crates/tinyvec_macros-0.1.0.tar.gz) = 1817
-SHA256 (rust/crates/tokio-0.2.24.tar.gz) = 099837d3464c16a808060bb3f02263b412f6fafcb5d01c533d309985fbeebe48
-SIZE (rust/crates/tokio-0.2.24.tar.gz) = 413332
-SHA256 (rust/crates/tokio-openssl-0.4.0.tar.gz) = 3c4b08c5f4208e699ede3df2520aca2e82401b2de33f45e96696a074480be594
-SIZE (rust/crates/tokio-openssl-0.4.0.tar.gz) = 11790
-SHA256 (rust/crates/toml-0.5.8.tar.gz) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
-SIZE (rust/crates/toml-0.5.8.tar.gz) = 54219
-SHA256 (rust/crates/unicase-2.6.0.tar.gz) = 50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6
-SIZE (rust/crates/unicase-2.6.0.tar.gz) = 23478
-SHA256 (rust/crates/unicode-bidi-0.3.4.tar.gz) = 49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5
-SIZE (rust/crates/unicode-bidi-0.3.4.tar.gz) = 32228
-SHA256 (rust/crates/unicode-normalization-0.1.16.tar.gz) = a13e63ab62dbe32aeee58d1c5408d35c36c392bba5d9d3142287219721afe606
-SIZE (rust/crates/unicode-normalization-0.1.16.tar.gz) = 92805
-SHA256 (rust/crates/unicode-xid-0.2.1.tar.gz) = f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564
-SIZE (rust/crates/unicode-xid-0.2.1.tar.gz) = 14392
-SHA256 (rust/crates/url-2.2.0.tar.gz) = 5909f2b0817350449ed73e8bcd81c8c3c8d9a7a5d8acba4b27db277f1868976e
-SIZE (rust/crates/url-2.2.0.tar.gz) = 42787
-SHA256 (rust/crates/version_check-0.9.2.tar.gz) = b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed
-SIZE (rust/crates/version_check-0.9.2.tar.gz) = 11979
-SHA256 (rust/crates/winapi-0.2.8.tar.gz) = 167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a
-SIZE (rust/crates/winapi-0.2.8.tar.gz) = 455145
-SHA256 (rust/crates/winapi-0.3.9.tar.gz) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
-SIZE (rust/crates/winapi-0.3.9.tar.gz) = 1200382
-SHA256 (rust/crates/mio-named-pipes-0.1.7.tar.gz) = 0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656
-SIZE (rust/crates/mio-named-pipes-0.1.7.tar.gz) = 15140
-SHA256 (rust/crates/openssl-sys-0.9.61.tar.gz) = 313752393519e876837e09e1fa183ddef0be7735868dced3196f4472d536277f
-SIZE (rust/crates/openssl-sys-0.9.61.tar.gz) = 52010
-SHA256 (rust/crates/hermit-abi-0.1.18.tar.gz) = 322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c
-SIZE (rust/crates/hermit-abi-0.1.18.tar.gz) = 9936
-SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
-SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.tar.gz) = 2918815
-SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
-SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.tar.gz) = 2947998
-SHA256 (rust/crates/fuchsia-zircon-0.3.3.tar.gz) = 2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82
-SIZE (rust/crates/fuchsia-zircon-0.3.3.tar.gz) = 22565
-SHA256 (rust/crates/fuchsia-zircon-sys-0.3.3.tar.gz) = 3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7
-SIZE (rust/crates/fuchsia-zircon-sys-0.3.3.tar.gz) = 7191
-SHA256 (rust/crates/kernel32-sys-0.2.2.tar.gz) = 7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d
-SIZE (rust/crates/kernel32-sys-0.2.2.tar.gz) = 24537
-SHA256 (rust/crates/miow-0.2.2.tar.gz) = ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d
-SIZE (rust/crates/miow-0.2.2.tar.gz) = 22044
-SHA256 (rust/crates/miow-0.3.7.tar.gz) = b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21
-SIZE (rust/crates/miow-0.3.7.tar.gz) = 24563
-SHA256 (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.tar.gz) = 1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f
-SIZE (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.tar.gz) = 26964
-SHA256 (rust/crates/winapi-build-0.1.1.tar.gz) = 2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc
-SIZE (rust/crates/winapi-build-0.1.1.tar.gz) = 669
-SHA256 (rust/crates/ws2_32-sys-0.2.1.tar.gz) = d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e
-SIZE (rust/crates/ws2_32-sys-0.2.1.tar.gz) = 4697
-SHA256 (rust/crates/vcpkg-0.2.12.tar.gz) = cbdbff6266a24120518560b5dc983096efb98462e51d0d68169895b237be3e5d
-SIZE (rust/crates/vcpkg-0.2.12.tar.gz) = 15530
+TIMESTAMP = 1660325913
+SHA256 (gemserv-v0.6.6.tar.gz) = a4423b91bff3e05708c296fe6135d00b7d09acc33b15c7d078a5c8753a84aa5a
+SIZE (gemserv-v0.6.6.tar.gz) = 23016
+SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
+SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
+SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+SIZE (rust/crates/atty-0.2.14.crate) = 5470
+SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
+SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
+SHA256 (rust/crates/base64-0.13.0.crate) = 904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd
+SIZE (rust/crates/base64-0.13.0.crate) = 62070
+SHA256 (rust/crates/bitflags-1.2.1.crate) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
+SIZE (rust/crates/bitflags-1.2.1.crate) = 16745
+SHA256 (rust/crates/block-buffer-0.9.0.crate) = 4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4
+SIZE (rust/crates/block-buffer-0.9.0.crate) = 7108
+SHA256 (rust/crates/bumpalo-3.8.0.crate) = 8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c
+SIZE (rust/crates/bumpalo-3.8.0.crate) = 79835
+SHA256 (rust/crates/bytes-1.1.0.crate) = c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8
+SIZE (rust/crates/bytes-1.1.0.crate) = 49640
+SHA256 (rust/crates/cc-1.0.72.crate) = 22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee
+SIZE (rust/crates/cc-1.0.72.crate) = 57495
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
+SIZE (rust/crates/chrono-0.4.19.crate) = 155663
+SHA256 (rust/crates/colored-1.9.3.crate) = f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59
+SIZE (rust/crates/colored-1.9.3.crate) = 20062
+SHA256 (rust/crates/cpufeatures-0.2.1.crate) = 95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469
+SIZE (rust/crates/cpufeatures-0.2.1.crate) = 10500
+SHA256 (rust/crates/data-encoding-2.3.2.crate) = 3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57
+SIZE (rust/crates/data-encoding-2.3.2.crate) = 19159
+SHA256 (rust/crates/der-oid-macro-0.5.0.crate) = c73af209b6a5dc8ca7cbaba720732304792cddc933cfea3d74509c2b1ef2f436
+SIZE (rust/crates/der-oid-macro-0.5.0.crate) = 1924
+SHA256 (rust/crates/der-parser-6.0.0.crate) = 9807efb310ce4ea172924f3a69d82f9fd6c9c3a19336344591153e665b31c43e
+SIZE (rust/crates/der-parser-6.0.0.crate) = 67109
+SHA256 (rust/crates/digest-0.9.0.crate) = d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066
+SIZE (rust/crates/digest-0.9.0.crate) = 13247
+SHA256 (rust/crates/form_urlencoded-1.0.1.crate) = 5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191
+SIZE (rust/crates/form_urlencoded-1.0.1.crate) = 8773
+SHA256 (rust/crates/futures-core-0.3.19.crate) = d0c8ff0461b82559810cdccfde3215c3f373807f5e5232b71479bff7bb2583d7
+SIZE (rust/crates/futures-core-0.3.19.crate) = 14666
+SHA256 (rust/crates/futures-macro-0.3.19.crate) = 6dbd947adfffb0efc70599b3ddcf7b5597bb5fa9e245eb99f62b3a5f7bb8bd3c
+SIZE (rust/crates/futures-macro-0.3.19.crate) = 11253
+SHA256 (rust/crates/futures-task-0.3.19.crate) = 6ee7c6485c30167ce4dfb83ac568a849fe53274c831081476ee13e0dce1aad72
+SIZE (rust/crates/futures-task-0.3.19.crate) = 11894
+SHA256 (rust/crates/futures-util-0.3.19.crate) = d9b5cf40b47a271f77a8b1bec03ca09044d99d2372c0de244e66430761127164
+SIZE (rust/crates/futures-util-0.3.19.crate) = 149240
+SHA256 (rust/crates/generic-array-0.14.4.crate) = 501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817
+SIZE (rust/crates/generic-array-0.14.4.crate) = 28916
+SHA256 (rust/crates/half-1.7.1.crate) = 62aca2aba2d62b4a7f5b33f3712cb1b0692779a56fb510499d5c0aa594daeaf3
+SIZE (rust/crates/half-1.7.1.crate) = 36168
+SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/idna-0.2.3.crate) = 418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8
+SIZE (rust/crates/idna-0.2.3.crate) = 271023
+SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
+SIZE (rust/crates/instant-0.1.12.crate) = 6128
+SHA256 (rust/crates/itoa-0.4.8.crate) = b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4
+SIZE (rust/crates/itoa-0.4.8.crate) = 11926
+SHA256 (rust/crates/js-sys-0.3.55.crate) = 7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84
+SIZE (rust/crates/js-sys-0.3.55.crate) = 70499
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libc-0.2.112.crate) = 1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125
+SIZE (rust/crates/libc-0.2.112.crate) = 571445
+SHA256 (rust/crates/lock_api-0.4.5.crate) = 712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109
+SIZE (rust/crates/lock_api-0.4.5.crate) = 25199
+SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
+SIZE (rust/crates/log-0.4.14.crate) = 34582
+SHA256 (rust/crates/matches-0.1.9.crate) = a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f
+SIZE (rust/crates/matches-0.1.9.crate) = 2246
+SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
+SIZE (rust/crates/memchr-2.4.1.crate) = 64977
+SHA256 (rust/crates/mime-0.3.16.crate) = 2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d
+SIZE (rust/crates/mime-0.3.16.crate) = 15206
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/mio-0.7.14.crate) = 8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc
+SIZE (rust/crates/mio-0.7.14.crate) = 87429
+SHA256 (rust/crates/miow-0.3.7.crate) = b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21
+SIZE (rust/crates/miow-0.3.7.crate) = 24563
+SHA256 (rust/crates/new_mime_guess-3.0.2.crate) = 61f1580c26d7db30c333e409cd04cceb36ab72e06779e6a384bd346662a03c5c
+SIZE (rust/crates/new_mime_guess-3.0.2.crate) = 29880
+SHA256 (rust/crates/nom-7.1.0.crate) = 1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109
+SIZE (rust/crates/nom-7.1.0.crate) = 115647
+SHA256 (rust/crates/ntapi-0.3.6.crate) = 3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44
+SIZE (rust/crates/ntapi-0.3.6.crate) = 127221
+SHA256 (rust/crates/num-bigint-0.4.3.crate) = f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f
+SIZE (rust/crates/num-bigint-0.4.3.crate) = 97799
+SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
+SIZE (rust/crates/num-integer-0.1.44.crate) = 22216
+SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
+SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
+SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
+SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
+SHA256 (rust/crates/oid-registry-0.2.0.crate) = fe554cb2393bc784fd678c82c84cc0599c31ceadc7f03a594911f822cb8d1815
+SIZE (rust/crates/oid-registry-0.2.0.crate) = 13811
+SHA256 (rust/crates/once_cell-1.9.0.crate) = da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5
+SIZE (rust/crates/once_cell-1.9.0.crate) = 30702
+SHA256 (rust/crates/opaque-debug-0.3.0.crate) = 624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5
+SIZE (rust/crates/opaque-debug-0.3.0.crate) = 5767
+SHA256 (rust/crates/parking_lot-0.11.2.crate) = 7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99
+SIZE (rust/crates/parking_lot-0.11.2.crate) = 39869
+SHA256 (rust/crates/parking_lot_core-0.8.5.crate) = d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216
+SIZE (rust/crates/parking_lot_core-0.8.5.crate) = 32466
+SHA256 (rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
+SIZE (rust/crates/percent-encoding-2.1.0.crate) = 9748
+SHA256 (rust/crates/pin-project-lite-0.2.7.crate) = 8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443
+SIZE (rust/crates/pin-project-lite-0.2.7.crate) = 27212
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/proc-macro2-1.0.34.crate) = 2f84e92c0f7c9d58328b85a78557813e4bd845130db68d7184635344399423b1
+SIZE (rust/crates/proc-macro2-1.0.34.crate) = 41072
+SHA256 (rust/crates/quote-1.0.10.crate) = 38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05
+SIZE (rust/crates/quote-1.0.10.crate) = 29960
+SHA256 (rust/crates/redox_syscall-0.2.10.crate) = 8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff
+SIZE (rust/crates/redox_syscall-0.2.10.crate) = 23582
+SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
+SIZE (rust/crates/regex-1.5.4.crate) = 236581
+SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
+SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
+SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
+SIZE (rust/crates/ring-0.16.20.crate) = 5082615
+SHA256 (rust/crates/rusticata-macros-4.0.0.crate) = 65c52377bb2288aa522a0c8208947fada1e0c76397f108cc08f57efe6077b50d
+SIZE (rust/crates/rusticata-macros-4.0.0.crate) = 12192
+SHA256 (rust/crates/rustls-0.20.2.crate) = d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84
+SIZE (rust/crates/rustls-0.20.2.crate) = 238289
+SHA256 (rust/crates/rustls-pemfile-0.2.1.crate) = 5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9
+SIZE (rust/crates/rustls-pemfile-0.2.1.crate) = 14278
+SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
+SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
+SHA256 (rust/crates/sct-0.7.0.crate) = d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4
+SIZE (rust/crates/sct-0.7.0.crate) = 27502
+SHA256 (rust/crates/serde-1.0.132.crate) = 8b9875c23cf305cd1fd7eb77234cbb705f21ea6a72c637a5c6db5fe4b8e7f008
+SIZE (rust/crates/serde-1.0.132.crate) = 75364
+SHA256 (rust/crates/serde_derive-1.0.132.crate) = ecc0db5cb2556c0e558887d9bbdcf6ac4471e83ff66cf696e5419024d1606276
+SIZE (rust/crates/serde_derive-1.0.132.crate) = 54725
+SHA256 (rust/crates/sha2-0.9.8.crate) = b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa
+SIZE (rust/crates/sha2-0.9.8.crate) = 22132
+SHA256 (rust/crates/signal-hook-registry-1.4.0.crate) = e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0
+SIZE (rust/crates/signal-hook-registry-1.4.0.crate) = 17912
+SHA256 (rust/crates/simple_logger-1.16.0.crate) = 45b60258a35dc3cb8a16890b8fd6723349bfa458d7960e25e633f1b1c19d7b5e
+SIZE (rust/crates/simple_logger-1.16.0.crate) = 9053
+SHA256 (rust/crates/slab-0.4.5.crate) = 9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5
+SIZE (rust/crates/slab-0.4.5.crate) = 15888
+SHA256 (rust/crates/smallvec-1.7.0.crate) = 1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309
+SIZE (rust/crates/smallvec-1.7.0.crate) = 27459
+SHA256 (rust/crates/spin-0.5.2.crate) = 6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d
+SIZE (rust/crates/spin-0.5.2.crate) = 12004
+SHA256 (rust/crates/syn-1.0.83.crate) = 23a1dfb999630e338648c83e91c59a4e9fb7620f520c3194b6b89e276f2f1959
+SIZE (rust/crates/syn-1.0.83.crate) = 234750
+SHA256 (rust/crates/thiserror-1.0.30.crate) = 854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417
+SIZE (rust/crates/thiserror-1.0.30.crate) = 17748
+SHA256 (rust/crates/thiserror-impl-1.0.30.crate) = aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b
+SIZE (rust/crates/thiserror-impl-1.0.30.crate) = 15230
+SHA256 (rust/crates/time-0.3.5.crate) = 41effe7cfa8af36f439fac33861b66b049edc6f9a32331e2312660529c1c24ad
+SIZE (rust/crates/time-0.3.5.crate) = 72732
+SHA256 (rust/crates/time-macros-0.2.3.crate) = 25eb0ca3468fc0acc11828786797f6ef9aa1555e4a211a60d64cc8e4d1be47d6
+SIZE (rust/crates/time-macros-0.2.3.crate) = 16838
+SHA256 (rust/crates/tinyvec-1.5.1.crate) = 2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2
+SIZE (rust/crates/tinyvec-1.5.1.crate) = 44942
+SHA256 (rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
+SIZE (rust/crates/tinyvec_macros-0.1.0.crate) = 1817
+SHA256 (rust/crates/tokio-1.15.0.crate) = fbbf1c778ec206785635ce8ad57fe52b3009ae9e0c9f574a728f3049d3e55838
+SIZE (rust/crates/tokio-1.15.0.crate) = 540198
+SHA256 (rust/crates/tokio-macros-1.7.0.crate) = b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7
+SIZE (rust/crates/tokio-macros-1.7.0.crate) = 9261
+SHA256 (rust/crates/tokio-rustls-0.23.2.crate) = a27d5f2b839802bd8267fa19b0530f5a08b9c08cd417976be2a65d130fe1c11b
+SIZE (rust/crates/tokio-rustls-0.23.2.crate) = 26792
+SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
+SIZE (rust/crates/toml-0.5.8.crate) = 54219
+SHA256 (rust/crates/typenum-1.14.0.crate) = b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec
+SIZE (rust/crates/typenum-1.14.0.crate) = 40518
+SHA256 (rust/crates/unicase-2.6.0.crate) = 50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6
+SIZE (rust/crates/unicase-2.6.0.crate) = 23478
+SHA256 (rust/crates/unicode-bidi-0.3.7.crate) = 1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f
+SIZE (rust/crates/unicode-bidi-0.3.7.crate) = 33759
+SHA256 (rust/crates/unicode-normalization-0.1.19.crate) = d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9
+SIZE (rust/crates/unicode-normalization-0.1.19.crate) = 107353
+SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
+SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
+SHA256 (rust/crates/untrusted-0.7.1.crate) = a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a
+SIZE (rust/crates/untrusted-0.7.1.crate) = 7924
+SHA256 (rust/crates/url-2.2.2.crate) = a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c
+SIZE (rust/crates/url-2.2.2.crate) = 68555
+SHA256 (rust/crates/version_check-0.9.3.crate) = 5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe
+SIZE (rust/crates/version_check-0.9.3.crate) = 12547
+SHA256 (rust/crates/wasm-bindgen-0.2.78.crate) = 632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce
+SIZE (rust/crates/wasm-bindgen-0.2.78.crate) = 162111
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.78.crate) = a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b
+SIZE (rust/crates/wasm-bindgen-backend-0.2.78.crate) = 25576
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.78.crate) = d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9
+SIZE (rust/crates/wasm-bindgen-macro-0.2.78.crate) = 11700
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.78.crate) = 7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.78.crate) = 17858
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.78.crate) = 0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc
+SIZE (rust/crates/wasm-bindgen-shared-0.2.78.crate) = 7206
+SHA256 (rust/crates/web-sys-0.3.55.crate) = 38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb
+SIZE (rust/crates/web-sys-0.3.55.crate) = 664827
+SHA256 (rust/crates/webpki-0.22.0.crate) = f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd
+SIZE (rust/crates/webpki-0.22.0.crate) = 58663
+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-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/x509-parser-0.12.0.crate) = ffc90836a84cb72e6934137b1504d0cae304ef5d83904beb0c8d773bbfe256ed
+SIZE (rust/crates/x509-parser-0.12.0.crate) = 72720
diff --git a/net/gemserv/files/config.toml.sample.in b/net/gemserv/files/config.toml.sample.in
index 5c9d4129de61..5ba435ff6881 100644
--- a/net/gemserv/files/config.toml.sample.in
+++ b/net/gemserv/files/config.toml.sample.in
@@ -1,6 +1,12 @@
-port = 1965
-# use "::" for ipv6 and ipv4 or "0.0.0.0" for ipv4 only
-host = "0.0.0.0"
+# interface accepts multiple interface/port combinations. However, due to the
+# dual stack nature of linux if you specify "[::]:1965" linux will also listen
+# on "0.0.0.0:1965" so if you manually specify both it will fail.
+# interface = [ "0.0.0.0:1965, "[::]:1965" ]
+interface = [ "[::]:1965" ]
+# port and host have been deprecated in favor of interface but will still work
+# for now.
+# port = 1965
+# host = "::"
 # log is optional and server wide. It defaults to info if not set. Other levels
 # are error, warn, and info. If error is set it will only show error. If warn
 # is set it will show error and warn. Info shows all three.
@@ -19,3 +25,29 @@ cert = "/usr/local/etc/gemserv/cert.pem"
 index = "index.gmi"
 # lang is optional
 lang = "en"
+# cgi is optional bool
+cgi = true
+# cgipath is optional and only checked if cgi is true. It restricts cgi to only
+# this directory.
+cgipath = "/path/to/cgi-bin/"
+# scgi is optional
+scgi = { "/scgi" = "localhost:4000" }
+# cgienv is optional
+cgienv = { "GIT_PROJECT_ROOT" = "/srv/git" }
+# usrdir is optional. it'll look in each user's ~/public_gemini
+usrdir = true
+# proxy is optional
+# path is what comes after the hostname e.g. example.com/path
+proxy = { path = "localhost:1966" }
+# proxy_all is optional
+# It will send all requests to the specified server. It also supports streamming.
+proxy_all = "localhost:1967"
+# redirect is optional
+redirect = { "/redirect" = "/", "/newdomain" = "gemini://example.net" }
+
+# Server 2
+[[server]]
+hostname = "example.net"
+dir = "/path/to/serv/"
+key = "/path/to/key"
+cert = "/path/to/cert"
diff --git a/net/gemserv/files/gemserv.in b/net/gemserv/files/gemserv.in
index b1fcb394f1ed..91af19354ae9 100644
--- a/net/gemserv/files/gemserv.in
+++ b/net/gemserv/files/gemserv.in
@@ -59,6 +59,8 @@ pidfile=/var/run/gemserv.pid
 command=/usr/sbin/daemon
 procname=%%PREFIX%%/bin/gemserv
 command_args="-p ${pidfile} ${gemserv_syslog_output_flags} ${procname} ${gemserv_config}"
+# reload: support SIGHUP to reparse configuration file
+extra_commands="reload"
 
 start_precmd="gemserv_start_precmd"
 stop_postcmd="gemserv_stop_postcmd"
diff --git a/net/gemserv/files/patch-powerpc b/net/gemserv/files/patch-powerpc
deleted file mode 100644
index 15718f32a5ab..000000000000
--- a/net/gemserv/files/patch-powerpc
+++ /dev/null
@@ -1,62 +0,0 @@
---- cargo-crates/libc-0.2.81/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig	2020-03-17 20:35:43 UTC
-+++ cargo-crates/libc-0.2.81/src/unix/bsd/freebsdlike/freebsd/mod.rs
-@@ -1486,6 +1486,9 @@ cfg_if! {
-     } else if #[cfg(target_arch = "powerpc64")] {
-         mod powerpc64;
-         pub use self::powerpc64::*;
-+    } else if #[cfg(target_arch = "powerpc")] {
-+        mod powerpc;
-+        pub use self::powerpc::*;
-     } else {
-         // Unknown target_arch
-     }
---- cargo-crates/libc-0.2.81/src/unix/bsd/freebsdlike/freebsd/powerpc.rs.orig	2021-06-23 22:40:24 UTC
-+++ cargo-crates/libc-0.2.81/src/unix/bsd/freebsdlike/freebsd/powerpc.rs
-@@ -0,0 +1,47 @@
-+pub type c_char = u8;
-+pub type c_long = i32;
-+pub type c_ulong = u32;
-+pub type wchar_t = i32;
-+pub type time_t = i64;
-+pub type suseconds_t = i32;
-+pub type register_t = i32;
-+
-+s! {
-+    pub struct stat {
-+        pub st_dev: ::dev_t,
-+        pub st_ino: ::ino_t,
-+        pub st_mode: ::mode_t,
-+        pub st_nlink: ::nlink_t,
-+        pub st_uid: ::uid_t,
-+        pub st_gid: ::gid_t,
-+        pub st_rdev: ::dev_t,
-+        pub st_atime: ::time_t,
-+        pub st_atime_nsec: ::c_long,
-+        pub st_mtime: ::time_t,
-+        pub st_mtime_nsec: ::c_long,
-+        pub st_ctime: ::time_t,
-+        pub st_ctime_nsec: ::c_long,
-+        pub st_size: ::off_t,
-+        pub st_blocks: ::blkcnt_t,
-+        pub st_blksize: ::blksize_t,
-+        pub st_flags: ::fflags_t,
-+        pub st_gen: u32,
-+        pub st_lspare: i32,
-+        pub st_birthtime: ::time_t,
-+        pub st_birthtime_nsec: ::c_long,
-+    }
-+}
-+
-+// should be pub(crate), but that requires Rust 1.18.0
-+cfg_if! {
-+    if #[cfg(libc_const_size_of)] {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_int>() - 1;
-+    } else {
-+        #[doc(hidden)]
-+        pub const _ALIGNBYTES: usize = 4 - 1;
-+    }
-+}
-+
-+pub const MAP_32BIT: ::c_int = 0x00080000;
-+pub const MINSIGSTKSZ: ::size_t = 2048; // 512 * 4
diff --git a/net/gemserv/files/patch-src_lib_tls.rs b/net/gemserv/files/patch-src_lib_tls.rs
new file mode 100644
index 000000000000..83a12a2e21b4
--- /dev/null
+++ b/net/gemserv/files/patch-src_lib_tls.rs
@@ -0,0 +1,35 @@
+--- src/lib/tls.rs.orig	2022-08-17 08:17:36 UTC
++++ src/lib/tls.rs
+@@ -10,7 +10,7 @@ use rustls::{Certificate, Error, PrivateKey};
+ use rustls::server::{ClientCertVerified, ClientCertVerifier, ResolvesServerCertUsingSni};
+ use rustls::sign::{self, CertifiedKey};
+ use rustls::{Certificate, Error, PrivateKey};
+-use rustls_pemfile::{certs, pkcs8_private_keys};
++use rustls_pemfile::{certs, pkcs8_private_keys, rsa_private_keys};
+ use tokio_rustls::rustls;
+ use tokio_rustls::TlsAcceptor;
+ 
+@@ -34,7 +34,22 @@ fn load_key(path: &str) -> io::Result<Vec<PrivateKey>>
+ }
+ 
+ fn load_key(path: &str) -> io::Result<Vec<PrivateKey>> {
+-    pkcs8_private_keys(&mut std::io::BufReader::new(std::fs::File::open(path)?))
++    let mut private_keys = pkcs8_private_keys(&mut std::io::BufReader::new(std::fs::File::open(path)?));
++    let rsa_keys = rsa_private_keys(&mut std::io::BufReader::new(std::fs::File::open(path)?));
++    // It is common to use RSA keys that are not PKCS8-formatted
++    // we need to join both RSA and PKCS8 keys
++    if rsa_keys.is_ok()
++    {
++        if private_keys.is_ok()
++        {
++            let mut all_keys = private_keys.ok().unwrap_or_default();
++            all_keys.extend(rsa_keys.ok().unwrap_or_default());
++            private_keys = Ok(all_keys);
++        }
++        else
++            { private_keys = rsa_keys; }
++    }
++    private_keys
+         .map_err(|_| io::Error::new(io::ErrorKind::InvalidInput, "invalid key"))
+         .map(|mut keys| keys.drain(..).map(PrivateKey).collect())
+ }
diff --git a/net/gemserv/pkg-message b/net/gemserv/pkg-message
index a85be73bb969..7de6780bc901 100644
--- a/net/gemserv/pkg-message
+++ b/net/gemserv/pkg-message
@@ -5,23 +5,23 @@ Gemserv gemini server is now installed.
 
 README and UPDATING files from source distribution are installed in:
 
-    /usr/local/share/doc/gemserv/
+    ${PREFIX}/share/doc/gemserv/
 
 Example cgi-scripts are installed in:
 
-    /usr/local/share/examples/gemserv/
+    ${PREFIX}/share/examples/gemserv/
 
 Quick Start:
 
-1) Check, edit server configuration in /usr/local/etc/gemserv/config.toml
+1) Check, edit server configuration in ${LOCALBASE}/gemserv/config.toml
    (see config.toml-dist for all configuration options)
 2) Generate TLS key and cert, i.e. for domain "gemini.example.net":
 
-    openssl req -newkey rsa:4096 -nodes -keyout /usr/local/etc/gemserv/key.pem  \
-                         -x509 -days 36500 -out /usr/local/etc/gemserv/cert.pem \
+    openssl req -newkey rsa:4096 -nodes -keyout ${LOCALBASE}/gemserv/key.pem  \
+                         -x509 -days 36500 -out ${LOCALBASE}/gemserv/cert.pem \
       -subj "/C=FR/ST=FR/L=FR/O=example.net/OU=IT/CN=gemini.example.net/emailAddress=root@example.net"
 
-    chown _gemini /usr/local/etc/gemserv/key.pem
+    chown _gemini ${LOCALBASE}/gemserv/key.pem
 
 3) sysrc gemserv_enable=YES
 4) service gemserv start