Index: introduction/welcome/credits.xml
===================================================================
--- introduction/welcome/credits.xml	(revision 1c78953eba51e18070888e447cb0f83e5b494a94)
+++ introduction/welcome/credits.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -90,5 +90,5 @@
 Hymers</emphasis></para></listitem>
 
-<listitem><para>bind, emacs, libfam, pine, qmail, Samba and slrn: <emphasis>Billy O'Connor</emphasis></para></listitem>
+<listitem><para>bind, emacs, leafnode, libfam, pine, qmail, Samba, slrn and xinetd: <emphasis>Billy O'Connor</emphasis></para></listitem>
 
 <listitem><para>fetchmail and wvdial: <emphasis>Paul
Index: server/mail/qmail/qmail-config.xml
===================================================================
--- server/mail/qmail/qmail-config.xml	(revision 1c78953eba51e18070888e447cb0f83e5b494a94)
+++ server/mail/qmail/qmail-config.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -9,5 +9,5 @@
 
 <para><screen><userinput>
-echo "smtp stream tcp nowait qmaild/var/qmail/bin/tcp-env \
+echo "smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env \
 tcp-env /var/qmail/bin/qmail-smtpd" >> /etc/inetd.conf
 </userinput></screen></para>
Index: server/other/leafnode.xml
===================================================================
--- server/other/leafnode.xml	(revision 1c78953eba51e18070888e447cb0f83e5b494a94)
+++ server/other/leafnode.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -1,7 +1,11 @@
-<sect1 id="leafnode" xreflabel="leafnode">
+<sect1 id="leafnode" xreflabel="leafnode-&leafnode-version;">
 <?dbhtml filename="leafnode.html" dir="server"?>
-<title>leafnode</title>
+<title>leafnode-&leafnode-version;</title>
 
-<para>TO BE DONE</para>
+&leafnode-intro;
+&leafnode-inst;
+&leafnode-exp;
+&leafnode-config;
+&leafnode-desc;
 
 </sect1>
