summaryrefslogtreecommitdiff
path: root/rsync.c
Commit message (Collapse)AuthorAgeFilesLines
* Bump the year to 2014.Wayne Davison2014-01-261-1/+1
|
* Change owner+group before setting xattrs to avoid xattr loss.Wayne Davison2013-12-231-25/+25
| | | | Fixes bug 10163.
* Avoid I/O via signal-handler thread.Wayne Davison2013-05-261-0/+15
| | | | | | | | | The cleanup code will try to flush the output buffer in some circumstances, which is not valid if we're handling an async signal (since it might have interrupted some partial I/O in the main thread). These signals now set a flag and try to let the main I/O handler take care of the exit strategy. Fixes a protocol error that could happen when trying to exit after a kill signal.
* Improve iconvbufs() to do more buffer size checks.Wayne Davison2013-05-191-0/+7
| | | | | | | - If iconv() returns EINVAL or EILSEQ and the error is being ignored, make sure that there is room in the output buffer to store the erroneous char. - When accepting an erroneous char, be sure to break if there are no more input characters (without calling iconv() with a zero input length).
* Update copyright year.Wayne Davison2013-01-191-1/+1
|
* Add free_stat_x() inline function.Wayne Davison2013-01-191-10/+2
|
* Make daemon listener exit w/code 0 on SIGTERM.Wayne Davison2012-06-161-1/+6
|
* Some uid/gid fixes for (id_t)-1 and other large ID values.Wayne Davison2011-02-221-3/+7
| | | | | | | | | The code now avoids any special internal meaning for uid/gid -1, which allows it to be mapped to a better value (use 4294967295 instead of -1 as the ID to map). Replaced atol() with something than can return a value > 0x7FFFFFFF and that will error-out if the value overflows. If chown() is called with a uid or gid of -1, complain that the ID is not settable and signal a transfer error. Fixes bug 6936.
* Some minor variable and flag cleanup.Wayne Davison2011-01-291-2/+0
|
* Fix issues with unchanged_attrs() for symlinks.Wayne Davison2010-12-181-1/+1
|
* Undo unintended mode-reference tweak.Wayne Davison2010-08-281-1/+1
|
* Add --omit-link-times and use CAN_SET_SYMLINK_TIMES less.Wayne Davison2010-08-261-2/+4
|
* Avoid a non-writable-by-the-user file when copying xattrs.Wayne Davison2010-08-211-4/+2
| | | | Fixes part of the problem in bug 5147.
* More --timeout improvements, especially for the receiving side:Wayne Davison2010-01-021-1/+1
| | | | | | | | | | - The receiver now sends keep-alive messages to the generator when it is actively doing work and hasn't sent anything recently. This ensures that the generator won't timeout if the receiver is working hard. - The perform_io() code has improved keep-alive participation. - Allow the sender to send some keep-alive messages, which ensures that if it is in a lull, it can probe the socket.
* Improve --timeout method to take into account all I/O that is going on.Wayne Davison2009-12-191-4/+3
| | | | | | | | | | The receiving side also switches timeout handling from the receiver to the generator, which obviates the need for the sender to send any keep-alive messages at all (for protocol 31 and beyond). Given this setup, all keep-alive messages are now sent as empty MSG_DATA messages, with MSG_NOOP messages only being understood and (when necessary) acted upon to forward a keep-alive event to an older receiver. This is both safer and more compatible with older versions.
* Added an am_receiver variable.Wayne Davison2009-12-191-1/+5
|
* Fix a comment.Wayne Davison2009-11-231-1/+1
|
* Change the handling of circular buffers to not waste 4 bytesWayne Davison2009-11-231-46/+64
| | | | all the time (we only waste from 1-3 bytes some of the time).
* Get rid of some unneeded externs.Wayne Davison2009-10-271-1/+0
|
* Give iconvbufs() an ICB_INIT flag.Wayne Davison2009-10-231-4/+4
|
* A major overhaul of I/O routines, creating perform_io().Wayne Davison2009-10-171-15/+56
| | | | | | | | | | | | | | | | | | Files-from data is now sent as multiplexed I/O so that it can mingle with any messages (such as debug output). Requires protocol 31. Protocol 31 no longer disables output verbosity in a couple instances that used to cause protocol issues. Got rid of MSG_* messages that have implied raw data that follows after them. We instead send a negative index value as a part of the raw data stream, which is guaranteed to be output together with the following data. This only affects the (in-progress) protocol 31 and the (self- contained) communication stream from the receiver to the generator. Added --debug=IO and improved --debug=FLIST. Some --debug=IO output requires --msgs2stderr to be used to see it (i.e. sending a message about sending a message would send another message, ad infinitum).
* Pass "new_mode" to set_acl() and change its return values.Wayne Davison2009-09-121-2/+4
|
* Add support for transferring & setting nsec time values.Wayne Davison2009-09-071-1/+1
|
* Have the sender use dead time to pad out the file list.Wayne Davison2009-08-221-1/+10
|
* Improved the backup code:Wayne Davison2009-01-031-2/+3
| | | | | | | | - Backups do not interfere with an atomic update (when possible). - Backing up a file will remove a directory that is in the way and visa versa. - Unify the backup-dir and non-backup-dir code in backup.c. - Improved the backup tests a little bit.
* Update the copyright year.Wayne Davison2009-01-031-1/+1
|
* Added init_stat_x() to avoid duplication of acl/xattr init code.Wayne Davison2009-01-031-6/+1
|
* Fixed send_protected_args() to send "." in place of an empty arg.Wayne Davison2008-10-111-2/+5
|
* Improved the fix that ensures that the generator gets notified about anWayne Davison2008-08-311-14/+1
| | | | | I/O error for the incremental directory that generated the error. The PROTOCOL_VERSION was bumped to 31 to implement this.
* Changed flist_for_ndx() to optionally die with an errorWayne Davison2008-08-141-20/+37
| | | | if the index isn't found.
* Added logic to the receiving side to ensure that the --delete-duringWayne Davison2008-08-021-1/+14
| | | | | code will not delete in a directory prior to receiving an I/O error for that directory (or not receiving it, as the case may be).
* Changed the iconv-related message that was being output as theWayne Davison2008-08-011-11/+10
| | | | | lone --info=misc2 message into a --debug=iconv message so that all iconv info will be output when requesting iconv debugging.
* Added a debug-helping option, --msgs2stderr, than should help allWayne Davison2008-07-201-2/+5
| | | | | messages to be seen in a situation where rsync is dying (as long as stderr is a viable output method for the remote rsync).
* Added the --info=FLAGS an --debug=FLAGS options, which allowsWayne Davison2008-07-131-12/+11
| | | | fine-grained output control (in addition to the coarse -v).
* A cuple more fixes for --xattrs combined with --backup, this time toWayne Davison2008-05-221-1/+2
| | | | handle when --link-dest is also used.
* Fixed several issues with preserving xattrs when using --backup.Wayne Davison2008-05-171-2/+5
|
* Moved declaration of "int i" outside the ifdef in send_protected_args().Wayne Davison2008-03-161-1/+2
|
* Fixed the use of --protect-args (-s) with a daemon.Wayne Davison2008-03-151-0/+35
|
* Fixed the 'T' itemized output for a symlink the right way this time.Wayne Davison2008-03-111-2/+1
|
* Include 2008 in the copyright years.Wayne Davison2008-03-011-1/+1
|
* Only set FLAG_TIME_FAILED if receiver_symlink_times is set.Wayne Davison2008-02-181-1/+2
|
* Extended the protocol-30 info-passing code at startup, and use it toWayne Davison2008-02-181-0/+2
| | | | | | | | | | tell the client if the server can set the times on a symlink (both the server->client byte and the client->server use of -e). Make use of this info to allow the proper output of the 't' flag when rsync can set the time on a symlink (and we're talking protocol >= 30). Added output of "[no] symtimes" info in the --version message. Fixed the itemize.test so that it works when rsync believes that it can set the time of a symlink, but it can't really do it.
* Re-indent some code in set_file_attrs() to make the flow clearer.Wayne Davison2008-02-071-18/+18
|
* Fixed a case where the receiver indicates a successful update when theWayne Davison2007-12-311-16/+23
| | | | transfer succeeded, but the final rename failed.
* Updated indexing for accurate progress and improved raw ndx values.Wayne Davison2007-12-081-4/+5
| | | | | | | | The sending side now has a sorted file-list in iconv mode so that it can output progress in sorted order. Simplified the over-the-wire index values to ensure both sides will always agree on the values. Optimized the allocation of the dir_flist->sorted array on the receiving side with --iconv and incremental recursion.
* We now call set_stat_xattr() before set_xattr().Wayne Davison2007-11-251-2/+2
|
* Fixed a problem with --fake-super not getting the fully tweaked new_modeWayne Davison2007-11-241-4/+4
| | | | | value. Also fixed the removal of rsync-internal xattr values on the destination files when we aren't copying rsync-internal xattr values.
* New logging categories added to allow differentiation betweenWayne Davison2007-11-221-6/+6
| | | | | transfer errors, normal errors, and warnings. New messages are translated into old FERROR/FINFO categories for older protocols.
* Avoid verbose output during the forwarding of flist data (for now,Wayne Davison2007-11-031-3/+5
| | | | at least).
* Avoid a crash if we read an index value without a valid first_flist.Wayne Davison2007-10-311-1/+2
|