From: Lennart Poettering Date: Sat, 6 Aug 2005 12:46:45 +0000 (+0000) Subject: Move all docs to docs/ X-Git-Url: http://git.meshlink.io/?p=catta;a=commitdiff_plain;h=e2bd3f23a80ac9f59e406688e92a36ca843d364a Move all docs to docs/ git-svn-id: file:///home/lennart/svn/public/avahi/trunk@245 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe --- diff --git a/HACKING b/HACKING deleted file mode 100644 index a31878d..0000000 --- a/HACKING +++ /dev/null @@ -1,108 +0,0 @@ -Please comply with the following rules when hacking on Avahi: - - * When you add a new textual file to the repository please enable SVN - keyword expansion for it: - - svn ps svn:keywords Id foo.c - - * Before commiting check with "svn st" that all built files are ignored - by svn. To change the list of ignored files use - - svn pe svn:ignore . - - This is similar to the ".cvsignore" file in CVS times. - - * Don't forget to add the autoconf config.h inclusion to all C source files: - - #ifdef HAVE_CONFIG_H - #include - #endif - - This needs to be placed in in .c files only. NOT IN HEADER FILES! - - * Don't hardcode any paths in source files. Either use the -D option of gcc - for C sources or use "sed" to replace them based on a .in file. - - * Never forget that Avahi should be buildable without DBUS, GTK or python! - - * When you code in C, please compile with the following gcc options from time - to time: - - -Wextra - -Wfloat-equal - -Wmissing-declarations - -Wmissing-prototypes - -Wstrict-prototypes - -Wredundant-decls - -Wold-style-definition - -Wmissing-noreturn - -Wdeclaration-after-statement - -Wshadow - -Wendif-labels - -Wlarger-than-4000 - -Wpointer-arith - -Wbad-function-cast - -Wcast-qual - -Wcast-align - -Wwrite-strings - -Winline - - This will show you a bunch of issues which might be problems in your source - code. Not all options are available on all GCC versions. Just pass these - options in $CFLAGS when running bootstrap.sh: - - CFLAGS="-Wextra ..." ./bootstrap.sh - - * Whenever you add a new Makefile.am, C (.c or .h) source file, shell or - python script please add this legal blurb to its header: - - For Makefile.am, python and shell code: - - -# $Id$ - -# This file is part of avahi. -# -# avahi is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as -# published by the Free Software Foundation; either version 2 of the -# License, or (at your option) any later version. -# -# avahi is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public -# License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with avahi; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 -# USA. - - - For C source code: - - -/* $Id$ */ - -/*** - This file is part of avahi. - - avahi is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2.1 of the - License, or (at your option) any later version. - - avahi is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General - Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with avahi; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - USA. -***/ - - - -$Id$ diff --git a/INSTALL b/INSTALL deleted file mode 100644 index d6b134e..0000000 --- a/INSTALL +++ /dev/null @@ -1,36 +0,0 @@ -*** Quick install instructions (tested on debian/ubuntu only!) *** - -While "make" and "boostrap.sh" may be run as normal users all other commands -need to be run is root. - -$ ./bootstrap.sh - (this will run autoconf/automake) - -$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var - -Extra configure options available: - - --enable-gtk use GTK+ (default=yes) - --enable-dbus use DBus (default=yes) - --with-dbus-sys= where D-BUS system.d directory is - --with-distro= the target Linux distribution (one of redhat, - suse, gentoo, debian or slackware) - --with-avahi-user= User for running the Avahi daemon (avahi) - --with-avahi-group= Group for Avahi (avahi) - -$ make -# make install - -# addgroup --system avahi -# adduser --system --no-create-home --ingroup avahi avahi - (These commands are Debian specific and may be different on other - distributions) - -# kill -HUP `cat /var/run/dbus/pid` - (This will ask DBUS to re-read its policies) -# /etc/dbus-1/event.d/75avahi-daemon start - -- To automatically start avahi-dnsconfd on Debian based distro: -# update-rc.d avahi-dnsconfd defaults 25 15 - -$Id$ diff --git a/README b/README deleted file mode 100644 index dfaf409..0000000 --- a/README +++ /dev/null @@ -1,11 +0,0 @@ -* Quick start guide: -0) make sure you read the INSTALL file. -1) start the deamon in background as root: avahi-daemon -D -Or (You shouldn't start avahi-daemon and avahi-discover at the same time.) -1) start the Gui to browse zeroconf network as your user: avahi-discover - - -* Basic instructions to control the avahi deamon (as root): -- starting it: avahi-daemon -- starting it in background: avahi-daemon -D -- stopping it: avahi-daemon -k diff --git a/avahi-daemon/DBUS-API b/avahi-daemon/DBUS-API deleted file mode 100644 index 7f10ea1..0000000 --- a/avahi-daemon/DBUS-API +++ /dev/null @@ -1,45 +0,0 @@ -$Id$ - -org.freedesktop.Avahi.Server - string GetHostName() - string GetHostNameFqdn() - string GetDomainName() - string GetVersionString() - int32 GetState() - string GetAlternativeHostName(string name) - string GetAlternativeServiceName(string name) - string GetNetworkInterfaceNameByIndex(int32 index) - int32 GetNetworkInterfaceIndexByName(string name) - [int32 interface, int32 protocol, string name, int32 aprotocol, string address] ResolveHostName(int32 interface, int32 protocol, string name, int32 aprotocol) - [int32 interface, int32 protocol, int32 aprotocol, string address, string name] ResolveAddress(int32 interface, int32 protocol, string address) - [int32 interface, int32 protocol, string name, string type, string domain, string host, int32 aprotocol, string address, uint16 port, string txt[]] ResolveService(int32 interface, int32 protocol, string name, string type, string domain, int32 aprotocol) - path EntryGroupNew() - path DomainBrowserNew(int32 interface, int32 protocol, string domain, int32 btype) - path ServiceTypeBrowserNew(int32 interface, int32 protocol, string domain) - path ServiceBrowserNew(int32 interface, int32 protocol, string type, string domain) - SIGNAL StateChanged(int32 state) - -org.freedesktop.Avahi.EntryGroup - void Free() - void Commit() - void Reset() - int32 GetState() - boolean IsEmpty() - void AddService(int32 interface, int32 protocol, string name, string type, string domain, string host, uint16 port, string txt[]) - void AddAddress(int32 interface, int32 protocol, string name, string address) - SIGNAL StateChanged(int32 state) - -org.freedesktop.Avahi.DomainBrowser - void Free() - SIGNAL ItemNew(int32 interface, int32 protocol, string domain) - SIGNAL ItemRemove(int32 interface, int32 protocol, string domain) - -org.freedesktop.Avahi.ServiceTypeBrowser - void Free() - SIGNAL ItemNew(int32 interface, int32 protocol, string type, string domain) - SIGNAL ItemRemove(int32 interface, int32 protocol, string type, string domain) - -org.freedesktop.Avahi.ServiceBrowser - void Free() - SIGNAL ItemNew(int32 interface, int32 protocol, string name, string type, string domain) - SIGNAL ItemRemove(int32 interface, int32 protocol, string name, string type, string domain) diff --git a/avahi-daemon/embedd-file.py b/avahi-daemon/embedd-file.py deleted file mode 100644 index eaa250f..0000000 --- a/avahi-daemon/embedd-file.py +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/python - -import os, sys - -def usage(ret = 0): - print "%s [-s] " % sys.argv[0] - sys.exit(ret) - -args = sys.argv[1:] - -use_static = False - -if len(args) >= 1 and args[0] == '-s': - use_static = True - args = args[1:] - -if len(args) >= 1 and args[0] == '-h': - usage() - -if len(args) != 2: - sys.stderr("Wrong number of arguments") - usage(1) - -f = file(args[0]) -t = f.read() -f.close() - -out = sys.stdout - -if use_static: - out.write("static ") - -out.write('const char %s[] = \n"' % args[1]); - -n = 0 - -for c in t: - if c == '\n': - out.write('\\n"\n"') - n = 0 - elif c == '"': - out.write('\\"') - n += 2 - elif ord(c) < 32 or ord(c) >= 127: - out.write('\\x%02x' % ord(c)) - n += 4 - else: - out.write(c) - n += 1 - - if n >= 76: - out.write('"\n"') - n = 0 - -out.write('";\n'); - diff --git a/docs/DBUS-API b/docs/DBUS-API new file mode 100644 index 0000000..7f10ea1 --- /dev/null +++ b/docs/DBUS-API @@ -0,0 +1,45 @@ +$Id$ + +org.freedesktop.Avahi.Server + string GetHostName() + string GetHostNameFqdn() + string GetDomainName() + string GetVersionString() + int32 GetState() + string GetAlternativeHostName(string name) + string GetAlternativeServiceName(string name) + string GetNetworkInterfaceNameByIndex(int32 index) + int32 GetNetworkInterfaceIndexByName(string name) + [int32 interface, int32 protocol, string name, int32 aprotocol, string address] ResolveHostName(int32 interface, int32 protocol, string name, int32 aprotocol) + [int32 interface, int32 protocol, int32 aprotocol, string address, string name] ResolveAddress(int32 interface, int32 protocol, string address) + [int32 interface, int32 protocol, string name, string type, string domain, string host, int32 aprotocol, string address, uint16 port, string txt[]] ResolveService(int32 interface, int32 protocol, string name, string type, string domain, int32 aprotocol) + path EntryGroupNew() + path DomainBrowserNew(int32 interface, int32 protocol, string domain, int32 btype) + path ServiceTypeBrowserNew(int32 interface, int32 protocol, string domain) + path ServiceBrowserNew(int32 interface, int32 protocol, string type, string domain) + SIGNAL StateChanged(int32 state) + +org.freedesktop.Avahi.EntryGroup + void Free() + void Commit() + void Reset() + int32 GetState() + boolean IsEmpty() + void AddService(int32 interface, int32 protocol, string name, string type, string domain, string host, uint16 port, string txt[]) + void AddAddress(int32 interface, int32 protocol, string name, string address) + SIGNAL StateChanged(int32 state) + +org.freedesktop.Avahi.DomainBrowser + void Free() + SIGNAL ItemNew(int32 interface, int32 protocol, string domain) + SIGNAL ItemRemove(int32 interface, int32 protocol, string domain) + +org.freedesktop.Avahi.ServiceTypeBrowser + void Free() + SIGNAL ItemNew(int32 interface, int32 protocol, string type, string domain) + SIGNAL ItemRemove(int32 interface, int32 protocol, string type, string domain) + +org.freedesktop.Avahi.ServiceBrowser + void Free() + SIGNAL ItemNew(int32 interface, int32 protocol, string name, string type, string domain) + SIGNAL ItemRemove(int32 interface, int32 protocol, string name, string type, string domain) diff --git a/docs/HACKING b/docs/HACKING new file mode 100644 index 0000000..a31878d --- /dev/null +++ b/docs/HACKING @@ -0,0 +1,108 @@ +Please comply with the following rules when hacking on Avahi: + + * When you add a new textual file to the repository please enable SVN + keyword expansion for it: + + svn ps svn:keywords Id foo.c + + * Before commiting check with "svn st" that all built files are ignored + by svn. To change the list of ignored files use + + svn pe svn:ignore . + + This is similar to the ".cvsignore" file in CVS times. + + * Don't forget to add the autoconf config.h inclusion to all C source files: + + #ifdef HAVE_CONFIG_H + #include + #endif + + This needs to be placed in in .c files only. NOT IN HEADER FILES! + + * Don't hardcode any paths in source files. Either use the -D option of gcc + for C sources or use "sed" to replace them based on a .in file. + + * Never forget that Avahi should be buildable without DBUS, GTK or python! + + * When you code in C, please compile with the following gcc options from time + to time: + + -Wextra + -Wfloat-equal + -Wmissing-declarations + -Wmissing-prototypes + -Wstrict-prototypes + -Wredundant-decls + -Wold-style-definition + -Wmissing-noreturn + -Wdeclaration-after-statement + -Wshadow + -Wendif-labels + -Wlarger-than-4000 + -Wpointer-arith + -Wbad-function-cast + -Wcast-qual + -Wcast-align + -Wwrite-strings + -Winline + + This will show you a bunch of issues which might be problems in your source + code. Not all options are available on all GCC versions. Just pass these + options in $CFLAGS when running bootstrap.sh: + + CFLAGS="-Wextra ..." ./bootstrap.sh + + * Whenever you add a new Makefile.am, C (.c or .h) source file, shell or + python script please add this legal blurb to its header: + + For Makefile.am, python and shell code: + + +# $Id$ + +# This file is part of avahi. +# +# avahi is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# avahi is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with avahi; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA. + + + For C source code: + + +/* $Id$ */ + +/*** + This file is part of avahi. + + avahi is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + avahi is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with avahi; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + USA. +***/ + + + +$Id$ diff --git a/docs/INSTALL b/docs/INSTALL new file mode 100644 index 0000000..d6b134e --- /dev/null +++ b/docs/INSTALL @@ -0,0 +1,36 @@ +*** Quick install instructions (tested on debian/ubuntu only!) *** + +While "make" and "boostrap.sh" may be run as normal users all other commands +need to be run is root. + +$ ./bootstrap.sh + (this will run autoconf/automake) + +$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var + +Extra configure options available: + + --enable-gtk use GTK+ (default=yes) + --enable-dbus use DBus (default=yes) + --with-dbus-sys= where D-BUS system.d directory is + --with-distro= the target Linux distribution (one of redhat, + suse, gentoo, debian or slackware) + --with-avahi-user= User for running the Avahi daemon (avahi) + --with-avahi-group= Group for Avahi (avahi) + +$ make +# make install + +# addgroup --system avahi +# adduser --system --no-create-home --ingroup avahi avahi + (These commands are Debian specific and may be different on other + distributions) + +# kill -HUP `cat /var/run/dbus/pid` + (This will ask DBUS to re-read its policies) +# /etc/dbus-1/event.d/75avahi-daemon start + +- To automatically start avahi-dnsconfd on Debian based distro: +# update-rc.d avahi-dnsconfd defaults 25 15 + +$Id$ diff --git a/docs/README b/docs/README new file mode 100644 index 0000000..dfaf409 --- /dev/null +++ b/docs/README @@ -0,0 +1,11 @@ +* Quick start guide: +0) make sure you read the INSTALL file. +1) start the deamon in background as root: avahi-daemon -D +Or (You shouldn't start avahi-daemon and avahi-discover at the same time.) +1) start the Gui to browse zeroconf network as your user: avahi-discover + + +* Basic instructions to control the avahi deamon (as root): +- starting it: avahi-daemon +- starting it in background: avahi-daemon -D +- stopping it: avahi-daemon -k diff --git a/docs/todo b/docs/todo new file mode 100644 index 0000000..be044cb --- /dev/null +++ b/docs/todo @@ -0,0 +1,51 @@ +todo: +* finish DBUS stuff: + - allow NUL bytes in TXT records +* add internal error codes +* release! + +later: +* support for special domain PTR records based on local IP subnet address +* Changes resulting in updated RFC of 7th June 2005: + * Defer responses to replies with TC bit set by 400-500msec + * Defer unicast responses the same way as multicast responses + +done: +* Probing/Conflict resolution +* uniqueness +* respect escaping in name serialization +* really send goodbye packets +* refresh subscribed records only +* FLX_DNS_TYPE_ANY support +* Known-Answer suppression client part +* Known-Answer suppression server part +* make flx_server_add_text() and flx_server_add_service() variadic functions +* name compression +* remove expression "rrset" from source files +* defend our entries on incoming goodbye +* allow NULL bytes in TXT records +* add flx_server_add_service_strlst() and friends +* change flx_* to avahi_* +* Unicast responses/queries +* Legacy unicast +* no flush bit in known answer +* always set AA +* check: TC bit is valid for queries ONLY +* add SRV and TXT records referenced from PTR records automatically to packet +* add A and AAAA records referenced from SRV records automatically to packet +* support known answer suppresion for incoming unicast queries +* check wether RRsets are supported correctly (i.e. that all records of an + RRset are really sent if it is requested) (rfc 2181) +* case insensitve comparison +* drop records from cache only one second after flush cache bit entry was received +* either send entire RRSET or don't set flush cache bit! +* mantain flush cache bit correctly in psched +* Return to probing state on conflict +* response job dependencies +* enlarge packet in case a record/query is too large to fit in a normal packet +* reflector +* test against apple test suite +* sensible logging +* c++ support +* drop trailing dot on avahi_normalize_name() +* add entry_group::reset() diff --git a/todo b/todo deleted file mode 100644 index be044cb..0000000 --- a/todo +++ /dev/null @@ -1,51 +0,0 @@ -todo: -* finish DBUS stuff: - - allow NUL bytes in TXT records -* add internal error codes -* release! - -later: -* support for special domain PTR records based on local IP subnet address -* Changes resulting in updated RFC of 7th June 2005: - * Defer responses to replies with TC bit set by 400-500msec - * Defer unicast responses the same way as multicast responses - -done: -* Probing/Conflict resolution -* uniqueness -* respect escaping in name serialization -* really send goodbye packets -* refresh subscribed records only -* FLX_DNS_TYPE_ANY support -* Known-Answer suppression client part -* Known-Answer suppression server part -* make flx_server_add_text() and flx_server_add_service() variadic functions -* name compression -* remove expression "rrset" from source files -* defend our entries on incoming goodbye -* allow NULL bytes in TXT records -* add flx_server_add_service_strlst() and friends -* change flx_* to avahi_* -* Unicast responses/queries -* Legacy unicast -* no flush bit in known answer -* always set AA -* check: TC bit is valid for queries ONLY -* add SRV and TXT records referenced from PTR records automatically to packet -* add A and AAAA records referenced from SRV records automatically to packet -* support known answer suppresion for incoming unicast queries -* check wether RRsets are supported correctly (i.e. that all records of an - RRset are really sent if it is requested) (rfc 2181) -* case insensitve comparison -* drop records from cache only one second after flush cache bit entry was received -* either send entire RRSET or don't set flush cache bit! -* mantain flush cache bit correctly in psched -* Return to probing state on conflict -* response job dependencies -* enlarge packet in case a record/query is too large to fit in a normal packet -* reflector -* test against apple test suite -* sensible logging -* c++ support -* drop trailing dot on avahi_normalize_name() -* add entry_group::reset()