opnsense / opnsense/plugins

security/acme-client: DNS Sleep time reset to 0

Open
#5,713 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
Using ACME Client (with step-ca,powerdns) after a failed attempt, I set DNS sleep time to 60, but then it gets set back to 0. creating another failed attempt. (also, it leaves stale TXT files in DNS). See attached file for more information.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Services > ACME Client > Challenge Types > Add
  2. Enter
    Challenge Type: DNS-01
    DNS Service PowerDNS.com
    DNS Sleep Time 0
    URL: PowerDNS Server URL
    Server ID: localhost
    Token: PowerDNS API Token
    Save
  3. Go to ACME Client > Certificates > Add
    ...
    ACME Account step-ca
    Challenge Type Power DNS
    ...
    SAVE
  4. Issue or renew Certificate
    It fails, because apparently with DNS Sleep Time set to 0, it goes to public DNS servers? (That's a separate issue, I should be able to specify the DNS servers it uses).
  5. After it fails, but before the timeout, go back to Challenge Types, Edit, change DNS Sleep Time to 60, then try to renew again, or delete and recreate the entry.
  6. Let it fail, go back to Challenge Types, and Sleep Time is set back to 0
  7. There also seems to be a timing issue where if I correct everything, make a proper request, but the timeout for the original request hasn't been hit yet, I'll get a certificate issued, according to step-ca, but it ends up showing as failed in the UI
  8. Also, it is leaving a ton of TXT entries in my DNS for the failed attempts
  9. See error
    Expected behavior
    The DNS Sleep Time should stay at the value set
    A failed attempt shouldn't overwrite the later successful attempt, or it shouldn't let you make a second attempt until the first is completely timed out.
    It should always clean up TXT entries

Screenshots
If applicable, add screenshots to help explain your problem.

Relevant log files
see attached file from my Lab AI

Additional context
see attached

Environment
Version 26.7.3_11
Architecture amd64
os-acme-client (installed) 4.16_1 821KiB 3 OPNsense ACME Client
step-ca: Smallstep CA/0.28.4 (linux/amd64), release date 2025-07-14, image smallstep/step-ca:0.28.4
PowerDNS: PowerDNS Authoritative Server 4.9.17, image powerdns/pdns-auth-49:latest, backend gmysql

20260913-opnsense-acme-clean.md

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 at Services > ACME Client > Challenge Types and reproduce the DNS Sleep Time reset using the PowerDNS and step-ca configuration described. Review the attached log file and trace a failed renewal followed by a second attempt. Done means the configured sleep value persists, overlapping attempts are handled consistently, and failed attempts clean up their TXT entries.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.