rsync/rsync.git
25 years agoadded support for 64 bit file offsets under Solaris 2.6. Not tested
Andrew Tridgell [Wed, 6 May 1998 05:43:36 +0000 (05:43 +0000)]
added support for 64 bit file offsets under Solaris 2.6. Not tested
yet.

25 years agofix up the int64 handling a little. It should work on a few more
Andrew Tridgell [Wed, 6 May 1998 05:05:00 +0000 (05:05 +0000)]
fix up the int64 handling a little. It should work on a few more
systems now (tested on OSF1)

25 years agoa leading / in a pattern now means "use a absolute path match". This
Andrew Tridgell [Tue, 5 May 1998 11:23:51 +0000 (11:23 +0000)]
a leading / in a pattern now means "use a absolute path match". This
allows you to exclude root directories without excluding
subdirectories of the same name.

26 years agoadded support for sockets and fifos
Andrew Tridgell [Tue, 28 Apr 1998 05:53:18 +0000 (05:53 +0000)]
added support for sockets and fifos

26 years agoa much improved test script from Phil.
Andrew Tridgell [Fri, 17 Apr 1998 15:48:10 +0000 (15:48 +0000)]
a much improved test script from Phil.

26 years agopreparing for release of 1.7.4
rsync-bugs [Fri, 17 Apr 1998 06:49:05 +0000 (06:49 +0000)]
preparing for release of 1.7.4

26 years agothis is a little test script to test some of rsyncs features
Andrew Tridgell [Fri, 17 Apr 1998 06:08:59 +0000 (06:08 +0000)]
this is a little test script to test some of rsyncs features
(contributed by Phil Hands)

26 years agorevamped the -delete code. The last few bugs with it revealed that it
Andrew Tridgell [Fri, 17 Apr 1998 06:07:23 +0000 (06:07 +0000)]
revamped the -delete code. The last few bugs with it revealed that it
had a fundamental flaw in the way it detected duplicate deletion
scanning (which is very important when -R is used). I now store
inode/device numbers and use those to do the detection. This should be
a much less fragile method.

26 years agoa few code cleanups
Andrew Tridgell [Mon, 13 Apr 1998 07:26:37 +0000 (07:26 +0000)]
a few code cleanups

26 years agopreparing for release of 1.7.3
rsync-bugs [Mon, 13 Apr 1998 07:00:55 +0000 (07:00 +0000)]
preparing for release of 1.7.3

26 years agofixed a bug in the handling of -R with --delete
Andrew Tridgell [Mon, 13 Apr 1998 06:39:33 +0000 (06:39 +0000)]
fixed a bug in the handling of -R with --delete

I introduced this bug in the last version as a side effect of fixing
the permissions on intermediate directories with -R. drat.

26 years agonot quite so many decimal places in "speedup" :-)
Andrew Tridgell [Mon, 13 Apr 1998 04:44:49 +0000 (04:44 +0000)]
not quite so many decimal places in "speedup" :-)

26 years agofixed a bug in handling the -c option and non-regular files. It hadn't
Andrew Tridgell [Thu, 9 Apr 1998 00:38:40 +0000 (00:38 +0000)]
fixed a bug in handling the -c option and non-regular files. It hadn't
turned up before because Linux had a bug in the handling of NULL
pointers to read()/write() on pipes, so I never noticed the bug in my
testing.

I've also sent a patch to Linus.

26 years agopreparing for release of 1.7.2
rsync-bugs [Sun, 5 Apr 1998 06:46:11 +0000 (06:46 +0000)]
preparing for release of 1.7.2

26 years agohandle sparse files more efficiently
Andrew Tridgell [Sun, 5 Apr 1998 06:43:38 +0000 (06:43 +0000)]
handle sparse files more efficiently

26 years agoa couple more system calls wrapped in syscall.c
Andrew Tridgell [Sun, 5 Apr 1998 06:26:24 +0000 (06:26 +0000)]
a couple more system calls wrapped in syscall.c

