Commit Graph
223 Commits
Author SHA1 Message Date
Simon Zeyer b2701161cb add AXFR request handling to support slaves
E2E Tests / e2e-tests (pull_request) Failing after 7s
golangci-lint / lint (pull_request) Failing after 4s
Go Coverage / Build and Test (pull_request) Failing after 13m36s
2026-02-24 19:50:54 +00:00
Simon Zeyer 87db76cf39 implement SOA serial bump and DNS slave server notify 2026-02-24 19:50:03 +00:00
Joona HoikkalaandGitHub 4e5a69e5fb Fix errors in auto-released docker images (#399) v2.0.2 2026-02-05 18:09:31 +02:00
Joona HoikkalaandGitHub 055f80bf9b Build and push a new docker image to Docker Hub when a release is triggered (#397) v2.0.1 2026-02-05 17:32:32 +02:00
Joona HoikkalaandGitHub 917ff10563 Update readme and changelog (#396) v2.0 2026-02-05 17:13:05 +02:00
Joona HoikkalaandGitHub c331e33178 Update goreleaser configuration and add a GitHub action to build a release on new version tags (#395) 2026-02-05 17:06:21 +02:00
5a7bc230b8 Refactoring (#325)
* Refactor core

* Re-added tests

* Small fixes

* Add tests for acmetxt cidrslice and util funcs

* Remove the last dangling reference to old logging package

* Refactoring (#327)

* chore: enable more linters and fix linter issues

* ci: enable linter checks on all branches and disable recurring checks

recurring linter checks don't make that much sense. The code & linter checks should not change on their own over night ;)

* chore: update packages

* Revert "chore: update packages"

This reverts commit 30250bf28c4b39e9e5b3af012a4e28ab036bf9af.

* chore: manually upgrade some packages

* Updated dependencies, wrote changelog entry and fixed namespace for release

* Refactoring - improving coverage (#371)

* Increase code coverage in acmedns

* More testing of ReadConfig() and its fallback mechanism

* Found that if someone put a '"' double quote into the filename that we configure zap to log to, it would cause the the JSON created to be invalid. I have replaced the JSON string with proper config

* Better handling of config options for api.TLS - we now error on an invalid value instead of silently failing.

added a basic test for api.setupTLS() (to increase test coverage)

* testing nameserver isOwnChallenge and isAuthoritative methods

* add a unit test for nameserver answerOwnChallenge

* fix linting errors

* bump go and golangci-lint versions in github actions

* Update golangci-lint.yml

Bumping github-actions workflow versions to accommodate some changes in upstream golanci-lint

* Bump Golang version to 1.23 (currently the oldest supported version)

Bump golanglint-ci to 2.0.2 and migrate the config file.

This should resolve the math/rand/v2 issue

* bump golanglint-ci action version

* Fixing up new golanglint-ci warnings and errors

---------

Co-authored-by: Joona Hoikkala <5235109+joohoi@users.noreply.github.com>

* Minor refactoring, error returns and e2e testing suite

* Add a few tests

* Fix linter and umask setting

* Update github actions

* Refine concurrency configuration for GitHub actions

* HTTP timeouts to API, and self-validation mutex to nameserver ops

---------

Co-authored-by: Florian Ritterhoff <32478819+fritterhoff@users.noreply.github.com>
Co-authored-by: Jason Playne <jason@jasonplayne.com>
2026-02-05 16:04:15 +02:00
Joona HoikkalaandGitHub b7a0a8a7bc Add timeout to golangci job (#369) v1.1 2024-12-15 13:19:23 +02:00
Joona HoikkalaandGitHub 139a0dd03b Update deps to support go 1.23 (#368)
* Update deps to support go 1.23

* Test updated golangci config

* Fix deprecated ioutil references
2024-12-15 13:00:37 +02:00
Joona HoikkalaandGitHub 27e8251d11 Bump dependencies (#334) 2023-03-07 01:45:39 +02:00
Joona HoikkalaandGitHub 6ba9360156 Update goreleaser config to work with latest version (#312) 2022-08-10 15:28:16 +03:00
Joona HoikkalaandGitHub 0c3d538de8 Update golint, dependencies and get to sane state (#313)
* Update golangci-lint config

* Fix mutex embedding lint issue

* Change go version

* Update dependencies

* Bump golangci-lint version
2022-08-10 15:17:11 +03:00
Joona HoikkalaandGitHub a33c09accf Deps update (#289)
* Dependency version bumps and according fixes & touchups

* Change to async to avoid interactive dialogs

* Move the Let's Encrypt environment selection to proper place
v1.0
2022-01-26 00:26:45 +02:00
Joona HoikkalaandGitHub 68bb6ab654 Add acme-dns-client to the documentation (#253) 2021-01-11 18:07:22 +02:00
Joona HoikkalaandGitHub 835fbb9ef6 Migrate to GitHub actions for coverage & unit test automation (#251) 2021-01-11 17:31:09 +02:00
Jonathan VanascoandGitHub 9c6ca258e1 relax subdomain validation from UUID to actual subdomain (#243) 2021-01-11 14:55:31 +02:00
Peter LebbingandGitHub d573f771a8 README: Use https URLs for API testing (#230) 2021-01-11 14:50:48 +02:00
Brett KellerandGitHub 035a219f9f Add support for LE expiration notification e-mails on API cert (#227) 2021-01-11 14:35:54 +02:00
Wouter TinusandGitHub 19069f50ec Update README.md (#210)
Add new website for win-acme
2020-02-10 19:27:16 +02:00
Joona HoikkalaandGitHub 5de21916a3 Handle go modules properly in Dockerfile with Go 1.13 (#207) 2020-01-10 12:32:11 +02:00
Joona HoikkalaandGitHub 3d5a512d1e Revert "Update modules (#203)" (#206)
This reverts commit 1681de11d2.
2020-01-09 08:39:04 +02:00
Joona HoikkalaandGitHub 9f7a158367 Update readme (#204) 2020-01-08 20:40:37 +02:00
Joona HoikkalaandGitHub 1681de11d2 Update modules (#203) 2020-01-08 07:53:11 +02:00
Marvin BlumandJoona Hoikkala 88d3be685e Removed example for health check endpoint because it is misleading. (#181) 2019-10-21 16:13:22 +03:00
Joona HoikkalaandGitHub aa3e7e1b75 Migrate over to certmagic from using autocert (#190)
* Use certmagic for challenge validation

* WIP

* Get the correct key

* Override preflight check logic

* Fix logging for imported packages and tidy config.cfg

* Fix test and add docstrings

* Update README
v0.8
2019-10-20 22:52:19 +03:00
Joona HoikkalaandGitHub af542b44a9 Proper EDNS0 (non)support (#188)
* Proper EDNS0 (non)support

* Add changelog entry

* Add EDNS0 tests
2019-10-18 22:24:56 +03:00
Joona HoikkalaandGitHub 5b1e51534f Migrate to Go 1.13 and gomodules (#187) 2019-10-17 14:21:04 +03:00
lateagainandJoona Hoikkala 637c82f407 Update acme-dns.service (#183)
Set working directory to service users home.
2019-09-18 16:05:32 +03:00
Daniel McCarneyandJoona Hoikkala e1f1d6af34 README: Add warning/advice about HTTPS API. (#169)
This commit updates the README to add a brief description of the `tls`
configuration options. In particular using `tls = "letsencrypt"` is
recommended and a warning is added about using `tls = "cert"` and
allowing the certificate to expire.
2019-06-12 15:42:23 +03:00
znerolandJoona Hoikkala c13035a344 Refactor: Use more specific type in argument of DB.Update (#162)
The DB.Update function takes a type of ACMETxt. However, the function
only requires the Value and Subdomain fields.

Refactor the function such that it takes ACMETxtPost instead of the full
ACMETxt record. This will simplify extraction of txt-record related
logic from the db code.
2019-06-12 15:41:02 +03:00
Joona HoikkalaandGitHub af5d2561d2 Fail closed with malformed allowfrom data in register endpoint (#148)
* Prepare readme for release

* Fail closed with malformed allowfrom data in register endpoint
2019-02-22 16:53:11 +02:00
Daniel Lo NigroandJoona Hoikkala 395cb7a62c Add Windows ACME Simple (win-acme) to clients list (#134)
* Add win-acme to clients list

* Use its official name ("Windows ACME Simple")

* Remove version number from WACS
2019-02-22 16:42:52 +02:00
Joona HoikkalaandGitHub 5d74ff1142 Prepare README for point release v0.7.2 (#153) v0.7.2 2019-02-07 09:58:07 +02:00
Ward VandewegeandJoona Hoikkala 37db83e5b7 Respond case insensitively to A and SOA requests (#152)
* When appending the SOA for authoritative NXDOMAIN responses, it needs to go in
the Authoritative section, not the Answer section.

This fixes the acme-dns validation for the lego Let's Encrypt client.

* Respond case-insensitively to A and SOA requests. Add corresponding tests.

This fixes the autocert feature with Let's Encrypt, because Let's Encrypt does
a lookup for the A record with a deliberately mangled case.
2019-02-07 09:16:33 +02:00
Ward VandewegeandJoona Hoikkala 41a1cff0ae When appending the SOA for authoritative NXDOMAIN responses, it needs to go in (#151)
the Authoritative section, not the Answer section.

This fixes the acme-dns validation for the lego Let's Encrypt client.
2019-02-07 09:13:47 +02:00
Joona HoikkalaandGitHub 4f5fad0d32 Prepare for point release (#150)
* Prepare for point release
v0.7.1
2019-02-06 12:13:00 +02:00
Ward VandewegeandJoona Hoikkala 5651772837 Make sure to initialize the SOA record for the tcp server, too. (#149) 2019-02-06 12:09:01 +02:00
Joona HoikkalaandGitHub 09dc25d336 Update vendored dependencies (#147)
* Prepare readme for release

* Update vendored packages

* New version of dns dependency handles rejecting UPDATEs under the hood

* Go 1.11 required
2019-02-04 00:21:42 +02:00
Joona HoikkalaandGitHub a88ee29755 Prepare readme for release (#146) 2019-02-03 20:32:02 +02:00
Joona HoikkalaandGitHub de7fe3cb1d Fix responses to be more standards compliant (#145)
* Handle OPT questions (EDNS)

* Handle authoritative bit, and append SOA for authoritative NXDOMAIN responses

* Changelog entry

* Fix linter errors
2019-02-03 20:19:15 +02:00
Joona HoikkalaandGitHub 7a2f9f06b1 Refactoring DNS server part for safer paraller execution (#144)
* Refactoring DNS server part for safer paraller execution and better data structures

* Fix linter issues
2019-02-03 17:23:04 +02:00
Joona HoikkalaandGitHub d695f72963 Fix the default configuration SQLite db path (#143) 2019-02-01 09:55:26 +02:00
Marvin BlumandJoona Hoikkala aff13a02fb Added http health check endpoint. (#137)
* Added http health check endpoint.

* Fixed performing POST on GET endpoint.

* Explicitly return http status 200 in health check endpoint.

* Updated changelog.
2019-01-25 19:22:53 +02:00
Joona HoikkalaandGitHub 7fbb5261c8 Fix test not to assume preset UseHeaders value (#139) 2019-01-25 18:36:29 +02:00
Philip VieiraandJoona Hoikkala 2da94f1462 Clarify how to test that the DNS Lookup is working (#133)
Reasoning: Unless you specify that you're looking for a TXT record, you will not get the answer from the DNS server
2019-01-20 18:23:07 +02:00
Christopher CookandJoona Hoikkala ea4d125663 Add Certify The Web to clients list (#131)
Certify now supports acme-dns in the latest beta.
https://github.com/webprofusion/certify/issues/391
2018-12-18 11:05:01 +02:00
Joona HoikkalaandGitHub f64de0353d Fix Docker instructions and add option to bind both UDP and TCP DNS listeners (#130) 2018-12-13 12:19:10 +02:00
Joona HoikkalaandGitHub 20411b650f Update changelog and prepare for release v0.6 (#125) v0.6 2018-10-31 15:13:29 +02:00
Joona HoikkalaandGitHub 3bb130d055 Refuse dynamic updates properly (#124) 2018-10-31 15:01:42 +02:00
Joona HoikkalaandGitHub 1d85bf75b0 Added Traefik and cert-manager to client list (#123) 2018-10-31 01:13:10 +02:00