4 This is an important bugfix release.
6 * Make avahi-autoipd actually produce correct ARP packets
7 (Identified and patched by Pauline Yeung)
8 * Add FreeBSD kqueue support for watching /etc/avahi/services
9 (Contributed by Marcus Clarke)
10 * Use search domain from /etc/resolv.conf as additional browse
12 * No longer return a conflict error when two local applications
13 register identical RRs.
14 * Properly find alternative service/host names for very long names
15 * DNS name compression fix (Sjoerd Simons)
16 * Fedora init script order fix
17 * Several fixes to make gcc produces less warnings
18 * Minor documentation and build fixes
20 This release is backwards compatible with Avahi 0.6.x with x < 21.
25 This is a bugfix release and contains a fix for a low risk security
28 * Fix a local DoS vulnerability, where an assert() could be hit by
29 passing empty TXT data over D-Bus to the Avahi daemon. (Low Risk)
30 * Solaris/dbm portability fixes
31 * Close all open file descriptors when daemonizing. Is generally
32 safer and fixes a few issues with broken init systems of several
34 * avahi-autoipd: allow passing the path of the action script on the
36 * Several minor build fixes and other cleanups
38 This release is backwards compatible with Avahi 0.6.x with x < 20.
43 This is a bugfix release, but also adds a new component "avahi-ui-sharp".
45 * Rename zssh/zvnc to bssh/bvnc to avoid a name collision with another
46 free software tool, on request of the Debian developers. I hope
47 this name change early in the life of bssh/bvnc won't be too
48 difficult to handle by the distributors.
49 * Add man page for bssh/bvnc
50 * avahi-ui: fix segfault when browsing in empty domains
51 * avahi-ui: allow GTK_RESPONSE_OK, _YES and _APPLY besides _ACCEPT as
52 positive dialog response codes
53 * avahi-ui-sharp: Add Mono/C# API wrapper for avahi-ui
54 * Don't pick the first and the last 256 IP addresses from the IPV4LL
55 range in avahi-autoipd, as required by RC3927 section 2.1
56 * No longer publish the Avahi service identification cookie anymore
57 by default. It was a bad idea in the first place. A better
58 replacement will hopefully be made available in Avahi eventually.
59 * Properly set umask before writing to /var/lib/avahi-autoipd
60 * Update .deskop files to work around KDE menu issue
61 * Various build fixes and other minor fixes and updates
63 This release is backwards compatible with Avahi 0.6.x with x < 19.
68 This is a bugfix release, adds a few new features and includes a new
71 * Add a new library libavahi-ui which contains a standard Gtk dialog
72 for browsing for services, and a new tool "zssh" that makes use of
73 it, which allows browsing for SSH and VNC servers and starts ssh or
74 xvncviewer if one item is selected.
75 * avahi-autoipd has been ported to FreeBSD (original patch from Bruce M Simpson)
76 * Improve OpenBSD, Solaris, MacOS X compatibility
77 * Linux inotify support for monitoring /etc/avahi/services/ and
78 /etc/avahi/hosts for changes. (Original patch from "behanw")
79 * Add the ability to dump the service type database from avahi-browse
80 with the new option "-b".
81 * Enable GCC stack smashing protection if available and working (Patch from tedp)
82 * Improve compatibility with Bonjour's libdns_sd (patch from Chris Rivera)
83 * Various updates to the service type database (based on patches from uws)
84 * Fix a local DoS vulnerability (very low priority, all you can do is
85 make Avahi hit an assert()); problem identified by "jamesh"
86 * Fix a problem when constantly generating conflict events for an RR
87 * Fix registration of very large RRs (original patch from Sjoerd Simons)
90 This release is backwards compatible with Avahi 0.6.x with x < 18.
95 This is a bugfix release.
97 * Don't accept "localhost" as a local mDNS host name
98 * Allow running avahi-bookmarks as CGI script
99 * Improve libdns_sd compatibility
100 * Stability: libdns_sd mutex locking order fix
101 * Publish IPv6 addresses via IPv4 and vice versa
103 * A lot of minor cleanups and fixes
105 This release is backwards compatible with Avahi 0.6.x with x < 17.
110 This is a bugfix release, it fixes one DoS (100% CPU Usage) and a regression
111 from the last release
113 * Revert previous patch to check nlmsg_pid as it is bogus and breaks in
114 many cases, notably when using NetworkManager (Closes: #72)
115 * Replace with new SO_PASSCRED-based check of the sending UID, which
116 seems to work better (Closes: #72)
117 * Handle some errors in libdns_sd more gracefully the way the real
118 libdns_sd does (Closes: #64)
119 * Apply fix for Linux 2.6.19+ where IFA_RTA / IFLA_RTA is no longer
120 defined (Closes: #86)
121 * Fix doxygen comments for avahi watch, thanks to tedp (Closes: #77)
122 * Make d-bus version detection work for >= 1.0 (Closes: #71)
123 * Dont dbus_connection_close on shared dbus connections (Closes: #68)
124 * Fix potential endless loop in dns label unpacking code (Closes: #84)
125 * Fix bogus assertion in client-publish-service.c example
126 * Mild fix to some doxygen docs for avahi-common/address.h
127 * Fix passing in custom priviledged group (previously ignored setting)
130 This release is backwards compatible with Avahi 0.6.x with x < 16.
135 This is a bugfix release, this bug is potentially security sensitive
137 * Check that netlink messages actually originate from the kernel
138 and not another process.
139 * Fix build on NetBSD (thanks to Daniel S. Haischt)
140 * Fix dbus_service_browser not setting AVAHI_LOOKUP_RESULT_OUR_OWN.
142 This release is backwards compatible with Avahi 0.6.x with x < 15.
147 This release fixes some bugs and includes a new component.
151 * Add new daemon "avahi-autoipd" which is an implementation of
152 IPv4LL as defined in RFC3927, a technology for assigning link-local IP
153 addresses without DHCP server. The same functionality has been available on
154 Windows under the name APIPA. While it is not the first implemenatation of
155 this technology for Free operating systems it is clearly the most powerful
156 and hopefully even the most secure. (Because it chroot()s and drops
157 priviliges and suchlike) For more information, especially about packaging
158 this new tool for distributions, please make sure to read:
159 http://avahi.org/wiki/AvahiAutoipd
160 and of course the man page included in the tarball. For the rationale for
161 adding this program to the Avahi toolset please read this mailing list
163 http://lists.freedesktop.org/archives/avahi/2006-September/000863.html
164 * Fix a segfault in the code handling static host name registrations
165 * Add a few new entries to the service type database
167 * Documentation updates
168 * Fix service type database building on Solaris
169 * Make use of newer D-Bus APIs
170 * Fix random seed initialization
171 * Install SFTP static service file by default
172 * Other minor code cleanups
174 This release is backwards compatible with Avahi 0.6.x with x < 14.
176 Please note that this version doesn't compile on NetBSD, patches
179 Please note that avahi-autoipd is available on Linux only for
180 now. Patches welcome. It is recommended to pass --disable-autoipd to
181 "configure" on non-Linux operating systems, otherwise the build will
187 This release fixes some bugs and includes minor enhancements.
190 * Add a new D-Bus method for changing the mDNS host name during
191 runtime. This functionality is only available to members of the
192 UNIX group "netdev", which is the same access group that is
193 enforced by GNOME's NetworkManager daemon. Since NM will probably
194 be the most prominent user of this new method, we decided to limit
195 access to the same group. The access group can be set by passing
196 --with-avahi-priv-access-group= to "configure". If you need more
197 sophisticated access control you can freely edit
198 /etc/dbus/system.d/avahi-dbus.conf.
199 * Add a new utility "avahi-set-host-name" which is a command line
200 wrapper around the aforementioned SetHostName() method.
201 * Bonjour API compatibility library:
202 * Implement DNSServiceUpdateRecord()
203 * Allow passing NULL as callback function for
205 * Implement subtype registration in DNSServiceRegister() in a
206 way that is compatible with Bonjour.
207 * Update to newer copy of dns_sd.h
208 * If the host name changes update names of static services wich
210 * Don't build documentation about embedding the Avahi mDNS stack into
211 other programs by default. This is a feature used only by embedded
212 developers. Pass --enable-core-docs to "configure" to enable
213 building these docs, like in Avahi <= 0.6.12.
214 * Build Qt documentation only when Qt support is enabled in
215 the configuration. Same for GLib.
216 * Change algorithm used to find a new host name on conflict. In
217 Avahi <= 0.6.12 a conflicting host name of "foobar" would be
218 changed to the new name "foobar2". With 0.6.13 "foobar-2" will be
219 picked instead. This follows Bonjour's behaviour and has the
220 advantage not confusing people with regular host names ending in
222 * Don't disable all static services when SIGHUP is recieved.
223 * Fix build when Avahi is configured without Gtk+ but with Python
225 * Fix build on MacOS X
226 * Support using Solaris DBM instead of gdbm for the service type
227 database. The latter is still recommended
228 * Minor other fixes and documentation updates
230 This release is backwards compatible with Avahi 0.6.x with x < 13.
235 This is a bugfix and general cleanups release.
238 * Compatibility with newer D-Bus releases (0.9x)
239 * Compatibility with DBUS builds with --disable-checks
240 * Fix an error in the DBUS event loop wrapping which
241 caused the avahi client libraries to dispatch some events
242 too late when used with D-BUS 0.62 and newer.
243 * avahi-daemon: fix a minor memory leak in the DBUS code.
244 * avahi-glib: some GLIB adapter cleanups
245 * avahi-dnsconfd: fix segfault when passing an invalid command
247 * avahi-test: portability patches for Solaris
248 * avahi-browse: flush STDOUT after each line, making it useful
250 * update service type database
252 This release is backwards compatible with Avahi 0.6.x with x < 12.
257 This is a bugfix and portability release.
261 * avahi-sharp: fix a fatal error in object disposal code
262 * add a few new entries to the servivce type database
263 * fix potential crash when the daemon shuts down
264 * compatibility with newer autoconf versions
266 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
267 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.9 and 0.6.10.
272 This is mostly a bugfix release. Two of the bugs fixed are security
273 sensitive: a remote denial-of-service vulnerability and a buffer
274 overflow that can allow local users to become the 'avahi' user. We do
275 not consider either of them major security threats.
277 The DoS vulnerability can be exploited from a local network only. It
278 is not worth much, though, since mDNS can easily be flooded with
279 nonsense anyway. It is easy to kick remote mDNS/DNS-SD services by
280 provoking a name conflict in perfect accordance with the specs.
282 The buffer overflow is hard to exploit remotely, only local users can
283 become the 'avahi' user. In addition the user is trapped inside a
284 chroot() environment (at least on Linux).
286 Anyhow, our security assessments are possibly as buggy as our
289 *** PLEASE UPDATE YOUR INSTALLATION ASAP! ***
292 * Fix a buffer overflow in avahi-core
293 * Refuse to process invalid UTF8 data
294 * Automatically reconnect to the DBUS if we're kicked. (Works only if
295 chroot() is disabled)
296 * Don't hit an assert() in the client libs when the Avahi daemon is
298 * Enumerate all service types in the database in the Service
299 Discovery Applet for Gnome
300 * Improve the Bonjour compatibility layer to make it survive
301 GnomeMeeting's broken usage
302 * Deal properly with local non-ASCII hostnames
303 * AMD64 and FreeBSD portability fixes
304 * Filter double DNS server entries in avahi-dnsconfd
305 * Fix a locking bug in avahi-sharp's EntryGroup.AddService()
306 * Ported to Solaris (incomplete)
307 * Add _airport._tcp to our service type database
309 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
310 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.8 and 0.6.9.
315 This release fixes some bugs and includes minor enhancements.
317 * Don't allow registration of address records with invalid host names
318 * Clean up argument validity checking for AvahiHostNameResolver and
320 * Fix Avahi builds without DBUS
322 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
323 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7 and 0.6.8.
328 This release fixes some bugs and adds a few new features. Users of 0.6.7,
331 * Fix broken parsing of static hosts file
332 * Improve out-of-the-box Debian support
333 * Add configuration option to allow mDNS over POINTOPOINT links.
334 This is a potential security hole and YMMV. See man page for details.
335 * Create $(localstatedir)/run on installation
337 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
338 0.6.3, 0.6.4, 0.6.5, 0.6.6 and 0.6.7.
343 This release fixes some bugs and adds a few new features
345 * Add static hosts name mappings
346 * Work around kernel bugs regarding multicast group membership
347 * ia64 portability fixes
348 * Don't require X11 to run avahi-bookmarks
349 * API: Return AVAHI_ERR_IS_EMPTY when the user tries to commit an
351 * Improved Slackware and Fedora suppport
353 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
354 0.6.3, 0.6.4, 0.6.5 and 0.6.6.
359 This release fixes some bugs and includes some documentation updates
361 * Add a bunch of new types to the service type database
362 * Return errors of avahi_entry_group_commit() properly
363 * Many doxygen documentation improvements
364 * Fix destruction of AvahiEntryGroup objects using
365 avahi_entry_group_free().
366 * Don't allow commiting of empty entry groups
367 * Use a little less memory in avahi-qt
368 * Don't accept empty TXT strings
369 * Update example "client-publish-service.c" to show how to modify an
372 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
373 0.6.3, 0.6.4 and 0.6.5.
378 This release fixes some bugs and adds a new API function.
380 * avahi-browse: properly show services that are removed from the
382 * fix build on bi-arch platforms, on GNU/kFreeBSD, on MIPS and
384 * add new API function avahi_nss_support() and DBUS function
385 IsNSSSupportAvailable() which may be used to detect whether
386 libc's gethostbyname() supports mDNS domain names.
387 * patch avahi-bookmarks to make use of
388 IsNSSSupportAvailable(). avahi-bookmarks will now generate links
389 with real hostnames instead of numeric IP addresses if mDNS support
390 is detected for gethostbyname().
391 * add init script for Mandriva Linux
392 * speed up avahi_client_free()
394 * install missing header thread-watch.h
395 * fix avahi-bookmarks to work with certain twisted versions
396 * fix record updating
397 * Use pkg-config's Requires.private directive where it makes sense
399 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
405 This is a bugfix release and adds a new event loop implementation to
406 avahi-common's public interface.
408 * avahi-common: add new AvahiThreadedPool event loop implementation
409 * avahi-sharp: compatibility with newer mono versions
410 * avahi-publish-service: don't ignore the port number specified
411 * avahi-sharp: correct some flags definitions
413 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2 and
416 A quick introduction how to use the new AvahiThreadedPool interface is
417 available in our Wiki:
419 http://avahi.org/wiki/RunningAvahiClientAsThread
424 This is a bugfix release. Everyone should update ASAP!
426 * avahi-sharp: make sure to append a trailing NUL byte to all C strings
427 * avahi-core: fix a double free() which occurs when wide area lookups timeout
429 This release is fully compatible with Avahi 0.6, 0.6.1 and 0.6.2.
434 This is mostly a bugfix release.
436 * Compatibility with DBUS 0.60 (Full compatibility with DBUS 0.3x and
438 * Fix introspection for some auxiliary DBUS objects
439 * Miscellaneous documentation updates
440 * Improve Autoconf support for detecting PTHREADS library
441 * Fix avahi-publish --help
442 * Workaround a DBUS limitation which might cause Avahi to die when a
443 user sends an empty TXT entry over DBUS
444 * Increase number of resolver/browser objects a DBUS client may create
445 * Remove fprintf() call in avahi_client_new()
448 This release is both up and downwards compatible with Avahi 0.6 and 0.6.1.
450 Avahi now has its own Domain (http://avahi.org) and a new Website!
452 And, most importantly, we now have a Logo:
453 http://avahi.org/chrome/site/avahi-trac.png
458 This is mostly a bugfix release.
460 * Fix a segfault when shutting down the daemon. Please note that this
461 issue was not security sensitive in any way but had the ugly side
462 effect that the daemon's PID file was not removed properly.
463 * Added init scripts for ArchLinux and FreeBSD
464 * Add DBUS API versioning through the new method GetAPIVersion()
465 * Build the HOWL compatibility library as "libhowl.so", instead of
466 "libavahi-compat-howl.so". This will help distributors to ensure
467 full API/ABI compatibility with HOWL out-of-the-box.
468 * Same for the Bonjour compatibility library
471 We encourage Linux users to update to libdaemon 0.10 since logging
472 does not work from a chroot() environment with older versions.
474 This release is fully API and ABI compatible with Avahi 0.6. This is
475 true for both the C libraries and the DBUS interface.
477 Packagers should read the new documentation file doc/COMPAT-LAYERS
478 which contains some information about maintaining full build system
479 compatibility in addition to ABI/API compatibility.
481 Avahi 0.6, the "Goddag" release
482 ===============================
484 * Support for (read-only) wide area support. (i.e. DNS-SD over unicast DNS)
485 * Ported to FreeBSD, NetBSD, Darwin/MacOSX and to some extent OpenBSD
486 * Portability fixes for ARM CPUs
487 * Compatibility layers for the HOWL and Bonjour APIs
488 * Support for registering/browsing arbitrary records
489 * Proper support for DNS-SD service subtypes
490 * Native C implementations of the client utilities
491 * Now passes the Bonjour conformance test suite without any exceptions
492 * "Passive observation of failures"
494 * Many traffic reduction improvements
497 This release is not API/ABI compatible with Avahi 0.5. Please see
498 docs/API-CHANGES-0.6 for a rough overview over the changes.
504 * Fix browing in QT applications (was totally broken)
505 * Minor documentation update.
510 * This is a bug fix release, before the big changes coming in 0.6
511 * Fix reporting of the NO_DAEMON error
512 * Fix commit throttling algorithm for entry groups
513 * Fix counting of the number of resources in an entry group
515 Avahi 0.5, the 'Bom Dia' release
516 ================================
518 * New Mono bindings, allowing you to use Avahi from
519 any CLI language such as C#
520 * Attempt auto-detection of the D-BUS system bus address
521 * Include a 'cookie' in all published records which allows us
522 to reliably determine if a service is the same as another.
523 * Add API to determine if services are local
524 * Better support for threading with AvahiSimplePoll
525 * Add some new StringList functions to help binding to it in
527 * Various build and run-time bug fixes
529 Avahi 0.4, the 'Hyvää päivää' release
530 =====================================
532 * Renamed the include dirs for the Qt bindings to include the
533 version number, as they may diverge in future.
534 * Fix a critical bug in avahi-daemon triggered by configuring an interface
535 with various DHCP clients when you have no other active addresses which
536 caused avahi-daemon to abort.
537 * Move to using python-gdbm exclusivly for the service type database.
538 * Add support for SUSE
539 * Various fixes to the build system
541 Avahi 0.3, the 'Buenos Días' release
542 ====================================
544 * New integration library for QT main-loop applications.
545 * Fix a crash in avahi-dnsconfd
546 * Documentation Updates
547 * Fix building when you don't want Python DBUS or GTK
549 - Add new help option
550 - Fix handling of paths not starting with a /
551 - You can now specify the port and IP to bind to
552 - Add option to generate links with hostnames instead of IPs
554 Avahi 0.2, the 'Dzień Dobry' release
555 ====================================
557 * Unfortunately this release broke the API/ABI of libavahi-client
558 with the following function removals
560 Removal of these functions may affect users of the 0.1 API
561 - avahi_service_resolver_block()
563 The following functions were simply for debugging information
564 and their removal should not affect anyone
565 - avahi_entry_group_get_dbus_path()
566 - avahi_domain_browser_get_dbus_path()
567 - avahi_service_type_browser_get_dbus_path()
568 - avahi_service_browser_get_dbus_path()
570 Note that while the libavahi-client API changed slightly, the DBUS
571 API itself has only had additions and no existing definitions
574 * avahi-daemon will now ignore local IP addresses with the "link" scope
575 unless it is the only IP address on the interface.
576 * avahi-daemon will no longer fail to start if D-BUS is not
577 available (if configured with enable-dbus=warn)
578 * Fixed a potential crasher when resolving things in libavahi-core.
579 * New example demonstrating integration into glib applications
580 * Addtion of a set of convenience functions for AvahiStringList
581 avahi_string_list_find()
582 avahi_string_list_get_pair()
583 avahi_string_list_add_pair()
584 avahi_string_list_add_pair_arbitrary()
585 * Fixed a typo in avahi-glib.pc that stopped programs using
586 the GLIB api from compiling correctly
587 * A critical bug in the reflector was fixed where it may go into a
588 state of constantly flooding queries out to the network.
589 * Introduced new asynchronous resolver API
590 * libavahi-client gained an API for resolving HostNames and Addresses
591 in addition to the ServiceResolver provided in 0.1
592 * Added support for Arch and Gentoo linux distributions.
593 * Allowed configuration on non-supported distributions
594 * Fixed a critical bug where you cannot use more than one AvahiClient
595 or use it in an application already using D-BUS
596 * Fixed assembly of empty string lists to RFC compliant TXT records
597 * Added a new service type description database with human
598 understandable descriptions of services with translations.
599 * Fixed various minor memory corruption bugs
600 * Fixed an issue where Avahi might think it encountered a conflict
601 if the process or machine has been suspended
602 * Fixed compilation and runtime issues on 64-bit distributions
606 Avahi 0.1, the "Guten Tag" release
607 ==================================
609 The Avahi team would like to announce the immediate availability of
610 Avahi 0.1 "Guten Tag".
612 Avahi is a fully LGPL framework for Multicast DNS Service Discovery.
613 It allows programs to publish and discover services and hosts
614 running on a local network with no specific configuration. For
615 example you can plug into a network and instantly find printers to
616 print to, files to look at and people to talk to.
618 Avahi is designed to be compatible with the mDNS/DNS-SD specification
619 and boasts the following features
621 * Fully open source and freely available under the LGPL
622 * Full IPv4 and IPv6 support
623 * An embeddable mDNS stack
624 * Dynamic adjustment to network reconfiguration
625 * Daemon with DBUS API for desktop applications
626 * C library to interface with the DBUS API
627 * Compatible with other mDNS/DNS-SD implementations such as
628 Howl and Apple Bonjour (previously Rendezvous)
629 * Ability to correctly "reflect" mDNS between two or more LAN segments
630 * Ability to configure DNS servers based on mDNS/DNS-SD published
631 information, a feature that is very usefull on IPv6
632 which has no other mechanism for this.
633 * Combined with nss-mdns, allows hostname lookup such as
634 'laptop.local' without the configuration of a DNS server.
635 http://0pointer.de/lennart/projects/nss-mdns/
636 * Easy integration into GLIB, GTK other mainloop applications.
637 * Documentation and examples of both developer APIs and utilities.
639 mDNS/DNS-SD is part of a larger set of specifications for easy
640 configuration of networking known as "ZeroConf"
641 (http://www.zeroconf.org/), with the aim of allowing you to plug into
642 a network and instantly be able to interact with it's services.
644 Avahi was designed to be a fully free implementation, and is
645 available under the LGPL. Many other implementations of the mDNS/DNS-SD
646 specification were previously non-free, restricting their use in many
647 platforms such as the GNOME desktop and many distributions.
649 While Avahi is a 0.1 release, we feel it is feature complete and
650 available for immediate use, developers can make use of the Avahi
651 client library to provide above mentioned functionality in their
654 We unfortunately do not have a logo yet! We would love if someone
655 could suggest ideas for a logo or even design us one. If you think
656 you can help us out, you can contact us on our mailing list or by
657 emailing Trent Lloyd on lathiat@bur.st.
659 If you would like more information or help, you can subscribe
660 to our mailinglist, goto
661 http://lists.freedesktop.org/mailman/listinfo/avahi
663 You can download Avahi 0.1 here
664 http://www.freedesktop.org/~lennart/avahi-0.1.tar.gz
666 You can also find out more information from our homepage
667 http://www.freedesktop.org/Software/Avahi
669 We would like to thank the following people for their
670 contribution to Avahi 0.1.