dns/acme-dns
Limited DNS server with RESTful HTTP API to handle ACME DNS challenges
| Flavor | Version | Run | OSVersion | Arch | License | Restricted | Status | |
|---|---|---|---|---|---|---|---|---|
| 1.0,1 | 634 | 4.0 | i386 | mit | 0 | fail |
License Permissions: dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
Events
| Machine | Type | Time | Message |
|---|---|---|---|
| m4032b | info | 2026-04-23 08:24:45.08195 | Test Started |
| m4032b | fail | 2026-04-23 08:27:06.510729 | make test returned non-zero: 1 |
| m4032b | fail | 2026-04-23 08:27:06.578646 | Test complete. |
Log
[1m===> Testing for acme-dns-1.0,1[0m
(cd /magus/work/usr/mports/dns/acme-dns/work/acme-dns-1.0; for t in ./...; do echo "===> Testing ${t}"; /usr/bin/env -i HOME=/magus/work/usr/mports/dns/acme-dns/work MACHINE_ARCH=i386 PWD="${PWD}" GIT_CEILING_DIRECTORIES=/magus/work/usr/mports/dns/acme-dns/work __MAKE_CONF=/nonexistent OSVERSION=400003 PATH=/magus/work/usr/mports/dns/acme-dns/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin TERM=vt100 TMPDIR=/tmp XDG_DATA_HOME=/magus/work/usr/mports/dns/acme-dns/work XDG_CONFIG_HOME=/magus/work/usr/mports/dns/acme-dns/work XDG_CACHE_HOME=/magus/work/usr/mports/dns/acme-dns/work/.cache HOME=/magus/work/usr/mports/dns/acme-dns/work TMPDIR="/tmp" PATH=/magus/work/usr/mports/dns/acme-dns/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/magus/work/usr/mports/dns/acme-dns/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES TARGETDIR=/usr/local DESTDIR= PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" -fstack-protector-strong " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" CGO_ENABLED=1 CGO_CFLAGS="-I/usr/local/include" CGO_LDFLAGS="-L/usr/local/lib" GOAMD64= GOARM= GOTMPDIR="/magus/work/usr/mports/dns/acme-dns/work" GOPATH="/magus/distfiles/go/dns_acme-dns" GOBIN="/magus/work/usr/mports/dns/acme-dns/work/bin" GO111MODULE=on GOFLAGS=-modcacherw GOSUMDB=sum.golang.org GO_NO_VENDOR_CHECKS=1 GOPROXY=off /usr/local/bin/go124 test -v -buildvcs=false -mod=vendor ${t}; done)
===> Testing ./...
=== RUN TestApiRegister
printer.go:33: curl -X 'POST' 'http://127.0.0.1:39286/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:39286
printer.go:102: HTTP/1.1 201 Created 238.210306ms
Content-Length: 224
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:57 GMT
Vary: Origin
{"username":"45c61436-77f4-4427-be7c-78f54682a0f8","password":"-Q5wMgTvSYaWGdj29xTbv_uLSrZZQXYBHs-0qJ1d","fulldomain":"20179d0b-3477-4a62-bd48-5009a6d27e42.","subdomain":"20179d0b-3477-4a62-bd48-5009a6d27e42","allowfrom":[]}
printer.go:33: curl -X 'POST' -d '{"allowfrom":["123.123.123.123/32","2001:db8:a0b:12f0::1/32","[::1]/64"]}' -H 'Content-Type: application/json; charset=utf-8' 'http://127.0.0.1:39286/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:39286
Content-Type: application/json; charset=utf-8
{"allowfrom":["123.123.123.123/32","2001:db8:a0b:12f0::1/32","[::1]/64"]}
printer.go:102: HTTP/1.1 201 Created 243.427147ms
Content-Length: 279
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"username":"e17e2a58-aec0-4d54-bd11-bf7d37843f79","password":"lUiMNs-EirisHH3OTct5aer0dPF2ayCWAsPlaeVa","fulldomain":"54f05744-be82-4af1-a6f2-231496d1a2c9.","subdomain":"54f05744-be82-4af1-a6f2-231496d1a2c9","allowfrom":["123.123.123.123/32","2001:db8:a0b:12f0::1/32","::1/64"]}
--- PASS: TestApiRegister (0.48s)
=== RUN TestApiRegisterBadAllowFrom
printer.go:33: curl -X 'POST' -d '{"allowfrom":["invalid"]}' -H 'Content-Type: application/json; charset=utf-8' 'http://127.0.0.1:10446/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:10446
Content-Type: application/json; charset=utf-8
{"allowfrom":["invalid"]}
printer.go:102: HTTP/1.1 400 Bad Request 1.114054ms
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "invalid_allowfrom_cidr"}
printer.go:33: curl -X 'POST' -d '{"allowfrom":["1.2.3.4/33"]}' -H 'Content-Type: application/json; charset=utf-8' 'http://127.0.0.1:10446/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:10446
Content-Type: application/json; charset=utf-8
{"allowfrom":["1.2.3.4/33"]}
printer.go:102: HTTP/1.1 400 Bad Request 536.709µs
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "invalid_allowfrom_cidr"}
printer.go:33: curl -X 'POST' -d '{"allowfrom":["1.2/24"]}' -H 'Content-Type: application/json; charset=utf-8' 'http://127.0.0.1:10446/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:10446
Content-Type: application/json; charset=utf-8
{"allowfrom":["1.2/24"]}
printer.go:102: HTTP/1.1 400 Bad Request 515.428µs
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "invalid_allowfrom_cidr"}
printer.go:33: curl -X 'POST' -d '{"allowfrom":["1.2.3.4"]}' -H 'Content-Type: application/json; charset=utf-8' 'http://127.0.0.1:10446/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:10446
Content-Type: application/json; charset=utf-8
{"allowfrom":["1.2.3.4"]}
printer.go:102: HTTP/1.1 400 Bad Request 379.705µs
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "invalid_allowfrom_cidr"}
printer.go:33: curl -X 'POST' -d '{"allowfrom":["12345:db8:a0b:12f0::1/32"]}' -H 'Content-Type: application/json; charset=utf-8' 'http://127.0.0.1:10446/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:10446
Content-Type: application/json; charset=utf-8
{"allowfrom":["12345:db8:a0b:12f0::1/32"]}
printer.go:102: HTTP/1.1 400 Bad Request 883.836µs
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "invalid_allowfrom_cidr"}
printer.go:33: curl -X 'POST' -d '{"allowfrom":["1234::123::123::1/32"]}' -H 'Content-Type: application/json; charset=utf-8' 'http://127.0.0.1:10446/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:10446
Content-Type: application/json; charset=utf-8
{"allowfrom":["1234::123::123::1/32"]}
printer.go:102: HTTP/1.1 400 Bad Request 623.34µs
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "invalid_allowfrom_cidr"}
--- PASS: TestApiRegisterBadAllowFrom (0.01s)
=== RUN TestApiRegisterMalformedJSON
printer.go:33: curl -X 'POST' -d '{"allowfrom'\'': '\''1.1.1.1/32'\''}' 'http://127.0.0.1:16018/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:16018
{"allowfrom': '1.1.1.1/32'}
printer.go:102: HTTP/1.1 400 Bad Request 1.047948ms
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "malformed_json_payload"}
printer.go:33: curl -X 'POST' -d '"allowfrom": "1.1.1.1/32"' 'http://127.0.0.1:16018/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:16018
"allowfrom": "1.1.1.1/32"
printer.go:102: HTTP/1.1 400 Bad Request 715.642µs
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "malformed_json_payload"}
printer.go:33: curl -X 'POST' -d '{"allowfrom": "[1.1.1.1/32]"' 'http://127.0.0.1:16018/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:16018
{"allowfrom": "[1.1.1.1/32]"
printer.go:102: HTTP/1.1 400 Bad Request 774.309µs
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "malformed_json_payload"}
printer.go:33: curl -X 'POST' -d '"allowfrom": "1.1.1.1/32"}' 'http://127.0.0.1:16018/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:16018
"allowfrom": "1.1.1.1/32"}
printer.go:102: HTTP/1.1 400 Bad Request 762.82µs
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "malformed_json_payload"}
printer.go:33: curl -X 'POST' -d '{allowfrom: "1.2.3.4"}' 'http://127.0.0.1:16018/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:16018
{allowfrom: "1.2.3.4"}
printer.go:102: HTTP/1.1 400 Bad Request 705.85µs
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "malformed_json_payload"}
printer.go:33: curl -X 'POST' -d '{allowfrom: [1.2.3.4]}' 'http://127.0.0.1:16018/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:16018
{allowfrom: [1.2.3.4]}
printer.go:102: HTTP/1.1 400 Bad Request 536.155µs
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "malformed_json_payload"}
printer.go:33: curl -X 'POST' -d 'whatever that'\''s not a json payload' 'http://127.0.0.1:16018/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:16018
whatever that's not a json payload
printer.go:102: HTTP/1.1 400 Bad Request 473.633µs
Content-Length: 35
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "malformed_json_payload"}
--- PASS: TestApiRegisterMalformedJSON (0.01s)
=== RUN TestApiRegisterWithMockDB
printer.go:33: curl -X 'POST' 'http://127.0.0.1:45221/register'
printer.go:85: POST /register HTTP/1.1
Host: 127.0.0.1:45221
printer.go:102: HTTP/1.1 500 Internal Server Error 238.469412ms
Content-Length: 22
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "SQL error"}
--- PASS: TestApiRegisterWithMockDB (0.24s)
=== RUN TestApiUpdateWithInvalidSubdomain
printer.go:33: curl -X 'POST' -d '{"subdomain":"example.com","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: zYomXY_lCK2wi_bvsTO1GUndnelTkUlchnJQ7tjV' -H 'X-Api-User: 8bffa1f7-8559-447c-a310-dfe016397954' 'http://127.0.0.1:54022/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:54022
Content-Type: application/json; charset=utf-8
X-Api-Key: zYomXY_lCK2wi_bvsTO1GUndnelTkUlchnJQ7tjV
X-Api-User: 8bffa1f7-8559-447c-a310-dfe016397954
{"subdomain":"example.com","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 401 Unauthorized 247.538424ms
Content-Length: 22
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:58 GMT
Vary: Origin
{"error": "forbidden"}
--- PASS: TestApiUpdateWithInvalidSubdomain (0.49s)
=== RUN TestApiUpdateWithInvalidTxt
printer.go:33: curl -X 'POST' -d '{"subdomain":"4dca829a-7b63-4b36-9ff5-3affb1eedcf8","txt":"idk m8 bbl lmao"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: MFvsKONIdAmMBZpvNtFTV6W0gvNEHTFhdqdstbf7' -H 'X-Api-User: b884e2ce-fc1b-4365-bd10-abefb91a8295' 'http://127.0.0.1:60186/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:60186
Content-Type: application/json; charset=utf-8
X-Api-Key: MFvsKONIdAmMBZpvNtFTV6W0gvNEHTFhdqdstbf7
X-Api-User: b884e2ce-fc1b-4365-bd10-abefb91a8295
{"subdomain":"4dca829a-7b63-4b36-9ff5-3affb1eedcf8","txt":"idk m8 bbl lmao"}
printer.go:102: HTTP/1.1 400 Bad Request 218.634495ms
Content-Length: 20
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:59 GMT
Vary: Origin
{"error": "bad_txt"}
--- PASS: TestApiUpdateWithInvalidTxt (0.40s)
=== RUN TestApiUpdateWithoutCredentials
printer.go:33: curl -X 'POST' 'http://127.0.0.1:54409/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:54409
printer.go:102: HTTP/1.1 401 Unauthorized 977.505µs
Content-Length: 22
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:59 GMT
Vary: Origin
{"error": "forbidden"}
--- PASS: TestApiUpdateWithoutCredentials (0.00s)
=== RUN TestApiUpdateWithCredentials
printer.go:33: curl -X 'POST' -d '{"subdomain":"ebb24569-63d1-4907-81d9-e50c20a8d663","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: BlYD6qq0R8Ei6aIkC0QBuLYD6ZqHxESquyEQpyBp' -H 'X-Api-User: 5a4e2105-9b75-4f04-9ff7-c86d2f9ded47' 'http://127.0.0.1:57953/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:57953
Content-Type: application/json; charset=utf-8
X-Api-Key: BlYD6qq0R8Ei6aIkC0QBuLYD6ZqHxESquyEQpyBp
X-Api-User: 5a4e2105-9b75-4f04-9ff7-c86d2f9ded47
{"subdomain":"ebb24569-63d1-4907-81d9-e50c20a8d663","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 200 OK 240.773642ms
Content-Length: 54
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:59 GMT
Vary: Origin
{"txt": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
--- PASS: TestApiUpdateWithCredentials (0.36s)
=== RUN TestApiUpdateWithCredentialsMockDB
printer.go:33: curl -X 'POST' -d '{"subdomain":"a097455b-52cc-4569-90c8-7a4b97c6eba8","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' 'http://127.0.0.1:28903/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:28903
Content-Type: application/json; charset=utf-8
{"subdomain":"a097455b-52cc-4569-90c8-7a4b97c6eba8","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 500 Internal Server Error 2.183666ms
Content-Length: 21
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:26:59 GMT
Vary: Origin
{"error": "db_error"}
--- PASS: TestApiUpdateWithCredentialsMockDB (0.00s)
=== RUN TestApiManyUpdateWithCredentials
printer.go:33: curl -X 'POST' -d '{"subdomain":"non-uuid-subdomain","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: tooshortpass' -H 'X-Api-User: non-uuid-user' -H 'X-Forwarded-For: 10.1.2.3' 'http://127.0.0.1:21344/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:21344
Content-Type: application/json; charset=utf-8
X-Api-Key: tooshortpass
X-Api-User: non-uuid-user
X-Forwarded-For: 10.1.2.3
{"subdomain":"non-uuid-subdomain","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 401 Unauthorized 1.131992ms
Content-Length: 22
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:00 GMT
Vary: Origin
{"error": "forbidden"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"bb97455b-52cc-4569-90c8-7a4b97c6eba8","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: tooshortpass' -H 'X-Api-User: a097455b-52cc-4569-90c8-7a4b97c6eba8' -H 'X-Forwarded-For: 10.1.2.3' 'http://127.0.0.1:21344/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:21344
Content-Type: application/json; charset=utf-8
X-Api-Key: tooshortpass
X-Api-User: a097455b-52cc-4569-90c8-7a4b97c6eba8
X-Forwarded-For: 10.1.2.3
{"subdomain":"bb97455b-52cc-4569-90c8-7a4b97c6eba8","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 401 Unauthorized 771.547µs
Content-Length: 22
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:00 GMT
Vary: Origin
{"error": "forbidden"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"bb97455b-52cc-4569-90c8-7a4b97c6eba8","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: LongEnoughPassButNoUserExists___________' -H 'X-Api-User: a097455b-52cc-4569-90c8-7a4b97c6eba8' -H 'X-Forwarded-For: 10.1.2.3' 'http://127.0.0.1:21344/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:21344
Content-Type: application/json; charset=utf-8
X-Api-Key: LongEnoughPassButNoUserExists___________
X-Api-User: a097455b-52cc-4569-90c8-7a4b97c6eba8
X-Forwarded-For: 10.1.2.3
{"subdomain":"bb97455b-52cc-4569-90c8-7a4b97c6eba8","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 401 Unauthorized 190.064169ms
Content-Length: 22
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:00 GMT
Vary: Origin
{"error": "forbidden"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"a097455b-52cc-4569-90c8-7a4b97c6eba8","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: 8dEoKEXMdC5hu9zQ9I3B8lK0ebdufus0ViLyL8Vs' -H 'X-Api-User: 9d4249e5-7a9f-4280-875a-d7921c2988f9' -H 'X-Forwarded-For: 10.1.2.3' 'http://127.0.0.1:21344/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:21344
Content-Type: application/json; charset=utf-8
X-Api-Key: 8dEoKEXMdC5hu9zQ9I3B8lK0ebdufus0ViLyL8Vs
X-Api-User: 9d4249e5-7a9f-4280-875a-d7921c2988f9
X-Forwarded-For: 10.1.2.3
{"subdomain":"a097455b-52cc-4569-90c8-7a4b97c6eba8","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 401 Unauthorized 222.176042ms
Content-Length: 22
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:00 GMT
Vary: Origin
{"error": "forbidden"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"77a36e24-8626-48ca-9d9d-b4e17db39d35","txt":"tooshortfortxt"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: 8dEoKEXMdC5hu9zQ9I3B8lK0ebdufus0ViLyL8Vs' -H 'X-Api-User: 9d4249e5-7a9f-4280-875a-d7921c2988f9' -H 'X-Forwarded-For: 10.1.2.3' 'http://127.0.0.1:21344/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:21344
Content-Type: application/json; charset=utf-8
X-Api-Key: 8dEoKEXMdC5hu9zQ9I3B8lK0ebdufus0ViLyL8Vs
X-Api-User: 9d4249e5-7a9f-4280-875a-d7921c2988f9
X-Forwarded-For: 10.1.2.3
{"subdomain":"77a36e24-8626-48ca-9d9d-b4e17db39d35","txt":"tooshortfortxt"}
printer.go:102: HTTP/1.1 400 Bad Request 122.244994ms
Content-Length: 20
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:00 GMT
Vary: Origin
{"error": "bad_txt"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"77a36e24-8626-48ca-9d9d-b4e17db39d35","txt":1234567890}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: 8dEoKEXMdC5hu9zQ9I3B8lK0ebdufus0ViLyL8Vs' -H 'X-Api-User: 9d4249e5-7a9f-4280-875a-d7921c2988f9' -H 'X-Forwarded-For: 10.1.2.3' 'http://127.0.0.1:21344/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:21344
Content-Type: application/json; charset=utf-8
X-Api-Key: 8dEoKEXMdC5hu9zQ9I3B8lK0ebdufus0ViLyL8Vs
X-Api-User: 9d4249e5-7a9f-4280-875a-d7921c2988f9
X-Forwarded-For: 10.1.2.3
{"subdomain":"77a36e24-8626-48ca-9d9d-b4e17db39d35","txt":1234567890}
printer.go:102: HTTP/1.1 400 Bad Request 238.820215ms
Content-Length: 20
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:00 GMT
Vary: Origin
{"error": "bad_txt"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"77a36e24-8626-48ca-9d9d-b4e17db39d35","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: 8dEoKEXMdC5hu9zQ9I3B8lK0ebdufus0ViLyL8Vs' -H 'X-Api-User: 9d4249e5-7a9f-4280-875a-d7921c2988f9' -H 'X-Forwarded-For: 10.1.2.3' 'http://127.0.0.1:21344/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:21344
Content-Type: application/json; charset=utf-8
X-Api-Key: 8dEoKEXMdC5hu9zQ9I3B8lK0ebdufus0ViLyL8Vs
X-Api-User: 9d4249e5-7a9f-4280-875a-d7921c2988f9
X-Forwarded-For: 10.1.2.3
{"subdomain":"77a36e24-8626-48ca-9d9d-b4e17db39d35","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 200 OK 245.288131ms
Content-Length: 54
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:01 GMT
Vary: Origin
{"txt": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"279ab4b8-95b9-498f-9886-a01c0b891878","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: Bsk4O9u1opZjR5_rnxOxWN8GnLaQqAALZF-Dp8Kj' -H 'X-Api-User: e99611d0-c93c-4d90-9825-f583ff298deb' -H 'X-Forwarded-For: 10.1.2.3' 'http://127.0.0.1:21344/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:21344
Content-Type: application/json; charset=utf-8
X-Api-Key: Bsk4O9u1opZjR5_rnxOxWN8GnLaQqAALZF-Dp8Kj
X-Api-User: e99611d0-c93c-4d90-9825-f583ff298deb
X-Forwarded-For: 10.1.2.3
{"subdomain":"279ab4b8-95b9-498f-9886-a01c0b891878","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 401 Unauthorized 246.532777ms
Content-Length: 22
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:01 GMT
Vary: Origin
{"error": "forbidden"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"8ee7fa6c-c62e-456f-8754-99382fde8e8e","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: 2IqtrKu11oWjichkav6pWqj6Zv2YzSblKj17IT5P' -H 'X-Api-User: 0e634a9c-e628-4403-b60c-e3c1e9ea8a4e' -H 'X-Forwarded-For: 10.1.2.3' 'http://127.0.0.1:21344/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:21344
Content-Type: application/json; charset=utf-8
X-Api-Key: 2IqtrKu11oWjichkav6pWqj6Zv2YzSblKj17IT5P
X-Api-User: 0e634a9c-e628-4403-b60c-e3c1e9ea8a4e
X-Forwarded-For: 10.1.2.3
{"subdomain":"8ee7fa6c-c62e-456f-8754-99382fde8e8e","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 200 OK 126.07069ms
Content-Length: 54
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:01 GMT
Vary: Origin
{"txt": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"77a36e24-8626-48ca-9d9d-b4e17db39d35","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' -H 'X-Api-User: 9d4249e5-7a9f-4280-875a-d7921c2988f9' -H 'X-Forwarded-For: 10.1.2.3' 'http://127.0.0.1:21344/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:21344
Content-Type: application/json; charset=utf-8
X-Api-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
X-Api-User: 9d4249e5-7a9f-4280-875a-d7921c2988f9
X-Forwarded-For: 10.1.2.3
{"subdomain":"77a36e24-8626-48ca-9d9d-b4e17db39d35","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 401 Unauthorized 247.716574ms
Content-Length: 22
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:01 GMT
Vary: Origin
{"error": "forbidden"}
--- PASS: TestApiManyUpdateWithCredentials (2.11s)
=== RUN TestApiManyUpdateWithIpCheckHeaders
printer.go:33: curl -X 'POST' -d '{"subdomain":"6a64ad7e-907d-49ee-978c-c90883488ee4","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: -hUnu1oqJw99McPXJpPlwVmlnK57-WXMVaGiMDiw' -H 'X-Api-User: ef4f78b7-8539-4151-9524-d2f4a9609216' -H 'X-Forwarded-For: whatever goes' 'http://127.0.0.1:39107/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:39107
Content-Type: application/json; charset=utf-8
X-Api-Key: -hUnu1oqJw99McPXJpPlwVmlnK57-WXMVaGiMDiw
X-Api-User: ef4f78b7-8539-4151-9524-d2f4a9609216
X-Forwarded-For: whatever goes
{"subdomain":"6a64ad7e-907d-49ee-978c-c90883488ee4","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 200 OK 231.215798ms
Content-Length: 54
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:02 GMT
Vary: Origin
{"txt": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"6a64ad7e-907d-49ee-978c-c90883488ee4","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: -hUnu1oqJw99McPXJpPlwVmlnK57-WXMVaGiMDiw' -H 'X-Api-User: ef4f78b7-8539-4151-9524-d2f4a9609216' -H 'X-Forwarded-For: 10.0.0.1, 1.2.3.4 ,3.4.5.6' 'http://127.0.0.1:39107/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:39107
Content-Type: application/json; charset=utf-8
X-Api-Key: -hUnu1oqJw99McPXJpPlwVmlnK57-WXMVaGiMDiw
X-Api-User: ef4f78b7-8539-4151-9524-d2f4a9609216
X-Forwarded-For: 10.0.0.1, 1.2.3.4 ,3.4.5.6
{"subdomain":"6a64ad7e-907d-49ee-978c-c90883488ee4","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 200 OK 125.300292ms
Content-Length: 54
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:02 GMT
Vary: Origin
{"txt": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"2881f292-8b78-48fb-ad62-25e9596ba052","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: PrQgOBSyhaG7_4oLWw_Qozs9hlluGxajvLh7lA2v' -H 'X-Api-User: 9169db58-a4ce-456d-9baf-8bbffe2a0731' -H 'X-Forwarded-For: 127.0.0.1' 'http://127.0.0.1:39107/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:39107
Content-Type: application/json; charset=utf-8
X-Api-Key: PrQgOBSyhaG7_4oLWw_Qozs9hlluGxajvLh7lA2v
X-Api-User: 9169db58-a4ce-456d-9baf-8bbffe2a0731
X-Forwarded-For: 127.0.0.1
{"subdomain":"2881f292-8b78-48fb-ad62-25e9596ba052","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 401 Unauthorized 240.014131ms
Content-Length: 22
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:02 GMT
Vary: Origin
{"error": "forbidden"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"2881f292-8b78-48fb-ad62-25e9596ba052","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: PrQgOBSyhaG7_4oLWw_Qozs9hlluGxajvLh7lA2v' -H 'X-Api-User: 9169db58-a4ce-456d-9baf-8bbffe2a0731' -H 'X-Forwarded-For: 10.0.0.1, 10.0.0.2, 192.168.1.3' 'http://127.0.0.1:39107/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:39107
Content-Type: application/json; charset=utf-8
X-Api-Key: PrQgOBSyhaG7_4oLWw_Qozs9hlluGxajvLh7lA2v
X-Api-User: 9169db58-a4ce-456d-9baf-8bbffe2a0731
X-Forwarded-For: 10.0.0.1, 10.0.0.2, 192.168.1.3
{"subdomain":"2881f292-8b78-48fb-ad62-25e9596ba052","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 401 Unauthorized 246.138021ms
Content-Length: 22
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:03 GMT
Vary: Origin
{"error": "forbidden"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"2881f292-8b78-48fb-ad62-25e9596ba052","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: PrQgOBSyhaG7_4oLWw_Qozs9hlluGxajvLh7lA2v' -H 'X-Api-User: 9169db58-a4ce-456d-9baf-8bbffe2a0731' -H 'X-Forwarded-For: 10.1.1.1 ,192.168.1.2, 8.8.8.8' 'http://127.0.0.1:39107/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:39107
Content-Type: application/json; charset=utf-8
X-Api-Key: PrQgOBSyhaG7_4oLWw_Qozs9hlluGxajvLh7lA2v
X-Api-User: 9169db58-a4ce-456d-9baf-8bbffe2a0731
X-Forwarded-For: 10.1.1.1 ,192.168.1.2, 8.8.8.8
{"subdomain":"2881f292-8b78-48fb-ad62-25e9596ba052","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 200 OK 247.202029ms
Content-Length: 54
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:03 GMT
Vary: Origin
{"txt": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"2af425d4-6abf-4f62-b5d5-b980882341d0","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: ZUllWplxdiEOC4mmmj2N98YOih1gp3XirereKTWt' -H 'X-Api-User: ecc1ff8e-b17d-45bc-b485-03942f002d87' -H 'X-Forwarded-For: 2002:c0a8:b4dc:0d3::0' 'http://127.0.0.1:39107/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:39107
Content-Type: application/json; charset=utf-8
X-Api-Key: ZUllWplxdiEOC4mmmj2N98YOih1gp3XirereKTWt
X-Api-User: ecc1ff8e-b17d-45bc-b485-03942f002d87
X-Forwarded-For: 2002:c0a8:b4dc:0d3::0
{"subdomain":"2af425d4-6abf-4f62-b5d5-b980882341d0","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 200 OK 247.854211ms
Content-Length: 54
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:03 GMT
Vary: Origin
{"txt": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"2af425d4-6abf-4f62-b5d5-b980882341d0","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: ZUllWplxdiEOC4mmmj2N98YOih1gp3XirereKTWt' -H 'X-Api-User: ecc1ff8e-b17d-45bc-b485-03942f002d87' -H 'X-Forwarded-For: 2002:c0a7:0ff::0' 'http://127.0.0.1:39107/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:39107
Content-Type: application/json; charset=utf-8
X-Api-Key: ZUllWplxdiEOC4mmmj2N98YOih1gp3XirereKTWt
X-Api-User: ecc1ff8e-b17d-45bc-b485-03942f002d87
X-Forwarded-For: 2002:c0a7:0ff::0
{"subdomain":"2af425d4-6abf-4f62-b5d5-b980882341d0","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 401 Unauthorized 180.512351ms
Content-Length: 22
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:03 GMT
Vary: Origin
{"error": "forbidden"}
printer.go:33: curl -X 'POST' -d '{"subdomain":"2af425d4-6abf-4f62-b5d5-b980882341d0","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' -H 'Content-Type: application/json; charset=utf-8' -H 'X-Api-Key: ZUllWplxdiEOC4mmmj2N98YOih1gp3XirereKTWt' -H 'X-Api-User: ecc1ff8e-b17d-45bc-b485-03942f002d87' -H 'X-Forwarded-For: 2002:c0a8:d3ad:b33f:c0ff:33b4:dc0d:3b4d' 'http://127.0.0.1:39107/update'
printer.go:85: POST /update HTTP/1.1
Host: 127.0.0.1:39107
Content-Type: application/json; charset=utf-8
X-Api-Key: ZUllWplxdiEOC4mmmj2N98YOih1gp3XirereKTWt
X-Api-User: ecc1ff8e-b17d-45bc-b485-03942f002d87
X-Forwarded-For: 2002:c0a8:d3ad:b33f:c0ff:33b4:dc0d:3b4d
{"subdomain":"2af425d4-6abf-4f62-b5d5-b980882341d0","txt":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
printer.go:102: HTTP/1.1 200 OK 218.360282ms
Content-Length: 54
Content-Type: application/json
Date: Thu, 23 Apr 2026 08:27:03 GMT
Vary: Origin
{"txt": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
--- PASS: TestApiManyUpdateWithIpCheckHeaders (2.15s)
=== RUN TestApiHealthCheck
printer.go:33: curl -X 'GET' 'http://127.0.0.1:13852/health'
printer.go:85: GET /health HTTP/1.1
Host: 127.0.0.1:13852
printer.go:102: HTTP/1.1 200 OK 1.130463ms
Date: Thu, 23 Apr 2026 08:27:03 GMT
Vary: Origin
Content-Length: 0
--- PASS: TestApiHealthCheck (0.00s)
=== RUN TestUpdateAllowedFromIP
--- PASS: TestUpdateAllowedFromIP (0.00s)
=== RUN TestDBInit
--- PASS: TestDBInit (0.00s)
=== RUN TestRegisterNoCIDR
--- PASS: TestRegisterNoCIDR (0.23s)
=== RUN TestRegisterMany
--- PASS: TestRegisterMany (0.34s)
=== RUN TestGetByUsername
--- PASS: TestGetByUsername (0.23s)
=== RUN TestPrepareErrors
--- PASS: TestPrepareErrors (0.11s)
=== RUN TestQueryExecErrors
--- PASS: TestQueryExecErrors (0.18s)
=== RUN TestQueryScanErrors
--- PASS: TestQueryScanErrors (0.09s)
=== RUN TestBadDBValues
--- PASS: TestBadDBValues (0.09s)
=== RUN TestGetTXTForDomain
--- PASS: TestGetTXTForDomain (0.09s)
=== RUN TestUpdate
--- PASS: TestUpdate (0.09s)
=== RUN TestQuestionDBError
--- PASS: TestQuestionDBError (0.00s)
=== RUN TestParse
--- PASS: TestParse (0.00s)
=== RUN TestResolveA
--- PASS: TestResolveA (0.00s)
=== RUN TestEDNS
--- PASS: TestEDNS (0.00s)
=== RUN TestEDNSA
--- PASS: TestEDNSA (0.00s)
=== RUN TestEDNSBADVERS
--- PASS: TestEDNSBADVERS (0.00s)
=== RUN TestResolveCNAME
--- PASS: TestResolveCNAME (0.00s)
=== RUN TestAuthoritative
--- PASS: TestAuthoritative (0.00s)
=== RUN TestResolveTXT
--- PASS: TestResolveTXT (0.19s)
=== RUN TestCaseInsensitiveResolveA
--- PASS: TestCaseInsensitiveResolveA (0.00s)
=== RUN TestCaseInsensitiveResolveSOA
--- PASS: TestCaseInsensitiveResolveSOA (0.00s)
=== RUN TestSetupLogging
--- PASS: TestSetupLogging (0.00s)
=== RUN TestReadConfig
--- PASS: TestReadConfig (0.00s)
=== RUN TestGetIPListFromHeader
--- PASS: TestGetIPListFromHeader (0.00s)
=== RUN TestFileCheckPermissionDenied
util_test.go:109: File should not be accessible
--- FAIL: TestFileCheckPermissionDenied (0.00s)
=== RUN TestFileCheckNotExists
--- PASS: TestFileCheckNotExists (0.00s)
=== RUN TestFileCheckOK
--- PASS: TestFileCheckOK (0.00s)
=== RUN TestPrepareConfig
--- PASS: TestPrepareConfig (0.00s)
=== RUN TestGetValidUsername
--- PASS: TestGetValidUsername (0.00s)
=== RUN TestValidKey
--- PASS: TestValidKey (0.00s)
=== RUN TestGetValidSubdomain
--- PASS: TestGetValidSubdomain (0.00s)
=== RUN TestValidTXT
--- PASS: TestValidTXT (0.00s)
=== RUN TestCorrectPassword
--- PASS: TestCorrectPassword (0.55s)
=== RUN TestGetValidCIDRMasks
--- PASS: TestGetValidCIDRMasks (0.00s)
FAIL
FAIL github.com/joohoi/acme-dns 8.484s
FAIL
*** Error code 1
Stop.
make: stopped in /usr/mports/dns/acme-dns
Links
Depends On
- lang/go124 (build)
Depend Of
NothingCategories
CVEs
- Loading CVE information...
MidnightBSD Magus