Commit Graph

11 Commits

Author SHA1 Message Date
Matthew Holt
98d2930e1d
Improve DNS related logging 2024-04-08 12:24:15 -06:00
Matthew Holt
1bdc8fd841
Remove flaky tests...
We need a better way of testing DNS utils.
2023-07-09 21:53:48 -06:00
Francis Lavoie
15a8b4f4c5
chore: Skip slow tests on Windows (#229) 2023-04-18 10:47:55 -06:00
Matthew Holt
c0dc63288a
Synchronize caching of managed certs
Should prevent stampedes to storage. See #185

Also minor fixes elsewhere.
2023-01-16 21:48:46 -07:00
Peter Magnusson
b668c8b9d4
Use the configured resolvers exclusively (#131) (fix #132)
* feature: add optional !important suffix

if !important is added to any of the resolvers, then all are considered
exclusive and no other fallbacks will be added.

* fix: !important can be on it's own

* simplify recursiveNameservers

- use custom OR default nameservers
- add testing

* removed print line

* tests: fixed defaults when resolv.conf is found
2021-06-08 13:14:45 -06:00
Matthew Holt
8a45463f28
Fix test failing on Windows 2020-09-14 14:08:11 -06:00
Matthew Holt
7e97d39c19
Change tests that relied on accessing mail servers from CI env
Also loosen up substring error checking a bit
2020-09-14 14:01:17 -06:00
Matthew Holt
a71b985343 Fix failing test that depends too much on environment 2020-09-14 13:49:16 -06:00
Matthew Holt
34fc6bf02a Properly ensure port is added to all nameservers 2020-09-09 13:29:00 -06:00
Matthew Holt
4fd8ae48ef
Configure custom DNS resolvers to be preferred over default resolvers
This makes the DNS challenge usable with split-horizon DNS.

Related:
- https://github.com/go-acme/lego/issues/461
- https://github.com/caddyserver/caddy/issues/1580
- https://github.com/go-acme/lego/issues/379/
- https://github.com/go-acme/lego/pull/293/
2020-08-21 20:22:42 -06:00
Matthew Holt
7d9dfc3fe6
Add DNS-01 solver implementation that uses acmez and libdns APIs
Before when we used lego as our ACME library, DNS solvers abounded in
the lego repository and they could be used directly. Our new acmez lib
is very lightweight, and "bring-your-own-solvers", let alone your own
DNS provider implementations.

DNS providers are implemented in libdns: https://github.com/libdns

This commit adds an implementation of acmez.Solver that solves the DNS
challenge using libdns providers.

Unlike the other solvers, this one is exported because it is not a
challenge type that is enabled by default, and there is more config
surface.

We borrowed some DNS utility functions and tests from the lego repo.

But this is a very lightweight implementation that has a much, much
simpler API and smaller footprint.
2020-07-30 14:07:04 -06:00