26 years agoin local->local mode don't use exec to start the "remote" rsync,
Andrew Tridgell [Sun, 5 Apr 1998 06:07:37 +0000 (06:07 +0000)]
in local->local mode don't use exec to start the "remote" rsync,
instead just fork()

26 years agofixed a bug in the hlink code - it wasn't taking account of the new
Andrew Tridgell [Sun, 5 Apr 1998 04:34:52 +0000 (04:34 +0000)]
fixed a bug in the hlink code - it wasn't taking account of the new
pointer list code for flist.

26 years agofixed a string termination bug in the uidlist handling code. I've also
Andrew Tridgell [Wed, 1 Apr 1998 05:20:19 +0000 (05:20 +0000)]
fixed a string termination bug in the uidlist handling code. I've also
added a read_sbuf() routine that fixes this kind of bug generically to
avoid similar problems in future.

26 years agodon't need to test for SETPGRP any more as it is no longer used
Andrew Tridgell [Fri, 27 Mar 1998 03:38:06 +0000 (03:38 +0000)]
don't need to test for SETPGRP any more as it is no longer used

26 years agoSolaris uses EEXIST instead of ENOTEMPTY.
Andrew Tridgell [Fri, 27 Mar 1998 03:04:34 +0000 (03:04 +0000)]
Solaris uses EEXIST instead of ENOTEMPTY.

26 years agopreparing for release of 1.7.1
rsync-bugs [Thu, 26 Mar 1998 06:11:18 +0000 (06:11 +0000)]
preparing for release of 1.7.1

26 years agofixed a bug I introduced in the last big commit
Andrew Tridgell [Thu, 26 Mar 1998 06:09:04 +0000 (06:09 +0000)]
fixed a bug I introduced in the last big commit

26 years agoadded some debugging code
Andrew Tridgell [Thu, 26 Mar 1998 05:48:37 +0000 (05:48 +0000)]
added some debugging code

26 years agopreparing for release of 1.7.0
rsync-bugs [Thu, 26 Mar 1998 04:53:37 +0000 (04:53 +0000)]
preparing for release of 1.7.0

26 years agoupdated README and man page ready for the new release
Andrew Tridgell [Thu, 26 Mar 1998 04:43:10 +0000 (04:43 +0000)]
updated README and man page ready for the new release

