git: cpdup - Multiple additions, fixes, and one removal

看板DFBSD_commit作者時間16年前 (2009/12/04 05:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 293141b7083f343cbec98a068441d2af3a93bb89 Author: Matthew Dillon <dillon@apollo.backplane.com> Date: Thu Dec 3 12:55:24 2009 -0800 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> Summary of changes: bin/cpdup/BACKUPS | 64 ++++- bin/cpdup/Makefile | 6 +- bin/cpdup/PORTING | 6 +- bin/cpdup/cpdup.1 | 141 ++++++---- bin/cpdup/cpdup.c | 838 +++++++++++++++++++++++++-------------------------- bin/cpdup/cpdup.h | 13 +- bin/cpdup/hclink.c | 162 +---------- bin/cpdup/hclink.h | 18 +- bin/cpdup/hcproto.c | 176 +++++++++-- bin/cpdup/hcproto.h | 7 +- bin/cpdup/misc.c | 9 +- 11 files changed, 728 insertions(+), 712 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/293141b7083f343cbec98a068441d2af3a93bb89 -- DragonFly BSD source repository
文章代碼(AID): #1B62vQhf (DFBSD_commit)