Skip to content

Changing the TTL of one record clears comments and re-enables other records with the same name and type #2269

Open

Description

@trucke

Version: 15.6.2 (Docker image). Also on 15.5.0.

When a record gets a TTL that differs from the other records with the same name and type, those records get the new TTL too, which is expected. But they also lose their comments and their disabled state, so a disabled record starts answering queries again. The web console sends the same update request, so changing a TTL there does the same.

Steps

  1. In a Primary zone, add A 192.0.2.10 at b.example.test with TTL 300 and a comment, then disable it.
  2. Add A 192.0.2.20 at the same name with TTL 300.
  3. Change the TTL of 192.0.2.20 to 600.

Expected: 192.0.2.10 gets TTL 600 but stays disabled and keeps its comment.

Actual: 192.0.2.10 has TTL 600, is enabled and has no comment. b.example.test A now answers with both addresses.

Cause: When the TTL differs, AuthZone.AddRecord rebuilds the other records with new DnsResourceRecord(...) without their Tag, so their record info (comments, disabled state, expiry) is lost. UpdateRecord goes through the same path.


AI tools assisted with investigating this issue and preparing the report. Made with Claude Opus 5.5 in pi.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions