Commit Graph

67 Commits

Author SHA1 Message Date
Glen Huang e84f651453 acme: use the hotplug system
Signed-off-by: Glen Huang <heyhgl@gmail.com>
2022-08-16 00:32:04 +02:00
Toke Høiland-Jørgensen d926da5182 acme: switch from iptables to nft
Use nft instead of iptables to open port 80 in the firewall when getting a
cert. Since nft doesn't allow deleting a rule by its contents, capture and
save the handle when creating the rule, and use that to delete.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2022-05-20 13:16:59 -07:00
Georgi Valkov 468fc5fca4 acme: update to 3.0.1
Default to letsencrypt because the upstream default may change.
Passing --staging is no longer needed, since --serever will
select a staging server if needed.

Signed-off-by: Georgi Valkov <gvalkov@abv.bg>
Tested-by: Georgi Valkov <gvalkov@abv.bg>
Acked-by: Toke Høiland-Jørgensen <toke@toke.dk>
2021-10-10 09:35:41 +02:00
Dennis Schüsselbauer d69534751e acme: Fix uhttpd restart to load new certificates
Fixes issue #16256

Signed-off-by: Dennis Schüsselbauer <scde@users.noreply.github.com>
2021-09-01 23:05:45 -07:00
Wakatatsu Ryou cc80884976 acme: add haproxy support
Signed-off-by: Wakatatsu Ryou <lialosiu@gmail.com>
2021-09-01 14:13:53 -07:00
Wakatatsu Ryou 98985a9561 acme: add haproxy support
Signed-off-by: Wakatatsu Ryou <lialosiu@gmail.com>
2021-09-01 14:13:53 -07:00
Rosen Penev a9bb04058a acme: run through shellcheck
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-25 22:09:19 -07:00
Rosen Penev f6ef44044d acme: update to 2.9.0
Switch to AUTORELEASE to avoid bumping PKG_RELEASE all the time.

Run shell scripts through shfmt -w -ci -bn -sr -s in order to have a
standard style.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-06-25 22:08:04 -07:00
Toke Høiland-Jørgensen c931276955 acme: Get listener name from /proc/PID/exe instead of netstat output
It seems the command name output from netstat can be truncated in weird
ways, so let's get the binary name from /proc instead and use that for
matching which listener we have.

Fixes #15071.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2021-03-26 20:06:34 +01:00
Peter Stadler e553f0cf70 acme: adopt to new behavior of nginx
Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at>
2021-02-08 23:51:55 +01:00
Jannis Pinter b5259ef5da Add option for days until renewal
Signed-off-by: Jannis Pinter <jannis+openwrt@pinterjann.is>
2020-10-29 10:44:57 +01:00
Meano 0a23f1f066 acme: fix the 'Unknown parameter' problem caused by acme_server
Signed-off-by: Meano <meano@foxmail.com>
2020-10-19 01:47:43 +08:00
Jannis Pinter 3f7d03eda6 acme: Allow custom ACME server directory URL
The underlying `acme.sh` allows custom ACME server URLs (using `--server`). Adding the necessary field to specify a custom ACME server URL from UCI.

Signed-off-by: Jannis Pinter <jannis+openwrt@pinterjann.is>
2020-10-16 21:47:42 +02:00
Rosen Penev bbf0bc94f2
acme: update to 2.8.7
Change URL to codeload. It redirects to it anyway. I was getting a 404
error with the original. I couldn't figure it out.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-09-12 18:43:38 -07:00
Toke Høiland-Jørgensen e6c1676cb4 acme: Make sure we don't handle the same listener twice
If a daemon listens on multiple addresses at once, it'll show up multiple
times in get_listeners() which will clobber the config for uhttpd. Fix this
by skipping subsequent handlings of the same daemon binary.

Fixes #13325.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2020-09-09 12:49:53 +02:00
Florian Eckert 8e34825f78 acme: fix alignment space vs tabs
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2020-08-05 11:33:19 +02:00
Wren Turkal 54a6593b6f acme: remove cron entry on package removal
Previously, the cron config was not removed on uninstall. This change fixes
that.