Index: server/other/leafnode/leafnode-config.xml
===================================================================
--- server/other/leafnode/leafnode-config.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
+++ server/other/leafnode/leafnode-config.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -0,0 +1,63 @@
+<sect2>
+<title>Configuring leafnode</title>
+
+<sect3><title>Config files</title>
+<para><userinput>/etc/leafnode/config,
+/etc/inetd.conf, /etc/xinetd.conf</userinput></para>
+
+<para>leafnode may be configured to use inetd or xinetd as follows:
+</para>
+
+<para>inetd configuration</para>
+<para>Add a leafnode entry to the <filename>/etc/inetd.conf</filename>
+file with the following command:
+<screen><userinput>
+echo "nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/leafnode" \
+&gt;&gt; /etc/inetd.conf &amp;&amp;
+</userinput></screen></para>
+
+<para>xinetd configuration</para>
+<para>Add a leafnode entry to the <filename>/etc/xinetd.conf</filename>
+file with the following command:
+<screen><userinput>
+cat &gt;&gt; /etc/xinetd.conf &lt;&lt; "EOF"
+        service nntp
+        {
+           flags           = NAMEINARGS NOLIBWRAP
+           socket_type     = stream
+           protocol        = tcp
+           wait            = no
+           user            = news
+           server          = /usr/sbin/tcpd
+           server_args     = /usr/sbin/leafnode
+           instances       = 7
+           per_source      = 3
+        }
+EOF								    
+
+</userinput></screen></para>
+
+<para>The <filename>/etc/news/config</filename> file must be
+edited to reflect the name of the upstream NNTP provider.  Copy the
+example configuration file to <filename>/etc/news/config</filename>
+and save the original for reference : </para>
+
+<para><screen><userinput>
+cp /etc/news/config.example /etc/news/config
+</userinput></screen></para>
+<para>Change the</para>
+<para><screen><userinput>server = </userinput></screen></para>
+<para>entry to reflect your news provider. </para>
+
+<para>The NNTPSERVER environment variable must be set to 127.0.0.1 to
+prevent news clients from reading news from the upstream feed, add the
+following to <filename>/etc/profile</filename> or
+<filename>$HOME/.bash_profile</filename> :</para>
+<para><screen><userinput>
+export NNTPSERVER=127.0.0.1
+</userinput></screen></para>
+
+</sect3>
+
+</sect2>
+
Index: server/other/leafnode/leafnode-desc.xml
===================================================================
--- server/other/leafnode/leafnode-desc.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
+++ server/other/leafnode/leafnode-desc.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -0,0 +1,37 @@
+<sect2>
+<title>Contents</title>
+
+<para>The leafnode package contains
+<userinput>leafnode</userinput>,
+<userinput>applyfilter</userinput>,
+<userinput>texpire</userinput>,
+<userinput>checkgroups</userinput>,
+<userinput>fetchnews</userinput> and
+<userinput>newsq.</userinput></para></sect2>
+
+<sect2><title>Description</title>
+
+<sect3><title>leafnode</title>
+<para>leafnode is the NNTP server daemon.</para></sect3>
+
+<sect3><title>applyfilter</title>
+<para>applyfilter filters newsgroup articles according to regular
+expressions.</para></sect3>
+
+<sect3><title>texpire</title>
+<para>texpire expires old articles and unread groups.</para></sect3>
+
+<sect3><title>checkgroups</title>
+<para>checkgroups inserts newsgroup titles into the newsgroup
+database.</para></sect3>
+
+<sect3><title>fetchnews</title>
+<para>fetchnews sends posted articles to and retrieves new articles
+from an upstream news server.</para></sect3>
+
+<sect3><title>newsq</title>
+<para>newsq shows articles waiting to be sent upstream.</para></sect3>
+
+
+</sect2>
+
Index: server/other/leafnode/leafnode-exp.xml
===================================================================
--- server/other/leafnode/leafnode-exp.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
+++ server/other/leafnode/leafnode-exp.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -0,0 +1,26 @@
+<sect2>
+<title>Installation command explanations</title>
+
+<para><userinput>
+groupadd news
+useradd -g news news :
+</userinput></para>
+<para>Create the group and user news, if not present.  Errors
+resulting from an already existing user or group news may be
+ignored.</para> 
+
+<para><userinput> --prefix=/usr : </userinput>
+Change the default installation directory of /usr/local.</para>
+
+<para><userinput> --sysconfdir=/etc/news : </userinput>
+leafnode reads it's configuration data from an file called
+<filename>config</filename>, this with be created in
+<filename>/etc/news</filename> to avoid any potential conflict with
+other packages.
+</para>
+
+<para><userinput> make update : </userinput>
+Create an initial <filename>/etc/news/config.example</filename> file,
+which must be renamed to <filename>/etc/news/config</filename>.</para>
+
+</sect2>
Index: server/other/leafnode/leafnode-inst.xml
===================================================================
--- server/other/leafnode/leafnode-inst.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
+++ server/other/leafnode/leafnode-inst.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -0,0 +1,15 @@
+<sect2>
+<title>Installation of leafnode</title>
+
+<para>Install leafnode by running the following commands:</para>
+<para><screen><userinput>
+groupadd news
+useradd -g news news
+./configure    --prefix=/usr --sysconfdir=/etc/news &amp;&amp;
+make &amp;&amp;
+make install &amp;&amp;
+ldconfig &amp;&amp;
+make update
+</userinput></screen></para>
+</sect2>
+
Index: server/other/leafnode/leafnode-intro.xml
===================================================================
--- server/other/leafnode/leafnode-intro.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
+++ server/other/leafnode/leafnode-intro.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -0,0 +1,14 @@
+<sect2>
+<title>Introduction to leafnode-&leafnode-version;</title>
+
+<screen>Download location (HTTP):       <ulink url="&leafnode-download-http;"/>
+Version used:                   &leafnode-version;
+Package size:                   &leafnode-size;
+Estimated Disk space required:  &leafnode-buildsize;</screen>
+
+<para>leafnode is an NNTP server designed for small sites to provide a
+local USENET spool.</para>
+
+<para><screen>leafnode depends on:
+<xref linkend="pcre"/></screen>
+</para></sect2>
Index: server/other/leafnode/leafnode.ent
===================================================================
--- server/other/leafnode/leafnode.ent	(revision 1c78953eba51e18070888e447cb0f83e5b494a94)
+++ server/other/leafnode/leafnode.ent	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -1,1 +1,14 @@
 <!ENTITY leafnode SYSTEM "../leafnode.xml">
+<!ENTITY leafnode-intro SYSTEM "leafnode-intro.xml">
+<!ENTITY leafnode-inst SYSTEM "leafnode-inst.xml">
+<!ENTITY leafnode-exp SYSTEM "leafnode-exp.xml">
+<!ENTITY leafnode-config-exp SYSTEM "leafnode-config-exp.xml">
+<!ENTITY leafnode-desc SYSTEM "leafnode-desc.xml">
+<!ENTITY leafnode-config SYSTEM "leafnode-config.xml">
+<!ENTITY leafnode-buildsize "3.9 MB">
+<!ENTITY leafnode-version "1.9.24">
+<!ENTITY leafnode-download-ftp
+"ftp://wpxx02.toxi.uni-wuerzburg.de/pub/leafnode-1.9.24.rel.tar.bz2">
+<!ENTITY leafnode-download-http
+"http://www-dt.e-technik.uni-dortmund.de/~ma/leafnode/leafnode-1.9.24.rel.tar.bz2">
+<!ENTITY leafnode-size "500 KB">
Index: server/other/xinetd.xml
===================================================================
--- server/other/xinetd.xml	(revision 1c78953eba51e18070888e447cb0f83e5b494a94)
+++ server/other/xinetd.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -1,7 +1,12 @@
-<sect1 id="xinetd" xreflabel="xinetd">
+<sect1 id="xinetd" xreflabel="xinetd-&xinetd-version;">
 <?dbhtml filename="xinetd.html" dir="server"?>
