git: b30a7af70d61 - main - dns/acme-dns: add new port

From: Stefan Eßer <se_at_FreeBSD.org>
Date: Fri, 20 May 2022 11:13:02 UTC
The branch main has been updated by se:

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

commit b30a7af70d61b9fa3e99f0ddcedc12ef63e63b7a
Author:     freultwah <freultwah@github.com>
AuthorDate: 2022-05-20 11:07:31 +0000
Commit:     Stefan Eßer <se@FreeBSD.org>
CommitDate: 2022-05-20 11:11:15 +0000

    dns/acme-dns: add new port
    
    This port provides a limited DNS server with RESTful HTTP API to
    handle ACME DNS challenges.
---
 dns/Makefile                                       |   1 +
 dns/acme-dns/Makefile                              |  83 +++++++++++++++++
 dns/acme-dns/distinfo                              | 103 +++++++++++++++++++++
 dns/acme-dns/files/acme-dns.in                     |  32 +++++++
 dns/acme-dns/pkg-descr                             |   4 +
 dns/acme-dns/pkg-plist                             |   4 +
 security/cvechecker/files/patch-configure.ac       |  11 +++
 .../cvechecker/files/patch-src_cvecheck__common.h  |  12 +++
 .../cvechecker/files/patch-src_output_stringscmd.h |  12 +++
 9 files changed, 262 insertions(+)

diff --git a/dns/Makefile b/dns/Makefile
index b02e7d48fc1f..4a263c2b68bb 100644
--- a/dns/Makefile
+++ b/dns/Makefile
@@ -1,5 +1,6 @@
     COMMENT = Domain Name Service tools
 
+    SUBDIR += acme-dns
     SUBDIR += adns
     SUBDIR += adsuck
     SUBDIR += amass
