security/acme-client: hosting.de DNS challenge fails due to missing environment variables and invalid API path
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 1.2k
- Forks
- 863
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 10
Description
Important notices
Before you add a new report, we ask you kindly to acknowledge the following:
- I have read the contributing guide lines at https://github.com/opnsense/plugins/blob/master/CONTRIBUTING.md
- I have searched the existing issues, open and closed, and I'm convinced that mine is new.
- The title contains the plugin to which this issue belongs
Describe the bug
The ACME client plugin (os-acme-client) fails to correctly provide the HOSTINGDE_APIKEY and HOSTINGDE_ENDPOINT environment variables to the underlying dns_hostingde.sh script. Furthermore, the script itself (upstream from acme.sh) constructs invalid URLs if the official hosting.de API endpoint is entered in the GUI, as it double-appends the API path.
To Reproduce
Steps to reproduce the behavior:
Go to 'Services -> ACME Client -> Challenge Types'
Create a new Challenge Type for 'hosting.de'
Enter a valid API Key and the official Endpoint (https://secure.hosting.de/api/dns/v1/json)
Run the issue/renewal for a certificate.
See error in log: You haven't specified hosting.de API key or endpoint yet.
Expected behavior
The plugin should export the GUI values as environment variables so the shell script can access them.
The plugin should ideally handle the endpoint URL carefully or provide a hint that only the base URL (https://secure.hosting.de) should be used to avoid doubled paths in the final API call.
Screenshots
Relevant log files
Error 1: Missing variables (Plugin/GUI issue)
[Sun Apr 5 17:01:21 CEST 2026] You haven't specified hosting.de API key or endpoint yet.
[Sun Apr 5 17:01:21 CEST 2026] Please create your key and try again.
Error 2: Doubled API path (Upstream script issue triggered by GUI input)
[Sun Apr 5 17:19:12 CEST 2026] _post_url='https://secure.hosting.de/api/dns/v1/json/api/dns/v1/json/zoneConfigsFind'
[Sun Apr 5 17:19:12 CEST 2026] Result of zoneConfigsFind: 'Request url is invalid'
Additional context
Environment
OPNsense: 26.1 (Please verify your exact version in System -> Dashboard)
Plugin: os-acme-client (Latest)
acme.sh: v3.1.2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the ACME Client challenge-type handling into the dns_hostingde.sh script, then reproduce the hosting.de challenge with the endpoint shown in the issue. Confirm that the GUI values reach the script as HOSTINGDE_APIKEY and HOSTINGDE_ENDPOINT, and that the completed flow avoids the missing-variable and doubled-path errors described in the logs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php, shell
- Domain
- backend, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100