David Dykstra [Fri, 6 Nov 1998 17:07:07 +0000 (17:07 +0000)]
Change sanitize_path() to not use clean_fname() because it removes the
trailing slash. This caused a problem when using "use chroot" and sources
that contained a trailing slash (which prevents the last filename component
of the source from being included in the destination). Instead, have
sanitize_path() remove "." components and duplicated slashes ("//") itself.
David Dykstra [Wed, 4 Nov 1998 16:47:33 +0000 (16:47 +0000)]
Fix confusion between RERR_NOSUPPORT and RERR_UNSUPPORTED for exit codes
that indicate a feature is not supported. Two places that are normally
ifdefed out used RERR_UNSUPPORTED whereas one other place and errcode.h
used RERR_NOSUPPORT. Changed them all to consistently use RERR_UNSUPPORTED.
The two things that had the bad values were #ifndef SUPPORT_LINKS and
#ifdef NO_INT64. The former is probably for non-Unix operating systems
and the latter was at least on the default Unixware compiler.
Andrew Tridgell [Mon, 2 Nov 1998 04:17:56 +0000 (04:17 +0000)]
Jason told me that's its very important for his site to log exactly
how many bytes were needed to be transferred for each file. I added %b
and %c log format options to cover this. See the man page for details.
Andrew Tridgell [Thu, 29 Oct 1998 05:01:47 +0000 (05:01 +0000)]
changes to get rsync working on a CRAY J90. This machine doesn't have
a 4 byte integer type (short is 8 bytes). I needed to use a new md4
implementation (I used the portable one I wrote for Samba).
Andrew Tridgell [Wed, 28 Oct 1998 10:43:31 +0000 (10:43 +0000)]
syslog support in rsync daemon has been broken since I added the "log
file" option. I wonder why noone reported it? Or did everyone just use
"log file" ?
David Dykstra [Tue, 27 Oct 1998 16:07:51 +0000 (16:07 +0000)]
- Define bindir and mandir as per gnu makefile standards
- Add install-strip target as per gnu makefile standards
Contributed by Fred Sanchez <wsanchez@apple.com>
David Dykstra [Mon, 26 Oct 1998 22:03:18 +0000 (22:03 +0000)]
Fix bug in --include and --include-from which didn't work as advertised;
could only include files before if "+ " was explicitly prefixed on files
from any exclude or include option. Also simplified the code by removing
the "orig" exclude_struct element, and reduced the number of bytes
transferred from client to server by never including "- " prefixes in the
transmitted exclude list because exclusion is the default.
David Dykstra [Mon, 26 Oct 1998 21:51:47 +0000 (21:51 +0000)]
Add "use chroot" and "pid file" rsyncd.conf options. The former allows one
to disable the use of chroot so rsync --daemon can be run as a non-root
user (if a non-privileged --port is used). The latter allows one to
specify a file in which to write the process id of the daemon, which is
useful when rsync --daemon is not run from inetd.
David Dykstra [Mon, 26 Oct 1998 21:42:38 +0000 (21:42 +0000)]
Add --compare-dest option which enables specifying an additional destination
for comparisons when syncing. Useful for syncing into a scratch area and
doing a flash-cutover when it is completed.
Andrew Tridgell [Thu, 27 Aug 1998 05:07:52 +0000 (05:07 +0000)]
removed the limit on the read buffer size until I fully understand the
interactions with ssh. The old ssh freezes have shown up again and
some debugging (with help from James Welborn) showed that the cause
was the read buffer hitting maximum size. I think this means that ssh
must be misbehaving about blocking IO.
This change gets rid of the freezes at the expense of memory
usage. Where it would have frozen it uses more memory instead.
Andrew Tridgell [Mon, 20 Jul 1998 05:36:25 +0000 (05:36 +0000)]
I think I might havefinally fixed the rsync hanging bug. It was caused
by a read during an io_flush() triggered during a readfd(). A simple
logic bug in the io code :(
Andrew Tridgell [Sun, 19 Jul 1998 05:22:05 +0000 (05:22 +0000)]
- defer the error message from the options parsing until after the
socket is multiplexed. This allows clients sending new options which
the remote server doesn't understand to get a sensible error message.
Andrew Tridgell [Sun, 19 Jul 1998 04:50:48 +0000 (04:50 +0000)]
- close stdout and stderr and reopen then as /dev/null when running as
a daemon. This prevents library functions (such as getopt) stuffing up
our protocol stream when errors are detected.
- defer the error message from the options parsing until after the
socket is multiplexed. This allows clients sending new options which
the remote server doesn't understand to get a sensible error message.
Andrew Tridgell [Fri, 17 Jul 1998 14:05:57 +0000 (14:05 +0000)]
check whether there is a / before a : in the rsync command line. If
there is then assume that the : is from a filename, not a host:dir
separator. This allows you to copy files with a : in them. (suggestion
from pfeifer@wait.de)