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