fi
}
+
+function build_rsyncd_conf {
+ # Build an appropriate configuration file
+ conf="$scratchdir/test-rsyncd.conf"
+ echo "building configuration $conf"
+
+ port=2612
+ pidfile="$scratchdir/rsyncd.pid"
+ logfile="$scratchdir/rsyncd.log"
+
+ cat >$conf <<EOF
+ # rsyncd configuration file autogenerated by $0
+
+ pid file = $pidfile
+ use chroot = no
+ hosts allow = localhost, 127.0.0.1
+ log file = $logfile
+
+ [test-from] = $scratchdir/daemon-from/
+ read only = yes
+
+ [test-to] = $scratchdir/daemon-to/
+ read only = no
+
+EOF
+}
+
+
+
+function start_rsyncd {
+ echo starting daemon
+ $rsync_bin --daemon --port $port --config $conf
+ sleep 2
+ pid=`cat "$pidfile"`
+ echo rsyncd running as process $pid
+
+
+ # We need to make sure that we always kill rsync, even if there's an
+ # error. Otherwise it might hang around, and be insecure or at any
+ # rate keep the port bound and prevent the tests running in the
+ # future.
+
+ trap "echo killing off process $pid; kill $pid" EXIT
+}