Skip to content

Provide DNS HTTPS RR functionality#3047

Open
drwetter wants to merge 1 commit into
3.3devfrom
https_rr
Open

Provide DNS HTTPS RR functionality#3047
drwetter wants to merge 1 commit into
3.3devfrom
https_rr

Conversation

@drwetter
Copy link
Copy Markdown
Collaborator

@drwetter drwetter commented May 30, 2026

This is a fresh start for #2484 as the PR wasn't ready yet for 3.2 by the time it was released. And it continues #2866 which was kind of messed up by accident.

The info for the HTTPS RR shows up in the very beginning, i.e. in service_detection(). All keys are listed now in bold, values in a regular font.

get_https_rrecord() was introduced by copying and modifying get_caa_rr_record().

There's a similar obstacle as with CAA RRs: older binaries show the resource records binary encoded. Thus a new set of global vars is introduced HAS_*_HTTPS which check whether the binaries support decoding the RR directly. As of now raw decoding doesn't work completely.

Todo:

  • Add logic in QUIC
    • if RR is detected and not QUIC is possible
    • add time for QUIC detection when RR is retrieved
  • show full HTTPS RR record, at least when having a new DNS client
  • continue with raw decoding, if possible (otherwise problematic for MacOS)
  • shorten the comments in get_https_rrecord()
  • man page
  • when ASSUME_HTTP is set and no services was detected: this needs to be handled
  • The placement of the output should be reconsidered and/or cached when multiple IPs belong to a FQDN

Describe your changes

Please refer to an issue here or describe the change thoroughly in your PR.

What is your pull request about?

  • Bug fix
  • Improvement
  • New feature (adds functionality)
  • Breaking change (bug fix, feature or improvement that would cause existing functionality to not work as expected)
  • Typo fix
  • Documentation update
  • Update of other files

If it's a code change please check the boxes which are applicable

  • For the main program: My edits contain no tabs, indentation is five spaces and any line endings do not contain any blank chars
  • I've read CONTRIBUTING.md and Coding_Convention.md
  • I have tested this fix or improvement against >=2 hosts and I couldn't spot a problem
  • I have tested this new feature against >=2 hosts which show this feature and >=2 host which does not (in order to avoid side effects) . I couldn't spot a problem
  • For the new feature I have made corresponding changes to the documentation and / or to help()
  • If it's a bigger change: I added myself to CREDITS.md (alphabetical order) and the change to CHANGELOG.md

This is a fresh start for #2484 as the PR wasn't ready yet for 3.2 by the time it was released. And it continues #2866
which was kind of messed up by accident.

The info for the HTTPS RR shows up in the very beginning, i.e. in `service_detection()`. All keys are listed now in bold, values in a regular font.

`get_https_rrecord()` was introduced by copying and modifying `get_caa_rr_record()`.

There's a similar obstacle as with CAA RRs: older binaries show the  resource records binary encoded. Thus a new set of global vars is introduced HAS_*_HTTPS which check whether the binaries support decoding the RR directly. As of now raw decoding doesn't work completely.

Todo:
- Add logic in QUIC
    - if RR is detected and not QUIC is possible
    - add time for QUIC detection when RR is retrieved
- show full HTTPS RR record, at least when having a new DNS client
- coninue with raw decoding, if possible (otherwise problematic for MacOS)
- shorten the comments in `get_https_rrecord()`
- man page
- when ASSUME_HTTP is set and no services was detected: this needs to be handled
- The placement of the output should be reconsidered and/or cached when multiple IPs belong to a FQDN
@drwetter drwetter changed the title Provide HTTPS RR functionality Provide DNS HTTPS RR functionality May 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant