4 This is a bugfix release.
6 * Don't accept "localhost" as a local mDNS host name
7 * Allow running avahi-bookmarks as CGI script
8 * Improve libdns_sd compatibility
9 * Stability: libdns_sd mutex locking order fix
10 * Publish IPv6 addresses via IPv4 and vice versa
12 * A lot of minor cleanups and fixes
14 This release is backwards compatible with Avahi 0.6.x with x < 17.
19 This is a bugfix release, it fixes one DoS (100% CPU Usage) and a regression
22 * Revert previous patch to check nlmsg_pid as it is bogus and breaks in
23 many cases, notably when using NetworkManager (Closes: #72)
24 * Replace with new SO_PASSCRED-based check of the sending UID, which
25 seems to work better (Closes: #72)
26 * Handle some errors in libdns_sd more gracefully the way the real
27 libdns_sd does (Closes: #64)
28 * Apply fix for Linux 2.6.19+ where IFA_RTA / IFLA_RTA is no longer
30 * Fix doxygen comments for avahi watch, thanks to tedp (Closes: #77)
31 * Make d-bus version detection work for >= 1.0 (Closes: #71)
32 * Dont dbus_connection_close on shared dbus connections (Closes: #68)
33 * Fix potential endless loop in dns label unpacking code (Closes: #84)
34 * Fix bogus assertion in client-publish-service.c example
35 * Mild fix to some doxygen docs for avahi-common/address.h
36 * Fix passing in custom priviledged group (previously ignored setting)
39 This release is backwards compatible with Avahi 0.6.x with x < 16.
44 This is a bugfix release, this bug is potentially security sensitive
46 * Check that netlink messages actually originate from the kernel
47 and not another process.
48 * Fix build on NetBSD (thanks to Daniel S. Haischt)
49 * Fix dbus_service_browser not setting AVAHI_LOOKUP_RESULT_OUR_OWN.
51 This release is backwards compatible with Avahi 0.6.x with x < 15.
56 This release fixes some bugs and includes a new component.
60 * Add new daemon "avahi-autoipd" which is an implementation of
61 IPv4LL as defined in RFC3927, a technology for assigning link-local IP
62 addresses without DHCP server. The same functionality has been available on
63 Windows under the name APIPA. While it is not the first implemenatation of
64 this technology for Free operating systems it is clearly the most powerful
65 and hopefully even the most secure. (Because it chroot()s and drops
66 priviliges and suchlike) For more information, especially about packaging
67 this new tool for distributions, please make sure to read:
68 http://avahi.org/wiki/AvahiAutoipd
69 and of course the man page included in the tarball. For the rationale for
70 adding this program to the Avahi toolset please read this mailing list
72 http://lists.freedesktop.org/archives/avahi/2006-September/000863.html
73 * Fix a segfault in the code handling static host name registrations
74 * Add a few new entries to the service type database
76 * Documentation updates
77 * Fix service type database building on Solaris
78 * Make use of newer D-Bus APIs
79 * Fix random seed initialization
80 * Install SFTP static service file by default
81 * Other minor code cleanups
83 This release is backwards compatible with Avahi 0.6.x with x < 14.
85 Please note that this version doesn't compile on NetBSD, patches
88 Please note that avahi-autoipd is available on Linux only for
89 now. Patches welcome. It is recommended to pass --disable-autoipd to
90 "configure" on non-Linux operating systems, otherwise the build will
96 This release fixes some bugs and includes minor enhancements.
99 * Add a new D-Bus method for changing the mDNS host name during
100 runtime. This functionality is only available to members of the
101 UNIX group "netdev", which is the same access group that is
102 enforced by GNOME's NetworkManager daemon. Since NM will probably
103 be the most prominent user of this new method, we decided to limit
104 access to the same group. The access group can be set by passing
105 --with-avahi-priv-access-group= to "configure". If you need more
106 sophisticated access control you can freely edit
107 /etc/dbus/system.d/avahi-dbus.conf.
108 * Add a new utility "avahi-set-host-name" which is a command line
109 wrapper around the aforementioned SetHostName() method.
110 * Bonjour API compatibility library:
111 * Implement DNSServiceUpdateRecord()
112 * Allow passing NULL as callback function for
114 * Implement subtype registration in DNSServiceRegister() in a
115 way that is compatible with Bonjour.
116 * Update to newer copy of dns_sd.h
117 * If the host name changes update names of static services wich
119 * Don't build documentation about embedding the Avahi mDNS stack into
120 other programs by default. This is a feature used only by embedded
121 developers. Pass --enable-core-docs to "configure" to enable
122 building these docs, like in Avahi <= 0.6.12.
123 * Build Qt documentation only when Qt support is enabled in
124 the configuration. Same for GLib.
125 * Change algorithm used to find a new host name on conflict. In
126 Avahi <= 0.6.12 a conflicting host name of "foobar" would be
127 changed to the new name "foobar2". With 0.6.13 "foobar-2" will be
128 picked instead. This follows Bonjour's behaviour and has the
129 advantage not confusing people with regular host names ending in
131 * Don't disable all static services when SIGHUP is recieved.
132 * Fix build when Avahi is configured without Gtk+ but with Python
134 * Fix build on MacOS X
135 * Support using Solaris DBM instead of gdbm for the service type
136 database. The latter is still recommended
137 * Minor other fixes and documentation updates
139 This release is backwards compatible with Avahi 0.6.x with x < 13.
144 This is a bugfix and general cleanups release.
147 * Compatibility with newer D-Bus releases (0.9x)
148 * Compatibility with DBUS builds with --disable-checks
149 * Fix an error in the DBUS event loop wrapping which
150 caused the avahi client libraries to dispatch some events
151 too late when used with D-BUS 0.62 and newer.
152 * avahi-daemon: fix a minor memory leak in the DBUS code.
153 * avahi-glib: some GLIB adapter cleanups
154 * avahi-dnsconfd: fix segfault when passing an invalid command
156 * avahi-test: portability patches for Solaris
157 * avahi-browse: flush STDOUT after each line, making it useful
159 * update service type database
161 This release is backwards compatible with Avahi 0.6.x with x < 12.
166 This is a bugfix and portability release.
170 * avahi-sharp: fix a fatal error in object disposal code
171 * add a few new entries to the servivce type database
172 * fix potential crash when the daemon shuts down
173 * compatibility with newer autoconf versions
175 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
176 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.9 and 0.6.10.
181 This is mostly a bugfix release. Two of the bugs fixed are security
182 sensitive: a remote denial-of-service vulnerability and a buffer
183 overflow that can allow local users to become the 'avahi' user. We do
184 not consider either of them major security threats.
186 The DoS vulnerability can be exploited from a local network only. It
187 is not worth much, though, since mDNS can easily be flooded with
188 nonsense anyway. It is easy to kick remote mDNS/DNS-SD services by
189 provoking a name conflict in perfect accordance with the specs.
191 The buffer overflow is hard to exploit remotely, only local users can
192 become the 'avahi' user. In addition the user is trapped inside a
193 chroot() environment (at least on Linux).
195 Anyhow, our security assessments are possibly as buggy as our
198 *** PLEASE UPDATE YOUR INSTALLATION ASAP! ***
201 * Fix a buffer overflow in avahi-core
202 * Refuse to process invalid UTF8 data
203 * Automatically reconnect to the DBUS if we're kicked. (Works only if
204 chroot() is disabled)
205 * Don't hit an assert() in the client libs when the Avahi daemon is
207 * Enumerate all service types in the database in the Service
208 Discovery Applet for Gnome
209 * Improve the Bonjour compatibility layer to make it survive
210 GnomeMeeting's broken usage
211 * Deal properly with local non-ASCII hostnames
212 * AMD64 and FreeBSD portability fixes
213 * Filter double DNS server entries in avahi-dnsconfd
214 * Fix a locking bug in avahi-sharp's EntryGroup.AddService()
215 * Ported to Solaris (incomplete)
216 * Add _airport._tcp to our service type database
218 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
219 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.8 and 0.6.9.
224 This release fixes some bugs and includes minor enhancements.
226 * Don't allow registration of address records with invalid host names
227 * Clean up argument validity checking for AvahiHostNameResolver and
229 * Fix Avahi builds without DBUS
231 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
232 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7 and 0.6.8.
237 This release fixes some bugs and adds a few new features. Users of 0.6.7,
240 * Fix broken parsing of static hosts file
241 * Improve out-of-the-box Debian support
242 * Add configuration option to allow mDNS over POINTOPOINT links.
243 This is a potential security hole and YMMV. See man page for details.
244 * Create $(localstatedir)/run on installation
246 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
247 0.6.3, 0.6.4, 0.6.5, 0.6.6 and 0.6.7.
252 This release fixes some bugs and adds a few new features
254 * Add static hosts name mappings
255 * Work around kernel bugs regarding multicast group membership
256 * ia64 portability fixes
257 * Don't require X11 to run avahi-bookmarks
258 * API: Return AVAHI_ERR_IS_EMPTY when the user tries to commit an
260 * Improved Slackware and Fedora suppport
262 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
263 0.6.3, 0.6.4, 0.6.5 and 0.6.6.
268 This release fixes some bugs and includes some documentation updates
270 * Add a bunch of new types to the service type database
271 * Return errors of avahi_entry_group_commit() properly
272 * Many doxygen documentation improvements
273 * Fix destruction of AvahiEntryGroup objects using
274 avahi_entry_group_free().
275 * Don't allow commiting of empty entry groups
276 * Use a little less memory in avahi-qt
277 * Don't accept empty TXT strings
278 * Update example "client-publish-service.c" to show how to modify an
281 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
282 0.6.3, 0.6.4 and 0.6.5.
287 This release fixes some bugs and adds a new API function.
289 * avahi-browse: properly show services that are removed from the
291 * fix build on bi-arch platforms, on GNU/kFreeBSD, on MIPS and
293 * add new API function avahi_nss_support() and DBUS function
294 IsNSSSupportAvailable() which may be used to detect whether
295 libc's gethostbyname() supports mDNS domain names.
296 * patch avahi-bookmarks to make use of
297 IsNSSSupportAvailable(). avahi-bookmarks will now generate links
298 with real hostnames instead of numeric IP addresses if mDNS support
299 is detected for gethostbyname().
300 * add init script for Mandriva Linux
301 * speed up avahi_client_free()
303 * install missing header thread-watch.h
304 * fix avahi-bookmarks to work with certain twisted versions
305 * fix record updating
306 * Use pkg-config's Requires.private directive where it makes sense
308 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2,
314 This is a bugfix release and adds a new event loop implementation to
315 avahi-common's public interface.
317 * avahi-common: add new AvahiThreadedPool event loop implementation
318 * avahi-sharp: compatibility with newer mono versions
319 * avahi-publish-service: don't ignore the port number specified
320 * avahi-sharp: correct some flags definitions
322 This release is backwards compatible with Avahi 0.6, 0.6.1, 0.6.2 and
325 A quick introduction how to use the new AvahiThreadedPool interface is
326 available in our Wiki:
328 http://avahi.org/wiki/RunningAvahiClientAsThread
333 This is a bugfix release. Everyone should update ASAP!
335 * avahi-sharp: make sure to append a trailing NUL byte to all C strings
336 * avahi-core: fix a double free() which occurs when wide area lookups timeout
338 This release is fully compatible with Avahi 0.6, 0.6.1 and 0.6.2.
343 This is mostly a bugfix release.
345 * Compatibility with DBUS 0.60 (Full compatibility with DBUS 0.3x and
347 * Fix introspection for some auxiliary DBUS objects
348 * Miscellaneous documentation updates
349 * Improve Autoconf support for detecting PTHREADS library
350 * Fix avahi-publish --help
351 * Workaround a DBUS limitation which might cause Avahi to die when a
352 user sends an empty TXT entry over DBUS
353 * Increase number of resolver/browser objects a DBUS client may create
354 * Remove fprintf() call in avahi_client_new()
357 This release is both up and downwards compatible with Avahi 0.6 and 0.6.1.
359 Avahi now has its own Domain (http://avahi.org) and a new Website!
361 And, most importantly, we now have a Logo:
362 http://avahi.org/chrome/site/avahi-trac.png
367 This is mostly a bugfix release.
369 * Fix a segfault when shutting down the daemon. Please note that this
370 issue was not security sensitive in any way but had the ugly side
371 effect that the daemon's PID file was not removed properly.
372 * Added init scripts for ArchLinux and FreeBSD
373 * Add DBUS API versioning through the new method GetAPIVersion()
374 * Build the HOWL compatibility library as "libhowl.so", instead of
375 "libavahi-compat-howl.so". This will help distributors to ensure
376 full API/ABI compatibility with HOWL out-of-the-box.
377 * Same for the Bonjour compatibility library
380 We encourage Linux users to update to libdaemon 0.10 since logging
381 does not work from a chroot() environment with older versions.
383 This release is fully API and ABI compatible with Avahi 0.6. This is
384 true for both the C libraries and the DBUS interface.
386 Packagers should read the new documentation file doc/COMPAT-LAYERS
387 which contains some information about maintaining full build system
388 compatibility in addition to ABI/API compatibility.
390 Avahi 0.6, the "Goddag" release
391 ===============================
393 * Support for (read-only) wide area support. (i.e. DNS-SD over unicast DNS)
394 * Ported to FreeBSD, NetBSD, Darwin/MacOSX and to some extent OpenBSD
395 * Portability fixes for ARM CPUs
396 * Compatibility layers for the HOWL and Bonjour APIs
397 * Support for registering/browsing arbitrary records
398 * Proper support for DNS-SD service subtypes
399 * Native C implementations of the client utilities
400 * Now passes the Bonjour conformance test suite without any exceptions
401 * "Passive observation of failures"
403 * Many traffic reduction improvements
406 This release is not API/ABI compatible with Avahi 0.5. Please see
407 docs/API-CHANGES-0.6 for a rough overview over the changes.
413 * Fix browing in QT applications (was totally broken)
414 * Minor documentation update.
419 * This is a bug fix release, before the big changes coming in 0.6
420 * Fix reporting of the NO_DAEMON error
421 * Fix commit throttling algorithm for entry groups
422 * Fix counting of the number of resources in an entry group
424 Avahi 0.5, the 'Bom Dia' release
425 ================================
427 * New Mono bindings, allowing you to use Avahi from
428 any CLI language such as C#
429 * Attempt auto-detection of the D-BUS system bus address
430 * Include a 'cookie' in all published records which allows us
431 to reliably determine if a service is the same as another.
432 * Add API to determine if services are local
433 * Better support for threading with AvahiSimplePoll
434 * Add some new StringList functions to help binding to it in
436 * Various build and run-time bug fixes
438 Avahi 0.4, the 'Hyvää päivää' release
439 =====================================
441 * Renamed the include dirs for the Qt bindings to include the
442 version number, as they may diverge in future.
443 * Fix a critical bug in avahi-daemon triggered by configuring an interface
444 with various DHCP clients when you have no other active addresses which
445 caused avahi-daemon to abort.
446 * Move to using python-gdbm exclusivly for the service type database.
447 * Add support for SUSE
448 * Various fixes to the build system
450 Avahi 0.3, the 'Buenos Días' release
451 ====================================
453 * New integration library for QT main-loop applications.
454 * Fix a crash in avahi-dnsconfd
455 * Documentation Updates
456 * Fix building when you don't want Python DBUS or GTK
458 - Add new help option
459 - Fix handling of paths not starting with a /
460 - You can now specify the port and IP to bind to
461 - Add option to generate links with hostnames instead of IPs
463 Avahi 0.2, the 'Dzień Dobry' release
464 ====================================
466 * Unfortunately this release broke the API/ABI of libavahi-client
467 with the following function removals
469 Removal of these functions may affect users of the 0.1 API
470 - avahi_service_resolver_block()
472 The following functions were simply for debugging information
473 and their removal should not affect anyone
474 - avahi_entry_group_get_dbus_path()
475 - avahi_domain_browser_get_dbus_path()
476 - avahi_service_type_browser_get_dbus_path()
477 - avahi_service_browser_get_dbus_path()
479 Note that while the libavahi-client API changed slightly, the DBUS
480 API itself has only had additions and no existing definitions
483 * avahi-daemon will now ignore local IP addresses with the "link" scope
484 unless it is the only IP address on the interface.
485 * avahi-daemon will no longer fail to start if D-BUS is not
486 available (if configured with enable-dbus=warn)
487 * Fixed a potential crasher when resolving things in libavahi-core.
488 * New example demonstrating integration into glib applications
489 * Addtion of a set of convenience functions for AvahiStringList
490 avahi_string_list_find()
491 avahi_string_list_get_pair()
492 avahi_string_list_add_pair()
493 avahi_string_list_add_pair_arbitrary()
494 * Fixed a typo in avahi-glib.pc that stopped programs using
495 the GLIB api from compiling correctly
496 * A critical bug in the reflector was fixed where it may go into a
497 state of constantly flooding queries out to the network.
498 * Introduced new asynchronous resolver API
499 * libavahi-client gained an API for resolving HostNames and Addresses
500 in addition to the ServiceResolver provided in 0.1
501 * Added support for Arch and Gentoo linux distributions.
502 * Allowed configuration on non-supported distributions
503 * Fixed a critical bug where you cannot use more than one AvahiClient
504 or use it in an application already using D-BUS
505 * Fixed assembly of empty string lists to RFC compliant TXT records
506 * Added a new service type description database with human
507 understandable descriptions of services with translations.
508 * Fixed various minor memory corruption bugs
509 * Fixed an issue where Avahi might think it encountered a conflict
510 if the process or machine has been suspended
511 * Fixed compilation and runtime issues on 64-bit distributions
515 Avahi 0.1, the "Guten Tag" release
516 ==================================
518 The Avahi team would like to announce the immediate availability of
519 Avahi 0.1 "Guten Tag".
521 Avahi is a fully LGPL framework for Multicast DNS Service Discovery.
522 It allows programs to publish and discover services and hosts
523 running on a local network with no specific configuration. For
524 example you can plug into a network and instantly find printers to
525 print to, files to look at and people to talk to.
527 Avahi is designed to be compatible with the mDNS/DNS-SD specification
528 and boasts the following features
530 * Fully open source and freely available under the LGPL
531 * Full IPv4 and IPv6 support
532 * An embeddable mDNS stack
533 * Dynamic adjustment to network reconfiguration
534 * Daemon with DBUS API for desktop applications
535 * C library to interface with the DBUS API
536 * Compatible with other mDNS/DNS-SD implementations such as
537 Howl and Apple Bonjour (previously Rendezvous)
538 * Ability to correctly "reflect" mDNS between two or more LAN segments
539 * Ability to configure DNS servers based on mDNS/DNS-SD published
540 information, a feature that is very usefull on IPv6
541 which has no other mechanism for this.
542 * Combined with nss-mdns, allows hostname lookup such as
543 'laptop.local' without the configuration of a DNS server.
544 http://0pointer.de/lennart/projects/nss-mdns/
545 * Easy integration into GLIB, GTK other mainloop applications.
546 * Documentation and examples of both developer APIs and utilities.
548 mDNS/DNS-SD is part of a larger set of specifications for easy
549 configuration of networking known as "ZeroConf"
550 (http://www.zeroconf.org/), with the aim of allowing you to plug into
551 a network and instantly be able to interact with it's services.
553 Avahi was designed to be a fully free implementation, and is
554 available under the LGPL. Many other implementations of the mDNS/DNS-SD
555 specification were previously non-free, restricting their use in many
556 platforms such as the GNOME desktop and many distributions.
558 While Avahi is a 0.1 release, we feel it is feature complete and
559 available for immediate use, developers can make use of the Avahi
560 client library to provide above mentioned functionality in their
563 We unfortunately do not have a logo yet! We would love if someone
564 could suggest ideas for a logo or even design us one. If you think
565 you can help us out, you can contact us on our mailing list or by
566 emailing Trent Lloyd on lathiat@bur.st.
568 If you would like more information or help, you can subscribe
569 to our mailinglist, goto
570 http://lists.freedesktop.org/mailman/listinfo/avahi
572 You can download Avahi 0.1 here
573 http://www.freedesktop.org/~lennart/avahi-0.1.tar.gz
575 You can also find out more information from our homepage
576 http://www.freedesktop.org/Software/Avahi
578 We would like to thank the following people for their
579 contribution to Avahi 0.1.