20 years agoWhen a file cannot be deleted because of ETXTBSY (in particular, when an
David Dykstra [Thu, 11 Mar 1999 22:17:42 +0000 (22:17 +0000)]
When a file cannot be deleted because of ETXTBSY (in particular, when an
executable is busy on HPUX), rename it instead to .rsyncNNN.  Most of
the code was submitted by Ketil Kristiansen <>

20 years agoCheck for EINVAL from a rename error call in addition to ENOENT because
David Dykstra [Tue, 9 Mar 1999 21:55:16 +0000 (21:55 +0000)]
Check for EINVAL from a rename error call in addition to ENOENT because
David Campbell <> reported that that helps data
be received onto a windows box running cygwin b19.

20 years agoAdd distclean target to
David Dykstra [Tue, 9 Mar 1999 21:47:18 +0000 (21:47 +0000)]
Add distclean target to

20 years agoUpdate config.sub to the latest from automake in addition to config.guess.
David Dykstra [Tue, 9 Mar 1999 21:46:15 +0000 (21:46 +0000)]
Update config.sub to the latest from automake in addition to config.guess.

20 years agoUpdate config.guess from a new official GNU version.
David Dykstra [Fri, 5 Mar 1999 16:37:44 +0000 (16:37 +0000)]
Update config.guess from a new official GNU version.
I believe this is the latest, which comes with automake 1.4 (somebody
else is in charge of installing the GNU stuff on my system so I'm not
100% sure it's the absolute latest, but it was updated just a couple
weeks ago).

20 years agoThe change a couple days ago to create files initially without group and
David Dykstra [Thu, 4 Mar 1999 21:48:52 +0000 (21:48 +0000)]
The change a couple days ago to create files initially without group and
other access resulted in group and other access being left off when the
'-p' option was not used.  This fixes it by reintroducing the ACCESSPERMS
mask and setting permissions to (file->mode & ACCESSPERMS) if preserve_perms
is off.  I decided to change the mask INITPERMMASK to INITACCESSPERMS at
the same time.  When preserve_perms is off, rsync is restored to the
previous behavior of having the permissions of the original file with the
umask and setuid/setgid bits shut off.

Also, I decided that a check for "(updated && (file->mode & ~ACCESSPERMS))"
is no longer needed since as far as I can tell that would have only affected
permissions when not running as root and when a chgrp was done to a group
the user was not a member of, using system V chgrp semantics.  This is no
longer allowed.

20 years agoDisable the optimization that treats include-only files as a special case
David Dykstra [Tue, 2 Mar 1999 20:56:17 +0000 (20:56 +0000)]
Disable the optimization that treats include-only files as a special case
whenever delete_mode is on.  People reported problems when it kicked in
while using --delete and while using --delete-excluded.

20 years agoChange getgroups to use GETGROUPS_T as the type of the group array returned,
David Dykstra [Tue, 2 Mar 1999 16:42:46 +0000 (16:42 +0000)]
Change getgroups to use GETGROUPS_T as the type of the group array returned,
as calculated by the configure macro AC_TYPE_GETGROUPS.  Without that, it
doesn't work properly on systems like sunos 4 where gid_t is defined to
be an unsigned short but getgroups is defined to return an array of integers.

20 years agoChange the mask used when creating temporary files from 777 to 700, to prevent
David Dykstra [Mon, 1 Mar 1999 21:22:54 +0000 (21:22 +0000)]
Change the mask used when creating temporary files from 777 to 700, to prevent
an obscure race-condition security hole where a file may for a short time
have the wrong group.  Could have used 707 instead but that's just too weird
of a permission.  The define name used to be ACCESSPERMS but that is defined
as 777 on Linux, so changed the name to INITPERMMASK.

20 years agoWhen comparing -1 to a group id, cast -1 with gid_t because on some systems
David Dykstra [Mon, 1 Mar 1999 21:16:49 +0000 (21:16 +0000)]
When comparing -1 to a group id, cast -1 with gid_t because on some systems
such as sunos4 gid_t is an unsigned short.  This prevented the just-added
non-mapped group test from working on sunos4.

20 years agoPrevent the -g option from preserving groups that a non-root receiver
David Dykstra [Mon, 1 Mar 1999 19:24:39 +0000 (19:24 +0000)]
Prevent the -g option from preserving groups that a non-root receiver
does not belong to, in these two ways:
    1. If a group mapping doesn't exist for a group name, do not preserve
it for a non-root receiver.  This is especially evident with the
sender is a daemon using chroot because then no mappings are
    2. Before setting the group on a file make sure that it is in the list
of groups returned by getgroups().  The same thing is done by chgrp
on systems that support bsd-style chown/chgrp, and this enforces
that it happens the same way on all systems.  Overhead is very
little, especially since most systems don't allow more then 16
groups per user.

20 years agoRemoved am_client variable. It was being set in one place, when a client
David Dykstra [Thu, 25 Feb 1999 17:58:31 +0000 (17:58 +0000)]
Removed am_client variable.  It was being set in one place, when a client
of a socket (that is, a --daemon) server, but never looked at.  The way to
test whether or not on a client is (!am_server).

20 years agoFix a bug with rsync -R --delete from ./ as reported in PR#1532
David Dykstra [Wed, 24 Feb 1999 22:38:36 +0000 (22:38 +0000)]
Fix a bug with rsync -R --delete from ./ as reported in PR#1532

20 years agoAdd --delete-excluded option to delete files on the receiving side that
David Dykstra [Mon, 22 Feb 1999 19:55:57 +0000 (19:55 +0000)]
Add --delete-excluded option to delete files on the receiving side that
are excluded.  Implies --delete.

20 years agoChanged --stats implementation to work without -v in only these two
David Dykstra [Thu, 18 Feb 1999 17:23:44 +0000 (17:23 +0000)]
Changed --stats implementation to work without -v in only these two
    1. the client is the receiver of files.  Can't do it otherwise yet
because without -v the bytes written from the sender's generator
process will not be counted.
    2. both the remote and local protocol versions are >=20.  I did not
change the protocol version yet because it is such a minor change
that it isn't worth it, although I did test it with the protocol
version set to 20.
If neither of the situations hold, it prints a message saying to use -v.

20 years agoChanged exclude/include matching so that normally wildcards will stop at
David Dykstra [Thu, 18 Feb 1999 16:27:36 +0000 (16:27 +0000)]
Changed exclude/include matching so that normally wildcards will stop at
slashes.  The old behavior of crossing slashes can be achieved by using a
double-asterisk ('**') anywhere in a pattern.  Note that this can change
some existing exclude patterns in a subtle way.  Also note that if the
remote side is an older release the processing on the two sides might not
be exactly the same when there's no double-asterisk, which can affect which
files are excluded from deletion, but they're close enough that people will
probably not notice.  I considered changing the protocol version and
checking the remote_version number to ensure the same processing on both
sides, but the exclude patterns are pre-processed before the remote version
number is known and it's just not worth going through extraordinary efforts.
Suggested by Cameron Simpson <>

20 years agoadded --size-only option. Useful when starting to use rsync after a
Andrew Tridgell [Thu, 18 Feb 1999 03:48:24 +0000 (03:48 +0000)]
added --size-only option. Useful when starting to use rsync after a
ftp based mirror system so that timestamps may not be right.

20 years agoChanged man page documentation of --force to say it is hardly ever needed
David Dykstra [Wed, 17 Feb 1999 21:39:45 +0000 (21:39 +0000)]
Changed man page documentation of --force to say it is hardly ever needed
any more except in very obscure cases.

20 years agoAdded --copy-unsafe-links option which is like --copy-links except it is
David Dykstra [Wed, 17 Feb 1999 19:34:40 +0000 (19:34 +0000)]
Added --copy-unsafe-links option which is like --copy-links except it is
only for symlinks that point outside the source tree.  Suggested by Charles
Hines <chuck_hines@VNET.IBM.COM> in PR#1376.  Also apply the option to any
symbolic links in the source portion of a path when --relative is used,
as suggested by Francis Montagnac <> on
the rsync mailing list in a message titled "New option: --copy-parent-links".

20 years agoBe consistent on use of '=' on options that take a parameter.
David Dykstra [Mon, 15 Feb 1999 17:48:06 +0000 (17:48 +0000)]
Be consistent on use of '=' on options that take a parameter.

20 years agoChange the implementation of memmove in lib/compat.c to call bcopy instead
David Dykstra [Fri, 12 Feb 1999 17:27:22 +0000 (17:27 +0000)]
Change the implementation of memmove in lib/compat.c to call bcopy instead
of memcpy because bcopy is guaranteed to work with overlapping memory and
memcpy is not.  Bug fix for PR#1584 in which log entries in the rsync
daemon log on Sunos 4.1.4 were garbled.

20 years agoA slight compensation I had just added for total bytes read when using -v
David Dykstra [Wed, 10 Feb 1999 22:16:32 +0000 (22:16 +0000)]
A slight compensation I had just added for total bytes read when using -v
was incorrect.  It's hard to tell how many bytes are actually read because
transferring the value changes it and depending on its value it may
transfer 4 or 12 bytes so instead change the sender side to not include the
length of the counters it sends at all (it had been including one but three
are sent).

20 years agoAllow --stats to work without -v.
David Dykstra [Wed, 10 Feb 1999 21:54:12 +0000 (21:54 +0000)]
Allow --stats to work without -v.

20 years agoChanged Usage in the rsync --help message to indicate how there can be
David Dykstra [Wed, 10 Feb 1999 19:33:05 +0000 (19:33 +0000)]
Changed Usage in the rsync --help message to indicate how there can be
multiple SRCs.  Also moved the --suffix option to show up right after
--backup and included the default backup suffix and block size along with
their corresponding options rather than at the end.  Copied the new help
message to rsync.yo and README and used the Usage also in the SYNOPSIS
section at the top of rsync.yo rather than the different one that used
"path" instead of SRC and DEST.  That last change was inspired by a
suggestion from Michael Bleyer in PR #1523.

20 years agoChanged error message that just said "open %s: %s" to "cannot create %s: %s"
David Dykstra [Wed, 10 Feb 1999 18:44:25 +0000 (18:44 +0000)]
Changed error message that just said "open %s: %s" to "cannot create %s: %s"
in receiver.c because it confuses people when they do something like
    rsync /etc/passwd /tmp/nonexistentdir/passwd
and it printed out something like
    open /tmp/noniexistentdir/.passwd.a004d5 : No such file or directory
Reported by in PR #1253.

20 years agoChanged the optimized include mode (which kicks in when there are a series
David Dykstra [Wed, 10 Feb 1999 18:03:59 +0000 (18:03 +0000)]
Changed the optimized include mode (which kicks in when there are a series
of non-wildcard includes followed by an exclude of *) so that it will silently
ignore included files that don't exist rather than saying "No such file or
directory".  This is more like the behavior of the non-optimized include mode.

20 years agoSupport '#' and ';' comments in exclude files. It would actually not
David Dykstra [Tue, 9 Feb 1999 22:31:52 +0000 (22:31 +0000)]
Support '#' and ';' comments in exclude files.  It would actually not
probably cause any harm if they were treated as normal exclude or include
patterns because they just wouldn't match anything, but it's better to
explicitly ignore them.  Suggested by David Holland <>

20 years agoAdded "strict modes" option. When set false (default is true), it allows
David Dykstra [Tue, 9 Feb 1999 19:27:15 +0000 (19:27 +0000)]
Added "strict modes" option.  When set false (default is true), it allows
the secrets file to be readable by other users.  Added to support the Windows
port under cygwin.  Problem reported by Martin Krumpolec

20 years agoUse MAXHOSTNAMELEN (256) for the array holding the host_name in socket.c
David Dykstra [Tue, 9 Feb 1999 18:35:29 +0000 (18:35 +0000)]
Use MAXHOSTNAMELEN (256) for the array holding the host_name in socket.c
instead of 200.  Move the defines of True and False to rsync.h.  Eliminate
the defines of BOOL in loadparm.c and params.c because it is already
defined in rsync.h.  Changes suggested by Roman Gollent

20 years agoAdd --quiet/-q option. Contributed by Rich Salz
David Dykstra [Tue, 9 Feb 1999 17:25:35 +0000 (17:25 +0000)]
Add --quiet/-q option.  Contributed by Rich Salz

20 years agoMove the initialization of push_dir, which calls getcwd, to early in main.
David Dykstra [Wed, 3 Feb 1999 15:38:06 +0000 (15:38 +0000)]
Move the initialization of push_dir, which calls getcwd, to early in main.
The reason for that is that on SVR2-based UTS 2.1.2 (which along with many
other old systems implements getcwd by forking "pwd") getcwd hangs when
called when other child processes are running.

I also added a quick return from push_dir if name == NULL so it doesn't
actually have to chdir anywhere when just initializing.

An initializing call to push_dir("/",0) had previously been put in at the
beginning of daemon_main() to avoid calling getcwd after a chroot, but
since that is no longer I needed I removed it and changed the call to
chdir("/") after chroot into a push_dir("/",0) so it will remember the
correct current directory.

20 years agoWhen calling lchown, pass the current known uid and gid rather than -1
David Dykstra [Wed, 3 Feb 1999 15:15:56 +0000 (15:15 +0000)]
When calling lchown, pass the current known uid and gid rather than -1
to not change it, since the old SVR2-based UTS 2.1.2 does not support
leaving uid and gid alone when the value is -1.

20 years agoAdd alternate implementation of waitpid() for systems that have wait4 but
David Dykstra [Wed, 3 Feb 1999 15:11:40 +0000 (15:11 +0000)]
Add alternate implementation of waitpid() for systems that have wait4 but
not wait3, in particular Amdahl's SVR2-based UTS 2.1.2.  The code comes
from apache, but I contributed it to apache in the first place.

20 years agoFix serious bug with "use chroot = no" option which caused "uid =" and "gid ="
David Dykstra [Thu, 21 Jan 1999 17:10:32 +0000 (17:10 +0000)]
Fix serious bug with "use chroot = no" option which caused "uid =" and "gid ="
to be ignored.  At the same time, change the "uid =" and "gid =" options to
be ignored when not running the daemon as super-user, to make it more
convenient for those people and to make it portable to systems such as
cygwin which don't support the uid/gid notions.

20 years agoDocument the fact that the %t log format option includes the date, and
David Dykstra [Wed, 20 Jan 1999 21:32:46 +0000 (21:32 +0000)]
Document the fact that the %t log format option includes the date, and
that the "log file" option always prepends "%t [%p] ".

20 years agoFix segmentation fault when using -vvv. Suggested by
David Dykstra [Mon, 11 Jan 1999 17:07:27 +0000 (17:07 +0000)]
Fix segmentation fault when using -vvv.  Suggested by

20 years agofixed bug where strtok() could return NULL in getpassf().
Andrew Tridgell [Fri, 8 Jan 1999 10:42:29 +0000 (10:42 +0000)]
fixed bug where strtok() could return NULL in getpassf().

20 years agoadded --password-file patch from Alex Schlessinger <>
Andrew Tridgell [Fri, 8 Jan 1999 10:32:56 +0000 (10:32 +0000)]
added --password-file patch from Alex Schlessinger <>

(yes, I know I'm not supposed to be doing rsync work at the moment!
only four weeks to go ...)

20 years agomade the "max connections" and "lock file" local rather than global
Andrew Tridgell [Fri, 8 Jan 1999 07:51:25 +0000 (07:51 +0000)]
made the "max connections" and "lock file" local rather than global
options so you can set them on a per-module basis (requested by mirror maintiner)

20 years agoRan yodl2man on rsync.yo, and updated modification date.
David Dykstra [Thu, 7 Jan 1999 16:27:38 +0000 (16:27 +0000)]
Ran yodl2man on yo, and updated modification date.

20 years agoadd warning about using RSYNC_PASSWORD on systems where env varibables
Andrew Tridgell [Thu, 7 Jan 1999 07:19:03 +0000 (07:19 +0000)]
add warning about using RSYNC_PASSWORD on systems where env varibables
are visible to all users.

20 years agoChange the receive log message from "send" to "recv". Fix from
David Dykstra [Tue, 5 Jan 1999 20:08:45 +0000 (20:08 +0000)]
Change the receive log message from "send" to "recv".  Fix from
Rick Smith <>.

20 years agomoved the block length mismatch code to another part of the loop.
Andrew Tridgell [Tue, 5 Jan 1999 06:43:59 +0000 (06:43 +0000)]
moved the block length mismatch code to another part of the loop.

20 years agodon't try to match checksums of two blocks which are of unequal
Andrew Tridgell [Tue, 5 Jan 1999 06:31:58 +0000 (06:31 +0000)]
don't try to match checksums of two blocks which are of unequal
size. This explains the high false_alarms rate that I saw for one of
the sample data files used in my thesis.

The bug was harmless as the strong checksum easily caught all the
false matches but it's been bugging me as I couldn't explain it :)

20 years agofixed a bug in the adjacent target optimisation
Andrew Tridgell [Tue, 5 Jan 1999 01:57:13 +0000 (01:57 +0000)]
fixed a bug in the adjacent target optimisation

20 years agoan optimization that tries to make rsync choose adjacent matches if
Andrew Tridgell [Tue, 5 Jan 1999 01:15:32 +0000 (01:15 +0000)]
an optimization that tries to make rsync choose adjacent matches if
multiple matching blocks are available. This make the run-length
coding of the output more efficient.

20 years agono longer use mmap() in rsync because of the risk of a SIGBUS when
Andrew Tridgell [Wed, 30 Dec 1998 14:48:45 +0000 (14:48 +0000)]
no longer use mmap() in rsync because of the risk of a SIGBUS when
another program (such as a mailer) truncates a file.

To offset the speed loss I have rewritten the map_ptr() code to make
much better use of read().

20 years noticed several mistakes in rsync.1. Some of
David Dykstra [Mon, 7 Dec 1998 18:48:46 +0000 (18:48 +0000)] noticed several mistakes in 1.  Some of
them had already been fixed but yodl2man hadn't been run, and a couple
others were new.

20 years agoFix minor man page typo, suggested by
David Dykstra [Mon, 7 Dec 1998 14:51:32 +0000 (14:51 +0000)]
Fix minor man page typo, suggested by

20 years agoparanoia change - treat list_only like read_only and refuse all
Andrew Tridgell [Sat, 5 Dec 1998 01:56:45 +0000 (01:56 +0000)]
paranoia change - treat list_only like read_only and refuse all
syscalls that might change the filesystem. This shouldn't be needed,
but I like paranoid coding :)

