27 Commits

Author SHA1 Message Date
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
835fbb9ef6 Migrate to GitHub actions for coverage & unit test automation (#251) 2021-01-11 17:31:09 +02:00
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
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
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
efdd560ee4 API: Differentiate bad TXT update error.
Previous to this commit, if the update message had a valid subdomain but
an invalid TXT the error returned was for a bad subdomain. This can
confuse developers who were POSTing junk TXT records to test acme-dns
:-)

This commit adjusts the `webUpdatePost` error handling such that
`!validSubdomain(input)` and `!validTXT(input)` give distinct errors.

The `!validSubdomain` case should never happen in `webUpdatePost`
because `auth.go`'s `Auth` function already vets the post data
subdomain but I retained the error handling code just in case.

Unit tests for an update with an invalid subdomain and an update with an
invalid TXT are included.
2018-02-27 19:26:15 -05:00
b0cd264c71 Fail on malformed JSON payloads in register endpoint (#24) 2017-11-15 13:52:27 +02:00
02d42bff30 Removed unnecessary body check (#21) 2017-11-15 01:39:00 +02:00
fd9ce4606d Get rid of Iris and use julienschmidt/httprouter instead (#20)
* Replace iris with httprouter

* Linter fixes

* Finalize iris removal

* Vendor dependencies for reproducable builds

* Api tests are back
2017-11-14 23:54:29 +02:00
9c54da3ee6 Try to read config from under /etc (#18) 2017-11-14 00:42:30 +02:00
c70a6cffb0 Go 1.9 and Iris v8, added possibility to bind to IP (#15) 2017-11-12 23:40:15 +02:00
41b2ff5940 Use iris v6 and Go 1.8+ (#10)
* Quick fixes to bring framework up to date

* Script for test running, api tests need complete rewrite

* Removed govendor from tests

* Fix for AutoTLS
2017-08-02 19:25:27 +03:00
2bfeedda4c Fixed iris version to v5 api (#9) 2017-01-30 12:19:22 +02:00
cb050c2c92 Modified returned JSON structure 2016-12-03 10:31:15 +02:00
bf9eaf2f32 Added config option to check for a header value for clinet IP 2016-12-02 17:04:16 +02:00
5f68d84ca5 Removed register GET request in favor of POST, and did required HTTP api changes 2016-12-02 15:42:10 +02:00
c3ac7a211c DB code for CIDR handling 2016-12-01 00:03:08 +02:00
4269069a54 Went logrus 2016-11-26 15:53:38 +02:00
2406bf8d44 More API tests and removal of dead code 2016-11-24 01:37:24 +02:00
670c20f904 Refactoring and comments 2016-11-23 22:12:43 +02:00
ba63bad793 Refactoring 2016-11-23 22:12:43 +02:00
47ce432681 Oh yeah 2016-11-23 22:12:43 +02:00
c2e19cc6da Added subdomain check to auth middleware 2016-11-23 22:12:42 +02:00
546a35ed00 Added PostgreSQL support 2016-11-23 22:12:42 +02:00
d30860eeb8 Coding style fixes 2016-11-23 22:12:42 +02:00
ed56a11e88 Refactoring, alpha v0.1 2016-11-13 14:50:44 +02:00
5433444b2f Initial commit, PoC quality 2016-11-11 16:48:00 +02:00