#
8bf5b238 |
| 06-Jun-2018 |
Matthew Dillon <dillon@apollo.backplane.com> |
cpdup - Fix NULL pointer indirection on lost socket
* Fix a crash which can occur due to a lost socket. Generate a nice error message and exit() instead.
|
#
75bd842a |
| 30-May-2013 |
Matthew Dillon <dillon@apollo.backplane.com> |
cpdup - roll 1.18 for ports consumers
* Add the -n option. This is the not-for-real option. cpdup will go through the motions but not actually take any action. Useful for validating a topolog
cpdup - roll 1.18 for ports consumers
* Add the -n option. This is the not-for-real option. cpdup will go through the motions but not actually take any action. Useful for validating a topology without modifying it, e.g. 'cpdup -n -v -VV source target'.
* Fix clang static/global and alignment warnings
* Bump rev to 1.18
* Porters please note that this release has added an __aligned(n) directive to two structures. BSDs and linux's should be able to handle this no-problem but just like __printflike() it is a bit of a departure from standard.
* Ports URL: fetch http://apollo.backplane.com/FreeBSDPorts/cpdup-1.18.tar.gz
Submitted-by: (static/global fixes) "Eitan Adler" <lists@eitanadler.com> Submitted-by: (n-option & alignment fixes) dillon Testing-by: "Eitan Adler" <lists@eitanadler.com>
show more ...
|
#
c0538630 |
| 19-Jul-2010 |
Matthew Dillon <dillon@apollo.backplane.com> |
cpdup - Add several new features
* Add -R option for ssh authorized_key based slave mode. * Add byte order detection and handling. * Improve remote directory scan performance. * Add Sun compatibilit
cpdup - Add several new features
* Add -R option for ssh authorized_key based slave mode. * Add byte order detection and handling. * Improve remote directory scan performance. * Add Sun compatibility files for completeness.
Submitted-by: Oliver Fromme <olli@fromme.com>
show more ...
|
#
293141b7 |
| 03-Dec-2009 |
Matthew Dillon <dillon@apollo.backplane.com> |
cpdup - Multiple additions, fixes, and one removal
* Make -x/-X (cpignore) work with remote sources.
* Add Makefile hack for _ST_FLAGS_PRESENT_ on FreeBSD.
* Suppress "Handshaked with <host>" and
cpdup - Multiple additions, fixes, and one removal
* Make -x/-X (cpignore) work with remote sources.
* Add Makefile hack for _ST_FLAGS_PRESENT_ on FreeBSD.
* Suppress "Handshaked with <host>" and "Not running as root" messages when the -q option was specified.
* Mount points are now skipped completely. (Before this, the directories and .cpignore inside them were still read.)
* Extract scanning directories (src and dst) from DoCopy() into a function ScanDir(), and use ScanDir() for both src and dst.
* Remove threads support. It never worked very well and is getting in the way of new development. The intention is to develop a more efficient pipelined algorithm in the future which does not require threading the program.
* Use getopt(3) instead of non-standard parser, making sure that all options still work exactly as documented in the manual page.
* Use fnmatch(3) instead of WildCmp(), adding support for bracket expressions (e.g. [xyz0-9]) and escaping (e.g. foo\*). I also suspect that fnmatch() is more efficient.
* Use the same syntax for remote paths as scp(1), so local paths that contain colons can be specified (e.g. "./foo:bar"); extract that code into its own function SplitRemote().
* Add protocol commands hc_geteuid() and hc_getgroups(). Use them to properly check permissions for various operations that would require root privileges on the target machine.
* Bugfix: If a symlink already existed on the target but the owner/group didn't match, cpdup missed to update it. Added a call to hc_lchown() to fix that, if privileges allow.
* Bugfix: The dispatch[] array wasn't initialized, so the slave crashed upon an unknown command instead of calling rc_badop().
* Bump protocol version to 3 in order to be able to maintain backwards compatibility with older clients.
* Bump utility version to 1.16.
* Make the source compile with WARNS=6. It still doesn't pass -ansi -pedantic, though. :-)
* Document -j0, -k and -K in usage message (misc.c).
* Update the manual page, fix mdoc markup and various details.
* Add "ssh security tips" section to the BACKUPS text file.
Submitted-by: Oliver Fromme <olli@fromme.com>
show more ...
|
#
713d03c0 |
| 24-May-2008 |
Matthew Dillon <dillon@dragonflybsd.org> |
Use a per-bucket mutex to reduce contention and fix a seg-fault from a race in the transaction hash table.
|
#
07424787 |
| 23-May-2008 |
Matthew Dillon <dillon@dragonflybsd.org> |
Fix a pipelining performance issue due to the way reading from the socket was implemented. Instead of having the threads compete for read-access to the socket, create a single thread whos responsibi
Fix a pipelining performance issue due to the way reading from the socket was implemented. Instead of having the threads compete for read-access to the socket, create a single thread whos responsibility is to read traffic from the socket and route it to the appropriate transaction. This greatly improves parallel threading performance for cpdup's to remote hosts.
show more ...
|
#
975200d7 |
| 14-Apr-2008 |
Matthew Dillon <dillon@dragonflybsd.org> |
Fix multiple issues with -p<parallel>, including several data corruption issues.
* Use malloc'd buffers instead of static buffers * Fix memory leaks * Fix races with hardlink tracking structures * F
Fix multiple issues with -p<parallel>, including several data corruption issues.
* Use malloc'd buffers instead of static buffers * Fix memory leaks * Fix races with hardlink tracking structures * Fix bug in remote mknod (it wasn't creating the node on the remote host) * Fix stack blowouts from deep recursions by starting a new thread. * Postpend the pid for tmp file creation.
show more ...
|
#
bbbecb58 |
| 11-Apr-2008 |
Matthew Dillon <dillon@dragonflybsd.org> |
Properly mark a transaction has being completed so the slave side of the connection does not loop forever on its data.
|
#
44dd1628 |
| 11-Apr-2008 |
Matthew Dillon <dillon@dragonflybsd.org> |
More cpdup work.
* Add -C which is passed down to ssh to turn on compression. * Fix a race condition in the hardlink handling code that could occur w/ -pN * Fix a deadlock in the socket read code.
More cpdup work.
* Add -C which is passed down to ssh to turn on compression. * Fix a race condition in the hardlink handling code that could occur w/ -pN * Fix a deadlock in the socket read code. The connection's read mutex must be released before the master mutex can be re-acquired. * Reduce the I/O block size when running parallel threads to try to avoid blocking on write().
show more ...
|
#
a2dc574c |
| 10-Apr-2008 |
Matthew Dillon <dillon@dragonflybsd.org> |
Add parallel transaction support for remote source or target specifications. The implementation is a bit crude because I don't want to take too many chances on a codebase that wasn't originally desig
Add parallel transaction support for remote source or target specifications. The implementation is a bit crude because I don't want to take too many chances on a codebase that wasn't originally designed to be multi-threaded, so the master mutex is only released when a thread is waiting for input on a socket.
* Add the -p<threads> option and compile -pthread by default. This is only useful when the source and/or destination is a remote host. Note that parallel transaction mode will not work with older cpdup binaries on the remote end.
This greatly improves cpdup's performance when operating on a remote source and/or target.
* Add -l to force stdout and stderr to be line-buffered.
show more ...
|
#
4d858d58 |
| 13-Aug-2006 |
Matthew Dillon <dillon@dragonflybsd.org> |
Add a remote host capability for both the source and target directory specifications. A specification in the form user@host:path will initiate a ssh link to the remote machine and attempt to run a c
Add a remote host capability for both the source and target directory specifications. A specification in the form user@host:path will initiate a ssh link to the remote machine and attempt to run a cpdup slave.
The protocol is not all that fast but it is a good start. The cpignore and md5 features are not currently available for remote sources and the fsmid feature is not currently available for remote targets. However, the incremental backup feature (-H) *IS* available.
The code is currently considered to be highly experimental and does not yet adjust for mismatched byte orderings (but the protocol is designed to make this possible in the future).
show more ...
|