Skip to content

mdnsd v1.0

Choose a tag to compare

@github-actions github-actions released this 06 Jul 11:44
v1.0
e190ef7

Full IPv6 transport, RFC 6763 compliant browsing, and multiple addresses
per interface. Contributions from Thom Nichols, Florian La Roche, et al.

Changes

  • libmdnsd, mdnsd, and mquery: full IPv6 support, querying and
    answering over the ff02::fb group, not just advertising AAAA records
    over IPv4, which was introduced in v0.12, issue #10
  • libmdnsd: API and ABI break; the soname is now libmdnsd.so.2
    (-version-info 2:0:0) for the IPv6 and multiple-address changes, so
    dependent programs must be rebuilt
  • mdnsd: support multiple IPv4/IPv6 addresses per interface, with all
    services sharing one host name, by Thom Nichols, VoltServer, issue #77
  • mdnsd: track interface and address changes over netlink, instead of
    polling, on Linux
  • mquery: add device discovery mode
  • mquery: browse by service type or host name (.local. implied),
    resolve any record type directly, decode TXT records, and print the
    -D/-d device table on Ctrl-C
  • RFC 6763 compliance: the service PTR now points at the service
    instance, and query responses carry the matching SRV, TXT, and
    address records in the additional section, issues #76 and #80
  • mdnsd: keep key-only TXT attributes (boolean flags) instead of
    dropping them, issue #58
  • Document resolving .local names on the host with libnss-mdns, in
    the README and manuals, issue #19
  • libmdnsd: installed headers no longer pull in the build's config.h,
    so programs can build against the library again, issue #75
  • mdnsd: send goodbye packets when an interface is removed, issue #91
  • Unify the shell and unit tests under one Automake harness, issue #66
  • Cleanups of const/static/unused and -Wformat, by Florian La Roche

Fixes

  • Fix #37: _lmatch() read one byte past the root label
  • Fix #79: mquery sent malformed packets when known-answer suppression
    kicked in
  • Fix #84: use-after-free of a freed record in uanswers
  • Fix #92: use-after-free in mdnsd_set_interface_addresses
  • Fix #93: memory leak in records_clear() on config reload
  • Fix #94: undefined behavior when caching records with empty rdata
  • Fix conflict detection to consider all of an interface's addresses, by
    Thom Nichols, VoltServer, issue #82
  • Fix a one-byte over-read in txt2sd() on well-formed input
  • Fix a memory overflow, by Hans Baumgartner
  • Update the cached records when an interface changes, by Zhu Yongjian