26 years ago- added an internal io_error flag. Whenever an io error occurs (such
Andrew Tridgell [Thu, 26 Mar 1998 04:18:47 +0000 (04:18 +0000)]
- added an internal io_error flag. Whenever an io error occurs (such
as not being able to open a directory) this flag is set and propogated
to the other end. When this flag is set the --delete code is
disabled. This prevents the problem that io or permission errors could
cause files to be incorrectly deleted on the destination.

- added a --timeout option. This allows you to set an IO timeout in
seconds. If no io occurs in that time then rsync exits with a timeout
error.

- changed some FERROR fds to FINFO

26 years agoif rsync fails to update the group of a file but nothing else then
Andrew Tridgell [Thu, 26 Mar 1998 00:32:51 +0000 (00:32 +0000)]
if rsync fails to update the group of a file but nothing else then
don't report a problem. On most OSes non-root users can't change the
group of a file.

26 years agowhen using -x to stop at filesystem boundaries, include the mount
Andrew Tridgell [Thu, 26 Mar 1998 00:11:50 +0000 (00:11 +0000)]
when using -x to stop at filesystem boundaries, include the mount
points but not their contents.

I did this by calling stat() on the directory above the current
directory and checking to see if it has the correct st_dev. Hopefully
this will work for most systems.

Note that the permissions and ownership on the mount point cannot be
copied correctly as they are unavailable while the filesystem is
mounted. Instead rsync will set the permissions and ownership to those
of the root directory of the mounted filesystem (ie. the apparent
permissions/ownership of the directory)

26 years agoadd the dummy file to .cvsignore
Andrew Tridgell [Wed, 25 Mar 1998 11:28:35 +0000 (11:28 +0000)]
add the dummy file to .cvsignore

26 years ago- fixed a bug in the utimbuf test
Andrew Tridgell [Wed, 25 Mar 1998 11:26:20 +0000 (11:26 +0000)]
- fixed a bug in the utimbuf test

- rebuilt prototypes

26 years ago- on systems (such as intel linux) where off_t is 32 bits but "long long"
Andrew Tridgell [Wed, 25 Mar 1998 11:08:32 +0000 (11:08 +0000)]
- on systems (such as intel linux) where off_t is 32 bits but "long long"
  is 64 bits use long long to get the totals right when transferring
  more than 2^32 bytes of data.

- use inline on flist_up if the compiler supports it

26 years agoadded a --force option.
Andrew Tridgell [Wed, 25 Mar 1998 06:05:47 +0000 (06:05 +0000)]
added a --force option.

This options tells rsync to delete directories even if they are not
empty. This applies to both the --delete option and to cases where
rsync tries to copy a normal file but the destination contains a
directory of the same name. Normally rsync will refuse to do a
recursive directory deletion in such cases, by using --force the
recursive deletion will be done.

26 years agochanges to make VPATH work correctly, thanks to patl@cag.lcs.mit.edu
Andrew Tridgell [Wed, 25 Mar 1998 04:14:18 +0000 (04:14 +0000)]
changes to make VPATH work correctly, thanks to patl@cag.lcs.mit.edu

26 years agoadded this so the lib directory gets created when using VPATH
Andrew Tridgell [Wed, 25 Mar 1998 04:13:17 +0000 (04:13 +0000)]
added this so the lib directory gets created when using VPATH

26 years ago- fixed a bug wth the handling of duplicate names with the new fist
Andrew Tridgell [Wed, 25 Mar 1998 03:34:52 +0000 (03:34 +0000)]
- fixed a bug wth the handling of duplicate names with the new fist
  structures

- send intermediate directories when using --relative to ensure the
  permissions are set correctly

26 years agodon't show basedir in printed path (a aesthetic change only)
Andrew Tridgell [Wed, 25 Mar 1998 01:59:23 +0000 (01:59 +0000)]
don't show basedir in printed path (a aesthetic change only)

26 years agofixed the problem where you couldn't specify multiple remote
Andrew Tridgell [Wed, 25 Mar 1998 00:40:47 +0000 (00:40 +0000)]
fixed the problem where you couldn't specify multiple remote
filenames. The fix will need some testing.

26 years agocheck a few HAVE_* macros
Andrew Tridgell [Tue, 24 Mar 1998 06:42:11 +0000 (06:42 +0000)]
check a few HAVE_* macros

26 years agoadded chmod() and chown() to syscall.c
Andrew Tridgell [Tue, 24 Mar 1998 06:39:16 +0000 (06:39 +0000)]
added chmod() and chown() to syscall.c

26 years agotest for "long long" and %lld in configure.
Andrew Tridgell [Mon, 23 Mar 1998 14:46:03 +0000 (14:46 +0000)]
test for "long long" and %lld in configure.

26 years agoadded wrappers around all the system calls that can change what is on
Andrew Tridgell [Mon, 23 Mar 1998 13:25:30 +0000 (13:25 +0000)]
added wrappers around all the system calls that can change what is on
disk. The wrappers check for dry_run.

26 years agofinished 64 bit file offset support. Hopefully rsync can now transfer
Andrew Tridgell [Mon, 23 Mar 1998 12:52:57 +0000 (12:52 +0000)]
finished 64 bit file offset support. Hopefully rsync can now transfer
files up to 2^64 bytes in size. Now I just need to find enough disk
space to test this :-)

The 64 bit offset code only works if off_t is 64 bits (or bigger!) on
both ends of the link. If one end tries to send a file greater than
2^31 in size and the other end doesn't support it then rsync will
abort.

This commit also cleans up some static declarations so they are in a
unitinitialised segment to save load time.

26 years agostarted to add some 64 bit file offset support - not complete yet
Andrew Tridgell [Mon, 23 Mar 1998 08:49:48 +0000 (08:49 +0000)]
started to add some 64 bit file offset support - not complete yet

