diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/Makefile.am | 36 | ||||
-rw-r--r-- | doc/Makefile.in | 335 | ||||
-rw-r--r-- | doc/README | 253 | ||||
-rw-r--r-- | doc/README.html | 241 | ||||
-rw-r--r-- | doc/README.html.in | 241 | ||||
-rw-r--r-- | doc/style.css | 23 |
6 files changed, 1129 insertions, 0 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..81feea7 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,36 @@ +# $Id$ + +# Copyright 2006 Lennart Poettering +# +# Licensed under the Apache License, Version 2.0 (the "License"); you +# may not use this file except in compliance with the License. You +# may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. See the License for the specific language governing +# permissions and limitations under the License. + +noinst_DATA = README.html +EXTRA_DIST = $(noinst_DATA) style.css README.html.in + +MAINTAINERCLEANFILES = README.html +CLEANFILES = + +if USE_LYNX +noinst_DATA += README +MAINTAINERCLEANFILES += README +CLEANFILES += README + +README: README.html + lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@ + +endif + +tidy: README.html + tidy -e < README.html + +.PHONY: tidy diff --git a/doc/Makefile.in b/doc/Makefile.in new file mode 100644 index 0000000..a6f3cca --- /dev/null +++ b/doc/Makefile.in @@ -0,0 +1,335 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# $Id$ + +# Copyright 2006 Lennart Poettering +# +# Licensed under the Apache License, Version 2.0 (the "License"); you +# may not use this file except in compliance with the License. You +# may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. See the License for the specific language governing +# permissions and limitations under the License. + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +@USE_LYNX_TRUE@am__append_1 = README +@USE_LYNX_TRUE@am__append_2 = README +@USE_LYNX_TRUE@am__append_3 = README +subdir = doc +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/README.html.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = README.html +SOURCES = +DIST_SOURCES = +DATA = $(noinst_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +APACHECTL = @APACHECTL@ +APR_CFLAGS = @APR_CFLAGS@ +APR_LIBS = @APR_LIBS@ +APXS = @APXS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AVAHI_CFLAGS = @AVAHI_CFLAGS@ +AVAHI_LIBS = @AVAHI_LIBS@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EXEEXT = @EXEEXT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +have_lynx = @have_lynx@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +noinst_DATA = README.html $(am__append_1) +EXTRA_DIST = $(noinst_DATA) style.css README.html.in +MAINTAINERCLEANFILES = README.html $(am__append_2) +CLEANFILES = $(am__append_3) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --foreign doc/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +README.html: $(top_builddir)/config.status $(srcdir)/README.html.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am + + +@USE_LYNX_TRUE@README: README.html +@USE_LYNX_TRUE@ lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@ + +tidy: README.html + tidy -e < README.html + +.PHONY: tidy +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/doc/README b/doc/README new file mode 100644 index 0000000..5a2d800 --- /dev/null +++ b/doc/README @@ -0,0 +1,253 @@ + mod_dnssd 0.6 + + Copyright 2006-2009 Lennart Poettering <mzzbqqaffq (at) 0pointer (dot) + net> + * [1]License + * [2]News + * [3]Overview + * [4]Current Status + * [5]Documentation + * [6]Requirements + * [7]Installation + * [8]Acknowledgements + * [9]Download + +License + + Copyright 2006-2009 Lennart Poettering + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + [10]http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. + +News + + Wed Jan 18 2009: + + [11]Version 0.6 released, changes include: add a new directive + DNSSDServiceTxtRecord + + Tue Apr 17 2007: + + [12]Version 0.5 released, changes include: updated for Apache 2.2; for + compatibility with older Apache versions please use mod_dnssd 0.4. + + Sat Apr 1 2006: + + [13]Version 0.4 released, changes include: deal properly with vhosts + listening on ports != 80; add new DNSSDUserDir directive. + + Sun Jan 22 2006: + + [14]Version 0.3 released, changes include: fix compilation on FreeBSD + and Mandriva; compatibility with Apache 2.2; fix a memory corruption + bug + + Sat Jan 21 2006: + + [15]Version 0.2 released, changes include: handle graceful restarts + properly, other smaller cleanups + + Thu Jan 19 2006: + + [16]Version 0.1 released, initial realease + +Overview + + mod_dnssd is an [17]Apache HTTPD module which adds [18]Zeroconf support + via [19]DNS-SD using [20]Avahi. + +Status + + Version 0.6 is more or less stable and fulfills its purpose. + +Documentation + + For activating mod_dnssd just load it into the server and use the + global directive DNSSDEnable to enable it: +DNSSDEnable on + + That's it, nothing more is required! The module publishes all + configured virtual hosts and the mod_userdir directories of all local + users. For mod_userdir to work you need to load that module and + configure it for the path ~/public_html/. + + Please note that all ServerNames used in the Apache configuration files + for services that shall be published with Avahi/DNS-SD need to be valid + and in [21]FQDN format, i.e. resolvable via mDNS or traditional DNS, + and consist of at least two labels. (foobar does not qualify as such, + but foobar.local does.) + + Advanced Features + + Five other directives are available: the global directive + DNSSDAutoRegisterUserDir can be used to disable automatic registration + of mod_userdir directories. The global directive + DNSSDAutoRegisterVHosts can be used to disable automatic registration + of all local virtual hosts. + + The two directives DNSSDServiceName and DNSSDServiceTypes which can be + placed inside a <VirtualHost> or <Location> section can be used to + define additional services for publishing or to finetune the service + name or types of virtual hosts. If placed inside a <VirtualHost> you + can change the service types and name of the attached service (if used + with DNSSDAutoRegisterVHosts set to on) or to register a service for + the virtual host (if used with DNSSDAutoRegisterVHosts disabled). + DNSSDServiceTypes takes a list of at least one DNS-SD service type + (defaults to _http._tcp). A good example when to pass more than one + service type is a WebDAV server: +DNSSDServiceTypes _http._tcp _webdav._tcp + + This will register the server both as HTTP and as WebDAV service. + Please note that both services do have different types but share the + same name! Other areas where this might become handy is when + registering RSS formatted blogs or XMLRPC services. + + DNSSDServiceName and DNSSDServiceTypes are especially useful inside a + <Location> block. Using this notation you can register additional + services in subdirectories of the server. A quick and incomplete + example: +... +DNSSDEnable On +DNSSDAutoRegisterVHosts On +DNSSDAutoRegisterUserDir On + +<VirtualHost *> + DocumentRoot /var/www + DNSSDServiceName "Our Little Home Web Server" + + <Location /doc> + DNSSDServiceName "Documentation" + ... + </Location> + + <Location /squirrelmail> + DNSSDServiceName "Webmail" + ... + </Location> + + <Location /webdav> + DAV On + DNSSDServiceName "Our WebDAV folder" + DNSSDServiceTypes _webdav._tcp _http._tcp + ... + </Location> + + <Location /blog.rss> + DNSSDServiceName "The Blog" + DNSSDServiceTypes _rss._tcp + ... + </Location> + + ... +</VirtualHost> + +... + + This will register six services: Our Little Home Web Server, + Documentation, Webmail and Our WebDAV folder as type _http._tcp, Our + WebDAV folder a second time under the type _webdav._tcp and finally The + Blog as type _rss._tcp. + + The directive DNSSDServicePort can be used to tell mod_dnssd the right + port number in complicated setups, where it fails to detect the correct + one to use. It is seldomly used and you probably shouldn't bother. + + The global directive DNSSDUserDir may be used to change the directory + inside the user's home directory that is published by + DNSSDAutoRegisterUserDir. This defaults to public_html. If you used the + UserDir directive in your Apache configuration file you probably want + to use this directive, too. Please note, however, that DNSSDUserDir + doesn't accept the full syntax that UserDir accepts. In fact only the + simplest form - a simple string without any * and without the / prefix + - is accepted. + + You might find this [22]blog article I wrote enlightening which + contains more examples how to make use of mod_dnssd. + +Requirements + + mod_dnssd requires a current release of Apache 2.2 with apxs and a + development installation of [23]Avahi 0.6 or newer. mod_dnssd has been + tested exclusively with mpm_prefork, your mileage with other MPMs may + vary. (Please report successes or failures!) + + mod_dnssd has been developed and tested on Debian GNU/Linux "testing" + from January 2006, it should work on most other Linux distributions and + probably POSIX implementations since it uses GNU autoconf and Apache + apxs for source code configuration. + +Installation + + As this package is made with the GNU autotools you should run + ./configure inside the distribution directory for configuring the + source tree. After that you should run make for compilation and make + install (as root) for installation of mod_dnssd. + +Acknowledgements + + This work was inspired by Sander Temme's and Sebastien Estienne's + [24]mod_zeroconf module. + + Sebastien Estienne for packaging mod_dnssd for Debian. + + Bastien Nocera for adding the DNSSDServiceTxtRecord directive. + +Download + + The newest release is always available from + [25]http://0pointer.de/lennart/projects/mod_dnssd/ + + The current release is [26]0.6 + + Get mod_dnssd's development sources from the [27]GIT [28]repository + ([29]gitweb): +git clone git://git.0pointer.de/mod_dnssd + + You may find an up to date Debian package of mod_dnssd in the + [30]Debian package repository. + __________________________________________________________________ + + + Lennart Poettering <mzzbqqaffq (at) 0pointer (dot) net>, January 2009 + +References + + 1. README#license + 2. README#news + 3. README#overview + 4. README#status + 5. README#documentation + 6. README#requirements + 7. README#installation + 8. README#acks + 9. README#download + 10. http://www.apache.org/licenses/LICENSE-2.0 + 11. http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.6.tar.gz + 12. http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.5.tar.gz + 13. http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.4.tar.gz + 14. http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.3.tar.gz + 15. http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.2.tar.gz + 16. http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.1.tar.gz + 17. http://httpd.apache.org/ + 18. http://www.zeroconf.org/ + 19. http://www.dns-sd.org/ + 20. http://avahi.org/ + 21. http://en.wikipedia.org/wiki/FQDN + 22. http://0pointer.de/blog/projects/mod_dnssd.html + 23. http://avahi.org/ + 24. http://www.temme.net/sander/mod_zeroconf/ + 25. http://0pointer.de/lennart/projects/mod_dnssd/ + 26. http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.6.tar.gz + 27. http://git.or.cz/ + 28. git://git.0pointer.de/mod_dnssd + 29. http://git.0pointer.de/?p=mod_dnssd.git + 30. http://packages.debian.org/libapache2-mod-dnssd diff --git a/doc/README.html b/doc/README.html new file mode 100644 index 0000000..c265fe5 --- /dev/null +++ b/doc/README.html @@ -0,0 +1,241 @@ +<?xml version="1.0" encoding="iso-8859-15"?> <!-- -*-html-helper-*- --> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>mod_dnssd 0.6</title> +<link rel="stylesheet" type="text/css" href="style.css" /> +</head> + +<body> +<h1><a name="top">mod_dnssd 0.6</a></h1> + +<p><i>Copyright 2006-2009 Lennart Poettering <mzzbqqaffq (at) 0pointer (dot) net></i></p> + +<ul class="toc"> + <li><a href="#license">License</a></li> + <li><a href="#news">News</a></li> + <li><a href="#overview">Overview</a></li> + <li><a href="#status">Current Status</a></li> + <li><a href="#documentation">Documentation</a></li> + <li><a href="#requirements">Requirements</a></li> + <li><a href="#installation">Installation</a></li> + <li><a href="#acks">Acknowledgements</a></li> + <li><a href="#download">Download</a></li> +</ul> + +<h2><a name="license">License</a></h2> + +<p>Copyright 2006-2009 Lennart Poettering</p> + +<p>Licensed under the Apache License, Version 2.0 (the "License"); you +may not use this file except in compliance with the License. You may +obtain a copy of the License at</p> + +<p> <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p> + +<p>Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied. See the License for the specific language governing +permissions and limitations under the License.</p> + +<h2><a name="news">News</a></h2> + +<div class="news-date">Wed Jan 18 +2009: </div> <p class="news-text"><a href="http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.6.tar.gz">Version +0.6</a> released, changes include: add a new +directive <tt>DNSSDServiceTxtRecord</tt></p> + +<div class="news-date">Tue Apr 17 2007: </div> <p class="news-text"><a +href="http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.5.tar.gz">Version 0.5</a> released, changes include: updated for Apache 2.2; for compatibility with older Apache versions please use <tt>mod_dnssd</tt> 0.4.</p> + +<div class="news-date">Sat Apr 1 2006: </div> <p class="news-text"><a +href="http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.4.tar.gz">Version 0.4</a> released, changes include: deal properly with vhosts listening on ports != 80; add new <tt>DNSSDUserDir</tt> directive.</p> + +<div class="news-date">Sun Jan 22 2006: </div> <p class="news-text"><a +href="http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.3.tar.gz">Version 0.3</a> released, changes include: fix compilation on FreeBSD and Mandriva; compatibility with Apache 2.2; fix a memory corruption bug</p> + +<div class="news-date">Sat Jan 21 2006: </div> <p class="news-text"><a +href="http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.2.tar.gz">Version 0.2</a> released, changes include: handle graceful restarts properly, other smaller cleanups</p> + +<div class="news-date">Thu Jan 19 2006: </div> <p class="news-text"><a +href="http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.1.tar.gz">Version 0.1</a> released, +initial realease</p> + +<h2><a name="overview">Overview</a></h2> + +<p><tt>mod_dnssd</tt> is an <a href="http://httpd.apache.org/">Apache +HTTPD</a> module which adds <a +href="http://www.zeroconf.org/">Zeroconf</a> support via <a +href="http://www.dns-sd.org/">DNS-SD</a> using <a +href="http://avahi.org/">Avahi</a>.</p> + +<h2><a name="status">Status</a></h2> + +<p>Version 0.6 is more or less stable and fulfills its purpose.</p> + +<h2><a name="documentation">Documentation</a></h2> + +<p>For activating <tt>mod_dnssd</tt> just load it into the server and use the global directive <tt>DNSSDEnable</tt> to enable it: </p> + +<pre> +DNSSDEnable on +</pre> + +<p>That's it, nothing more is required! The module publishes all +configured virtual hosts and the <tt>mod_userdir</tt> directories of +all local users. For <tt>mod_userdir</tt> to work you need to load +that module and configure it for the path <tt>~/public_html/</tt>.</p> + +<p><b>Please note</b> that all <tt>ServerName</tt>s used in the Apache +configuration files for services that shall be published with Avahi/DNS-SD need +to be valid and in <a href="http://en.wikipedia.org/wiki/FQDN">FQDN format</a>, i.e. resolvable via mDNS or traditional DNS, +and consist of at least two labels. (<tt>foobar</tt> does not qualify as such, +but <tt>foobar.local</tt> does.)</p> + +<h3>Advanced Features</h3> + +<p>Five other directives are available: the global directive +<tt>DNSSDAutoRegisterUserDir</tt> can be used to disable automatic +registration of <tt>mod_userdir</tt> directories. The global directive +<tt>DNSSDAutoRegisterVHosts</tt> can be used to disable automatic +registration of all local virtual hosts.</p> + +<p>The two directives <tt>DNSSDServiceName</tt> and +<tt>DNSSDServiceTypes</tt> which can be placed inside a +<tt><VirtualHost></tt> or <tt><Location></tt> section +can be used to define additional services for publishing or to +finetune the service name or types of virtual hosts. If placed inside +a <tt><VirtualHost></tt> you can change the service types and +name of the attached service (if used with +<tt>DNSSDAutoRegisterVHosts</tt> set to <tt>on</tt>) or to register a +service for the virtual host (if used with +<tt>DNSSDAutoRegisterVHosts</tt> disabled). <tt>DNSSDServiceTypes</tt> +takes a list of at least one DNS-SD service type (defaults to +<tt>_http._tcp</tt>). A good example when to pass more than one +service type is a WebDAV server:</p> + +<pre> +DNSSDServiceTypes _http._tcp _webdav._tcp +</pre> + +<p>This will register the server both as HTTP and as WebDAV +service. Please note that both services do have different types but +share the same name! Other areas where this might become handy is when registering RSS formatted blogs or XMLRPC services.</p> + +<p><tt>DNSSDServiceName</tt> and <tt>DNSSDServiceTypes</tt> are +especially useful inside a <tt><Location></tt> block. Using this +notation you can register additional services in subdirectories of the +server. A quick and incomplete example:</p> + +<pre> +... +DNSSDEnable On +DNSSDAutoRegisterVHosts On +DNSSDAutoRegisterUserDir On + +<VirtualHost *> + DocumentRoot /var/www + DNSSDServiceName "Our Little Home Web Server" + + <Location /doc> + DNSSDServiceName "Documentation" + ... + </Location> + + <Location /squirrelmail> + DNSSDServiceName "Webmail" + ... + </Location> + + <Location /webdav> + DAV On + DNSSDServiceName "Our WebDAV folder" + DNSSDServiceTypes _webdav._tcp _http._tcp + ... + </Location> + + <Location /blog.rss> + DNSSDServiceName "The Blog" + DNSSDServiceTypes _rss._tcp + ... + </Location> + + ... +</VirtualHost> + +... +</pre> + +<p>This will register six services: <i>Our Little Home Web Server</i>, +<i>Documentation</i>, <i>Webmail</i> and <i>Our WebDAV folder</i> as +type <tt>_http._tcp</tt>, <i>Our WebDAV folder</i> a second time under +the type <tt>_webdav._tcp</tt> and finally <i>The Blog</i> as type +<tt>_rss._tcp</tt>.</p> + +<p>The directive <tt>DNSSDServicePort</tt> can be used to tell +<tt>mod_dnssd</tt> the right port number in complicated setups, where +it fails to detect the correct one to use. It is seldomly used and you +probably shouldn't bother.</p> + +<p>The global directive <tt>DNSSDUserDir</tt> may be used to change +the directory inside the user's home directory that is published by +<tt>DNSSDAutoRegisterUserDir</tt>. This defaults to +<tt>public_html</tt>. If you used the <tt>UserDir</tt> directive in +your Apache configuration file you probably want to use this +directive, too. Please note, however, that <tt>DNSSDUserDir</tt> +doesn't accept the full syntax that <tt>UserDir</tt> accepts. In fact +only the simplest form - a simple string without any <tt>*</tt> and +without the <tt>/</tt> prefix - is accepted.</p> + +<p>You might find this <a +href="http://0pointer.de/blog/projects/mod_dnssd.html">blog +article</a> I wrote enlightening which contains more examples how +to make use of <tt>mod_dnssd</tt>.</p> + +<h2><a name="requirements">Requirements</a></h2> + +<p><tt>mod_dnssd</tt> requires a current release of Apache 2.2 with +<tt>apxs</tt> and a development installation of <a +href="http://avahi.org/">Avahi</a> 0.6 or newer. <tt>mod_dnssd</tt> has been tested exclusively with <tt>mpm_prefork</tt>, your mileage with other MPMs may vary. (Please report successes or failures!)</p> + +<p><tt>mod_dnssd</tt> has been developed and tested on Debian GNU/Linux +"testing" from January 2006, it should work on most other Linux +distributions and probably POSIX implementations since it uses GNU +autoconf and Apache <tt>apxs</tt> for source code configuration.</p> + +<h2><a name="installation">Installation</a></h2> + +<p>As this package is made with the GNU autotools you should run +<tt>./configure</tt> inside the distribution directory for configuring +the source tree. After that you should run <tt>make</tt> for +compilation and <tt>make install</tt> (as root) for installation of +<tt>mod_dnssd</tt>.</p> + +<h2><a name="acks">Acknowledgements</a></h2> + +<p>This work was inspired by Sander Temme's and Sebastien Estienne's <a href="http://www.temme.net/sander/mod_zeroconf/">mod_zeroconf</a> module.</p> + +<p>Sebastien Estienne for packaging <tt>mod_dnssd</tt> for Debian.</p> + +<p>Bastien Nocera for adding the <tt>DNSSDServiceTxtRecord</tt> directive.</p> + +<h2><a name="download">Download</a></h2> + +<p>The newest release is always available from <a href="http://0pointer.de/lennart/projects/mod_dnssd/">http://0pointer.de/lennart/projects/mod_dnssd/</a></p> + +<p>The current release is <a href="http://0pointer.de/lennart/projects/mod_dnssd/mod_dnssd-0.6.tar.gz">0.6</a></p> + +<p>Get <tt>mod_dnssd</tt>'s development sources from the <a href="http://git.or.cz/">GIT</a> <a href="git://git.0pointer.de/mod_dnssd">repository</a> (<a href="http://git.0pointer.de/?p=mod_dnssd.git">gitweb</a>): </p> + + +<pre>git clone git://git.0pointer.de/mod_dnssd</pre> + +<p>You may find an up to date Debian package of <tt>mod_dnssd</tt> in the <a href="http://packages.debian.org/libapache2-mod-dnssd">Debian package repository</a>.</p> + +<hr/> +<address class="grey">Lennart Poettering <mzzbqqaffq (at) 0pointer (dot) net>, January 2009</address> + +</body> +</html> diff --git a/doc/README.html.in b/doc/README.html.in new file mode 100644 index 0000000..0da6eaf --- /dev/null +++ b/doc/README.html.in @@ -0,0 +1,241 @@ +<?xml version="1.0" encoding="iso-8859-15"?> <!-- -*-html-helper-*- --> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>mod_dnssd @PACKAGE_VERSION@</title> +<link rel="stylesheet" type="text/css" href="style.css" /> +</head> + +<body> +<h1><a name="top">mod_dnssd @PACKAGE_VERSION@</a></h1> + +<p><i>Copyright 2006-2009 Lennart Poettering <@PACKAGE_BUGREPORT@></i></p> + +<ul class="toc"> + <li><a href="#license">License</a></li> + <li><a href="#news">News</a></li> + <li><a href="#overview">Overview</a></li> + <li><a href="#status">Current Status</a></li> + <li><a href="#documentation">Documentation</a></li> + <li><a href="#requirements">Requirements</a></li> + <li><a href="#installation">Installation</a></li> + <li><a href="#acks">Acknowledgements</a></li> + <li><a href="#download">Download</a></li> +</ul> + +<h2><a name="license">License</a></h2> + +<p>Copyright 2006-2009 Lennart Poettering</p> + +<p>Licensed under the Apache License, Version 2.0 (the "License"); you +may not use this file except in compliance with the License. You may +obtain a copy of the License at</p> + +<p> <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></p> + +<p>Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied. See the License for the specific language governing +permissions and limitations under the License.</p> + +<h2><a name="news">News</a></h2> + +<div class="news-date">Wed Jan 18 +2009: </div> <p class="news-text"><a href="@PACKAGE_URL@mod_dnssd-0.6.tar.gz">Version +0.6</a> released, changes include: add a new +directive <tt>DNSSDServiceTxtRecord</tt></p> + +<div class="news-date">Tue Apr 17 2007: </div> <p class="news-text"><a +href="@PACKAGE_URL@mod_dnssd-0.5.tar.gz">Version 0.5</a> released, changes include: updated for Apache 2.2; for compatibility with older Apache versions please use <tt>mod_dnssd</tt> 0.4.</p> + +<div class="news-date">Sat Apr 1 2006: </div> <p class="news-text"><a +href="@PACKAGE_URL@mod_dnssd-0.4.tar.gz">Version 0.4</a> released, changes include: deal properly with vhosts listening on ports != 80; add new <tt>DNSSDUserDir</tt> directive.</p> + +<div class="news-date">Sun Jan 22 2006: </div> <p class="news-text"><a +href="@PACKAGE_URL@mod_dnssd-0.3.tar.gz">Version 0.3</a> released, changes include: fix compilation on FreeBSD and Mandriva; compatibility with Apache 2.2; fix a memory corruption bug</p> + +<div class="news-date">Sat Jan 21 2006: </div> <p class="news-text"><a +href="@PACKAGE_URL@mod_dnssd-0.2.tar.gz">Version 0.2</a> released, changes include: handle graceful restarts properly, other smaller cleanups</p> + +<div class="news-date">Thu Jan 19 2006: </div> <p class="news-text"><a +href="@PACKAGE_URL@mod_dnssd-0.1.tar.gz">Version 0.1</a> released, +initial realease</p> + +<h2><a name="overview">Overview</a></h2> + +<p><tt>mod_dnssd</tt> is an <a href="http://httpd.apache.org/">Apache +HTTPD</a> module which adds <a +href="http://www.zeroconf.org/">Zeroconf</a> support via <a +href="http://www.dns-sd.org/">DNS-SD</a> using <a +href="http://avahi.org/">Avahi</a>.</p> + +<h2><a name="status">Status</a></h2> + +<p>Version @PACKAGE_VERSION@ is more or less stable and fulfills its purpose.</p> + +<h2><a name="documentation">Documentation</a></h2> + +<p>For activating <tt>mod_dnssd</tt> just load it into the server and use the global directive <tt>DNSSDEnable</tt> to enable it: </p> + +<pre> +DNSSDEnable on +</pre> + +<p>That's it, nothing more is required! The module publishes all +configured virtual hosts and the <tt>mod_userdir</tt> directories of +all local users. For <tt>mod_userdir</tt> to work you need to load +that module and configure it for the path <tt>~/public_html/</tt>.</p> + +<p><b>Please note</b> that all <tt>ServerName</tt>s used in the Apache +configuration files for services that shall be published with Avahi/DNS-SD need +to be valid and in <a href="http://en.wikipedia.org/wiki/FQDN">FQDN format</a>, i.e. resolvable via mDNS or traditional DNS, +and consist of at least two labels. (<tt>foobar</tt> does not qualify as such, +but <tt>foobar.local</tt> does.)</p> + +<h3>Advanced Features</h3> + +<p>Five other directives are available: the global directive +<tt>DNSSDAutoRegisterUserDir</tt> can be used to disable automatic +registration of <tt>mod_userdir</tt> directories. The global directive +<tt>DNSSDAutoRegisterVHosts</tt> can be used to disable automatic +registration of all local virtual hosts.</p> + +<p>The two directives <tt>DNSSDServiceName</tt> and +<tt>DNSSDServiceTypes</tt> which can be placed inside a +<tt><VirtualHost></tt> or <tt><Location></tt> section +can be used to define additional services for publishing or to +finetune the service name or types of virtual hosts. If placed inside +a <tt><VirtualHost></tt> you can change the service types and +name of the attached service (if used with +<tt>DNSSDAutoRegisterVHosts</tt> set to <tt>on</tt>) or to register a +service for the virtual host (if used with +<tt>DNSSDAutoRegisterVHosts</tt> disabled). <tt>DNSSDServiceTypes</tt> +takes a list of at least one DNS-SD service type (defaults to +<tt>_http._tcp</tt>). A good example when to pass more than one +service type is a WebDAV server:</p> + +<pre> +DNSSDServiceTypes _http._tcp _webdav._tcp +</pre> + +<p>This will register the server both as HTTP and as WebDAV +service. Please note that both services do have different types but +share the same name! Other areas where this might become handy is when registering RSS formatted blogs or XMLRPC services.</p> + +<p><tt>DNSSDServiceName</tt> and <tt>DNSSDServiceTypes</tt> are +especially useful inside a <tt><Location></tt> block. Using this +notation you can register additional services in subdirectories of the +server. A quick and incomplete example:</p> + +<pre> +... +DNSSDEnable On +DNSSDAutoRegisterVHosts On +DNSSDAutoRegisterUserDir On + +<VirtualHost *> + DocumentRoot /var/www + DNSSDServiceName "Our Little Home Web Server" + + <Location /doc> + DNSSDServiceName "Documentation" + ... + </Location> + + <Location /squirrelmail> + DNSSDServiceName "Webmail" + ... + </Location> + + <Location /webdav> + DAV On + DNSSDServiceName "Our WebDAV folder" + DNSSDServiceTypes _webdav._tcp _http._tcp + ... + </Location> + + <Location /blog.rss> + DNSSDServiceName "The Blog" + DNSSDServiceTypes _rss._tcp + ... + </Location> + + ... +</VirtualHost> + +... +</pre> + +<p>This will register six services: <i>Our Little Home Web Server</i>, +<i>Documentation</i>, <i>Webmail</i> and <i>Our WebDAV folder</i> as +type <tt>_http._tcp</tt>, <i>Our WebDAV folder</i> a second time under +the type <tt>_webdav._tcp</tt> and finally <i>The Blog</i> as type +<tt>_rss._tcp</tt>.</p> + +<p>The directive <tt>DNSSDServicePort</tt> can be used to tell +<tt>mod_dnssd</tt> the right port number in complicated setups, where +it fails to detect the correct one to use. It is seldomly used and you +probably shouldn't bother.</p> + +<p>The global directive <tt>DNSSDUserDir</tt> may be used to change +the directory inside the user's home directory that is published by +<tt>DNSSDAutoRegisterUserDir</tt>. This defaults to +<tt>public_html</tt>. If you used the <tt>UserDir</tt> directive in +your Apache configuration file you probably want to use this +directive, too. Please note, however, that <tt>DNSSDUserDir</tt> +doesn't accept the full syntax that <tt>UserDir</tt> accepts. In fact +only the simplest form - a simple string without any <tt>*</tt> and +without the <tt>/</tt> prefix - is accepted.</p> + +<p>You might find this <a +href="http://0pointer.de/blog/projects/mod_dnssd.html">blog +article</a> I wrote enlightening which contains more examples how +to make use of <tt>mod_dnssd</tt>.</p> + +<h2><a name="requirements">Requirements</a></h2> + +<p><tt>mod_dnssd</tt> requires a current release of Apache 2.2 with +<tt>apxs</tt> and a development installation of <a +href="http://avahi.org/">Avahi</a> 0.6 or newer. <tt>mod_dnssd</tt> has been tested exclusively with <tt>mpm_prefork</tt>, your mileage with other MPMs may vary. (Please report successes or failures!)</p> + +<p><tt>mod_dnssd</tt> has been developed and tested on Debian GNU/Linux +"testing" from January 2006, it should work on most other Linux +distributions and probably POSIX implementations since it uses GNU +autoconf and Apache <tt>apxs</tt> for source code configuration.</p> + +<h2><a name="installation">Installation</a></h2> + +<p>As this package is made with the GNU autotools you should run +<tt>./configure</tt> inside the distribution directory for configuring +the source tree. After that you should run <tt>make</tt> for +compilation and <tt>make install</tt> (as root) for installation of +<tt>mod_dnssd</tt>.</p> + +<h2><a name="acks">Acknowledgements</a></h2> + +<p>This work was inspired by Sander Temme's and Sebastien Estienne's <a href="http://www.temme.net/sander/mod_zeroconf/">mod_zeroconf</a> module.</p> + +<p>Sebastien Estienne for packaging <tt>mod_dnssd</tt> for Debian.</p> + +<p>Bastien Nocera for adding the <tt>DNSSDServiceTxtRecord</tt> directive.</p> + +<h2><a name="download">Download</a></h2> + +<p>The newest release is always available from <a href="@PACKAGE_URL@">@PACKAGE_URL@</a></p> + +<p>The current release is <a href="@PACKAGE_URL@mod_dnssd-@PACKAGE_VERSION@.tar.gz">@PACKAGE_VERSION@</a></p> + +<p>Get <tt>mod_dnssd</tt>'s development sources from the <a href="http://git.or.cz/">GIT</a> <a href="git://git.0pointer.de/mod_dnssd">repository</a> (<a href="http://git.0pointer.de/?p=mod_dnssd.git">gitweb</a>): </p> + + +<pre>git clone git://git.0pointer.de/mod_dnssd</pre> + +<p>You may find an up to date Debian package of <tt>mod_dnssd</tt> in the <a href="http://packages.debian.org/libapache2-mod-dnssd">Debian package repository</a>.</p> + +<hr/> +<address class="grey">Lennart Poettering <@PACKAGE_BUGREPORT@>, January 2009</address> + +</body> +</html> diff --git a/doc/style.css b/doc/style.css new file mode 100644 index 0000000..fbba975 --- /dev/null +++ b/doc/style.css @@ -0,0 +1,23 @@ +/* $Id$ */ + +/*** + Copyright 2006 Lennart Poettering + + Licensed under the Apache License, Version 2.0 (the "License"); you + may not use this file except in compliance with the License. You + may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing + permissions and limitations under the License. +***/ + +body { color: black; background-color: white; } +a:link, a:visited { color: #900000; } +div.news-date { font-size: 80%; font-style: italic; } +pre { background-color: #f0f0f0; padding: 0.4cm; } +.grey { color: #8f8f8f; font-size: 80%; } |