Signed-off-by: Wren Turkal <wt@penguintechs.org>
2020-05-30 22:51:14 -07:00
Will O'Neill 99cc5bbd97 acme: Update acme.sh URL, add support for challenge & domain alises.
Signed-off-by: Will O'Neill <0100wrxb@gmail.com>
2020-05-10 16:54:41 -07:00
Toke Høiland-Jørgensen ef61a2be50 acme: Bump acme.sh to v2.8.6
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2020-05-04 10:36:42 +02:00
Toke Høiland-Jørgensen b88b678004 acme: Remove luci-app-acme
The Luci app for ACME has been moved to the luci package feed.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2020-05-04 10:23:35 +02:00
Antti Seppälä debe65dffe acme: add support for user-provided setup and cleanup scripts
Add possibility for user to provide setup and cleanup scripts for
additional flexibility. Setup-script takes precedence over the built-in
behavior of acme.

This helps users with more complex use-cases to utilize acme to update
certificates without adding complexity to the provided run.sh script.

Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
2020-04-30 19:17:54 +03:00
Toke Høiland-Jørgensen 62ef2a8839
Merge pull request #11968 from yangfl/master
acme: fix some errors
2020-04-29 11:24:32 +02:00
Toke Høiland-Jørgensen 2fadd0279f acme: Add acl_depends annotations to luci-app-acme
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
2020-04-27 18:15:20 +02:00
David Yang 2e0f44bb34 acme: Bump release version
Signed-off-by: David Yang <mmyangfl@gmail.com>
2020-04-27 17:54:36 +08:00
David Yang 0d2240481b acme: Handle ecc cert correctly
Error was:
  The domain 'example.com' seems to have a ECC cert already, please add '--ecc' parameter if you want to use that cert.

Signed-off-by: David Yang <mmyangfl@gmail.com>
2020-04-27 17:54:36 +08:00
David Yang 6a4c1b2051 acme: Handle log message correctly
Error was:
  logger: unrecognized option: renew

Signed-off-by: David Yang <mmyangfl@gmail.com>
2020-04-27 17:51:18 +08:00
Yousong Zhou d917d662ae acme: depends on wget-ssl
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2020-04-14 11:37:04 +08:00
Florian Eckert 45a9b6560e acme: fix luci-app-acme dependency limitations
This commit fix circle dependency.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2020-04-07 13:53:24 +02:00
Marcos Del Sol Vives ab6d05d366 acme: update to 2.8.5
Signed-off-by: Marcos Del Sol Vives <marcos@orca.pet>
2020-02-18 15:47:52 +01:00
Toke Høiland-Jørgensen c6b4d7f367 acme: Include empty 'dns' config option by default
This should hopefully prevent issues with that option not showing up in the
GUI, like in #11095.

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
2020-01-23 11:22:49 +01:00
Toke Høiland-Jørgensen 983cc995a3 acme: Correctly handle domain state dir for ECC certificates
When issuing an ECC certificate, acme.sh for some reason changes the name
of the directory used for the certificate state. Handle this correctly when
moving directories and updating config files.

Fixes #7941.

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
2020-01-12 19:59:01 +01:00
Toke Høiland-Jørgensen 81605d8c59 acme: Add dependency on luci-compat for luci-app-acme
Fixes #10564.

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
2019-11-17 16:15:22 +01:00
Toke Høiland-Jørgensen 1653894091 acme: Update to upstream 2.8.3
Upstream release message:
"Letsencrypt CA recent changed the CDN provider, which resulted in hanging issues.
Any downstream package should update.
This is important."

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
2019-10-23 12:26:21 +02:00
Toke Høiland-Jørgensen 7235249df6 acme: Log acme.sh command invocation
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
2019-10-23 12:26:21 +02:00
Yousong Zhou 20efa32d2d acme: depends on gnu-wget
Fixes openwrt/packages#9456