26 years agolabel this version 1.7.0alpha
Andrew Tridgell [Mon, 23 Mar 1998 07:26:14 +0000 (07:26 +0000)]
label this version 1.7.0alpha

26 years agosave some more memory by only allocating the checksum when needed
Andrew Tridgell [Mon, 23 Mar 1998 07:25:21 +0000 (07:25 +0000)]
save some more memory by only allocating the checksum when needed

26 years agoif the file changes during transfer then don't loop forever trying to
Andrew Tridgell [Mon, 23 Mar 1998 07:11:51 +0000 (07:11 +0000)]
if the file changes during transfer then don't loop forever trying to
update it

26 years agodon't adapt the block size to above half the chunk size
Andrew Tridgell [Mon, 23 Mar 1998 06:26:08 +0000 (06:26 +0000)]
don't adapt the block size to above half the chunk size

26 years agoprototype update
Andrew Tridgell [Mon, 23 Mar 1998 04:47:40 +0000 (04:47 +0000)]
prototype update

26 years ago- keep a list of pids and send them a SIGUSR1 for cleanup rather than
Andrew Tridgell [Mon, 23 Mar 1998 04:44:44 +0000 (04:44 +0000)]
- keep a list of pids and send them a SIGUSR1 for cleanup rather than
using setpgrp()

- adapt the block size for really large files to reduce the checksum
  size and memory overheads

26 years agofor systems with a broken select use u_sleep() to ensure the write
Andrew Tridgell [Mon, 23 Mar 1998 04:14:21 +0000 (04:14 +0000)]
for systems with a broken select use u_sleep() to ensure the write
process doesn't chew too much cpu time.

26 years agoa large change to make rsync much more memory efficient. This is done
Andrew Tridgell [Mon, 23 Mar 1998 03:45:02 +0000 (03:45 +0000)]
a large change to make rsync much more memory efficient. This is done
in 3 ways:

1) the realloc is done on a list of pointers, not a list of structures
2) only the basename of the file is now kept in the file struct an a
   util function f_name() is now used to access the full name when
   required.
3) pointers to directory names are re-used

hopefully I haven't broken anything. This will need lots of testing.

26 years agocompatibility functions now split into their own file
Andrew Tridgell [Tue, 24 Feb 1998 11:54:10 +0000 (11:54 +0000)]
compatibility functions now split into their own file

26 years ago*** empty log message ***
Andrew Tridgell [Tue, 27 Jan 1998 17:51:37 +0000 (17:51 +0000)]
*** empty log message ***

26 years ago*** empty log message ***
Andrew Tridgell [Tue, 13 Jan 1998 19:25:59 +0000 (19:25 +0000)]
*** empty log message ***

26 years ago*** empty log message ***
Andrew Tridgell [Tue, 13 Jan 1998 19:19:48 +0000 (19:19 +0000)]
*** empty log message ***

26 years ago*** empty log message ***
Andrew Tridgell [Tue, 13 Jan 1998 18:35:10 +0000 (18:35 +0000)]
*** empty log message ***

26 years ago*** empty log message ***
Andrew Tridgell [Tue, 13 Jan 1998 17:16:14 +0000 (17:16 +0000)]
*** empty log message ***

26 years ago*** empty log message ***
Andrew Tridgell [Tue, 13 Jan 1998 15:57:26 +0000 (15:57 +0000)]
*** empty log message ***

26 years ago*** empty log message ***
Andrew Tridgell [Tue, 6 Jan 1998 16:53:52 +0000 (16:53 +0000)]
*** empty log message ***

26 years agocosmetic changes only
Andrew Tridgell [Mon, 5 Jan 1998 23:30:44 +0000 (23:30 +0000)]
cosmetic changes only
- minor correction to --update docs
- don't print "building file list" stuff when building a local file
list for use in the --delete code.
- remove some spaces at the end of lines in Makefile.in

26 years ago*** empty log message ***
Andrew Tridgell [Thu, 1 Jan 1998 15:53:05 +0000 (15:53 +0000)]
*** empty log message ***

