1Avahi 0.8, the 'Dobro Jutro' release 2==================================== 3 4The Avahi 0.8 release brings a number of new features and bug fix changes 5including a backward-compatible addition to the D-Bus API and the avahi-core 6API. 7 8The existing API is still fully supported however clients using the new 9API will not work with older Avahi releases. The avahi-client library is not 10affected. See the "API Changes" section for further details. 11 12New Features: 13- New options for filtering reflected queries between networks (reflect-filter) 14- New mainloop integration for Qt5 and libevent 15- docs/THREADS: Information for multi-threaded avahi-client apps 16- Listen on loopback interfaces by default, allowing local-only services to be 17 consumed by the local machine 18- New D-Bus V2 API and additions to the avahi-core API for splitting "New" 19 calls into "Prepare" and "Start". See "API Changes" for more details. 20 21Notable Changes: 22- avahi-autoipd: Initial IP selection based on MAC previously ignored first 23 octet - this will cause all hosts to select a different link-local IP than 24 previous versions based on the same MAC address 25- avahi-daemon: Delay sending results on an object for 10ms in an attempt to 26 give clients enough time to subscribe to signals from the new object after 27 receiving it's path in response so the New call. See "API Changes" for more 28 info 29 30Bug Fixes: 31- avahi-python: Various Python 3 enhancements including encoding unicode 32 strings as UTF-8 33- avahi-common: avahi_string_list_to_string will now escape embedded quotes, 34 backslashes and control characters. 35- avahi-daemon: Fix a crash when txt records have an empty value in .xml 36 service files 37- avahi-daemon: reflector: do not incorrectly cache responses on outgoing 38 interfaces. Previously we would incorrectly cache responses reflected from 39 one interface on the outgoing interface. These responses were later sent to 40 clients on that network even if the original client had disappeared and could 41 cause those clients to have a hostname conflict with themselves on restart. 42 We no longer incorrectly cache such traffic. 43 44Security Fixes: 45- Drop legacy unicast queries from address not on local link which can lead to 46 UDP traffic amplification attacks (CVE-2017-6519) 47 48API Changes: The avahi-core API and D-Bus API have implemented a new API where 49a call to the "New" method can now be split into a "Prepare" and then "Start" 50method for some objects. The previous "New" API is still fully supported and 51there is no intention to deprecate it. 52 53This change affects the the following objects: AsyncAddressResolver, 54AsyncHostNameResolver, AsyncServiceResolver, DomainBrowser, RecordBrowser, 55ServiceBrowser, ServiceTypeBrowser 56 57This is because the D-Bus implementation in some languages would only bind to 58signals of an object after it was created and had received the new object's 59path. This led to such languages missing the initial results sent between the 60time the object was created and it had setup a filter to receive it's signals. 61This primarily occured in languages that create dynamic bindings for D-Bus 62objects using introspection such as Python. The avahi-client C api was not 63affected as it globally binds to all avahi signals without specifying 64individual object paths and still makes use of the V1 API. 65 66The v2 Prepare/Start API is available under the new 67org.freedesktop.Avahi.Server2 D-Bus interface and also has corresponding 68avahi_s_* calls for users of the embedded avahi-core library. 69 70The old org.freedesktop.Avahi.Server interface is still supported and there is 71no intention to remove this API. Additionally this problem has also been solved 72for old clients by adding a very small 10ms delay before we start sending 73results to give the client time to bind to the signals which should silently 74fix the issue in most cases without introducing a noticable or impactful delay. 75 76Clients implementing the new org.freedesktop.Avahi.Server2 D-Bus interface will 77not work with older Avahi daemons. It is suggested that clients may wish to 78either check for and fallback to the older API version, or continue to use the 79OLD API and rely on the 10ms timer to resolve the issue. 80 81 82Big thank-you to everyone contributing to the project through issues & pull 83requests, including the the following people who contributed changes to this 84release: Daniel S, David Kerr, Eric Bischoff, James Rudd, Jan Alexander 85Steffens (heftig), Karl Cronburg, Krzesimir Nowak, Mario Blättermann, Martin 86Blanchard, Michal Sekletar, msk-nightingale, Philip Prindeville, Piotr Drąg, 87Rafael Fontenelle, scootergrisen, Simon Lauser, Simon McVittie, Thomas Jollans, 88Tony Garnock-Jones, Trent Lloyd, wisd0me, Yclept Nemo, Zlopez, Дамјан 89Георгиевски. 90 91This release is backwards compatible with Avahi 0.6.x and 0.7. 92 93Avahi 0.7, the 'Adieu' release 94============================== 95 96The Avahi 0.7 release brings two new features, binary TXT records in XML 97service files and the ability to start the gobject client in a custom context. 98 99A number of other changes are detailed below. 100 101New Features: 102 * Add support for binary values in TXT records in XML service files by 103 specifying value-format="text|binary-hex|binary-base64". If not specified, 104 defaults to the normal value of "text" (thus backwards compatible) 105 * avahi-gobject: Allow starting the client in a custom GMainContext by 106 passing context to ga_client_start_in_context instead of ga_client_start 107 (avahi-gobject minor version has been incremented) 108 109 Thanks to Krzesimir Nowak for both of these additions. 110 111Notable Changes: 112 * avahi-daemon: Remove all default rlimits from avahi-daemon.conf, as two 113 main problems happened with firstly rlimit-nproc causing avahi to fail when 114 started in a container without user namespaces and secondly because memory 115 rlimits were causing avahi to crash in some cases. Leave it up to the init 116 system to impose any modified limits instead. It is recommend to ship this 117 change in distribution default config files. 118 * avahi-common: Fix watch cleanup issue in watch_free 119 * avahi-discover (python): Updated for Python3 & GTK3 120 * avahi-autoipd: clear previously set address before binding a new one 121 * avahi-autoipd: fix dhclient hooks to check for avahi-autoipd before running 122 * build: Move default rundir from /var/run to /run as per modern system setups 123 124Other Changes: 125 * build: Fix the printed value of "Building libavahi-client" in ./configure 126 * build: autogen.sh improved to work when called from another directory 127 * build: Fix warnings when compiling against musl libc 128 * Updated translations: Polish, Ukranian, Turkish, Indonesian, Swedish, 129 Hungarian, Occitan (New), Czech, Chinese (Simplified) 130 * avahi-compat-libdns_sd: Fix incorrect URL in warnings 131 * service-type-database: Add new service Types: _ipps._tcp, _xpra._tcp 132 * avahi-dnsconfd: Update manpage with the correct action script name 133 * avahi-gobject: Use the correct shared library name in AvahiCore-0.6.gir 134 * avahi-gobject: Fix build failing under some locales 135 * avahi-common/dbus-watch-glue.c: remove Unneeded semicolon 136 * Update gentoo init scripts for newer openrc version 137 138Big thank-you to everyone contributing to the project through issues & pull 139requests, including the the following people who contributed changes to this 140release: Andika Triwidada, Andreas Henriksson, Anthony G. Basile, 141Antoine Martin, Ben Chan, Cedric Hombourger, Cedric Valmary, Gabor Kelemen, 142HMikolon, Jan Alexander, Steffens (heftig), Josef Andersson, Jussi Kukkonen, 143Krzesimir Nowak, Kylie McClain, Michael Biebl, Muhammet Kara, Peter Meerwald, 144Philip Withnall, Piotr Drąg, Sebastiaan Lokhorst, Thomas Kluyver, Trent Lloyd 145 146This release is otherwise backwards compatible with Avahi 0.6.x except for 147ga_client_start_in_context (new function, incremented avahi-goject SO minor 148version) and value-format in XML service files. 149 150Avahi 0.6.32 151============ 152 153This is largely a bugfix release, non-bug changes are listed separately. 154 155 * Don't log warnings about invalid packets, commonly triggered by Windows 10 systems 156 * Fix issue with bad packet size estimation, causing probes to continuously be sent when hosting large numbers of services (Lee, Chun-Yi) 157 * Fix build on Solaris/SmartOS (filio.h issue) 158 * Fix build on FreeBSD (PCAP_D_IN issue) 159 * Fix debug output with libdaemon >= 0.14 160 * avahi_server_set_browse_domains now correctly uses the provided list, instead of re-using the list from the configuration file 161 * Set nl_pid to 0, this will automatically assign the value and prevent conflicts per netlink(7). (Bug #334) 162 * Check for netlink pid=0 (kernel) instead of uid=0, which works correctly with network & user namespaces. 163 * Fix reversed IFA_LOCAL and IFA_ADDRESS checks. (Avahi#355) 164 * Don't fail the build on deprecated GTK/GLIB usage 165 * Gracefully fail if SO_REUSEPORT is not available 166 * Minor Python 3 update for the python ServiceTypeDatabase test usage of print, should be backwards compatible 167 * avahi-autoipd: Fix incorrect usage of IFLA_RTA instead of IFA_RTA which could crash on ARM (Closes: #42) 168 169Changes 170 171 * GTK3 deprecation fixes including vbox, g_object_unref on GdkCursor, stock items, composite API 172 * New feature: host-name-from-machine-id= to configure the hostname from the machine-id, defaults to off. 173 * Configuration change: Enable IPv6 by default (use-ipv6=yes) 174 * Configuration change: Disable publishing HINFO and WORKSTATION records in the default config (publish-hinfo=no, publish-workstation=no) 175 * Configuration change: Don't browse 0pointer.de and zeroconf.org wide-area by default (browse-domain=) 176 177This release is backwards compatible with Avahi 0.6.x with x < 32. 178 179Avahi 0.6.32-rc 180=============== 181 182This is largely a bugfix release, non-bug changes are listed separately. 183 184 * Don't log warnings about invalid packets, commonly triggered by Windows 10 systems 185 * Fix issue with bad packet size estimation, causing probes to continuously be sent when hosting large numbers of services (Lee, Chun-Yi) 186 * Fix build on Solaris/SmartOS (filio.h issue) 187 * Fix build on FreeBSD (PCAP_D_IN issue) 188 * Fix debug output with libdaemon >= 0.14 189 * avahi_server_set_browse_domains now correctly uses the provided list, instead of re-using the list from the configuration file 190 * Set nl_pid to 0, this will automatically assign the value and prevent conflicts per netlink(7). (Bug #334) 191 * Check for netlink pid=0 (kernel) instead of uid=0, which works correctly with network & user namespaces. 192 * Fix reversed IFA_LOCAL and IFA_ADDRESS checks. (Avahi#355) 193 * Don't fail the build on deprecated GTK/GLIB usage 194 * Gracefully fail if SO_REUSEPORT is not available 195 * Minor Python 3 update for the python ServiceTypeDatabase test usage of print, should be backwards compatible 196 197Changes 198 199 * GTK3 deprecation fixes including vbox, g_object_unref on GdkCursor, stock items, composite API 200 * New feature: host-name-from-machine-id= to configure the hostname from the machine-id, defaults to off. 201 * Configuration change: Enable IPv6 by default (use-ipv6=yes) 202 * Configuration change: Disable publishing HINFO and WORKSTATION records in the default config (publish-hinfo=no, publish-workstation=no) 203 * Configuration change: Don't browse 0pointer.de and zeroconf.org wide-area by default (browse-domain=) 204 205This release is backwards compatible with Avahi 0.6.x with x < 32. 206 207Avahi 0.6.31 208============ 209 210This is a bugfix release. 211 212 * Fix compatibility with newest autoconf 213 214This release is backwards compatible with Avahi 0.6.x with x < 31. 215 216Avahi 0.6.30 217============ 218 219This is a bugfix release. 220 221 * Make IPv6 work again 222 * i18n updates 223 * Minor other updates 224 225This release is backwards compatible with Avahi 0.6.x with x < 30. 226 227Avahi 0.6.29 228============ 229 230This is a bugfix release. 231 232 * Updates regarding systemd integration 233 * Compatibility with newer gtk3 and gobject introspection 234 * i18n updates 235 * Minor other updates 236 * Fix CVE-2011-1002, fixing the fix for CVE-2010-2244 237 238This release is backwards compatible with Avahi 0.6.x with x < 29. 239 240Avahi 0.6.28 241============ 242 243This is a bugfix release. 244 245 * Updates regarding systemd integration 246 * Properly avoid bus activation on non-systemd systems 247 * Compatibility with newer gtk3 and gobject introspection 248 * i18n updates 249 * Minor other updates 250 251This release is backwards compatible with Avahi 0.6.x with x < 28. 252 253Avahi 0.6.27 254============ 255 256This is a bugfix release. 257 258 * Various updates to the systemd integration 259 * Reset all signal handlers and the signal mask on initialization 260 * Don't trip over SIGPIPE 261 * i18n updates 262 * Minor other updates 263 264This release is backwards compatible with Avahi 0.6.x with x < 27. 265 266Avahi 0.6.26 267============ 268 269This is mostly a bugfix release but also fixes a low risk security issue and 270adds a couple of minor new features. 271 272 * Fix CVE-2010-2244 (Ludwig Nussel) 273 * Support for Gtk+ 3 and Gtk+ Introspection 274 * Native systemd socket activation support 275 * Add systemd service files 276 * Add various resource control options, for traffic rate limiting as well as 277 cache size and D-Bus client object limits. 278 * i18n updates 279 * Minor other updates 280 281This release is backwards compatible with Avahi 0.6.x with x < 26. 282 283Avahi 0.6.25 284============ 285 286This is mostly a bugfix release but also fixes a low risk security issue. 287 288 * Fix CVE-2009-0758 (Rob Leslie) 289 * i18n updates 290 * Minor other updates 291 292This release is backwards compatible with Avahi 0.6.x with x < 25. 293 294Avahi 0.6.24 295============ 296 297This is mostly a bugfix release. 298 299 * A huge number of bug fixes, including a security relavant one (low 300 risk) 301 * Add two new configuration directives "allow-interfaces" and 302 "deny-interfaces" which can be used to make Avahi ignore certain 303 network interfaces or only use certain network interfaces. 304 * A lot of translation updates 305 306This release is backwards compatible with Avahi 0.6.x with x < 24. 307 308Avahi 0.6.23 309============ 310 311This is an bugfix release. 312 313 * A lot of translation updates 314 * Beef up bnvc quite a bit, including passing a domain to browse in 315 (patch from lkundrak) 316 * Increase numer of open files resource limit to 300 so that we can 317 deal with more clients simultaneously. 318 * Rework 'poof' algorithm a bit to reduce traffic load on noisy links. 319 * Build fixes 320 * Minor other updates 321 322This release is backwards compatible with Avahi 0.6.x with x < 23. 323 324Please note that Avahi's SVN has been converted to GIT and is now 325available on git://git.0pointer.de/avahi. 326 327Avahi 0.6.22 328============ 329 330This is an important bugfix release, and adds a couple of new 331features. 332 333 * i18n support 334 * Documentation and example code updates 335 * Support for registering the Avahi documentation in devhelp (needs 336 manual setup) 337 * Added a new component libavahi-gobject, which is a GObjectified 338 version of the Avahi API, contributed by Sjoerd Simons 339 * Major BSD compatibility improvements, contributed by "zml" 340 * avahi-ui: Allow overwriting of pretty service name by the 341 application 342 * Service type database updates 343 * Add new option --parsable to avahi-browse 344 * Minor other updates 345 346This release is backwards compatible with Avahi 0.6.x with x < 22. 347 348Avahi 0.6.21 349============ 350 351This is an important bugfix release. 352 353 * Make avahi-autoipd actually produce correct ARP packets 354 (Identified and patched by Pauline Yeung) 355 * Add FreeBSD kqueue support for watching /etc/avahi/services 356 (Contributed by Marcus Clarke) 357 * Use search domain from /etc/resolv.conf as additional browse 358 domains. 359 * No longer return a conflict error when two local applications 360 register identical RRs. 361 * Properly find alternative service/host names for very long names 362 * DNS name compression fix (Sjoerd Simons) 363 * Fedora init script order fix 364 * Several fixes to make gcc produce less warnings 365 * Minor documentation and build fixes 366 367This release is backwards compatible with Avahi 0.6.x with x < 21. 368 369Avahi 0.6.20 370============ 371 372This is a bugfix release and contains a fix for a low risk security 373vulnerability. 374 375 * Fix a local DoS vulnerability, where an assert() could be hit by 376 passing empty TXT data over D-Bus to the Avahi daemon. (Low Risk) 377 * Solaris/dbm portability fixes 378 * Close all open file descriptors when daemonizing. Is generally 379 safer and fixes a few issues with broken init systems of several 380 distributions. 381 * avahi-autoipd: allow passing the path of the action script on the 382 command line. 383 * Several minor build fixes and other cleanups 384 385This release is backwards compatible with Avahi 0.6.x with x < 20. 386 387Avahi 0.6.19 388============ 389 390This is a bugfix release, but also adds a new component "avahi-ui-sharp". 391 392 * Rename zssh/zvnc to bssh/bvnc to avoid a name collision with another 393 free software tool, on request of the Debian developers. I hope 394 this name change early in the life of bssh/bvnc won't be too 395 difficult to handle by the distributors. 396 * Add man page for bssh/bvnc 397 * avahi-ui: fix segfault when browsing in empty domains 398 * avahi-ui: allow GTK_RESPONSE_OK, _YES and _APPLY besides _ACCEPT as 399 positive dialog response codes 400 * avahi-ui-sharp: Add Mono/C# API wrapper for avahi-ui 401 * Don't pick the first and the last 256 IP addresses from the IPV4LL 402 range in avahi-autoipd, as required by RC3927 section 2.1 403 * No longer publish the Avahi service identification cookie anymore 404 by default. It was a bad idea in the first place. A better 405 replacement will hopefully be made available in Avahi eventually. 406 * Properly set umask before writing to /var/lib/avahi-autoipd 407 * Update .deskop files to work around KDE menu issue 408 * Various build fixes and other minor fixes and updates 409 410This release is backwards compatible with Avahi 0.6.x with x < 19. 411 412Avahi 0.6.18 413============ 414 415This is a bugfix release, adds a few new features and includes a new 416component. 417 418 * Add a new library libavahi-ui which contains a standard Gtk dialog 419 for browsing for services, and a new tool "zssh" that makes use of 420 it, which allows browsing for SSH and VNC servers and starts ssh or 421 xvncviewer if one item is selected. 422 * avahi-autoipd has been ported to FreeBSD (original patch from Bruce M Simpson) 423 * Improve OpenBSD, Solaris, MacOS X compatibility 424 * Linux inotify support for monitoring /etc/avahi/services/ and 425 /etc/avahi/hosts for changes. (Original patch from "behanw") 426 * Add the ability to dump the service type database from avahi-browse 427 with the new option "-b". 428 * Enable GCC stack smashing protection if available and working (Patch from tedp) 429 * Improve compatibility with Bonjour's libdns_sd (patch from Chris Rivera) 430 * Various updates to the service type database (based on patches from uws) 431 * Fix a local DoS vulnerability (very low priority, all you can do is 432 make Avahi hit an assert()); problem identified by "jamesh" 433 * Fix a problem when constantly generating conflict events for an RR 434 * Fix registration of very large RRs (original patch from Sjoerd Simons) 435 * Various minor fixes 436 437This release is backwards compatible with Avahi 0.6.x with x < 18. 438 439Avahi 0.6.17 440============ 441 442This is a bugfix release. 443 444 * Don't accept "localhost" as a local mDNS host name 445 * Allow running avahi-bookmarks as CGI script 446 * Improve libdns_sd compatibility 447 * Stability: libdns_sd mutex locking order fix 448 * Publish IPv6 addresses via IPv4 and vice versa 449 * IA64 fixes 450 * A lot of minor cleanups and fixes 451 452This release is backwards compatible with Avahi 0.6.x with x < 17. 453 454Avahi 0.6.16 455============ 456 457This is a bugfix release, it fixes one DoS (100% CPU Usage) and a regression 458from the last release 459 460 * Revert previous patch to check nlmsg_pid as it is bogus and breaks in 461 many cases, notably when using NetworkManager (Closes: #72) 462 * Replace with new SO_PASSCRED-based check of the sending UID, which 463 seems to work better (Closes: #72) 464 * Handle some errors in libdns_sd more gracefully the way the real 465 libdns_sd does (Closes: #64) 466 * Apply fix for Linux 2.6.19+ where IFA_RTA / IFLA_RTA is no longer 467 defined (Closes: #86) 468 * Fix doxygen comments for avahi watch, thanks to tedp (Closes: #77) 469 * Make d-bus version detection work for >= 1.0 (Closes: #71) 470 * Dont dbus_connection_close on shared dbus connections (Closes: #68) 471 * Fix potential endless loop in dns label unpacking code (Closes: #84) 472 * Fix bogus assertion in client-publish-service.c example 473 * Mild fix to some doxygen docs for avahi-common/address.h 474 * Fix passing in custom privileged group (previously ignored setting) 475 (Closes: #85) 476 477This release is backwards compatible with Avahi 0.6.x with x < 16. 478 479Avahi 0.6.15 480============ 481 482This is a bugfix release, this bug is potentially security sensitive 483 484 * Check that netlink messages actually originate from the kernel 485 and not another process. 486 * Fix build on NetBSD (thanks to Daniel S. Haischt) 487 * Fix dbus_service_browser not setting AVAHI_LOOKUP_RESULT_OUR_OWN. 488 489This release is backwards compatible with Avahi 0.6.x with x < 15. 490 491Avahi 0.6.14 492============ 493 494This release fixes some bugs and includes a new component. 495 496Changes: 497 498 * Add new daemon "avahi-autoipd" which is an implementation of 499 IPv4LL as defined in RFC3927, a technology for assigning link-local IP 500 addresses without DHCP server. The same functionality has been available on 501 Windows under the name APIPA. While it is not the first implemenatation of 502 this technology for Free operating systems it is clearly the most powerful 503 and hopefully even the most secure. (Because it chroot()s and drops 504 privileges and suchlike) For more information, especially about packaging 505 this new tool for distributions, please make sure to read: 506 http://avahi.org/wiki/AvahiAutoipd 507 and of course the man page included in the tarball. For the rationale for 508 adding this program to the Avahi toolset please read this mailing list 509 thread: 510 http://lists.freedesktop.org/archives/avahi/2006-September/000863.html 511 * Fix a segfault in the code handling static host name registrations 512 * Add a few new entries to the service type database 513 * s/D-?BUS/D-Bus/g 514 * Documentation updates 515 * Fix service type database building on Solaris 516 * Make use of newer D-Bus APIs 517 * Fix random seed initialization 518 * Install SFTP static service file by default 519 * Other minor code cleanups 520 521This release is backwards compatible with Avahi 0.6.x with x < 14. 522 523Please note that this version doesn't compile on NetBSD, patches 524welcome. 525 526Please note that avahi-autoipd is available on Linux only for 527now. Patches welcome. It is recommended to pass --disable-autoipd to 528"configure" on non-Linux operating systems, otherwise the build will 529fail. 530 531Avahi 0.6.13 532============ 533 534This release fixes some bugs and includes minor enhancements. 535 536Changes: 537 * Add a new D-Bus method for changing the mDNS host name during 538 runtime. This functionality is only available to members of the 539 UNIX group "netdev", which is the same access group that is 540 enforced by GNOME's NetworkManager daemon. Since NM will probably 541 be the most prominent user of this new method, we decided to limit 542 access to the same group. The access group can be set by passing 543 --with-avahi-priv-access-group= to "configure". If you need more 544 sophisticated access control you can freely edit 545 /etc/dbus/system.d/avahi-dbus.conf. 546 * Add a new utility "avahi-set-host-name" which is a command line 547 wrapper around the aforementioned SetHostName() method. 548 * Bonjour API compatibility library: 549 * Implement DNSServiceUpdateRecord() 550 * Allow passing NULL as callback function for 551 DNSServiceRegister() 552 * Implement subtype registration in DNSServiceRegister() in a 553 way that is compatible with Bonjour. 554 * Update to newer copy of dns_sd.h 555 * If the host name changes update names of static services wich 556 contain wildcards. 557 * Don't build documentation about embedding the Avahi mDNS stack into 558 other programs by default. This is a feature used only by embedded 559 developers. Pass --enable-core-docs to "configure" to enable 560 building these docs, like in Avahi <= 0.6.12. 561 * Build Qt documentation only when Qt support is enabled in 562 the configuration. Same for GLib. 563 * Change algorithm used to find a new host name on conflict. In 564 Avahi <= 0.6.12 a conflicting host name of "foobar" would be 565 changed to the new name "foobar2". With 0.6.13 "foobar-2" will be 566 picked instead. This follows Bonjour's behaviour and has the 567 advantage not confusing people with regular host names ending in 568 digits. 569 * Don't disable all static services when SIGHUP is received. 570 * Fix build when Avahi is configured without Gtk+ but with Python 571 support 572 * Fix build on MacOS X 573 * Support using Solaris DBM instead of gdbm for the service type 574 database. The latter is still recommended 575 * Minor other fixes and documentation updates 576 577This release is backwards compatible with Avahi 0.6.x with x < 13. 578 579Avahi 0.6.12 580============ 581 582This is a bugfix and general cleanups release. 583 584Changes: 585 * Compatibility with newer D-Bus releases (0.9x) 586 * Compatibility with DBUS builds with --disable-checks 587 * Fix an error in the DBUS event loop wrapping which 588 caused the avahi client libraries to dispatch some events 589 too late when used with D-BUS 0.62 and newer. 590 * avahi-daemon: fix a minor memory leak in the DBUS code. 591 * avahi-glib: some GLIB adapter cleanups 592 * avahi-dnsconfd: fix segfault when passing an invalid command 593 line option 594 * avahi-test: portability patches for Solaris 595 * avahi-browse: flush STDOUT after each line, making it useful 596 in shell scripts. 597 * update service type database 598 599This release is backwards compatible with Avahi 0.6.x with x < 12. 600 601Avahi 0.6.11 602============ 603 604This is a bugfix and portability release. 605 606Changes: 607 * Ported to Solaris 608 * avahi-sharp: fix a fatal error in object disposal code 609 * add a few new entries to the servivce type database 610 * fix potential crash when the daemon shuts down 611 * compatibility with newer autoconf versions 612 613This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2, 6140.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.9 and 0.6.10. 615 616Avahi 0.6.10 617============ 618 619This is mostly a bugfix release. Two of the bugs fixed are security 620sensitive: a remote denial-of-service vulnerability and a buffer 621overflow that can allow local users to become the 'avahi' user. We do 622not consider either of them major security threats. 623 624The DoS vulnerability can be exploited from a local network only. It 625is not worth much, though, since mDNS can easily be flooded with 626nonsense anyway. It is easy to kick remote mDNS/DNS-SD services by 627provoking a name conflict in perfect accordance with the specs. 628 629The buffer overflow is hard to exploit remotely, only local users can 630become the 'avahi' user. In addition the user is trapped inside a 631chroot() environment (at least on Linux). 632 633Anyhow, our security assessments are possibly as buggy as our 634code. Hence: 635 636 *** PLEASE UPDATE YOUR INSTALLATION ASAP! *** 637 638Changes: 639 * Fix a buffer overflow in avahi-core 640 * Refuse to process invalid UTF8 data 641 * Automatically reconnect to the DBUS if we're kicked. (Works only if 642 chroot() is disabled) 643 * Don't hit an assert() in the client libs when the Avahi daemon is 644 terminated 645 * Enumerate all service types in the database in the Service 646 Discovery Applet for Gnome 647 * Improve the Bonjour compatibility layer to make it survive 648 GnomeMeeting's broken usage 649 * Deal properly with local non-ASCII hostnames 650 * AMD64 and FreeBSD portability fixes 651 * Filter double DNS server entries in avahi-dnsconfd 652 * Fix a locking bug in avahi-sharp's EntryGroup.AddService() 653 * Ported to Solaris (incomplete) 654 * Add _airport._tcp to our service type database 655 656This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2, 6570.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.8 and 0.6.9. 658 659Avahi 0.6.9 660=========== 661 662This release fixes some bugs and includes minor enhancements. 663 664 * Don't allow registration of address records with invalid host names 665 * Clean up argument validity checking for AvahiHostNameResolver and 666 AvahiAddressResolver 667 * Fix Avahi builds without DBUS 668 669This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2, 6700.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7 and 0.6.8. 671 672Avahi 0.6.8 673=========== 674 675This release fixes some bugs and adds a few new features. Users of 0.6.7, 676please update ASAP! 677 678 * Fix broken parsing of static hosts file 679 * Improve out-of-the-box Debian support 680 * Add configuration option to allow mDNS over POINTOPOINT links. 681 This is a potential security hole and YMMV. See man page for details. 682 * Create $(localstatedir)/run on installation 683 684This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2, 6850.6.3, 0.6.4, 0.6.5, 0.6.6 and 0.6.7. 686 687Avahi 0.6.7 688=========== 689 690This release fixes some bugs and adds a few new features 691 692 * Add static hosts name mappings 693 * Work around kernel bugs regarding multicast group membership 694 * ia64 portability fixes 695 * Don't require X11 to run avahi-bookmarks 696 * API: Return AVAHI_ERR_IS_EMPTY when the user tries to commit an 697 empty entry group. 698 * Improved Slackware and Fedora suppport 699 700This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2, 7010.6.3, 0.6.4, 0.6.5 and 0.6.6. 702 703Avahi 0.6.6 704=========== 705 706This release fixes some bugs and includes some documentation updates 707 708 * Add a bunch of new types to the service type database 709 * Return errors of avahi_entry_group_commit() properly 710 * Many doxygen documentation improvements 711 * Fix destruction of AvahiEntryGroup objects using 712 avahi_entry_group_free(). 713 * Don't allow commiting of empty entry groups 714 * Use a little less memory in avahi-qt 715 * Don't accept empty TXT strings 716 * Update example "client-publish-service.c" to show how to modify an 717 existing service 718 719This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2, 7200.6.3, 0.6.4 and 0.6.5. 721 722Avahi 0.6.5 723=========== 724 725This release fixes some bugs and adds a new API function. 726 727 * avahi-browse: properly show services that are removed from the 728 network 729 * fix build on bi-arch platforms, on GNU/kFreeBSD, on MIPS and 730 for non-DBUS builds 731 * add new API function avahi_nss_support() and DBUS function 732 IsNSSSupportAvailable() which may be used to detect whether 733 libc's gethostbyname() supports mDNS domain names. 734 * patch avahi-bookmarks to make use of 735 IsNSSSupportAvailable(). avahi-bookmarks will now generate links 736 with real hostnames instead of numeric IP addresses if mDNS support 737 is detected for gethostbyname(). 738 * add init script for Mandriva Linux 739 * speed up avahi_client_free() 740 * man page updates 741 * install missing header thread-watch.h 742 * fix avahi-bookmarks to work with certain twisted versions 743 * fix record updating 744 * Use pkg-config's Requires.private directive where it makes sense 745 746This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2, 7470.6.3 and 0.6.4. 748 749Avahi 0.6.4 750=========== 751 752This is a bugfix release and adds a new event loop implementation to 753avahi-common's public interface. 754 755 * avahi-common: add new AvahiThreadedPool event loop implementation 756 * avahi-sharp: compatibility with newer mono versions 757 * avahi-publish-service: don't ignore the port number specified 758 * avahi-sharp: correct some flags definitions 759 760This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2 and 7610.6.3. 762 763A quick introduction how to use the new AvahiThreadedPool interface is 764available in our Wiki: 765 766 http://avahi.org/wiki/RunningAvahiClientAsThread 767 768Avahi 0.6.3 769=========== 770 771This is a bugfix release. Everyone should update ASAP! 772 773 * avahi-sharp: make sure to append a trailing NUL byte to all C strings 774 * avahi-core: fix a double free() which occurs when wide area lookups timeout 775 776This release is fully compatible with Avahi 0.6, 0.6.1 and 0.6.2. 777 778Avahi 0.6.2 779=========== 780 781This is mostly a bugfix release. 782 783 * Compatibility with DBUS 0.60 (Full compatibility with DBUS 0.3x and 784 0.5 is retained) 785 * Fix introspection for some auxiliary DBUS objects 786 * Miscellaneous documentation updates 787 * Improve Autoconf support for detecting PTHREADS library 788 * Fix avahi-publish --help 789 * Workaround a DBUS limitation which might cause Avahi to die when a 790 user sends an empty TXT entry over DBUS 791 * Increase number of resolver/browser objects a DBUS client may create 792 * Remove fprintf() call in avahi_client_new() 793 * Other minor fixes 794 795This release is both up and downwards compatible with Avahi 0.6 and 0.6.1. 796 797Avahi now has its own Domain (http://avahi.org) and a new Website! 798 799And, most importantly, we now have a Logo: 800 http://avahi.org/chrome/site/avahi-trac.png 801 802Avahi 0.6.1 803=========== 804 805This is mostly a bugfix release. 806 807 * Fix a segfault when shutting down the daemon. Please note that this 808 issue was not security sensitive in any way but had the ugly side 809 effect that the daemon's PID file was not removed properly. 810 * Added init scripts for ArchLinux and FreeBSD 811 * Add DBUS API versioning through the new method GetAPIVersion() 812 * Build the HOWL compatibility library as "libhowl.so", instead of 813 "libavahi-compat-howl.so". This will help distributors to ensure 814 full API/ABI compatibility with HOWL out-of-the-box. 815 * Same for the Bonjour compatibility library 816 * Other fixes 817 818We encourage Linux users to update to libdaemon 0.10 since logging 819does not work from a chroot() environment with older versions. 820 821This release is fully API and ABI compatible with Avahi 0.6. This is 822true for both the C libraries and the DBUS interface. 823 824Packagers should read the new documentation file doc/COMPAT-LAYERS 825which contains some information about maintaining full build system 826compatibility in addition to ABI/API compatibility. 827 828Avahi 0.6, the "Goddag" release 829=============================== 830 831 * Support for (read-only) wide area support. (i.e. DNS-SD over unicast DNS) 832 * Ported to FreeBSD, NetBSD, Darwin/MacOSX and to some extent OpenBSD 833 * Portability fixes for ARM CPUs 834 * Compatibility layers for the HOWL and Bonjour APIs 835 * Support for registering/browsing arbitrary records 836 * Proper support for DNS-SD service subtypes 837 * Native C implementations of the client utilities 838 * Now passes the Bonjour conformance test suite without any exceptions 839 * "Passive observation of failures" 840 * chroot() support 841 * Many traffic reduction improvements 842 * Bugfixes, cleanups 843 844This release is not API/ABI compatible with Avahi 0.5. Please see 845docs/API-CHANGES-0.6 for a rough overview over the changes. 846 847Avahi 0.5.2 848=========== 849 850 * Bug fix release. 851 * Fix browing in QT applications (was totally broken) 852 * Minor documentation update. 853 854Avahi 0.5.1 855=========== 856 857 * This is a bug fix release, before the big changes coming in 0.6 858 * Fix reporting of the NO_DAEMON error 859 * Fix commit throttling algorithm for entry groups 860 * Fix counting of the number of resources in an entry group 861 862Avahi 0.5, the 'Bom Dia' release 863================================ 864 865 * New Mono bindings, allowing you to use Avahi from 866 any CLI language such as C# 867 * Attempt auto-detection of the D-BUS system bus address 868 * Include a 'cookie' in all published records which allows us 869 to reliably determine if a service is the same as another. 870 * Add API to determine if services are local 871 * Better support for threading with AvahiSimplePoll 872 * Add some new StringList functions to help binding to it in 873 other languages 874 * Various build and run-time bug fixes 875 876Avahi 0.4, the 'Hyvää päivää' release 877===================================== 878 879 * Renamed the include dirs for the Qt bindings to include the 880 version number, as they may diverge in future. 881 * Fix a critical bug in avahi-daemon triggered by configuring an interface 882 with various DHCP clients when you have no other active addresses which 883 caused avahi-daemon to abort. 884 * Move to using python-gdbm exclusivly for the service type database. 885 * Add support for SUSE 886 * Various fixes to the build system 887 888Avahi 0.3, the 'Buenos Días' release 889==================================== 890 891 * New integration library for QT main-loop applications. 892 * Fix a crash in avahi-dnsconfd 893 * Documentation Updates 894 * Fix building when you don't want Python DBUS or GTK 895 * avahi-bookmarks 896 - Add new help option 897 - Fix handling of paths not starting with a / 898 - You can now specify the port and IP to bind to 899 - Add option to generate links with hostnames instead of IPs 900 901Avahi 0.2, the 'Dzień Dobry' release 902==================================== 903 904 * Unfortunately this release broke the API/ABI of libavahi-client 905 with the following function removals 906 907 Removal of these functions may affect users of the 0.1 API 908 - avahi_service_resolver_block() 909 910 The following functions were simply for debugging information 911 and their removal should not affect anyone 912 - avahi_entry_group_get_dbus_path() 913 - avahi_domain_browser_get_dbus_path() 914 - avahi_service_type_browser_get_dbus_path() 915 - avahi_service_browser_get_dbus_path() 916 917 Note that while the libavahi-client API changed slightly, the DBUS 918 API itself has only had additions and no existing definitions 919 have changed. 920 921 * avahi-daemon will now ignore local IP addresses with the "link" scope 922 unless it is the only IP address on the interface. 923 * avahi-daemon will no longer fail to start if D-BUS is not 924 available (if configured with enable-dbus=warn) 925 * Fixed a potential crasher when resolving things in libavahi-core. 926 * New example demonstrating integration into glib applications 927 * Addtion of a set of convenience functions for AvahiStringList 928 avahi_string_list_find() 929 avahi_string_list_get_pair() 930 avahi_string_list_add_pair() 931 avahi_string_list_add_pair_arbitrary() 932 * Fixed a typo in avahi-glib.pc that stopped programs using 933 the GLIB api from compiling correctly 934 * A critical bug in the reflector was fixed where it may go into a 935 state of constantly flooding queries out to the network. 936 * Introduced new asynchronous resolver API 937 * libavahi-client gained an API for resolving HostNames and Addresses 938 in addition to the ServiceResolver provided in 0.1 939 * Added support for Arch and Gentoo linux distributions. 940 * Allowed configuration on non-supported distributions 941 * Fixed a critical bug where you cannot use more than one AvahiClient 942 or use it in an application already using D-BUS 943 * Fixed assembly of empty string lists to RFC compliant TXT records 944 * Added a new service type description database with human 945 understandable descriptions of services with translations. 946 * Fixed various minor memory corruption bugs 947 * Fixed an issue where Avahi might think it encountered a conflict 948 if the process or machine has been suspended 949 * Fixed compilation and runtime issues on 64-bit distributions 950 * ... 951 * PROFIT!!! 952 953Avahi 0.1, the "Guten Tag" release 954================================== 955 956The Avahi team would like to announce the immediate availability of 957Avahi 0.1 "Guten Tag". 958 959Avahi is a fully LGPL framework for Multicast DNS Service Discovery. 960It allows programs to publish and discover services and hosts 961running on a local network with no specific configuration. For 962example you can plug into a network and instantly find printers to 963print to, files to look at and people to talk to. 964 965Avahi is designed to be compatible with the mDNS/DNS-SD specification 966and boasts the following features 967 968 * Fully open source and freely available under the LGPL 969 * Full IPv4 and IPv6 support 970 * An embeddable mDNS stack 971 * Dynamic adjustment to network reconfiguration 972 * Daemon with DBUS API for desktop applications 973 * C library to interface with the DBUS API 974 * Compatible with other mDNS/DNS-SD implementations such as 975 Howl and Apple Bonjour (previously Rendezvous) 976 * Ability to correctly "reflect" mDNS between two or more LAN segments 977 * Ability to configure DNS servers based on mDNS/DNS-SD published 978 information, a feature that is very usefull on IPv6 979 which has no other mechanism for this. 980 * Combined with nss-mdns, allows hostname lookup such as 981 'laptop.local' without the configuration of a DNS server. 982 http://0pointer.de/lennart/projects/nss-mdns/ 983 * Easy integration into GLIB, GTK other mainloop applications. 984 * Documentation and examples of both developer APIs and utilities. 985 986mDNS/DNS-SD is part of a larger set of specifications for easy 987configuration of networking known as "ZeroConf" 988(http://www.zeroconf.org/), with the aim of allowing you to plug into 989a network and instantly be able to interact with its services. 990 991Avahi was designed to be a fully free implementation, and is 992available under the LGPL. Many other implementations of the mDNS/DNS-SD 993specification were previously non-free, restricting their use in many 994platforms such as the GNOME desktop and many distributions. 995 996While Avahi is a 0.1 release, we feel it is feature complete and 997available for immediate use, developers can make use of the Avahi 998client library to provide above mentioned functionality in their 999programs. 1000 1001We unfortunately do not have a logo yet! We would love if someone 1002could suggest ideas for a logo or even design us one. If you think 1003you can help us out, you can contact us on our mailing list or by 1004emailing Trent Lloyd on lathiat@bur.st. 1005 1006If you would like more information or help, you can subscribe 1007to our mailinglist, goto 1008 http://lists.freedesktop.org/mailman/listinfo/avahi 1009 1010You can download Avahi 0.1 here 1011 http://www.freedesktop.org/~lennart/avahi-0.1.tar.gz 1012 1013You can also find out more information from our homepage 1014 http://www.freedesktop.org/Software/Avahi 1015 1016We would like to thank the following people for their 1017contribution to Avahi 0.1. 1018 Lennart Poeterring 1019 Trent Lloyd 1020 Sebastien Estienne 1021 Ross Burton 1022 Tommi Vainikainen 1023 Joe Shaw 1024 Ikke 1025 Steev 1026 1027Cheers, 1028The Avahi Team 1029