From 169250014f2639f2696828b53c1f778f206db6a8 Mon Sep 17 00:00:00 2001 From: Wolfgang Link Date: Wed, 8 Apr 2020 11:06:10 +0200 Subject: [PATCH] Implement function to resolve all subplugins This function helps to retrieve all subplugins that are supported by the plugins. This will later be used as an enumeration for entering parameters. --- src/PVE/ACME.pm | 21 +++++++++++++++++++++ src/PVE/ACME/DNSChallenge.pm | 4 ++++ src/PVE/ACME/StandAlone.pm | 4 ++++ 3 files changed, 29 insertions(+) diff --git a/src/PVE/ACME.pm b/src/PVE/ACME.pm index 46b8fb1..c2756b6 100644 --- a/src/PVE/ACME.pm +++ b/src/PVE/ACME.pm @@ -495,6 +495,27 @@ sub request_challenge_validation { return $return; } +# return all availible subplugins from the plugins +sub get_subplugins { + + my $tmp = []; + my $plugins = PVE::ACME::Challenge->lookup_types(); + + foreach my $plugin_name (@$plugins) { + my $plugin = PVE::ACME::Challenge->lookup($plugin_name); + push @$tmp, $plugin->get_subplugins(); + } + + my $subplugins = []; + foreach my $array (@$tmp) { + foreach my $subplugin ( @$array) { + push @$subplugins, $subplugin; + } + } + + return $subplugins; +} + # actually 'do' a $method request on $url # $data: input for JWS, optional # $use_jwk: use JWK instead of KID in JWD (see sub jws) diff --git a/src/PVE/ACME/DNSChallenge.pm b/src/PVE/ACME/DNSChallenge.pm index 7af442e..f62333b 100644 --- a/src/PVE/ACME/DNSChallenge.pm +++ b/src/PVE/ACME/DNSChallenge.pm @@ -153,6 +153,10 @@ sub extract_challenge { return PVE::ACME::Challenge->extract_challenge($challenge, 'dns-01'); } + +sub get_subplugins { + return $api_name_list; +} # The order of the parameters passed to proxmox-acme is important # proxmox-acme setup $plugin [$domain|$alias] $txtvalue $plugin_conf_string diff --git a/src/PVE/ACME/StandAlone.pm b/src/PVE/ACME/StandAlone.pm index 73caef6..310e627 100644 --- a/src/PVE/ACME/StandAlone.pm +++ b/src/PVE/ACME/StandAlone.pm @@ -33,6 +33,10 @@ sub extract_challenge { return PVE::ACME::Challenge->extract_challenge($challenge, 'http-01'); } +sub get_subplugins { + return []; +} + sub setup { my ($class, $data) = @_; -- 2.39.2