20 years ago- slprintf() takes sizeof(buf) not sizeof(buf)-1
Andrew Tridgell [Sat, 5 Dec 1998 01:55:37 +0000 (01:55 +0000)]
- slprintf() takes sizeof(buf) not sizeof(buf)-1
- fixed incorrect format string in rename error

20 years agoSupport newer rpm's which define $RPM_OPT_FLAGS as a set of options
David Dykstra [Tue, 1 Dec 1998 16:13:25 +0000 (16:13 +0000)]
Support newer rpm's which define $RPM_OPT_FLAGS as a set of options
separated by spaces.  Suggested by

20 years agoMinor documentation change suggested by
David Dykstra [Tue, 1 Dec 1998 16:11:40 +0000 (16:11 +0000)]
Minor documentation change suggested by

20 years agopreparing for release of 2.2.1 v2.2.1
rsync-bugs [Wed, 25 Nov 1998 16:24:56 +0000 (16:24 +0000)]
preparing for release of 2.2.1

20 years agoBack out change that treated "refuse options = compress" the same as
David Dykstra [Wed, 25 Nov 1998 15:37:50 +0000 (15:37 +0000)]
Back out change that treated "refuse options = compress" the same as
"dont compress = *", by request of Tridge.  Instead, mention the difference
in the man page.  Also, put in a shortcut in set_compression() to recognize
"*" earlier instead of going through malloc/strtok/fnmatch/free cycle.