Ref: https://github.com/openwrt/packages/issues/9456
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2019-09-09 09:40:34 +02:00
Rosen Penev a1cd83307d acme: Update to 2.8.1
Fix license info to use SPDX name.

Switched to wget instead of curl to avoid having a dependency on 2 SSL
libraries.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-06-09 19:18:58 -07:00
Toke Høiland-Jørgensen 279c09d0b2 ACME: Remove dependency on luci-lib-ipkg
Instead, use @jow-'s suggestion of just checking for the presence of the
executables to find the installed web servers.

Fixes #8529.

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
2019-05-23 16:47:34 +02:00
Deng Qingfang 17496030e2 treewide: add missing PKGARCH:=all to non-binary packages
Packages such as Perl, Lua, shell scripts don't generate binary files.
Add PKGARCH:=all to them.

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
2019-03-30 17:11:50 +08:00
Toke Høiland-Jørgensen 5ade8f3392 ACME: Fix missing quotes in variable comparisons
The variables can be empty if not set in the UCI config.

Reported-by: Petr Novák <petrn@me.com>
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
2019-03-22 13:45:11 +01:00
Toke Høiland-Jørgensen 71cedd6ec4 acme: Bump package revision
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2019-02-08 17:17:37 +01:00
Adrien DAURIAT 3439c008e5 acme: Fix loading credentials
Move loading credential function before cert renewal call as credentials might be needed for some renewal operations ( ex: DNS )

Signed-off-by: Adrien DAURIAT <16813527+dauriata@users.noreply.github.com>
[toke@toke.dk: Port to master branch]
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2019-02-08 17:17:13 +01:00
Alexey I. Froloff c636bf374f net/acme: commit uhttpd configuration if update_httpd set
uhttpd configuration should be commited when update_uhttpd set.

Signed-off-by: Alexey I. Froloff <raorn@raorn.name>
2019-02-07 15:22:56 +03:00
Alexey I. Froloff 8564f61d50 net/acme: issue_cert should always call post_checks on exit
issue_cert fuction may return without calling post_checks, which leaves
port 80 open and uhttpd configuration is not restored is listen_http was
set.

Always call post_checks when returning from issue_cert.

Signed-off-by: Alexey I. Froloff <raorn@raorn.name>
2019-02-07 15:22:39 +03:00
Toke Høiland-Jørgensen 71c7d30e00 acme: Remove 8192 bits certificate option
This is not supported by letsencrypt, so issuing the certificate will fail.
Instead, add 3072 bits as an intermediate option.

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
2019-01-08 13:08:15 +01:00
Toke Høiland-Jørgensen 5a1f294667 acme: Support selecting ECC certificates from Luci
As pointed out by @andersk, acme.sh already supports ECC certificates, and
they can be set manually in the uci file, just not in Luci. Fix this by
changing the key size selector into a listbox, and adding ECC certs as
options.

Fixes #7825.

Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
2019-01-08 11:29:37 +01:00
Toke Høiland-Jørgensen 6bd59471bb acme: Fix arithmetic syntax
Thanks to @jow- for pointing out the mistake.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-09-19 17:57:22 +02:00
Toke Høiland-Jørgensen a96c90b6f5 acme: Fix whitespace and long lines, bump package rev
Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-09-19 16:29:55 +02:00
Ansuel Smith 924e2f53e2 acme: add support for nginx webserver
This adds a metapakcge for acme luci ap without uhttpd dependency and adds entities and check to stop handle nginx server and modify the certificate set automatically.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-09-19 16:21:00 +02:00
Toke Høiland-Jørgensen 56b6d49ce4 acme: Fix bugs from upstream's change to socat
The upstream acme.sh package changed to using socat instead of netcat;
update the dependencies to reflect this, and pass --listen-v6 when running
in standalone mode (since socat only listens on IPv4 by default).

Also add a missing cleanup call when certificate issuance fails.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-22 16:03:15 +02:00
Rosen Penev 24b7f5b36e acme: Update to 2.7.9
Switch to codeload. Simplifies the Makefile.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2018-07-30 13:16:11 +02:00