]> git.proxmox.com Git - proxmox-acme.git/log
proxmox-acme.git
60 min agobump version to 1.5.1 master
Thomas Lamprecht [Thu, 25 Apr 2024 16:07:40 +0000 (18:07 +0200)]
bump version to 1.5.1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 months agoeba: support decoding MAC key provided in base64url format
YU Jincheng [Thu, 25 Jan 2024 08:28:01 +0000 (16:28 +0800)]
eba: support decoding MAC key provided in base64url format

According to RFC 8555:

> The MAC key SHOULD be provided in base64url-encoded form...

However, currently we are only decoding the MAC key as base64.
This patch chooses the correct function to decode the user provided
MAC key. This can fix authentication error when a user uses command
`pvenode acme account register` and paste the EBA MAC key as prompted.

Signed-off-by: YU Jincheng <shana@zju.edu.cn>
Tested-by: Folke Gleumes <f.gleumes@proxmox.com>
 [ TL: fix typo in message, reword subject ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 months agobump version to 1.5.0
Thomas Lamprecht [Mon, 13 Nov 2023 10:35:27 +0000 (11:35 +0100)]
bump version to 1.5.0

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 months agoupdate acme.sh plugins to 3.0.7
Thomas Lamprecht [Mon, 13 Nov 2023 10:24:42 +0000 (11:24 +0100)]
update acme.sh plugins to 3.0.7

added:
- artfiles
- bookmyname
- dnsexit
- tencent

The first one added a new false-positive where our heuristic matched
the "_acme-challenge " inside the sed arguments, but that clearly
isn't a function.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
5 months agofix #4497: add support for external account bindings
Folke Gleumes [Tue, 31 Oct 2023 09:05:10 +0000 (10:05 +0100)]
fix #4497: add support for external account bindings

implementation according to RFC 8555, section 7.3.4

Signed-off-by: Folke Gleumes <f.gleumes@proxmox.com>
Reviewed-by: Fabian.Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
10 months agobump version to 1.4.6
Thomas Lamprecht [Tue, 13 Jun 2023 07:34:27 +0000 (09:34 +0200)]
bump version to 1.4.6

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
10 months agoupdate acme.sh plugins to 3.0.6
Thomas Lamprecht [Tue, 13 Jun 2023 07:30:41 +0000 (09:30 +0200)]
update acme.sh plugins to 3.0.6

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobump version to 1.4.5
Thomas Lamprecht [Sun, 7 May 2023 11:07:37 +0000 (13:07 +0200)]
bump version to 1.4.5

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agod/lintian-overrides: adapt to new bracketed format
Thomas Lamprecht [Sun, 7 May 2023 11:11:25 +0000 (13:11 +0200)]
d/lintian-overrides: adapt to new bracketed format

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agod/control: define compat level via build-depends and raise to 13
Thomas Lamprecht [Sun, 7 May 2023 11:05:23 +0000 (13:05 +0200)]
d/control: define compat level via build-depends and raise to 13

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agod/control: document standards conformance with 4.6.2
Thomas Lamprecht [Sun, 7 May 2023 11:06:43 +0000 (13:06 +0200)]
d/control: document standards conformance with 4.6.2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobuildsys: expand clean target
Thomas Lamprecht [Sun, 7 May 2023 11:18:17 +0000 (13:18 +0200)]
buildsys: expand clean target

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobuildsys: add convenience target for sbuild
Thomas Lamprecht [Sun, 7 May 2023 11:16:30 +0000 (13:16 +0200)]
buildsys: add convenience target for sbuild

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobuildsys: automatically dervice upload dist
Thomas Lamprecht [Sun, 7 May 2023 11:16:02 +0000 (13:16 +0200)]
buildsys: automatically dervice upload dist

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agobuildsys: use simple parenthesis for variables
Thomas Lamprecht [Sun, 7 May 2023 11:15:35 +0000 (13:15 +0200)]
buildsys: use simple parenthesis for variables

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
11 months agod/copyright: update years
Thomas Lamprecht [Sun, 7 May 2023 11:02:46 +0000 (13:02 +0200)]
d/copyright: update years

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
14 months agobump version to 1.4.4
Thomas Lamprecht [Tue, 21 Feb 2023 16:28:20 +0000 (17:28 +0100)]
bump version to 1.4.4

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
14 months agotests: add non-word boundary to present functions
Stoiko Ivanov [Tue, 21 Feb 2023 13:13:18 +0000 (14:13 +0100)]
tests: add non-word boundary to present functions

noticed that _clearaccountconf_mutable is used in dns_cf.sh, but not
present (it gets masked since we provide _clearaccountconf)

tested with this example.

additionally update missing-functions.expected - _error is not
present in upstream `acme.sh` but used in dns_aws.sh (I expect an
error which is only hit very seldomly)

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
14 months agoproxmox-acme: add empty _clearaccountconf_mutable helper
Stoiko Ivanov [Tue, 21 Feb 2023 13:13:17 +0000 (14:13 +0100)]
proxmox-acme: add empty _clearaccountconf_mutable helper

it is used by dns_cf.sh.
reported in our community forum:
https://forum.proxmox.com/threads/.122961/

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
15 months agobuild: add missing build-dependencies
Fabian Grünbichler [Tue, 10 Jan 2023 12:07:07 +0000 (13:07 +0100)]
build: add missing build-dependencies

there's a build cycle between proxmox-acme and pve-common, but proxmox-acme
only uses it for `make check`, so it's possible to break the cycle by using the
nocheck build profile when bootstrapping.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
15 months agoschema: update acme-dns plugin parameter names
Thomas Lamprecht [Fri, 6 Jan 2023 10:11:11 +0000 (11:11 +0100)]
schema: update acme-dns plugin parameter names

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
16 months agobump version to 1.4.3
Thomas Lamprecht [Wed, 7 Dec 2022 12:20:53 +0000 (13:20 +0100)]
bump version to 1.4.3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
16 months agoproxmox-acme: add _isRSA and _isEcc helpers
Thomas Lamprecht [Wed, 7 Dec 2022 12:26:56 +0000 (13:26 +0100)]
proxmox-acme: add _isRSA and _isEcc helpers

the _isRSA one is used by the new yc plugin, but doesn't hurt much to
already include the very similar Ecc one too.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
16 months agoupdate acme.sh dns api to v3.0.5 and update schema for new/removed plugins
Thomas Lamprecht [Wed, 7 Dec 2022 12:13:34 +0000 (13:13 +0100)]
update acme.sh dns api to v3.0.5 and update schema for new/removed plugins

added:
  - bunny
  - cpanel
  - curanet
  - dnshome
  - dnsservices
  - fornex
  - geoscaling
  - la
  - mythic_beasts
  - rage4
  - selfhost
  - udr
  - vercel
  - yc

removed:
 - cx (acme.sh commit 29e23ac9)
 - gdnsdk (acme.sh commit 9b27298d)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
16 months agotests: make missing-plugin also output makefile proposals
Thomas Lamprecht [Wed, 7 Dec 2022 10:43:34 +0000 (11:43 +0100)]
tests: make missing-plugin also output makefile proposals

as I'm lazy and this is easy enough..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
16 months agotests: make missing-plugin check proposal in JSON format
Thomas Lamprecht [Wed, 7 Dec 2022 10:34:53 +0000 (11:34 +0100)]
tests: make missing-plugin check proposal in JSON format

and improve some wording/spacing for better visibillity

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 1.4.2
Thomas Lamprecht [Tue, 26 Apr 2022 08:53:09 +0000 (10:53 +0200)]
bump version to 1.4.2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agotests: run missing-function test on build
Thomas Lamprecht [Tue, 26 Apr 2022 08:47:32 +0000 (10:47 +0200)]
tests: run missing-function test on build

as we only use a heuristic we maintain a known good expected false
positive list, update that if new ones get added but be sure that no
new function was included!

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agocheck-missing-functions: avoid some more false-positives with negative-lookbehing
Thomas Lamprecht [Tue, 26 Apr 2022 08:39:19 +0000 (10:39 +0200)]
check-missing-functions: avoid some more false-positives with negative-lookbehing

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agomove check-missing-function script to tests
Thomas Lamprecht [Tue, 26 Apr 2022 08:37:34 +0000 (10:37 +0200)]
move check-missing-function script to tests

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoadd shellscript to find needed functions not provided by proxmox-acme
Stoiko Ivanov [Fri, 4 Mar 2022 15:10:59 +0000 (16:10 +0100)]
add shellscript to find needed functions not provided by proxmox-acme

based on the heuristic I used a while ago. Adapted to catch the
functions missed the last time.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agoplugin-caller: add _readdomainconf stub
Stoiko Ivanov [Fri, 4 Mar 2022 15:10:58 +0000 (16:10 +0100)]
plugin-caller: add _readdomainconf stub

it's used by the dns_hetzner (and dns_nsd) plugins.

reported in our community-forum (and tested there as well):
https://forum.proxmox.com/threads/.105879/

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agobump version to 1.4.1
Thomas Lamprecht [Tue, 11 Jan 2022 15:37:50 +0000 (16:37 +0100)]
bump version to 1.4.1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoAdd TOTP authentification for ACME DNS INWX
Nils Sandmann [Sat, 1 Jan 2022 20:06:22 +0000 (21:06 +0100)]
Add TOTP authentification for ACME DNS INWX

Signed-off-by: Nils Sandmann <git@softcat.org>
2 years agoAdd DNS challenge schema for knot.
Jens Meißner [Thu, 18 Nov 2021 08:49:34 +0000 (09:49 +0100)]
Add DNS challenge schema for knot.

Signed-off-by: Jens Meißner <meissner@b1-systems.de>
2 years agoRevert "dns-challenge: add 'use-proxy' property"
Thomas Lamprecht [Thu, 11 Nov 2021 09:17:14 +0000 (10:17 +0100)]
Revert "dns-challenge: add 'use-proxy' property"

a bit to weird of a place to configure this especially as enabling it
does not guarantee any proxying if there's none..

This reverts commit e1088f616ffc73a96ee3433f0ea07639ef7513e7.

2 years agodns-challenge: add 'use-proxy' property
Stoiko Ivanov [Tue, 9 Nov 2021 16:36:29 +0000 (17:36 +0100)]
dns-challenge: add 'use-proxy' property

this patch adds an optional 'use-proxy' property to the dns
challenges.

If set to 1 the caller is expected to add the proxy url in the plugin
config, which is then set as 'http_proxy' and 'https_proxy'
environment variable by the plugin caller (and then used by curl)

Tested with the pdns plugin, direct traffic to the pdns server being
dropped, and a configured squid proxy

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agoadd support for proxies
Stoiko Ivanov [Tue, 9 Nov 2021 16:36:28 +0000 (17:36 +0100)]
add support for proxies

by setting the proxy for the LWP::UserAgent

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agod/control: acme-perl: downgrade dependency to plugins to recommends
Thomas Lamprecht [Sat, 9 Oct 2021 12:21:05 +0000 (14:21 +0200)]
d/control: acme-perl: downgrade dependency to plugins to recommends

we have some places where we just do not need the plugins and the
perl library has no hard dependency on the plugin stuff, http
challenge and acme protocol implementation are independent of those

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodns: cope with plugin json index not being available
Thomas Lamprecht [Tue, 9 Nov 2021 16:57:57 +0000 (17:57 +0100)]
dns: cope with plugin json index not being available

not nice to die plainly on a using this module (which can come in
indirectly/transitively), so lets better cope with that.

Nice side-effect, if nothing uses it, it won't get loaded, so less
IO and memory in that case.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobuildsys: do not pass arch to upload
Thomas Lamprecht [Fri, 8 Oct 2021 09:18:20 +0000 (11:18 +0200)]
buildsys: do not pass arch to upload

variable wasn't set and this is an `arch: all` package anyway..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 1.4.0
Thomas Lamprecht [Fri, 8 Oct 2021 09:17:02 +0000 (11:17 +0200)]
bump version to 1.4.0

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoupdate acme.sh plugins to 3.0.1 and include new plugins in schema
Thomas Lamprecht [Fri, 8 Oct 2021 09:03:58 +0000 (11:03 +0200)]
update acme.sh plugins to 3.0.1 and include new plugins in schema

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agosupport downloading alternate chains
Fabian Grünbichler [Fri, 8 Oct 2021 08:18:21 +0000 (10:18 +0200)]
support downloading alternate chains

the current default chains end with an expired root certificate for
maximum compatibility with old Android versions. this breaks some other
older clients (openssl, gnutls) which don't expect chains to contain any
expired certificates, even if they are 'above' the trust anchor.

by setting $root, it is possible to specify which root the ACME provided
certificate chain should end with, downloading alternate chains as
necessary.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Reviewed-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Tested-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agoAdd DNS challenge schema for nsupdate.
Jens Meißner [Mon, 13 Sep 2021 13:57:49 +0000 (15:57 +0200)]
Add DNS challenge schema for nsupdate.

Signed-off-by: Jens Meißner <meissner@b1-systems.de>
2 years agobump version to 1.3.0
Fabian Grünbichler [Wed, 11 Aug 2021 10:26:39 +0000 (12:26 +0200)]
bump version to 1.3.0

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoplugin-caller: pull in changes from upstream 3.0.0
Stoiko Ivanov [Fri, 6 Aug 2021 15:44:29 +0000 (17:44 +0200)]
plugin-caller: pull in changes from upstream 3.0.0

Commits ae3dda0f8fc3071495cd1e8dff0fe4a339febb1c and
d70b759cb9c5b413cce92e65e841a54a65813962

implementing retrying get and post requests seem worth pulling in.

From a quick look through the diff the remaining changes (between
2.9.0 and 3.0.0) should not be relevant for us

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agoupdate to acme.sh dns plugins to 3.0.0
Stoiko Ivanov [Fri, 6 Aug 2021 15:44:28 +0000 (17:44 +0200)]
update to acme.sh dns plugins to 3.0.0

fixes #3546

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agoacme client: fix #3536 untaint data returned from acme server
Stoiko Ivanov [Fri, 6 Aug 2021 15:44:27 +0000 (17:44 +0200)]
acme client: fix #3536 untaint data returned from acme server

The data returned from the acme server (e.g. boulder) should be
considered tainted.

To see which places might need untainted I checked where $self->{ua}
was used (in $self->do) and a quick scan identified __get_result as
the consumer of the tainted data.
In all but one uses the data is decoded from json (which would die if the
result is not valid json).

The remaining use-case yields a certificate in PEM format (and is
handled at the caller of __get_result).

The issue is currently only visible if a proxy is set, because AFAICT
somewhere in SSLeay (or IO::Socket::SSL, which uses SSLeay) a taint
flag is not set on the return value.

A reproducer for the issue:
```

use strict;
use warnings;

use HTTP::Request;
use LWP::UserAgent;

$ENV{PATH} = "/usr/bin:/bin";

my $ua = LWP::UserAgent->new(env_proxy => 0);
my $request = HTTP::Request->new('GET', 'https://google.com/');
my $resp = $ua->request($request);
my $text = substr($resp->decoded_content, 0, 5);;
system("echo \"$text\""); # does work
$request = HTTP::Request->new('GET', 'http://neverssl.com/');
$resp = $ua->request($request);
$text = substr($resp->decoded_content, 0, 5);;
system("echo \"$text\""); # does not work
```

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agobump version to 1.2.0
Thomas Lamprecht [Fri, 16 Jul 2021 16:06:24 +0000 (18:06 +0200)]
bump version to 1.2.0

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoupdate to acme.sh dns plugins to 2.9.0
Thomas Lamprecht [Fri, 16 Jul 2021 16:03:37 +0000 (18:03 +0200)]
update to acme.sh dns plugins to 2.9.0

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoplugin-caller: make no-ops always successful
Stoiko Ivanov [Fri, 16 Jul 2021 13:43:05 +0000 (15:43 +0200)]
plugin-caller: make no-ops always successful

proxmox-acme is used to call the dns-plugins from acme.sh and has the
config editing (saving/clearing) turned int no-ops.

bash's `return` statement w/o argument returns the value of the last
executed command (the one before our no-op method was called) (see
`help return` in bash).
This leads to unexpected behavior in some plugins, which call one of
the methods as last statement join the next step with `&&`.

tested bash behavior with:
```
foo() { return; }; if [ -z 'x' ]; then :; else foo ; fi; echo $?
```

reported in our community-forum:
https://forum.proxmox.com/threads/pmg-acme-dns-with-cyon-failing-to-issue-certificate.92762

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agoplugin-caller: add missing methods from acme.sh
Stoiko Ivanov [Thu, 15 Jul 2021 13:56:57 +0000 (15:56 +0200)]
plugin-caller: add missing methods from acme.sh

As reported in our community forum [0] certain dns plugins use code
from `acme.sh`, which is currently not in our proxmox-acme.

I initially only added _sign and it's callees, but then though about
trying to get all missing methods somehow (only resethttp() was
missing in addition).

The heuristic used to get all missing methods was grepping for '\b_'
in all dns plugins and then removing:
* declarations in proxmox_acme (already present)
* methods declared in the plugins themselves
* $_.* (or ${_.*) - variable use
* comments

in shell:
```
present=$(awk 'BEGIN{ORS="|";} /^_/{ gsub(/\(\) {/, ""); print $0}' \
  src/proxmox-acme | | sed -r 's/\|$//')
local=$(awk 'BEGIN{ORS="|";} /^_/{ gsub(/\(\) {/, ""); print $0}' \
  src/acme.sh/dnsapi/dns*.sh | sed -r 's/\|$//')
grep '\b_' src/acme.sh/dnsapi/* | grep -Ev \
  "$present|$local|_[a-zA-Z0-9_-]+=|\\$\{?_|^src/acme.sh/dnsapi/.*sh:#"
```

[0] https://forum.proxmox.com/threads/proxmox-acme-with-transip-plugin-_sign-command-not-found.92582/

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agobump version to 1.1.1
Thomas Lamprecht [Mon, 5 Jul 2021 16:58:34 +0000 (18:58 +0200)]
bump version to 1.1.1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofix #3390: standalone: explicitly bind to '::'
Stoiko Ivanov [Wed, 12 May 2021 19:04:52 +0000 (21:04 +0200)]
fix #3390: standalone: explicitly bind to '::'

This patch follows 2f8be3bfda203065b22e60862e5f98d831a46921 from
pve-common:
Instead of not specifying a listen address, we first try to bind on
'::', which usually accepts connections for both ipv4 and ipv6,
and fall back to '0.0.0.0' if this fails (if ipv6 is disabled via
kernel commandline).

The arguments are the same for HTTP::Daemon as for IO::Socket::IP,
since the former has IO::Socket::IP as base.

Additionally, by setting 'V6Only' explicitly to '0', the listening
socket will also accept ipv4 connections, even if the sysctl
'net.ipv6.bindv6only' is set to 1 - the sysctl provides a default
value, which can be overridden by a socket-option (see ipv6(7) -
IPV6_ONLY).

setting this option results in the following setsockopt-call being
added:
setsockopt(3, SOL_IPV6, IPV6_V6ONLY, [0], 4) = 0

AFAICT the socket option is available and overridable on Linux > 2.4
see [0] for an explanation of why this might not be wanted

Overriding the default setting set by an admin might be debateable,
but considering that the http-listener for the ACME challenge is
rather short-lived I think this is justified. The only other option
would be to create 2 listening sockets and binding on both - which
would mean reorganizing our perl-deamons to deal with multiple listen
sockets.

quickly tested on a publicly reachable test-machine of mine with:
* ipv6.domain.test (only AAAA record)
* ip46.domain.test (both AAAA and A)
* ipv4.domain.test (only A record)
with:
* sysctl net.ipv6.bindv6only=1 (for all 3 domains)
* disabling ipv6 via kernel-commandline (only ipv4 tested)
* disabling ipv6 via sysctl (only ipv4 tested)
* only configuring an ipv6 address (only ipv6 tested)

[0] https://man.openbsd.org/inet6.4
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agobuildsys: change upload dist to bullseye
Thomas Lamprecht [Tue, 8 Jun 2021 08:29:08 +0000 (10:29 +0200)]
buildsys: change upload dist to bullseye

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 1.1.0
Thomas Lamprecht [Wed, 5 May 2021 07:57:46 +0000 (09:57 +0200)]
bump version to 1.1.0

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agod/control: fix descriptions
Thomas Lamprecht [Wed, 5 May 2021 08:47:42 +0000 (10:47 +0200)]
d/control: fix descriptions

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agosplit into two packages: a perl one and an acme.sh plugin one
Thomas Lamprecht [Wed, 5 May 2021 07:49:17 +0000 (09:49 +0200)]
split into two packages: a perl one and an acme.sh plugin one

Main reason for this split is PBS, which only needs the plugins and
would like to avoid the perl one (which pulls in pve-common too)

This includes a few small changes which are technically not direct
part of the split, but related enough:
* change source name of package from libproxmox-acme-perl to
  libproxmox-acme
* make lintian override for script exec permission narrower to avoid
  possible false negatives in the future, really only allow the
  dnsapi ones.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agomove DNS plugin schema to separate JSON based file
Thomas Lamprecht [Wed, 5 May 2021 12:07:35 +0000 (14:07 +0200)]
move DNS plugin schema to separate JSON based file

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobuildsys: actually install new plugins
Thomas Lamprecht [Wed, 5 May 2021 12:32:05 +0000 (14:32 +0200)]
buildsys: actually install new plugins

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodns challenge: add world4you schema
Lorenz Stechauner [Wed, 5 May 2021 08:26:42 +0000 (10:26 +0200)]
dns challenge: add world4you schema

Signed-off-by: Lorenz Stechauner <l.stechauner@proxmox.com>
2 years agoupdate acme.sh plugins to 2.8.9 and include new plugins in schema
Thomas Lamprecht [Wed, 5 May 2021 07:54:36 +0000 (09:54 +0200)]
update acme.sh plugins to 2.8.9 and include new plugins in schema

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodebian: set source format correctly
Thomas Lamprecht [Wed, 5 May 2021 07:53:49 +0000 (09:53 +0200)]
debian: set source format correctly

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobump version to 1.0.8
Thomas Lamprecht [Tue, 16 Mar 2021 16:11:51 +0000 (17:11 +0100)]
bump version to 1.0.8

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodns: add new plugins to schema and install them
Thomas Lamprecht [Tue, 16 Mar 2021 16:04:35 +0000 (17:04 +0100)]
dns: add new plugins to schema and install them

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoupdate acme.sh to current master
Thomas Lamprecht [Tue, 16 Mar 2021 15:56:54 +0000 (16:56 +0100)]
update acme.sh to current master

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoadd missing 'use PVE::Acme' statement
Wolfgang Bumiller [Tue, 9 Mar 2021 14:13:54 +0000 (15:13 +0100)]
add missing 'use PVE::Acme' statement

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agobump version to 1.0.7
Thomas Lamprecht [Fri, 11 Dec 2020 17:55:33 +0000 (18:55 +0100)]
bump version to 1.0.7

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoacme: define kapper.net and acme-dns schema
Thomas Lamprecht [Fri, 11 Dec 2020 18:10:13 +0000 (19:10 +0100)]
acme: define kapper.net and acme-dns schema

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobuildsys: ensure new plugins also get installed
Thomas Lamprecht [Fri, 11 Dec 2020 17:54:11 +0000 (18:54 +0100)]
buildsys: ensure new plugins also get installed

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoadd basic test so schema is in sync with available plugins
Thomas Lamprecht [Fri, 11 Dec 2020 17:50:22 +0000 (18:50 +0100)]
add basic test so schema is in sync with available plugins

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodns challenge: add missing plugins to schema
Thomas Lamprecht [Fri, 11 Dec 2020 17:43:16 +0000 (18:43 +0100)]
dns challenge: add missing plugins to schema

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobump version to 1.0.6
Thomas Lamprecht [Mon, 7 Dec 2020 10:59:17 +0000 (11:59 +0100)]
bump version to 1.0.6

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoupdate acme.sh to 2.8.8
Thomas Lamprecht [Mon, 7 Dec 2020 10:53:57 +0000 (11:53 +0100)]
update acme.sh to 2.8.8

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobump version to 1.0.5
Fabian Grünbichler [Fri, 4 Sep 2020 12:01:17 +0000 (14:01 +0200)]
bump version to 1.0.5

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
3 years agofix #2732: use actual plugin config data
Thomas Lamprecht [Sat, 23 May 2020 22:24:44 +0000 (00:24 +0200)]
fix #2732: use actual plugin config data

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodns challenge: add 'INWX' acme.sh schema
Thomas Lamprecht [Sat, 23 May 2020 21:55:35 +0000 (23:55 +0200)]
dns challenge: add 'INWX' acme.sh schema

https://bugzilla.proxmox.com/show_bug.cgi?id=2731

Requested-by: Claas Hilbrecht <Claas.Hilbrecht@linum.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobump version to 1.0.4
Thomas Lamprecht [Fri, 15 May 2020 18:07:01 +0000 (20:07 +0200)]
bump version to 1.0.4

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodns challenge: describe digitalocean schema
Thomas Lamprecht [Fri, 15 May 2020 18:03:29 +0000 (20:03 +0200)]
dns challenge: describe digitalocean schema

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodns challenge: add df (dyndnsfree.de) provider
Thomas Lamprecht [Fri, 15 May 2020 18:03:01 +0000 (20:03 +0200)]
dns challenge: add df (dyndnsfree.de) provider

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoupdate acme.sh dns plugins to 2.8.6
Thomas Lamprecht [Fri, 15 May 2020 17:57:20 +0000 (19:57 +0200)]
update acme.sh dns plugins to 2.8.6

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agomake clean: clean more
Thomas Lamprecht [Fri, 15 May 2020 17:53:19 +0000 (19:53 +0200)]
make clean: clean more

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobump version to 1.0.3
Thomas Lamprecht [Thu, 7 May 2020 19:50:00 +0000 (21:50 +0200)]
bump version to 1.0.3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodns challenge: provide schema for more providers
Thomas Lamprecht [Thu, 7 May 2020 18:39:56 +0000 (20:39 +0200)]
dns challenge: provide schema for more providers

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agotrigger activate-noawait pve-api-updates
Thomas Lamprecht [Thu, 7 May 2020 15:29:35 +0000 (17:29 +0200)]
trigger activate-noawait pve-api-updates

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobump version to 1.0.2
Thomas Lamprecht [Tue, 5 May 2020 17:19:49 +0000 (19:19 +0200)]
bump version to 1.0.2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodns schema: move fields one level deeper
Thomas Lamprecht [Tue, 5 May 2020 17:18:58 +0000 (19:18 +0200)]
dns schema: move fields one level deeper

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodns: complete OVH schema
Thomas Lamprecht [Tue, 5 May 2020 16:34:33 +0000 (18:34 +0200)]
dns: complete OVH schema

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoadd note that the data has to be base64 encoded
Dominik Csapak [Tue, 5 May 2020 12:38:12 +0000 (14:38 +0200)]
add note that the data has to be base64 encoded

but only via api, on the cli it is a file which contains
the data in plaintext

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoDNSChallenge: make plugins a hash with an optional schema
Dominik Csapak [Tue, 5 May 2020 12:38:11 +0000 (14:38 +0200)]
DNSChallenge: make plugins a hash with an optional schema

so that we can use that schema to generate form fields in the gui

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoplugin id: limit to 'pve-configid' format
Thomas Lamprecht [Mon, 4 May 2020 12:54:24 +0000 (14:54 +0200)]
plugin id: limit to 'pve-configid' format

Else one can pass almost arbitrary data as ID and break editing or
deletion of a plugin.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobump version to 1.0.1
Thomas Lamprecht [Sun, 3 May 2020 16:06:01 +0000 (18:06 +0200)]
bump version to 1.0.1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoDNS Challenge: add validation-delay plugin option
Thomas Lamprecht [Sun, 3 May 2020 16:05:29 +0000 (18:05 +0200)]
DNS Challenge: add validation-delay plugin option

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agouse smart-relative gitmodule path
Thomas Lamprecht [Sun, 3 May 2020 15:17:39 +0000 (17:17 +0200)]
use smart-relative gitmodule path

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobump version to 1.0.0
Thomas Lamprecht [Sun, 3 May 2020 15:07:44 +0000 (17:07 +0200)]
bump version to 1.0.0

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agouse native source format, fix lintian complaints
Thomas Lamprecht [Sun, 3 May 2020 15:05:29 +0000 (17:05 +0200)]
use native source format, fix lintian complaints

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobuildsys: move submodule to src, cleanups
Thomas Lamprecht [Sun, 3 May 2020 15:00:46 +0000 (17:00 +0200)]
buildsys: move submodule to src, cleanups

it's nicer as the build system is more coherent, i.e., I can do `make
install` from inside src and it actually works ;)

Use an atomic target for the build directory, else we can easily get
bogus builds.

Further use only one type of GNU make variable flavors, not both $()
and ${} mixed..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobuildsys: sort and cleanup
Thomas Lamprecht [Sun, 3 May 2020 14:49:26 +0000 (16:49 +0200)]
buildsys: sort and cleanup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoallow to get full DNS plugins list
Thomas Lamprecht [Sun, 3 May 2020 14:47:41 +0000 (16:47 +0200)]
allow to get full DNS plugins list

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>