20 years agoWhen "refuse options = compress" is set in rsyncd.conf, silently send files
David Dykstra [Tue, 24 Nov 1998 22:03:16 +0000 (22:03 +0000)]
When "refuse options = compress" is set in rsyncd.conf, silently send files
at compression level 0 instead of printing an error and exitting.  This is
the same effect as "dont compress = *".

20 years agoAlways include "." when processing exclude lists. This avoids confusion
David Dykstra [Tue, 24 Nov 1998 21:26:38 +0000 (21:26 +0000)]
Always include "." when processing exclude lists.  This avoids confusion
when people do --exclude "*".  Also, add an example to the man page that
shows explicitly including parent directories when itemizing specific
paths to include followed by --exclude "*".

20 years agoUpdate the README file to reflect current usage options.
David Dykstra [Tue, 24 Nov 1998 20:54:56 +0000 (20:54 +0000)]
Update the README file to reflect current usage options.

20 years agoDon't list cleaned-out duplicate file names as "<NULL>" when doing
David Dykstra [Tue, 24 Nov 1998 20:51:45 +0000 (20:51 +0000)]
Don't list cleaned-out duplicate file names as "<NULL>" when doing
list_only mode; skip them instead.

20 years agoChange sanitize_path() function to not malloc a copy since it only shrinks
David Dykstra [Tue, 24 Nov 1998 20:18:11 +0000 (20:18 +0000)]
Change sanitize_path() function to not malloc a copy since it only shrinks
paths and it is only used in places that have already just done a copy.

