Index: basicnet/basicnet.ent
===================================================================
--- basicnet/basicnet.ent	(revision 32d36378ed896ea4236e8f3c001301812c12dbee)
+++ basicnet/basicnet.ent	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -22,4 +22,5 @@
 <!ENTITY basicnet-netprogs SYSTEM "netprogs/netprogs.xml">
 <!ENTITY basicnet-netprogs-opensshclient SYSTEM "netprogs/openssh-client.xml">
+<!ENTITY basicnet-netprogs-rsyncclient SYSTEM "netprogs/rsync-client.xml">
 <!ENTITY % ncftp SYSTEM "netprogs/ncftp/ncftp.ent">
 <!ENTITY % cvs SYSTEM "netprogs/cvs/cvs.ent">
Index: basicnet/netprogs/netprogs.xml
===================================================================
--- basicnet/netprogs/netprogs.xml	(revision 32d36378ed896ea4236e8f3c001301812c12dbee)
+++ basicnet/netprogs/netprogs.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -5,4 +5,5 @@
 &ncftp;
 &basicnet-netprogs-opensshclient;
+&basicnet-netprogs-rsyncclient;
 &cvs;
 &wget;
Index: basicnet/netprogs/rsync-client.xml
===================================================================
--- basicnet/netprogs/rsync-client.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
+++ basicnet/netprogs/rsync-client.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -0,0 +1,14 @@
+<sect1 id="basicnet-netprogs-rsync">
+<?dbhtml filename="rsync.html" dir="basicnet"?>
+<title>rsync-&rsync-version; client</title>
+
+<para>rsync is a utility for fast incremental file transfers. If you want to
+install it, the instructions can be found in Chapter 23 -
+<xref linkend="rsync"/>.  Note that if you only want to use the client, you do
+<emphasis>not</emphasis> need to run the server and so do not need the startup
+script and links.  In accordance with good practice, only run the server if you
+actually need it (and if you don't know whether you need it or not, it's
+likely that you don't!).</para>
+
+</sect1>
+
Index: introduction/welcome/changelog.xml
===================================================================
--- introduction/welcome/changelog.xml	(revision 32d36378ed896ea4236e8f3c001301812c12dbee)
+++ introduction/welcome/changelog.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -11,4 +11,7 @@
 <itemizedlist>
 
+<listitem><para>August 31, 2003 [larry]: server: added rsync-2.5.6
+submitted by Daniel Baumann.</para></listitem>
+
 <listitem><para>August 31, 2003 [larry]: multimedia: update to
 cdrtools-2.00.3 submitted by Igor.</para></listitem>
Index: introduction/welcome/credits.xml
===================================================================
--- introduction/welcome/credits.xml	(revision 32d36378ed896ea4236e8f3c001301812c12dbee)
+++ introduction/welcome/credits.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -119,5 +119,5 @@
 slrn, soup, tex, tcp-wrappers, and xinetd: <emphasis>Billy O'Connor</emphasis></para></listitem>  
 
-<listitem><para>ProFTPD: <emphasis>Daniel Baumann</emphasis></para></listitem>
+<listitem><para>ProFTPD and rsync: <emphasis>Daniel Baumann</emphasis></para></listitem>
 
 <listitem><para>ESP Ghostscript: <emphasis>Matt Rogers</emphasis></para></listitem>
Index: server/other/other.xml
===================================================================
--- server/other/other.xml	(revision 32d36378ed896ea4236e8f3c001301812c12dbee)
+++ server/other/other.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -8,4 +8,5 @@
 &leafnode;
 &openssh;
+&rsync;
 &openldap;
 &samba;
Index: server/other/rsync.xml
===================================================================
--- server/other/rsync.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
+++ server/other/rsync.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -0,0 +1,12 @@
+<sect1 id="rsync" xreflabel="rsync-&rsync-version;">
+<?dbhtml filename="rsync.html" dir="server"?>
+<title>rsync-&rsync-version;</title>
+
+&rsync-intro;
+&rsync-inst;
+&rsync-exp;
+&rsync-config;
+&rsync-desc;
+
+</sect1>
+
Index: server/other/rsync/rsync-config.xml
===================================================================
--- server/other/rsync/rsync-config.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
+++ server/other/rsync/rsync-config.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -0,0 +1,96 @@
+<sect2>
+<title>Configuring <application>rsync</application></title>
+
+<sect3><title>Config files</title>
+
+<para><filename>/etc/rsyncd.conf</filename></para>
+<para>This is a simple download-only configuration. See the rsyncd man-page for
+additional options (i.e. user authentification).</para>
+
+<para><screen><userinput><command>cat &gt; /etc/rsyncd.conf &lt;&lt; "EOF"</command>
+# This is a basic rsync configuration file
+# It exports a single module without user authentification.
+
+motd file = /home/rsync/welcome.msg
+use chroot = yes
+
+[localhost]
+	path = /home/rsync
+	comment = Default rsync module
+	read only = yes
+	list = yes
+	uid = rsyncd
+	gid = rsyncd
+
+<command>EOF</command></userinput></screen></para>
+</sect3>
+
+<sect3><title>rsyncd init.d script</title>
+
+<para>Note that you only want to start the rsync server if you want to provide
+a rsync archive on your machine. The rsync client doesn't need this script to be
+sed.  Having said that, if you want to run the rsync daemon, the rsyncd
+init.d script can be created using the following commands:</para>
+
+<para><screen><userinput><command>cat &gt; /etc/rc.d/init.d/rsyncd &lt;&lt; "EOF"</command>
+#!/bin/sh
+# Begin $rc_base/init.d/rsyncd
+
+# 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 RSYNC Server..."
+		loadproc /usr/bin/rsync --daemon --compress
+		;;
+
+	stop)
+		echo "Stopping RSYNC Server..."
+		killproc /usr/bin/rsync
+		;;
+
+	reload)
+		echo "Reloading RSYNC Server..."
+		reloadproc /usr/bin/rsync
+		;;
+            
+	restart)
+		$0 stop
+		sleep 1
+		$0 start
+		;;
+
+	status)
+		statusproc /usr/bin/rsync
+		;;
+
+	*)
+		echo "Usage: $0 {start|stop|reload|restart|status}"
+		exit 1
+		;;
+esac
+
+# End $rc_base/init.d/rsyncd
+<command>EOF
+chmod 755 /etc/rc.d/init.d/rsyncd</command></userinput></screen></para>
+
+<para>Create the symbolic links to this file in the relevant
+<filename class="directory">rc.d</filename> directories with the following
+commands:
+<screen><userinput><command>cd /etc/rc.d/init.d &amp;&amp;
+ln -sf ../init.d/rsyncd ../rc0.d/K30rsyncd &amp;&amp;
+ln -sf ../init.d/rsyncd ../rc1.d/K30rsyncd &amp;&amp;
+ln -sf ../init.d/rsyncd ../rc2.d/K30rsyncd &amp;&amp;
+ln -sf ../init.d/rsyncd ../rc3.d/S30rsyncd &amp;&amp;
+ln -sf ../init.d/rsyncd ../rc4.d/S30rsyncd &amp;&amp;
+ln -sf ../init.d/rsyncd ../rc5.d/S30rsyncd &amp;&amp;
+ln -sf ../init.d/rsyncd ../rc6.d/K30rsyncd</command></userinput></screen></para>
+
+</sect3>
+
+</sect2>
+
Index: server/other/rsync/rsync-desc.xml
===================================================================
--- server/other/rsync/rsync-desc.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
+++ server/other/rsync/rsync-desc.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -0,0 +1,18 @@
+<sect2>
+<title>Contents</title>
+
+<para>The <application>rsync</application> package contains <command>rsync</command>.</para>
+
+</sect2>
+
+<sect2><title>Description</title>
+
+<sect3><title>rsync</title>
+<para>rsync is a replacement for rcp (and scp) that has many more features. It
+uses the "rsync algorithm" which provides a very fast method for remote files
+into sync. It does this by sending just the differences in the files across the
+link, without requiring that both sets of files are present at one of the ends
+of the link beforehand.</para></sect3>
+
+</sect2>
+
Index: server/other/rsync/rsync-exp.xml
===================================================================
--- server/other/rsync/rsync-exp.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
+++ server/other/rsync/rsync-exp.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -0,0 +1,9 @@
+<sect2>
+<title>Command explanations</title>
+
+<para><command>--prefix=/usr</command>
+: This installs rsync in <filename class="directory">/usr</filename> instead of
+<filename class="directory">/usr/local</filename></para>
+
+</sect2>
+
Index: server/other/rsync/rsync-inst.xml
===================================================================
--- server/other/rsync/rsync-inst.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
+++ server/other/rsync/rsync-inst.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -0,0 +1,19 @@
+<sect2>
+<title>Installation of <application>rsync</application></title>
+
+<para>For security reasons, running rsync server as an unpriviledged user and
+group is encouraged.</para>
+
+<para><screen><userinput><command>groupadd rsyncd &amp;&amp;
+useradd -c rsyncd -d /home/rsync -g rsyncd -s /bin/false rsyncd</command>
+</userinput></screen></para>
+
+<para>Install <application>rsync</application> by running the following
+commands:</para>
+
+<para><screen><userinput><command>./configure --prefix=/usr &amp;&amp;
+make &amp;&amp;
+make install </command></userinput></screen></para>
+
+</sect2>
+
Index: server/other/rsync/rsync-intro.xml
===================================================================
--- server/other/rsync/rsync-intro.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
+++ server/other/rsync/rsync-intro.xml	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -0,0 +1,17 @@
+<sect2>
+<title>Introduction to <application>rsync</application></title>
+
+<para>The <application>rsync</application> package contains the rsync utility.
+This is useful for synchronizing large file archives over a network.</para>
+
+<sect3><title>Package information</title>
+<itemizedlist spacing='compact'>
+<listitem><para>Download (HTTP): <ulink url="&rsync-download-http;"/></para></listitem>
+<listitem><para>Download (FTP): <ulink url="&rsync-download-ftp;"/></para></listitem>
+<listitem><para>Download size: &rsyncd-size;</para></listitem>
+<listitem><para>Estimated Disk space required: &rsync-buildsize;</para></listitem>
+<listitem><para>Estimated build time: &rsyncd-time;</para></listitem></itemizedlist>
+</sect3>
+
+</sect2>
+
Index: server/other/rsync/rsync.ent
===================================================================
--- server/other/rsync/rsync.ent	(revision 46cef7251860258fac6406756e7ec0516482f43f)
+++ server/other/rsync/rsync.ent	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -0,0 +1,12 @@
+<!ENTITY rsync SYSTEM "../rsync.xml">
+<!ENTITY rsync-intro SYSTEM "rsync-intro.xml">
+<!ENTITY rsync-inst SYSTEM "rsync-inst.xml">
+<!ENTITY rsync-exp SYSTEM "rsync-exp.xml">
+<!ENTITY rsync-desc SYSTEM "rsync-desc.xml">
+<!ENTITY rsync-config SYSTEM "rsync-config.xml">
+<!ENTITY rsync-buildsize "6.4 MB">
+<!ENTITY rsync-version "2.5.6">
+<!ENTITY rsync-download-http "http://rsync.samba.org/ftp/rsync/rsync-&rsync-version;.tar.gz">
+<!ENTITY rsync-download-ftp "ftp://rsync.samba.org/pub/rsync/rsync-&rsync-version;.tar.gz">
+<!ENTITY rsyncd-size "571 KB">
+<!ENTITY rsyncd-time "1 min (1GHz)">
Index: server/server.ent
===================================================================
--- server/server.ent	(revision 32d36378ed896ea4236e8f3c001301812c12dbee)
+++ server/server.ent	(revision 46cef7251860258fac6406756e7ec0516482f43f)
@@ -20,4 +20,5 @@
 <!ENTITY % cvsserver  SYSTEM "other/cvsserver/cvsserver.ent">
 <!ENTITY % openssh    SYSTEM "other/openssh/openssh.ent">
+<!ENTITY % rsync      SYSTEM "other/rsync/rsync.ent">
 <!ENTITY % bind       SYSTEM "other/bind/bind.ent">
 <!ENTITY % dhcp       SYSTEM "other/dhcp/dhcp.ent">
@@ -33,4 +34,5 @@
 %openldap;
 %openssh;
+%rsync;
 %samba;
 %xinetd;