26 years agoremoved the read_write() call, it's not used anywhere
Andrew Tridgell [Wed, 31 Dec 1997 16:48:11 +0000 (16:48 +0000)]
removed the read_write() call, it's not used anywhere

26 years agosimplified the logic of whether to skip a file or not. The -c
Andrew Tridgell [Wed, 31 Dec 1997 16:39:34 +0000 (16:39 +0000)]
simplified the logic of whether to skip a file or not. The -c
(always_checksum) option is probably now more useful.

26 years agobuffer overflow patches from mhpower@mit.edu (Matt Power)
Andrew Tridgell [Tue, 30 Dec 1997 17:36:58 +0000 (17:36 +0000)]
buffer overflow patches from mhpower@mit.edu (Matt Power)

26 years agofixed the --suffix option. It wasn't being propogated to the remote
Andrew Tridgell [Tue, 30 Dec 1997 10:54:47 +0000 (10:54 +0000)]
fixed the --suffix option. It wasn't being propogated to the remote
end in the server_options() function.

26 years agopreparing for release of 1.6.8
rsync-bugs [Sun, 28 Dec 1997 22:28:21 +0000 (22:28 +0000)]
preparing for release of 1.6.8

26 years ago- added a debug message
Andrew Tridgell [Sun, 28 Dec 1997 22:26:51 +0000 (22:26 +0000)]
- added a debug message
- rebuilt prototypes

26 years ago- fixed spelling errors in man page
Andrew Tridgell [Sun, 28 Dec 1997 22:13:40 +0000 (22:13 +0000)]
- fixed spelling errors in man page
- fixed bug in hard link handling that could lead to spurious hard
links.
- fixed bug in the string handling in flist.c

26 years agofollowing a report of problems with Linux/alpha I've changed zlib.c to
Andrew Tridgell [Thu, 18 Dec 1997 11:18:32 +0000 (11:18 +0000)]
following a report of problems with Linux/alpha I've changed zlib.c to
use uint32 instead of "long" in several places. Apparently this fixes
things on the alpha. The strange thing is that my own tests on a
OSF/alpha box and a 64 bit IRIX box showed no problems. I wonder what
was actually going wrong? I'll email the zlib maintainers and let them
know.

26 years agoadded a new mirror site to the README
Andrew Tridgell [Thu, 18 Dec 1997 11:13:27 +0000 (11:13 +0000)]
added a new mirror site to the README

26 years agopreparing for release of 1.6.7
rsync-bugs [Wed, 17 Dec 1997 11:19:01 +0000 (11:19 +0000)]
preparing for release of 1.6.7

26 years ago*** empty log message ***
Andrew Tridgell [Wed, 17 Dec 1997 11:07:17 +0000 (11:07 +0000)]
*** empty log message ***

26 years agohandle things more grecefully when one machine supports hard links and
Andrew Tridgell [Tue, 16 Dec 1997 23:09:22 +0000 (23:09 +0000)]
handle things more grecefully when one machine supports hard links and
the other doesn't or one machine supports soft links and the other
doesn't.

26 years ago- check for setlinebuf() in autoconf. Apparently HPUX doesn't have it
Andrew Tridgell [Tue, 16 Dec 1997 22:39:55 +0000 (22:39 +0000)]
- check for setlinebuf() in autoconf. Apparently HPUX doesn't have it
- use @exec_prefix@ and @prefix@ in more useful ways in Makefile.in

26 years agofixed a bug in the handling of the new --relative option. The file was
Andrew Tridgell [Tue, 16 Dec 1997 20:29:35 +0000 (20:29 +0000)]
fixed a bug in the handling of the new --relative option. The file was
being opened twice but closed once. The process eventually died with
an out of file descriptors error.

26 years agopreparing for release of 1.6.6
rsync-bugs [Tue, 16 Dec 1997 18:20:10 +0000 (18:20 +0000)]
preparing for release of 1.6.6

26 years agoChecker showed that zlib was using a element of its internal state
Andrew Tridgell [Tue, 16 Dec 1997 18:18:02 +0000 (18:18 +0000)]
Checker showed that zlib was using a element of its internal state
structure without initialising it. Although it looks harmless I've
added a bzero() to make absolutely sure that the code behaves
consistently across platforms.