20 years agoMake sure secrets file is not other-accessible, and owned by root if the
David Dykstra [Tue, 24 Nov 1998 19:52:35 +0000 (19:52 +0000)]
Make sure secrets file is not other-accessible, and owned by root if the
daemon is running as root.  Suggested by
    Mike Richardson <>

20 years agoAlways add the O_BINARY flag in do_open if it is defined, for Windows.
David Dykstra [Tue, 24 Nov 1998 19:10:21 +0000 (19:10 +0000)]
Always add the O_BINARY flag in do_open if it is defined, for Windows.
Suggestion from

20 years agoBackup deleted files when using --delete and --backup. Based on a
David Dykstra [Tue, 24 Nov 1998 19:01:24 +0000 (19:01 +0000)]
Backup deleted files when using --delete and --backup.  Based on a
suggested patch from Kanai Makoto (

20 years agoAdd "include" and "include from" rsyncd.conf options. Contributed
David Dykstra [Mon, 23 Nov 1998 21:54:01 +0000 (21:54 +0000)]
Add "include" and "include from" rsyncd.conf options.  Contributed
by Dennis Gilbert <>.

20 years agoupdates to reflect new domain
Andrew Tridgell [Mon, 23 Nov 1998 00:30:27 +0000 (00:30 +0000)]
updates to reflect new domain
the main web site is now

20 years agochanged an example slightly
Andrew Tridgell [Fri, 20 Nov 1998 22:46:42 +0000 (22:46 +0000)]
changed an example slightly

20 years agoadded "dont compress" option with the default setting of
Andrew Tridgell [Fri, 20 Nov 1998 22:26:29 +0000 (22:26 +0000)]
added "dont compress" option with the default setting of
*.gz *.tgz *.zip *.z *.rpm *.deb

20 years agoimproved the "refuse options" code a bit
Andrew Tridgell [Thu, 19 Nov 1998 06:45:21 +0000 (06:45 +0000)]
improved the "refuse options" code a bit

20 years agoadded "refuse options" option
Andrew Tridgell [Thu, 19 Nov 1998 06:35:49 +0000 (06:35 +0000)]
added "refuse options" option

20 years agoLook for strcasecmp in -lresolv for Unixware.
David Dykstra [Wed, 18 Nov 1998 17:53:22 +0000 (17:53 +0000)]
Look for strcasecmp in -lresolv for Unixware.

20 years agoMinor documentation patches, due mostly to
David Dykstra [Wed, 18 Nov 1998 17:36:36 +0000 (17:36 +0000)]
Minor documentation patches, due mostly to
    Jason Henry Parker <>

20 years agoChange --log-format documentation to make it clear that it is for the client
David Dykstra [Wed, 18 Nov 1998 16:20:22 +0000 (16:20 +0000)]
Change --log-format documentation to make it clear that it is for the client
logging to stdout.

20 years agoRemove a debugging statement I accidentally included in the last commit.
David Dykstra [Wed, 18 Nov 1998 16:02:23 +0000 (16:02 +0000)]
Remove a debugging statement I accidentally included in the last commit.

20 years agoChange documentation to explain that a lack of -t in effect causes -I to be
David Dykstra [Wed, 18 Nov 1998 15:54:50 +0000 (15:54 +0000)]
Change documentation to explain that a lack of -t in effect causes -I to be
assumed on the next transfer.

20 years agoApply sanitize_paths() to glob expansions when use chroot = no.
David Dykstra [Tue, 17 Nov 1998 21:56:18 +0000 (21:56 +0000)]
Apply sanitize_paths() to glob expansions when use chroot = no.

20 years agodon't interpret %h and %a when using --log-format locally
Andrew Tridgell [Mon, 16 Nov 1998 23:50:28 +0000 (23:50 +0000)]
don't interpret %h and %a when using --log-format locally

20 years agofixed a bug handling files larger than 2GB
Andrew Tridgell [Mon, 16 Nov 1998 03:53:43 +0000 (03:53 +0000)]
fixed a bug handling files larger than 2GB

20 years agolog filename(line) in exit_cleanup() to make tracking down problems
Andrew Tridgell [Sun, 15 Nov 1998 01:21:42 +0000 (01:21 +0000)]
log filename(line) in exit_cleanup() to make tracking down problems
easier in rsync daemons.

20 years agouse native strlcat() and strlcpy() if available
Andrew Tridgell [Sun, 15 Nov 1998 01:04:16 +0000 (01:04 +0000)]
use native strlcat() and strlcpy() if available

20 years agocompile with optimisation by default on all compilers
Andrew Tridgell [Sat, 14 Nov 1998 23:49:08 +0000 (23:49 +0000)]
compile with optimisation by default on all compilers
(the mdfour code really needs it)

20 years agochanged strlcat() and strlcpy() to have the same semantics as the
Andrew Tridgell [Sat, 14 Nov 1998 23:31:58 +0000 (23:31 +0000)]
changed strlcat() and strlcpy() to have the same semantics as the
OpenBSD functions of the same name.

changed slprintf() to take buffer length rather than buffer length -1

20 years agoChange sanitize_path() to not use clean_fname() because it removes the
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.

20 years agofixed typo
Andrew Tridgell [Fri, 6 Nov 1998 10:37:10 +0000 (10:37 +0000)]
fixed typo

20 years agoAdd comment before call to mktemp saying it is deliberately chosen over
David Dykstra [Thu, 5 Nov 1998 14:33:38 +0000 (14:33 +0000)]
Add comment before call to mktemp saying it is deliberately chosen over

20 years agoFix confusion between RERR_NOSUPPORT and RERR_UNSUPPORTED for exit codes
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.

20 years agoadded timeout option in rsyncd.conf
Andrew Tridgell [Wed, 4 Nov 1998 03:14:22 +0000 (03:14 +0000)]
added timeout option in rsyncd.conf

20 years agouse macros to make mdfour faster on systems that don't do inlining
Andrew Tridgell [Wed, 4 Nov 1998 02:35:18 +0000 (02:35 +0000)]
use macros to make mdfour faster on systems that don't do inlining
well. Also helps when optimisation level is low.

20 years agoRemove statement in rsync.1 that a rsync:// URL can only be used if
David Dykstra [Tue, 3 Nov 1998 22:30:52 +0000 (22:30 +0000)]
Remove statement in 1 that a  URL can only be used if
a username is not needed.

20 years agopreparing for release of 2.2.0 v2.2.0
rsync-bugs [Tue, 3 Nov 1998 22:00:59 +0000 (22:00 +0000)]
preparing for release of 2.2.0

20 years agoDocument the fact that you can use [USER@] in an rsync URL.
David Dykstra [Tue, 3 Nov 1998 21:58:08 +0000 (21:58 +0000)]
Document the fact that you can use [USER@] in an rsync URL.
Note: the same thing works for ftp and http URLs in netscape.

20 years agoCall clean_fname() in sanitize_path() to catch some more strange but
David Dykstra [Tue, 3 Nov 1998 21:49:38 +0000 (21:49 +0000)]
Call clean_fname() in sanitize_path() to catch some more strange but
legal file name syntaxes.

20 years agoAdd support for optional ":PORT" in rsync URL.
David Dykstra [Tue, 3 Nov 1998 21:17:40 +0000 (21:17 +0000)]
Add support for optional ":PORT" in rsync URL.

20 years agopatch from Alberto Accomazzi <> to add
Andrew Tridgell [Tue, 3 Nov 1998 07:08:27 +0000 (07:08 +0000)]
patch from Alberto Accomazzi <> to add
different exit codes for different conditions.

20 years agodocumented --delete disabling on IO errors
Andrew Tridgell [Tue, 3 Nov 1998 05:14:41 +0000 (05:14 +0000)]
documented --delete disabling on IO errors

20 years agoadded the --log-format option to allow users to request arbitrary
Andrew Tridgell [Tue, 3 Nov 1998 03:48:47 +0000 (03:48 +0000)]
added the --log-format option to allow users to request arbitrary
per-file logging of interactive rsync sessions.

20 years agoremove double / from filenames in display
Andrew Tridgell [Mon, 2 Nov 1998 07:26:36 +0000 (07:26 +0000)]
remove double / from filenames in display

20 years agothe logging wasn't showing the full prefix for filenames
Andrew Tridgell [Mon, 2 Nov 1998 06:40:11 +0000 (06:40 +0000)]
the logging wasn't showing the full prefix for filenames

20 years agoJason told me that's its very important for his site to log exactly
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.

20 years ago- document the rsync:// URL format
Andrew Tridgell [Mon, 2 Nov 1998 00:55:21 +0000 (00:55 +0000)]
- document the rsync:// URL format

20 years agoif no local destination is provided for the transfer then provide
Andrew Tridgell [Mon, 2 Nov 1998 00:52:01 +0000 (00:52 +0000)]
if no local destination is provided for the transfer then provide
a "ls -l" style listing of the files that would be transferred