opnsense / opnsense/plugins

security/acme-client: hosting.de DNS challenge fails due to missing environment variables and invalid API path

Open
#5,373 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

support
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:

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.