26 years agofixed a nasty bug in the handling of the --delete option when there
Andrew Tridgell [Tue, 16 Dec 1997 17:59:49 +0000 (17:59 +0000)]
fixed a nasty bug in the handling of the --delete option when there
are duplicate file names in the list of files to be transferred
(eg. the user specifies the same file twice).

26 years ago#if 0 the write exception code for the moment. I need to work out why
Andrew Tridgell [Tue, 16 Dec 1997 09:25:17 +0000 (09:25 +0000)]
#if 0 the write exception code for the moment. I need to work out why
it gets a successful write select on a fd followed by a EAGAIN
write yet the fd is still OK.

26 years agopreparing for release of 1.6.5
rsync-bugs [Tue, 16 Dec 1997 09:14:47 +0000 (09:14 +0000)]
preparing for release of 1.6.5

26 years agoadded .cvsignore to the .cvsignore file to prevent it from being
Andrew Tridgell [Tue, 16 Dec 1997 09:14:18 +0000 (09:14 +0000)]
added .cvsignore to the .cvsignore file to prevent it from being
distributed when I run the release script

26 years ago- fixed the "write exception" error. I was resetting got_select at the
Andrew Tridgell [Tue, 16 Dec 1997 08:48:36 +0000 (08:48 +0000)]
- fixed the "write exception" error. I was resetting got_select at the
wrong point
- fixed a seg fault error in flist.c
- only print hlink debug messages when using -v

26 years agopreparing for release of 1.6.4
rsync-bugs [Mon, 15 Dec 1997 23:08:30 +0000 (23:08 +0000)]
preparing for release of 1.6.4

26 years ago- fixed an off by 1 bug in the hard link support
Andrew Tridgell [Mon, 15 Dec 1997 22:54:23 +0000 (22:54 +0000)]
- fixed an off by 1 bug in the hard link support
- added a note about anonymous cvs access to the source code in the
README

26 years agoprocess directory permissions and times ater hard links becuase the
Andrew Tridgell [Mon, 15 Dec 1997 22:23:30 +0000 (22:23 +0000)]
process directory permissions and times ater hard links becuase the
hard link processing can modify the directory times

26 years agocasting cleanups (rsync now compiles cleanly under IRIX 6.4)
rsync-bugs [Mon, 15 Dec 1997 21:41:33 +0000 (21:41 +0000)]
casting cleanups (rsync now compiles cleanly under IRIX 6.4)

26 years agosome people are now using rsync as a public server, using various
Andrew Tridgell [Mon, 15 Dec 1997 21:35:37 +0000 (21:35 +0000)]
some people are now using rsync as a public server, using various
patches or wrappers. One problem with this is that rsync was not
written with this in mind and wasn't very careful about possible stack
overflows etc which could lead to security breaches. This wasn't a
problem when run in the traditional way as any user that can run rsync
can login anyway and cause much more damage that way.
This patch attempts to close possible stack overflow problems. I've
checked for all strcpy(), strcat(), sprintf() and memcpy()
overflows. I would appreciate it if someone else with a devious mind
could also go through the rsync source code and see if there are any
other stack overflows possible. Let me know if you do.

26 years agoseveral changes:
Andrew Tridgell [Mon, 15 Dec 1997 21:04:04 +0000 (21:04 +0000)]
several changes:
- by popular demand I have changed the behaviour of the --delete
option. It should now work as "expected" for even those people silly
enough not to read the man page. rsync will now only look for
candidate files/directories to delete in directories that are
explicitly transferred from the sender
- updated the README a bit
- try to fail a bit more gracefully when rsync runs out of disk
space. I don't think this issues is fully resolved yet

26 years agominor cleanups (unused variables etc)
rsync-bugs [Mon, 15 Dec 1997 19:11:24 +0000 (19:11 +0000)]
minor cleanups (unused variables etc)