diff --git a/dns/acme-dns/Makefile b/dns/acme-dns/Makefile
new file mode 100644
index 000000000000..aefff018bb17
--- /dev/null
+++ b/dns/acme-dns/Makefile
@@ -0,0 +1,83 @@
+PORTNAME=	acme-dns
+DISTVERSION=	g20220126
+CATEGORIES=	dns
+
+MAINTAINER=	mops@punkt.de
+COMMENT=	Limited DNS server with RESTful HTTP API to handle ACME DNS challenges
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		go:modules
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	joohoi
+GH_TAGNAME=	a33c09a
+
+GH_TUPLE=	\
+		BurntSushi:toml:v0.4.1:burntsushi_toml/vendor/github.com/BurntSushi/toml \
+		DATA-DOG:go-sqlmock:v1.5.0:data_dog_go_sqlmock/vendor/github.com/DATA-DOG/go-sqlmock \
+		ajg:form:v1.5.1:ajg_form/vendor/github.com/ajg/form \
+		andybalholm:brotli:v1.0.2:andybalholm_brotli/vendor/github.com/andybalholm/brotli \
+		caddyserver:certmagic:v0.15.2:caddyserver_certmagic/vendor/github.com/caddyserver/certmagic \
+		davecgh:go-spew:v1.1.1:davecgh_go_spew/vendor/github.com/davecgh/go-spew \
+		erikstmartin:go-testdb:8d10e4a1bae5:erikstmartin_go_testdb/vendor/github.com/erikstmartin/go-testdb \
+		fasthttp-contrib:websocket:1f3b11f56072:fasthttp_contrib_websocket/vendor/github.com/fasthttp-contrib/websocket \
+		fatih:structs:v1.1.0:fatih_structs/vendor/github.com/fatih/structs \
+		gavv:httpexpect:v2.0.0:gavv_httpexpect/vendor/github.com/gavv/httpexpect \
+		go-acme:lego:v3.9.0:go_acme_lego_v3/vendor/github.com/go-acme/lego/v3 \
+		go-yaml:yaml:496545a6307b:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \
+		golang:crypto:e495a2d5b3d3:golang_crypto/vendor/golang.org/x/crypto \
+		golang:mod:v0.5.1:golang_mod/vendor/golang.org/x/mod \
+		golang:net:5cfca573fb4d:golang_net/vendor/golang.org/x/net \
+		golang:sys:1d35b9e2eb4e:golang_sys/vendor/golang.org/x/sys \
+		golang:text:v0.3.7:golang_text/vendor/golang.org/x/text \
+		golang:tools:v0.1.8:golang_tools/vendor/golang.org/x/tools \
+		golang:xerrors:5ec99f83aff1:golang_xerrors/vendor/golang.org/x/xerrors \
+		google:go-querystring:v1.0.0:google_go_querystring/vendor/github.com/google/go-querystring \
+		google:uuid:v1.3.0:google_uuid/vendor/github.com/google/uuid \
+		gorilla:websocket:v1.4.2:gorilla_websocket/vendor/github.com/gorilla/websocket \
+		imkira:go-interpol:v1.1.0:imkira_go_interpol/vendor/github.com/imkira/go-interpol \
+		julienschmidt:httprouter:v1.3.0:julienschmidt_httprouter/vendor/github.com/julienschmidt/httprouter \
+		klauspost:compress:v1.13.4:klauspost_compress/vendor/github.com/klauspost/compress \
+		klauspost:cpuid:v2.0.9:klauspost_cpuid_v2/vendor/github.com/klauspost/cpuid/v2 \
+		lib:pq:v1.10.4:lib_pq/vendor/github.com/lib/pq \
+		libdns:libdns:v0.2.1:libdns_libdns/vendor/github.com/libdns/libdns \
+		mattn:go-colorable:v0.1.12:mattn_go_colorable/vendor/github.com/mattn/go-colorable \
+		mattn:go-sqlite3:v1.14.10:mattn_go_sqlite3/vendor/github.com/mattn/go-sqlite3 \
+		mholt:acmez:v1.0.1:mholt_acmez/vendor/github.com/mholt/acmez \
+		miekg:dns:v1.1.45:miekg_dns/vendor/github.com/miekg/dns \
+		moul:http2curl:v1.0.0:moul_http2curl/vendor/github.com/moul/http2curl \
+		pmezard:go-difflib:v1.0.0:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \
+		rs:cors:v1.8.2:rs_cors/vendor/github.com/rs/cors \
+		sergi:go-diff:v1.2.0:sergi_go_diff/vendor/github.com/sergi/go-diff \
+		sirupsen:logrus:v1.8.1:sirupsen_logrus/vendor/github.com/sirupsen/logrus \
+		stretchr:testify:v1.7.0:stretchr_testify/vendor/github.com/stretchr/testify \
+		uber-go:atomic:v1.9.0:uber_go_atomic/vendor/go.uber.org/atomic \
+		uber-go:multierr:v1.7.0:uber_go_multierr/vendor/go.uber.org/multierr \
+		uber-go:zap:v1.20.0:uber_go_zap/vendor/go.uber.org/zap \
+		valyala:bytebufferpool:v1.0.0:valyala_bytebufferpool/vendor/github.com/valyala/bytebufferpool \
+		valyala:fasthttp:v1.31.0:valyala_fasthttp/vendor/github.com/valyala/fasthttp \
+		xeipuuv:gojsonpointer:4e3ac2762d5f:xeipuuv_gojsonpointer/vendor/github.com/xeipuuv/gojsonpointer \
+		xeipuuv:gojsonreference:bd5ef7bd5415:xeipuuv_gojsonreference/vendor/github.com/xeipuuv/gojsonreference \
+		xeipuuv:gojsonschema:v1.2.0:xeipuuv_gojsonschema/vendor/github.com/xeipuuv/gojsonschema \
+		yalp:jsonpath:5cc68e5049a0:yalp_jsonpath/vendor/github.com/yalp/jsonpath \
+		yudai:gojsondiff:v1.0.0:yudai_gojsondiff/vendor/github.com/yudai/gojsondiff \
+		yudai:golcs:ecda9a501e82:yudai_golcs/vendor/github.com/yudai/golcs \
+		yudai:pp:v2.0.1:yudai_pp/vendor/github.com/yudai/pp
+
+USE_RC_SUBR=	acme-dns
+
+post-patch:
+	@${REINPLACE_CMD} -e 's|etc\/acme-dns|usr\/local\/etc\/acme-dns|' ${WRKSRC}/main.go
+	@${REINPLACE_CMD} -e 's|etc\/tls|usr\/local\/etc\/tls|' ${WRKSRC}/config.cfg
+	@${REINPLACE_CMD} -e 's|var\/lib|var\/db|' ${WRKSRC}/config.cfg
+
+post-install:
+	${MKDIR} ${STAGEDIR}/var/db/acme-dns
+	${MKDIR} ${STAGEDIR}/var/run/acme-dns
+	${MKDIR} ${STAGEDIR}${PREFIX}/etc/acme-dns
+	${CP} ${WRKSRC}/config.cfg ${STAGEDIR}${PREFIX}/etc/acme-dns/config.cfg.sample
+	${MV} ${STAGEDIR}${PREFIX}/bin/acme-dns ${STAGEDIR}${PREFIX}/libexec/acme-dns
+
+.include <bsd.port.mk>
diff --git a/dns/acme-dns/distinfo b/dns/acme-dns/distinfo
new file mode 100644
index 000000000000..df95c52704dd
--- /dev/null
+++ b/dns/acme-dns/distinfo
@@ -0,0 +1,103 @@
+TIMESTAMP = 1643969203
+SHA256 (joohoi-acme-dns-g20220126-a33c09a_GH0.tar.gz) = 9f899f5176d64378f8b0eb892435b142bc9de778f935133a0475af164fa13d94
+SIZE (joohoi-acme-dns-g20220126-a33c09a_GH0.tar.gz) = 55628
+SHA256 (BurntSushi-toml-v0.4.1_GH0.tar.gz) = 280ad65e56f4a23dec30da7ccfd696d9d939a449af8b8be349c8fc487a117a85
+SIZE (BurntSushi-toml-v0.4.1_GH0.tar.gz) = 80986
+SHA256 (DATA-DOG-go-sqlmock-v1.5.0_GH0.tar.gz) = b78616fddfcc76892aecb5344968d7f3843128b70eba6c4752f092dc992c3b98
+SIZE (DATA-DOG-go-sqlmock-v1.5.0_GH0.tar.gz) = 35521
+SHA256 (ajg-form-v1.5.1_GH0.tar.gz) = 085e8e98cf63d39241c6ba815b9a71d38808c3fadb6b522feb7fab6d123c44c7
+SIZE (ajg-form-v1.5.1_GH0.tar.gz) = 14946
+SHA256 (andybalholm-brotli-v1.0.2_GH0.tar.gz) = c649cade783a19e73a80ba24decf5b4ff67fcb7c68f810f71a17a745e15903d3
+SIZE (andybalholm-brotli-v1.0.2_GH0.tar.gz) = 594347
+SHA256 (caddyserver-certmagic-v0.15.2_GH0.tar.gz) = 88cf94403a571277f67e1f6dd73c9c64cea4294b1a1e03a848c0142911620dac
+SIZE (caddyserver-certmagic-v0.15.2_GH0.tar.gz) = 105003
+SHA256 (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 7d82b9bb7291adbe7498fe946920ab3e7fc9e6cbfc3b2294693fad00bf0dd17e
+SIZE (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 42152
+SHA256 (erikstmartin-go-testdb-8d10e4a1bae5_GH0.tar.gz) = 4d7183c03b91abc8fd423aa4b11f2859b078b8b7860bf72fb53e8b587e3ae854
+SIZE (erikstmartin-go-testdb-8d10e4a1bae5_GH0.tar.gz) = 8099
+SHA256 (fasthttp-contrib-websocket-1f3b11f56072_GH0.tar.gz) = 5c6954474a0f60668654fe799886b5b0c7d4540dae0a8988635bd4c1c64ad738
+SIZE (fasthttp-contrib-websocket-1f3b11f56072_GH0.tar.gz) = 14028
+SHA256 (fatih-structs-v1.1.0_GH0.tar.gz) = 7479adacd8172f74968da4e1e14f1cc47c0bc98c48f44c09c497416dc8c9dfe4
+SIZE (fatih-structs-v1.1.0_GH0.tar.gz) = 14444
+SHA256 (gavv-httpexpect-v2.0.0_GH0.tar.gz) = 415f16518531ba2950e3aab0d424da108281ccf764fe3f1ca4c6ec5db0ba585b
+SIZE (gavv-httpexpect-v2.0.0_GH0.tar.gz) = 63889
+SHA256 (go-acme-lego-v3.9.0_GH0.tar.gz) = b2839b9e1e4a1fb31c2a8bb761b364fb217a84d4cb1eb9853e632192d1e92c8c
+SIZE (go-acme-lego-v3.9.0_GH0.tar.gz) = 411419
+SHA256 (go-yaml-yaml-496545a6307b_GH0.tar.gz) = ed0e11dc14bbbd4127031d7e8b9e58dad885e2c44a16359d2f64b71d1d1f692a
+SIZE (go-yaml-yaml-496545a6307b_GH0.tar.gz) = 90156
+SHA256 (golang-crypto-e495a2d5b3d3_GH0.tar.gz) = c640d018652cccc231882d40cd53698af14b220f692d3f8e9b3f478e288ad244
+SIZE (golang-crypto-e495a2d5b3d3_GH0.tar.gz) = 1734470
+SHA256 (golang-mod-v0.5.1_GH0.tar.gz) = 0ceb1aa06f263416ac67b6844a1704cc8078749c7e8ea9c3900a5c06d00e6036
+SIZE (golang-mod-v0.5.1_GH0.tar.gz) = 112665
+SHA256 (golang-net-5cfca573fb4d_GH0.tar.gz) = 6e97359a4bf11e2d1a4fb0e6eea9346a5c2586796a9022f1ff4c024adb2daa9c
+SIZE (golang-net-5cfca573fb4d_GH0.tar.gz) = 1228359
+SHA256 (golang-sys-1d35b9e2eb4e_GH0.tar.gz) = cb599b1befb8f0b8550a528272ac5ebdba968676702bc4adbc8f5122243ede5f
+SIZE (golang-sys-1d35b9e2eb4e_GH0.tar.gz) = 1255687
+SHA256 (golang-text-v0.3.7_GH0.tar.gz) = 7cab2f6c3133ac1d422edd952b0dd2082fa55a73c2663fb2defd9bf83d649b26
+SIZE (golang-text-v0.3.7_GH0.tar.gz) = 8354718
+SHA256 (golang-tools-v0.1.8_GH0.tar.gz) = f4449b1bc8aea5864bffadf507f4b690edae12b707c07c2f7497d6d5ff8497ec
+SIZE (golang-tools-v0.1.8_GH0.tar.gz) = 2929454
+SHA256 (golang-xerrors-5ec99f83aff1_GH0.tar.gz) = 71975d658357e170fd6a41f92539cde8b39c9cd8bfe5931b6311bc5f5c0da0d7
+SIZE (golang-xerrors-5ec99f83aff1_GH0.tar.gz) = 13664
+SHA256 (google-go-querystring-v1.0.0_GH0.tar.gz) = 59fdfd4d740c85c60c35d3e09b587cfa2b435e78178ac4a23950afbece7118ed
+SIZE (google-go-querystring-v1.0.0_GH0.tar.gz) = 7529
+SHA256 (google-uuid-v1.3.0_GH0.tar.gz) = 7f7f37c47980e0afcc178a9ffc390bec29ed2371919b4c07658eb01791a7f921
+SIZE (google-uuid-v1.3.0_GH0.tar.gz) = 16210
+SHA256 (gorilla-websocket-v1.4.2_GH0.tar.gz) = 91937a36bc9e0da3c895c73d4cb74b2cdb1aff54ab21b0d0724000e7b5b85b84
+SIZE (gorilla-websocket-v1.4.2_GH0.tar.gz) = 54101
+SHA256 (imkira-go-interpol-v1.1.0_GH0.tar.gz) = 701ec611194672c1e7c91f9bf328ddb5d11ac562040ab6c2234cd09a3989dc27
+SIZE (imkira-go-interpol-v1.1.0_GH0.tar.gz) = 6280
+SHA256 (julienschmidt-httprouter-v1.3.0_GH0.tar.gz) = 2999dffc23f8ac3872ea37d108ddec0ba570d2780a42876300bdcdb0744908e2
+SIZE (julienschmidt-httprouter-v1.3.0_GH0.tar.gz) = 23889
+SHA256 (klauspost-compress-v1.13.4_GH0.tar.gz) = e25c9621fd3306e2e2939c8aaf79f74929a6c415e75a34e29536cac2d3ec57ab
+SIZE (klauspost-compress-v1.13.4_GH0.tar.gz) = 15446158
+SHA256 (klauspost-cpuid-v2.0.9_GH0.tar.gz) = 8cbbd8d7e4379eb95db956352e764b83b509c8fc88a3ab543ccaa6ade746d21a
+SIZE (klauspost-cpuid-v2.0.9_GH0.tar.gz) = 342155
+SHA256 (lib-pq-v1.10.4_GH0.tar.gz) = 3d56bb8c6b50d86b6d053053a7da831a07e9da39205ffa23dfbf1487234ab742
+SIZE (lib-pq-v1.10.4_GH0.tar.gz) = 108132
+SHA256 (libdns-libdns-v0.2.1_GH0.tar.gz) = 3d4d534d1a04ec0890803c99d7f3a9c540c10afb0215831c2d2f9944c3e2f892
+SIZE (libdns-libdns-v0.2.1_GH0.tar.gz) = 5838
+SHA256 (mattn-go-colorable-v0.1.12_GH0.tar.gz) = 32493594aee411896ffe13aaed14df4a23c3006866c46c1a908af79eacd102b2
+SIZE (mattn-go-colorable-v0.1.12_GH0.tar.gz) = 9801
+SHA256 (mattn-go-sqlite3-v1.14.10_GH0.tar.gz) = 57bbbd9acc6d7e7fed03068092f37b2f4546d3dabb2e31c866bdcf13c55d81bd
+SIZE (mattn-go-sqlite3-v1.14.10_GH0.tar.gz) = 2424814
+SHA256 (mholt-acmez-v1.0.1_GH0.tar.gz) = 7343f3bb8e0d78b5b4536ee330e5e30121221b14e8389a6969a1fe9ac65507e5
+SIZE (mholt-acmez-v1.0.1_GH0.tar.gz) = 50757
+SHA256 (miekg-dns-v1.1.45_GH0.tar.gz) = cdca43779afe34dc56de4dfcbb73a8be50a2d243e2a0b8ea8d373eab98ebd882
+SIZE (miekg-dns-v1.1.45_GH0.tar.gz) = 203445
+SHA256 (moul-http2curl-v1.0.0_GH0.tar.gz) = 3e2b23faaabe555759cf032bd573a2e42883afd33cdf34d8ee24345c1b1eabf3
+SIZE (moul-http2curl-v1.0.0_GH0.tar.gz) = 100185
+SHA256 (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 28f3dc1b5c0efd61203ab07233f774740d3bf08da4d8153fb5310db6cea0ebda
+SIZE (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 11398
+SHA256 (rs-cors-v1.8.2_GH0.tar.gz) = 21695af8974039137254c81c419a233f1ba3c02aab64e4ea5e0cb0f4cd6a5501
+SIZE (rs-cors-v1.8.2_GH0.tar.gz) = 51842
+SHA256 (sergi-go-diff-v1.2.0_GH0.tar.gz) = 39590cae996778b7ffdd8eb9e8fc791117f16562dbef37f9c41b2f3ebb8f518b
+SIZE (sergi-go-diff-v1.2.0_GH0.tar.gz) = 1333585
+SHA256 (sirupsen-logrus-v1.8.1_GH0.tar.gz) = e9492c08ac8f202b438ccfb992bf81b7860739cf8f2266958e0c574c7abfdd74
+SIZE (sirupsen-logrus-v1.8.1_GH0.tar.gz) = 47161
+SHA256 (stretchr-testify-v1.7.0_GH0.tar.gz) = 560c0984072cb436b17bbce5699b205d5aa2beb58ef7a94530d7724b5739a8d6
+SIZE (stretchr-testify-v1.7.0_GH0.tar.gz) = 91073
+SHA256 (uber-go-atomic-v1.9.0_GH0.tar.gz) = a6b11bb77c479298cdfdfdf2132975dbd975322b619451378cbdf731facd874a
+SIZE (uber-go-atomic-v1.9.0_GH0.tar.gz) = 21331
+SHA256 (uber-go-multierr-v1.7.0_GH0.tar.gz) = 7b9b6b812f64ad756ada9dd72db1a8be51cdbfa831defe9111cb4e0877138242
+SIZE (uber-go-multierr-v1.7.0_GH0.tar.gz) = 15054
+SHA256 (uber-go-zap-v1.20.0_GH0.tar.gz) = 13921dc099b5790bd4fcb06c18c2767c80f4ba4c7c0a29659d9126ba04dfc9e5
+SIZE (uber-go-zap-v1.20.0_GH0.tar.gz) = 181418
+SHA256 (valyala-bytebufferpool-v1.0.0_GH0.tar.gz) = 089013e3429ebe7fd2bc3527f003bf3f3f639891e5d8ba6a56010e3671465e1f
+SIZE (valyala-bytebufferpool-v1.0.0_GH0.tar.gz) = 5025
+SHA256 (valyala-fasthttp-v1.31.0_GH0.tar.gz) = 6a37505de34716ca2040236bf5589e6073c8825b1a23d50be27756b0459ed6a7
+SIZE (valyala-fasthttp-v1.31.0_GH0.tar.gz) = 225082
+SHA256 (xeipuuv-gojsonpointer-4e3ac2762d5f_GH0.tar.gz) = ad625b72ad9cbc347ca9d07af1e9dbe49feeb5688a70a015f2153a67e27328a0
+SIZE (xeipuuv-gojsonpointer-4e3ac2762d5f_GH0.tar.gz) = 7724
+SHA256 (xeipuuv-gojsonreference-bd5ef7bd5415_GH0.tar.gz) = f99765bc8692e620f8abc3f36e10df36a4161c5634505632599ce88abc2d8f55
+SIZE (xeipuuv-gojsonreference-bd5ef7bd5415_GH0.tar.gz) = 6958
+SHA256 (xeipuuv-gojsonschema-v1.2.0_GH0.tar.gz) = ad47429e26a7078df155bffe2d3ff2e967fb0d6be185b5ffe995d6731916bcf7
+SIZE (xeipuuv-gojsonschema-v1.2.0_GH0.tar.gz) = 73602
+SHA256 (yalp-jsonpath-5cc68e5049a0_GH0.tar.gz) = db0a46be858673fe827118d3225c15a6ca8dbfa450f781dd448d1125eb5490ce
+SIZE (yalp-jsonpath-5cc68e5049a0_GH0.tar.gz) = 7321
+SHA256 (yudai-gojsondiff-v1.0.0_GH0.tar.gz) = 0201cada9e0ed69da611ad169b4be2cc10154c2970d1166ff06ab617b981df7a
+SIZE (yudai-gojsondiff-v1.0.0_GH0.tar.gz) = 578577
+SHA256 (yudai-golcs-ecda9a501e82_GH0.tar.gz) = 080b0331f2d3e1f96446247afdc1c095d2ba2aca63a9b353fc4621e881d1dfa7
+SIZE (yudai-golcs-ecda9a501e82_GH0.tar.gz) = 3700
+SHA256 (yudai-pp-v2.0.1_GH0.tar.gz) = fd774bfe5dfc868e5918029160bbb6445df2ec6842dfbe004269c0e424a16136
+SIZE (yudai-pp-v2.0.1_GH0.tar.gz) = 6365
diff --git a/dns/acme-dns/files/acme-dns.in b/dns/acme-dns/files/acme-dns.in
new file mode 100644
index 000000000000..1b0b0e8e0d1e
--- /dev/null
+++ b/dns/acme-dns/files/acme-dns.in
@@ -0,0 +1,32 @@
+#!/bin/sh
+# $FreeBSD$
+#
+
+# PROVIDE: acme-dns
+# REQUIRE: LOGIN cleanvar
+# KEYWORD: shutdown
+
+#
+# Add the following lines to /etc/rc.conf[.local] to enable acme-dns:
+# acme_dns_enable="YES"
+#
+
+. /etc/rc.subr
+
+name="acme_dns"
+rcvar=${name}_enable
+
+load_rc_config $name
+
+#defaults
+: ${acme_dns_enable="NO"}
+: ${acme_dns_cmd="%%PREFIX%%/libexec/acme-dns"}
+: ${acme_dns_pidfile="/var/run/acme-dns/acme-dns.pid"}
+: ${acme_dns_log="/var/log/acme-dns.log"}
+: ${acme_dns_args=""}
+
+pidfile=${acme_dns_pidfile}
+command="/usr/sbin/daemon"
+command_args="-P ${pidfile} -r -f -m 3 -o ${acme_dns_log} ${acme_dns_cmd} ${acme_dns_args}"
+
+run_rc_command "$1"
diff --git a/dns/acme-dns/pkg-descr b/dns/acme-dns/pkg-descr
new file mode 100644
index 000000000000..9a62c8724ff7
--- /dev/null
+++ b/dns/acme-dns/pkg-descr
@@ -0,0 +1,4 @@
+Limited DNS server with RESTful HTTP API to handle ACME DNS challenges
+easily and securely. FreeBSD port by https://github.com/freultwah
+
+WWW: https://github.com/joohoi/acme-dns
diff --git a/dns/acme-dns/pkg-plist b/dns/acme-dns/pkg-plist
new file mode 100644
index 000000000000..a6791764e31c
--- /dev/null
+++ b/dns/acme-dns/pkg-plist
@@ -0,0 +1,4 @@
+libexec/acme-dns
+@dir /var/db/acme-dns
+@dir /var/run/acme-dns
+@sample etc/acme-dns/config.cfg.sample
diff --git a/security/cvechecker/files/patch-configure.ac b/security/cvechecker/files/patch-configure.ac
new file mode 100644
index 000000000000..98a87efce87d
--- /dev/null
+++ b/security/cvechecker/files/patch-configure.ac
@@ -0,0 +1,11 @@
+--- configure.ac.orig	2020-07-26 11:00:55 UTC
++++ configure.ac
+@@ -41,7 +41,7 @@ AC_MSG_WARN([Please make sure pkg-config is installed 
+ AC_TYPE_SIZE_T
+ 
+ AC_MSG_WARN([Please make sure pkg-config is installed and autoreconf run])
+-PKG_CHECK_MODULES([BSD], [libbsd])
++#PKG_CHECK_MODULES([BSD], [libbsd])
+ PKG_CHECK_MODULES([CONFIG], [libconfig >= 1.3])
+ CFLAGS="$CFLAGS $CONFIG_CFLAGS"
+ LIBS="$LIBS $CONFIG_LIBS $BSD_LIBS"
diff --git a/security/cvechecker/files/patch-src_cvecheck__common.h b/security/cvechecker/files/patch-src_cvecheck__common.h
new file mode 100644
index 000000000000..d0e8836573e1
--- /dev/null
+++ b/security/cvechecker/files/patch-src_cvecheck__common.h
@@ -0,0 +1,12 @@
+--- src/cvecheck_common.h.orig	2020-07-26 11:00:55 UTC
++++ src/cvecheck_common.h
+@@ -1,7 +1,9 @@
+ #include <stdio.h>
+ #include <libconfig.h>
+ #include <string.h>
++#if !defined(__FreeBSD__)
+ #include <bsd/string.h>
++#endif
+ 
+ #ifdef _USE_SQLITE3
+ #include <sqlite3.h>
diff --git a/security/cvechecker/files/patch-src_output_stringscmd.h b/security/cvechecker/files/patch-src_output_stringscmd.h
new file mode 100644
index 000000000000..f6cefc5dae45
--- /dev/null
+++ b/security/cvechecker/files/patch-src_output_stringscmd.h
@@ -0,0 +1,12 @@
+--- src/output/stringscmd.h.orig	2020-07-26 11:00:55 UTC
++++ src/output/stringscmd.h
+@@ -1,7 +1,9 @@
+ #include <regex.h>
+ #include <stdio.h>
+ #include <string.h>
++#if !defined(__FreeBSD__)
+ #include <bsd/string.h>
++#endif
+ #include "../cvecheck_common.h"
+ #include "../swstring.h"
+