- Update to version 2.9.3
Bug Fixes
* TCP Traceroute Fixed: The most important fix in this release
resolves a regression where dnstraceroute with TCP protocol
(-T flag) would immediately fail with "No route to host" errors
During TCP traceroute operations, intermediate hosts send ICMP
Time Exceeded messages when TTL expires, which the TCP stack
interprets as EHOSTUNREACH errors. These errors were being
unconditionally re-raised even in traceroute mode where they're
expected behavior. The fix now properly handles these errors
during traceroute, allowing TCP path discovery to work as
intended.
* QUIC and HTTP/3 Traceroute TTL Control: Previously,
dnstraceroute couldn't control TTL values when using QUIC (-Q)
or HTTP/3 (-3) protocols, basically breaking traceroute
functionality for DoH3 and DoQ. The fix enables proper TTL
manipulation for both protocols, allowing users to trace
network paths to DNS-over-QUIC and DNS-over-HTTP/3 resolvers.
* Timing Accuracy Improvements: Replaced dnspython library
internal timing with Python's perf_counter for response time
measurements across all DNS protocols. This provides more
accurate and consistent latency measurements.
* Better Error Handling for Modern Protocols: Improved error
handling for DoH, DoH3, and DoQ protocols to display
user-friendly error messages instead of Python stack traces.
Connection refused errors are now treated as transient across
all DNS protocols, and transient QUIC connection failures
(UnexpectedEOF exceptions) are handled gracefully, allowing
dnsping to continue with the next attempt.
* DNSSEC Information Display: Added explanation of DNSSEC flags
OBS-URL: https://build.opensuse.org/request/show/1330820
OBS-URL: https://build.opensuse.org/package/show/network/dnsdiag?expand=0&rev=26
305 lines
13 KiB
Plaintext
305 lines
13 KiB
Plaintext
-------------------------------------------------------------------
|
|
Tue Feb 3 18:44:15 UTC 2026 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Update to version 2.9.3
|
|
Bug Fixes
|
|
* TCP Traceroute Fixed: The most important fix in this release
|
|
resolves a regression where dnstraceroute with TCP protocol
|
|
(-T flag) would immediately fail with "No route to host" errors
|
|
During TCP traceroute operations, intermediate hosts send ICMP
|
|
Time Exceeded messages when TTL expires, which the TCP stack
|
|
interprets as EHOSTUNREACH errors. These errors were being
|
|
unconditionally re-raised even in traceroute mode where they're
|
|
expected behavior. The fix now properly handles these errors
|
|
during traceroute, allowing TCP path discovery to work as
|
|
intended.
|
|
* QUIC and HTTP/3 Traceroute TTL Control: Previously,
|
|
dnstraceroute couldn't control TTL values when using QUIC (-Q)
|
|
or HTTP/3 (-3) protocols, basically breaking traceroute
|
|
functionality for DoH3 and DoQ. The fix enables proper TTL
|
|
manipulation for both protocols, allowing users to trace
|
|
network paths to DNS-over-QUIC and DNS-over-HTTP/3 resolvers.
|
|
* Timing Accuracy Improvements: Replaced dnspython library
|
|
internal timing with Python's perf_counter for response time
|
|
measurements across all DNS protocols. This provides more
|
|
accurate and consistent latency measurements.
|
|
* Better Error Handling for Modern Protocols: Improved error
|
|
handling for DoH, DoH3, and DoQ protocols to display
|
|
user-friendly error messages instead of Python stack traces.
|
|
Connection refused errors are now treated as transient across
|
|
all DNS protocols, and transient QUIC connection failures
|
|
(UnexpectedEOF exceptions) are handled gracefully, allowing
|
|
dnsping to continue with the next attempt.
|
|
* DNSSEC Information Display: Added explanation of DNSSEC flags
|
|
and Extended DNS Error (EDE) codes in dnsping output. When
|
|
DNSSEC validation is enabled, users now see detailed
|
|
explanations of response codes like "DNSSEC Bogus" with
|
|
human-readable descriptions of what went wrong, making DNSSEC
|
|
troubleshooting easier.
|
|
* Command-Line Parameter Validation: Added mutual exclusivity
|
|
validation to command-line parameters across all tools.
|
|
Conflicting protocol flags (like -T and -H used together) now
|
|
trigger clear error messages instead of unpredictable behavior,
|
|
preventing user confusion and potential misdiagnosis of DNS
|
|
issues.
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jan 18 09:07:10 UTC 2026 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Update to version 2.9.2
|
|
Bug Fixes
|
|
* Network Resilience: dnsping now survives transient network
|
|
errors instead of exiting fatally. When WiFi is toggled,
|
|
network cable is unplugged, or the system sleeps/resumes,
|
|
dnsping prints the error message and continues with the next
|
|
ping attempt, behaving like traditional ping. The fix also
|
|
improves error handling and makes it platform-portable.
|
|
* Answer Display: The -a flag in dnsping now displays the first
|
|
answer from the response regardless of record type, with the
|
|
type prepended for clarity
|
|
(e.g., [RDATA: CNAME res130.qams5.on.quad9.net.] or
|
|
[RDATA: A 142.250.179.174]). Previously it filtered by the
|
|
requested type only, which meant CNAME responses were silently
|
|
ignored.
|
|
* JSONL Output: The -j flag in dnseval now outputs valid JSONL
|
|
format with one JSON object per line, instead of
|
|
concatenating JSON objects back-to-back. The old format was
|
|
not parse-able by standard JSON parsers. Each line can now be
|
|
independently parsed with tools like jq.
|
|
* NSID Option Consistency: Fixed NSID EDNS option in dnsping to
|
|
use bytes instead of string for consistency with the rest of
|
|
the codebase and correct wire format.
|
|
* Exit Code Handling: All tools now return exit code 0 when
|
|
invoked with the --help flag, following standard conventions.
|
|
* Race Condition Fix: Fixed a time-of-check to time-of-use race
|
|
condition in dnsping that could cause negative sleep duration
|
|
in the interruptible sleep loop.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Oct 31 10:49:42 UTC 2025 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Update to version 2.9.1
|
|
* Multithreaded DNS Evaluation: dnseval now uses concurrent
|
|
evaluation when testing multiple DNS resolvers, improving
|
|
evaluation times. The tool employs ThreadPoolExecutor with up
|
|
to 10 worker threads for parallel testing while maintaining
|
|
thread-safe output handling. Results continue to be displayed
|
|
in the same order as the input file.
|
|
* Cookie Display Enhancement: DNS COOKIE output in dnsping is
|
|
now truncated to 8 hex characters followed by "..." in normal
|
|
mode, keeping output compact and readable. Full cookie details
|
|
remain available when using verbose mode.
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Oct 26 09:14:13 UTC 2025 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Switch to pyproject macros.
|
|
- Update to version 2.9.0
|
|
New Features
|
|
* Added --nsid support to dnstraceroute for tracing paths to
|
|
anycast instances.
|
|
* Added DNS COOKIE support to dnsping (--cookie).
|
|
* Added DoQ (DNS over QUIC) and DoH3 (DNS over HTTP/3) protocol
|
|
support to dnseval.
|
|
* Added cache warmup behavior to dnseval for fair resolver
|
|
comparisons.
|
|
* Added EDNS flags display in dnseval output.
|
|
* Added Python 3.14 support.
|
|
Improvements
|
|
* Refactored codebase with PEP 8 conventions and comprehensive
|
|
type hints.
|
|
* Improved CLI error handling and parameter validation across
|
|
all tools.
|
|
* Enhanced hostname validation to allow RFC-compliant hostnames
|
|
starting with underscore.
|
|
* Improved IPv6 address display with bracket wrapping for
|
|
readability.
|
|
Bug Fixes
|
|
* Fixed IPv4/IPv6 address family selection to default to
|
|
AF_UNSPEC for automatic detection.
|
|
* Fixed DoH3 feature detection to properly check HTTPVersion.H3.
|
|
* Fixed IPv6 hostname resolution to avoid IPv4-mapped IPv6
|
|
addresses.
|
|
* Fixed DNS COOKIE display in normal and verbose modes.
|
|
* Fixed JSON output type consistency for float values.
|
|
* Fixed premature TCP connection termination handling.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Oct 4 15:22:35 UTC 2025 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Update to version 2.8.1
|
|
New Features
|
|
* Added DNS Cookies support with --cookie option in dnsping.
|
|
Improvements & Bug Fixes
|
|
* Extended DNS Error messages now always displayed when present.
|
|
* Enhanced ECS display format to show source prefix length
|
|
([ECS:address/source/scope]).
|
|
* Fixed DoH/HTTP3 hostname resolution issues.
|
|
* Fixed DoT/DoQ hostname support for SNI and certificate
|
|
validation.
|
|
* Improved responsiveness to CTRL+C.
|
|
* Removed duplicate CLI parameter in usage string.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Sep 29 16:04:14 UTC 2025 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Update to version 2.8.0
|
|
New Features
|
|
* EDNS Client Subnet (ECS) Support: Added --ecs option to
|
|
dnsping for testing EDNS Client Subnet behavior.
|
|
* EDNS Options Display Format: Implemented compact inline format
|
|
for EDNS options ([NSID:server-name], [ECS:subnet/scope],
|
|
[EDE:code("text")]) to reduce output redundancy.
|
|
* DoQ and DoH3 Support in dnstraceroute: Added DNS over QUIC and
|
|
DNS over HTTP/3 protocol support for modern encrypted DNS
|
|
tracing.
|
|
Documentation
|
|
* Protocol Support Documentation: Added protocol compatibility
|
|
table (UDP, TCP, DoT, DoH, DoQ, DoH3) to clarify tool
|
|
capabilities.
|
|
* DNS Resolver Reference Updates: Updated public DNS resolver
|
|
lists with current operational status and capabilities, also
|
|
added more entries (Fixes #129) (#130).
|
|
Improvements & Bug Fixes
|
|
* CLI Parameter Consistency: Standardized command line parameters
|
|
across tools for consistent user experience.
|
|
* Help Message Completeness: Added missing -q option and --venv
|
|
parameter explanations for better usability.
|
|
* EDE Display Formatting: Fixed broken ping output formatting
|
|
when EDE messages are too long by truncating text in ping
|
|
results while preserving full text in verbose mode.
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Sep 21 10:26:34 UTC 2025 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Update to version 2.7.0
|
|
New Features
|
|
* DNS over HTTP/3 (DoH3) Support: Added support for RFC 9114 DNS
|
|
over HTTP3 protocol using -3 or --doh3 option in dnsping.
|
|
* Improved Error Handling: Enhanced error handling for DoH3
|
|
connection failures.
|
|
Breaking Changes
|
|
* Python 3.9 Support Dropped: Minimum Python version is now 3.10
|
|
due to dnspython 2.8.0 requirements.
|
|
Improvements
|
|
* DoQ and DoH3 Enhancements:
|
|
+ Upgraded to dnspython 2.8.0 which provides improved DoQ (DNS
|
|
over QUIC) and DoH3 error handling.
|
|
* Display Enhancements:
|
|
+ Fixed RTT display that was broken in previous release.
|
|
+ Improved response time display.
|
|
+ Better display of DNS response flags.
|
|
+ Fixed EDE (Extended DNS Error) payload display to show empty
|
|
string instead of "None".
|
|
+ Added quotes around EDE payload strings for better visibility
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Oct 26 19:31:45 UTC 2024 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Update to version 2.6.0
|
|
* Add support for DNS over QUIC (DoQ) protocol.
|
|
* Lower dependency version requirement to improve compatibility.
|
|
* Other various bug fixes.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jun 20 12:16:30 UTC 2024 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Update to version 2.5.0
|
|
* Add RFC5001 NSID support (-n or --nsid).
|
|
* Display RFC8914 Extended DNS Errors when available (-E or --ede)
|
|
* Add ability to override default RR class (-C or --class).
|
|
* Display response TTL if applicable (-L or --ttl).
|
|
* Display first answer in RRSET, when available (-a or --answer).
|
|
* Add -x to display extra/expert information, implying Flags, EDE
|
|
and TTL.
|
|
* Display EDNS flags alongside other response flags, when available
|
|
* Always display RCODE with responses.
|
|
* Add more resolvers to the default list.
|
|
* Lots of bug fixes and UX improvements.
|
|
* Change default behavior of --edns to disabled by default.
|
|
* Always display flags in brackets.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat Feb 4 15:41:21 UTC 2023 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Update to version 2.1.0
|
|
* Add -m flag to enforce cache-miss
|
|
* Add -r flag to clear RD flag (disable recursion)
|
|
* Remove support for python 3.4 - 3.6
|
|
* Other minor quality of life improvements
|
|
|
|
-------------------------------------------------------------------
|
|
Thu May 13 13:47:08 UTC 2021 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Update to version 2.0.2
|
|
* Bugfix release
|
|
- Update to version 2.0.1
|
|
* Add support for DNSSEC
|
|
* Add -F to display flags for each response (dnsping)
|
|
* Display full response in verbose mode (dnsping)
|
|
* Add DoT (DNS over TLS) support (dnsping, dnseval)
|
|
* Add DoH (DNS over HTTPS) support (dnsping, dnseval)
|
|
* Add TCP support
|
|
* Improved JSON output support for dnseval
|
|
* Refactor and PEP8 cleanup
|
|
* Do not use system resolver when not needed
|
|
* Add support for user defined source IP address
|
|
* Add user-specified destination port (-p/--port)
|
|
* Improve error handling
|
|
* Display last response code for each entry
|
|
* Rework custom socket and custom TTL support
|
|
* Rework time calculation logic to eliminate an extra DNS
|
|
request that was just sent for timing (dnstraceroute)
|
|
* Update docs (output samples, use cases, etc)
|
|
* Use proper terminology (in code) to reduce confusion
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Apr 4 20:13:35 UTC 2021 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Update to version 2.0.0
|
|
* Add support for DNSSEC
|
|
* Add -F to display flags for each response (dnsping)
|
|
* Display full response in verbose mode (dnsping)
|
|
* Add DoT (DNS over TLS) support (dnsping, dnseval)
|
|
* Add DoH (DNS over HTTPS) support (dnsping, dnseval)
|
|
* Add TCP support
|
|
* Refactor and PEP8 cleanup
|
|
* Do not use system resolver when not needed
|
|
* Add support for user defined source IP address
|
|
* Add user-specified destination port (-p/--port)
|
|
* Improve error handling
|
|
* Display last response code for each entry
|
|
* Rework custom socket and custom TTL support
|
|
* Rework time calculation logic to eliminate an extra DNS
|
|
request that was just sent for timing (dnstraceroute)
|
|
* Update docs (output samples, use cases, etc)
|
|
* Use proper terminology (in code) to reduce confusion
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jan 19 16:06:15 UTC 2020 - Martin Hauke <mardnh@gmx.de>
|
|
|
|
- Update to version 1.7.0
|
|
* Add JSON export
|
|
* Ignore unrelated ICMP messages
|
|
* Fix statistics calculation
|
|
* -c 0 for infinite ping
|
|
* Flush output messages
|
|
* Update sample public resolver data
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jun 9 15:32:34 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
|
|
|
- Generalize description. Fix a few missing words.
|
|
|
|
-------------------------------------------------------------------
|
|
Sun Jun 2 19:04:28 UTC 2019 - Sebastian Wagner <sebix+novell.com@sebix.at>
|
|
|
|
- rename to dnsdiag instead of python-dnsdiag
|
|
- Update to version 1.6.4:
|
|
* no upstream changelog available
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Nov 3 07:59:09 UTC 2017 - mardnh@gmx.de
|
|
|
|
- Initial package, version 1.6.3
|