26 years agoonly include sys/mod.h if S_ISLNK is not already defined. This allows
rsync-bugs [Mon, 15 Dec 1997 18:36:21 +0000 (18:36 +0000)]
only include sys/mod.h if S_ISLNK is not already defined. This allows
things to work on aix without causing broken sgi headers files to spew
lots of complaints

26 years agobugfix from Kenji Miyake <kenjim@fix.co.jp>
Andrew Tridgell [Mon, 15 Dec 1997 18:01:15 +0000 (18:01 +0000)]
bugfix from Kenji Miyake <kenjim@fix.co.jp>
this fixes a off by 1 error that could cause rsync to crash when used
with --delete

26 years agopatch from Jim Meyering <meyering@eng.ascend.com>
Andrew Tridgell [Mon, 15 Dec 1997 17:57:28 +0000 (17:57 +0000)]
patch from Jim Meyering <meyering@eng.ascend.com>
- fixed typos in man page
- use @CFLAGS@ in Makefile.in, allowing override on command line

26 years agosetup line buffering for debug messages
Andrew Tridgell [Mon, 15 Dec 1997 17:46:58 +0000 (17:46 +0000)]
setup line buffering for debug messages

26 years agobe a bit more friendly on systems that behave badly (consume lots of
Andrew Tridgell [Mon, 15 Dec 1997 17:29:51 +0000 (17:29 +0000)]
be a bit more friendly on systems that behave badly (consume lots of
ram) when you realloc() up by a small amount at a time

26 years agoinclude sys/socket.h if possible (this should make rsync compile
Andrew Tridgell [Mon, 15 Dec 1997 16:27:04 +0000 (16:27 +0000)]
include sys/socket.h if possible (this should make rsync compile
cleanly on SCO)

26 years agoadded a --relative (== -R) option. This is what Anthony Thyssen
Andrew Tridgell [Mon, 15 Dec 1997 14:43:27 +0000 (14:43 +0000)]
added a --relative (== -R) option. This is what Anthony Thyssen
suggested on the list recently. See the man page entry for details but
basically it changes the behaviour so that paths are not stripped,
thus allowing you to specify a single rsync command to sync lots of
directories/files while preserving the full path name of each file.
also fixed a bug in the handling of umasks when both the source and
destination machines are local. We need to reset the umask before the
exec to ensure that the child gets a correct umask.

26 years agoadded some more debug info to the "EOF in map_ptr" error message to
Andrew Tridgell [Mon, 15 Dec 1997 13:38:06 +0000 (13:38 +0000)]
added some more debug info to the "EOF in map_ptr" error message to
try to make it easier to track down what is going wrong.
Jarom, can you let me know what output this gives?
PS: the cvs commit messages for rsync are now sent to the rsync
mailing list. This will allow everyone to see what changes are being
made.

26 years agodamn, I had implicitly assumed signed characters when writing the
Andrew Tridgell [Mon, 15 Dec 1997 12:37:40 +0000 (12:37 +0000)]
damn, I had implicitly assumed signed characters when writing the
rolling checksum code. The result is that rsync worked much more
slowly when going between two machines where one of the machines uses
signed and the other unsigned chars. The rolling checksum rarely
matched so effectively a copy was done in many cases. The data always
came through correctly so no file corruption occurred but it's pretty
pointless using rsync if it doesn't speed things up!
I've now made the sign of the chars explicit

26 years agoI think I've (finally) fixed the problem with rsync periodically
Andrew Tridgell [Mon, 15 Dec 1997 12:33:15 +0000 (12:33 +0000)]
I think I've (finally) fixed the problem with rsync periodically
freezing when used with ssh. The problem is really the ssh use of
blocking calls. rsync has had a fix for this for a while which relies
on using non-blocking calls itself and then reading any data from the
incoming fd when trying to write, thus ensuring that the incoming fd
doesn't get full.
The problem was the the incoming fd wasn't added to the select
statement, which meant that new data arriving on the fd only got read
when the select timed out, which happens every 10 seconds. Thus things
could slow to a crawl!
The incoming fd is now in the select call, and this seems to fix the
problem.