-<title>xinetd</title>
+<title>xinetd-&xinetd-version;</title>
 
-<para>TO BE DONE</para>
+&xinetd-intro;
+&xinetd-inst;
+&xinetd-exp;
+&xinetd-config;
+&xinetd-config-exp;
+&xinetd-desc;
 
 </sect1>
Index: server/other/xinetd/xinetd-config-exp.xml
===================================================================
--- server/other/xinetd/xinetd-config-exp.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
+++ server/other/xinetd/xinetd-config-exp.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -0,0 +1,26 @@
+<sect2>
+<title>Configuration command explanations</title>
+<para><userinput>
+cp /etc/xinetd.conf /etc/xinetd.conf.bak : </userinput>
+Save the current xinetd.conf file, if it exists.</para>
+
+<para><userinput>
+sed -e 's/etc/sbin/g' xinetd/sample.config > /etc/xinetd.conf
+:</userinput>
+
+insure the path to all daemons is /usr/sbin, rather than the
+default path of /usr/etc.</para>
+
+<para><userinput>
+ln -s  /etc/rc.d/init.d/xinetd /etc/rc.d/rc3.d/S300xinetd, etc. : 
+</userinput>
+Create the xinetd runlevel symlinks to the xinetd boot script, used to
+start and stop xinetd automatically on machine startup and
+shutdown.</para>
+
+<para>The format of the <filename>/etc/xinetd.conf</filename> is
+documented in the xinetd.conf man page.  Further information can be
+found at <ulink url="http://www.xinetd.org"/>.</para>
+
+</sect2>
+
Index: server/other/xinetd/xinetd-config.xml
===================================================================
--- server/other/xinetd/xinetd-config.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
+++ server/other/xinetd/xinetd-config.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -0,0 +1,85 @@
+<sect2>
+<title>Configuring xinetd</title>
+<para>Create the xinetd.conf file with the following commands: </para>
+
+<para><screen><userinput>
+cp /etc/xinetd.conf /etc/xinetd.conf.bak
+sed -e 's/etc/sbin/g' xinetd/sample.conf &gt; /etc/xinetd.conf
+</userinput></screen></para>
+
+<sect3><title>Config files</title>
+<para><userinput>/etc/xinetd.conf</userinput></para>
+
+<para>Create the xinetd boot script:</para>
+<para><screen><userinput>
+cat &gt; /etc/rc.d/init.d/xinetd &lt;&lt; "EOF"
+#!/bin/bash
+# Begin $rc_base/init.d/xinetd
+# Based on sysklogd script from LFS-3.1 and earlier.
+# Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org
+source /etc/sysconfig/rc
+source $rc_functions
+case "$1" in
+	start)
+		echo "Starting xinetd..."
+		loadproc /usr/sbin/xinetd
+		;;
+	stop)
+		echo "Stopping xinetd..."
+		killproc /usr/sbin/xinetd
+		;;
+	reload)
+		echo "Reloading xinetd..."
+		killall -HUP xinetd
+		;;
+	restart)
+		$0 stop
+		sleep 1
+		$0 start
+		;;
+	status)
+		statusproc /usr/sbin/xinetd
+		;;
+	*)
+		echo "Usage: $0 {start|stop|reload|restart|status}"
+		exit 1
+		;;
+esac
+# End $rc_base/init.d/xinetd
+EOF
+
+</userinput></screen></para>
+<para>Add the run level symlinks:</para>
+<para><screen><userinput>
+chmod 754 /etc/rc.d/init.d/xinetd &&
+ln -s  /etc/rc.d/init.d/xinetd /etc/rc.d/rc0.d/K300xinetd &&
+ln -s  /etc/rc.d/init.d/xinetd /etc/rc.d/rc1.d/K300xinetd &&
+ln -s  /etc/rc.d/init.d/xinetd /etc/rc.d/rc2.d/K300xinetd &&
+ln -s  /etc/rc.d/init.d/xinetd /etc/rc.d/rc3.d/S300xinetd &&
+ln -s  /etc/rc.d/init.d/xinetd /etc/rc.d/rc4.d/S300xinetd &&
+ln -s  /etc/rc.d/init.d/xinetd /etc/rc.d/rc5.d/S300xinetd &&
+ln -s  /etc/rc.d/init.d/xinetd /etc/rc.d/rc6.d/K300xinetd
+</userinput></screen></para>
+
+<para>Now, we'll use our new boot script to start xinetd: </para>
+<para><screen><userinput>
+/etc/rc.d/init.d/xinetd start
+</userinput></screen></para>
+
+<para>Checking the <filename>/var/log/daemon.log</filename> file
+should prove quite entertaining.  This file may contain entries
+similar to the following: </para>
+
+<para><screen><userinput>
+Aug 22 21:40:21 dps10 xinetd[2696]: Server /usr/sbin/in.rlogind is not
+executable [line=29]
+Aug 22 21:40:21 dps10 xinetd[2696]: Error parsing attribute server -
+DISABLING SERVICE [line=29]
+Aug 22 21:40:21 dps10 xinetd[2696]: Server /usr/sbin/in.rshd is not
+executable [line=42]
+</userinput></screen></para>
+
+<para>These errors are due to the fact that we don't have most of the
+servers that xinetd is trying to control installed yet.</para></sect3>
+</sect2>
+
Index: server/other/xinetd/xinetd-desc.xml
===================================================================
--- server/other/xinetd/xinetd-desc.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
+++ server/other/xinetd/xinetd-desc.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -0,0 +1,20 @@
+<sect2>
+<title>Contents</title>
+
+<para>The xinetd package contains
+<userinput>xinetd</userinput>,
+<userinput>itox</userinput> and
+<userinput>xconv.pl.</userinput></para></sect2>
+
+<sect2><title>Description</title>
+
+<sect3><title>xinetd</title>
+<para>xinetd is the internet services daemon.</para></sect3>
+<sect3><title>itox</title>
+<para>itox is a utility used for converting inetd.conf files to
+xinetd.conf format.</para></sect3>
+<sect3><title>xconv.pl</title>
+<para>xconv.pl is a perl script used for converting inetd.conf files
+to xinetd.conf format, similar to itox.</para></sect3>
+</sect2>
+
Index: server/other/xinetd/xinetd-exp.xml
===================================================================
--- server/other/xinetd/xinetd-exp.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
+++ server/other/xinetd/xinetd-exp.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -0,0 +1,7 @@
+<sect2>
+<title>Installation command explanations</title>
+
+<para><userinput>    ./configure --prefix=/usr : </userinput></para>
+
+<para>Change the default installation directory of /usr/local.</para>
+</sect2>
Index: server/other/xinetd/xinetd-inst.xml
===================================================================
--- server/other/xinetd/xinetd-inst.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
+++ server/other/xinetd/xinetd-inst.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -0,0 +1,11 @@
+<sect2>
+<title>Installation of xinetd</title>
+
+<para>Install xinetd by running the following commands:</para>
+<para><screen><userinput>
+./configure    --prefix=/usr &amp;&amp;
+make &amp;&amp;
+make install
+</userinput></screen></para>
+</sect2>
+
Index: server/other/xinetd/xinetd-intro.xml
===================================================================
--- server/other/xinetd/xinetd-intro.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
+++ server/other/xinetd/xinetd-intro.xml	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -0,0 +1,12 @@
+<sect2>
+<title>Introduction to xinetd</title>
+
+<screen>Download location (HTTP):       <ulink url="&xinetd-download-http;"/>
+Download location (FTP):        <ulink url="&xinetd-download-ftp;"/>
+Version used:                   &xinetd-version;
+Package size:                   &xinetd-size;
+Estimated Disk space required:  &xinetd-buildsize;</screen>
+
+<para>xinetd is the eXtended InterNET services daemon, a secure
+replacement for inetd.</para>
+</sect2>
Index: server/other/xinetd/xinetd.ent
===================================================================
--- server/other/xinetd/xinetd.ent	(revision 1c78953eba51e18070888e447cb0f83e5b494a94)
+++ server/other/xinetd/xinetd.ent	(revision 5f5a39311961289ef5594ea28f789c3851b79d37)
@@ -1,1 +1,12 @@
 <!ENTITY xinetd SYSTEM "../xinetd.xml">
+<!ENTITY xinetd-intro SYSTEM "xinetd-intro.xml">
+<!ENTITY xinetd-inst SYSTEM "xinetd-inst.xml">
+<!ENTITY xinetd-exp SYSTEM "xinetd-exp.xml">
+<!ENTITY xinetd-config-exp SYSTEM "xinetd-config-exp.xml">
+<!ENTITY xinetd-desc SYSTEM "xinetd-desc.xml">
+<!ENTITY xinetd-config SYSTEM "xinetd-config.xml">
+<!ENTITY xinetd-buildsize "1.2 MB">
+<!ENTITY xinetd-version "2.3.7">
+<!ENTITY xinetd-download-http "http://www.xinetd.org/xinetd-2.3.7.tar.gz">
+<!ENTITY xinetd-download-ftp "">
+<!ENTITY xinetd-size "300 KB">
