summaryrefslogtreecommitdiff
path: root/usr.bin/rsync
AgeCommit message (Collapse)Author
2019-06-28When system calls indicate an error they return -1, not some arbitraryTheo de Raadt
value < 0. errno is only updated in this case. Change all (most?) callers of syscalls to follow this better, and let's see if this strictness helps us in the future.
2019-06-27Some asprintf() calls were checked < 0, rather than the precise == -1.Theo de Raadt
ok millert nicm tb, etc
2019-06-23fix free() on uninitialized pointer with -rx and sameSebastian Benoit
suggestions and ok naddy@ and ok previois diff florian@. from Hiltjo Posthuma hiltjo AT codemadness DOT org and Bjoern Ketelaars bjorn DOT ketelaars AT hydroxide DOT nl, Thanks.
2019-06-03Don't close the socket in rsync_socket() itself but after calling it.Christian Weisgerber
Fixes a corner case where the socket was closed twice, reported by Hiltjo Posthuma. ok deraadt@
2019-06-02KNF and sneaky whitespacesTheo de Raadt
2019-06-02Use a simple hash table to look up blocks by the fast-hash. Also useFlorian Obser
a rolling computation for the fast-hash.OB With this openrsync is on par with gpl rsync for file updates. From kristaps
2019-06-02have_md is initialized at startup, don't need to do it again laterTheo de Raadt
from Hiltjo Posthuma
2019-06-02spelling; from Hiltjo PosthumaTheo de Raadt
2019-05-28unintialized fd passed to close(), found by hiltjo posthumaTheo de Raadt
2019-05-08remove sess argument from all functions that only used it for loggingSebastian Benoit
functions. ok deraadt@
2019-05-08remove sess argument from log functions. ok deraadt@Sebastian Benoit
2019-05-06Remove an example that doesn't do what the accompanying text says,Ingo Schwarze
with the current formatting. OK benno@ naddy@ The original suggestion to delete it rather than fix it came from deraadt@: we do not want to encourage use of --rsync-path because it is important that the openrsync client smoothly works with the Samba rsync server. If it doesn't, we should fix it and not fragment the ecosystem.
2019-04-04Add support for not crossing filesystem boundaries (-x) to rsync. Optionbket
and behaviour is the same as GPL rsync. Initial diff received feedback from benno@, schwarze@, deraadt@ and florian@. Thanks! OK deraadt@
2019-04-02annoying white spaceTheo de Raadt
2019-04-02Pull in addargs() API from ssh to replace complicated hand-rolled argumentTheo de Raadt
composition code for the remote process. ok florian naddy
2019-04-01many improvements to rsync(1) documentation:Ingo Schwarze
tweaks and OK deraadt@ naddy@
2019-03-31Drop --devices and --specials from the synopsis because they are onlyIngo Schwarze
low-utility parts of the more useful and shorter -D. Nice because it brings the synopsis down to two lines, and because the approach buys us additional time before the synopsis may grow disgustingly long again. "Shrug. Probably helps." deraadt@
2019-03-31Increasing strictness regarding signed-vs-unsigned types and their rangeTheo de Raadt
in the io-path, whic is done by seperating int vs uint functions variants. reviewed by naddy, florian, and jsg
2019-03-31Add ability to combine rsync:// and -e by splitting rsync_socket()Christian Weisgerber
into two functions, rsync_connect() to establish a TCP connection to the remote daemon, and rsync_socket() to run the actual protocol. E.g.: rsync -av --del -e 'ssh -W localhost:rsync -lanoncvs' \ rsync://anoncvs.spacehopper.org/OpenBSD-CVS/ /cvs ok deraadt@
2019-03-30Make the synopsis more palatable by deleting useless long optionIngo Schwarze
aliases where short or shorter forms exist; of course, the long versions remain in the full option listing as well as in the code. Also drop some redundant repetions of .Fl macros. OK jmc@ deraadt@
2019-03-30repair confusing "} if" indent; from naddyTheo de Raadt
2019-03-30document --del, ok deraadt@Christian Weisgerber
2019-03-30For now perform utimes, chown, chmod in the same order as cp(1), untilTheo de Raadt
we know later how rsync wants to behave and how it interacts with future option development. This sequence is safest, since it drops setugid bits in case of failure to chown.. ok florian
2019-03-30Add --del as alias for --delete.Christian Weisgerber
Drop --no-delete. The "no-" prefix is only available for options that are implied by other options. --delete is never implied and GPL rsync does not accept --no-delete. ok deraadt@
2019-03-30fix typo in ERRX1Theo de Raadt
2019-03-26Same INT32_MAX vs -1 confusion on the write-sideTheo de Raadt
(previous commit was for read-side)
2019-03-26INT32_MAX isn't -1, to indicate re-read for 64-bit value.Theo de Raadt
Diagnosed by krw, ok florian
2019-03-25-z support isn't as trivial as linking -lz so it hasn't been writtenTheo de Raadt
yet. In the meantime, make it a warning-no-op, as most usage cases will be satisfied by this (and hopefully annoy someone to write support) ok florian benno
2019-03-23Treat time from remote as unsigned 32 bit rather than signed, whenTheo de Raadt
casting it into a time_t. If the remote doesn't muck things up, we may make it through 2038.. (best that can be done without protocol repair and coordination) ok benno
2019-03-23indents and reflows around ERR*() and LOG*(); ok bennoTheo de Raadt
2019-03-23repair exit codes, slightly broken after last commit (please do not goTheo de Raadt
to an enum, that's just alien). Documents the return values in each function and unifies the protocol incompatibility error message. from kristaps
2019-03-22Don't register this manual page under the name rsync(1) yetIngo Schwarze
because "man rsync" still ought to show the manual page from the port. Consistently use the name "openrsync" for now. Issue reported by espie@; OK jmc@.
2019-03-22gettimeofday(2)+TIMEVAL_TO_TIMESPEC -> UTIME_NOW; simpler & more portable.cheloha
ok millert@
2019-03-18add a temporary addition to NAME for openrsync; ok deraadtJason McIntyre
2019-03-18repair a few more yoda comparesTheo de Raadt
2019-03-18flesh out SYNOPSIS and usage() somewhat;Jason McIntyre
ok deraadt benno
2019-03-18install rsync as openrsync, so that people can easily familiarizeTheo de Raadt
themselves with using it (as front end -- it will talk to the installed 'rsync' on the remote side). this will allow folks to give it a shot, identify weaknesses, collaborate, etc etc etc discussed with benno
2019-03-06Simplify startup code, various phases are heading straight towards exitTheo de Raadt
so they don't need to be constructed to return errors. ok benno florian
2019-02-22remove __BEGIN_DECLS/__END_DECLS, this .h file wont beSebastian Benoit
read by a C++ compiler, and __* are no lonmger recommended. https://www.gnu.org/software/libtool/manual/html_node/C-header-files.html ok deraadt@
2019-02-21kristaps f18392f58d1f0bc72917e3ac3a46be74c194688dSebastian Benoit
Document that the gid/uid list may be empty. Fixes https://github.com/kristapsdz/openrsync/issues/10
2019-02-21kristaps cbe83cd64f40e634dbc22d3f2918c41977a6514dSebastian Benoit
If we don't get a uid/gid map, such as with an rsync:// address, we might not be able to map. So fall back on numeric ids.
2019-02-21kristaps 7721288a1d170f4d789bf7a7b822f14f91f7bcb9Sebastian Benoit
In order for GPL rsync(1) to work with --delete when openrsync is a remote sender, we need to set the FLIST_TOP_LEVEL bit for all top-level directories. This is because the GPL rsync(1) uses this bit to determine which directories to scan for files for deletion.
2019-02-21kristaps 156cf3b7d459efe133d603158fc33c243dc07ba0Sebastian Benoit
Use style(9) for bit
2019-02-21kristaps 97df28257f3cc5faae8072fbadbc334a57a4e8a7Sebastian Benoit
Remove another potential deadlock when in sender mode with multiplexing enabled.
2019-02-21kristaps b1c688cad9f544a59b871c9984888cb1a3ae11e4Sebastian Benoit
Avoid crash when -n is specified.
2019-02-21kristaps acb8f263717f27691f0318d4b7154f854b7206b3Sebastian Benoit
As found by benno@, if --numeric-ids is passed in, rsync does not send or receive the uid/gid lists at all. This also means that we need not process the lists, as we're simply going to copy around the same value.
2019-02-21implement --numeric-ids, tweaked by kristapsSebastian Benoit
2019-02-18new attempt to sync with kristaps up to Sun Feb 17 2019Sebastian Benoit
339cf5998c0c022623cd68de50722b6c14543952 Push "error trail" further into code. baf58ce5fe1bc6ce431b3b0ac8264b83ae8c7d02 Document all arguments. Add common -av usage. Remove bits about not supporting anything but files/dirs. 821a811a8c80e52fb56b241fc65a16cae1b4fb2c Disambiguate as prodded by deraadt@ 6c4475b8f226e9031ec0ec1b3f14f7d347132c87 Add -h to usage string 4d344ae6156873b44c95de0c1ed629e637c2d7ab Clarify error message language, use service name instead of port, specify that the socket is SOCK_STREAM. From deraadt@. Tweaked for lowercase messages. f3ec049e76257fc96bcdc872f1d3b967b98f3eb6 In consideration to benno@'s comments, let the mktemp functions propogate an errno handled by the caller. Also keep the original line lengths. While in mktemp.c, make some defines into an enum. e116c2bd00e634b56e4276120135915ceaa31cf2 Put the FSM of the sender into its own function. Put dry_run ack and end of phase ack into the send buffer too, further reducing the possibility of deadlock. c7745aa4c7394ca89d841f8ee76782256d694340 Make the sender write loop be fully non-blocking. This frees us of deadlocking the protocol because the sender will always be able to pull down data. 93c7b4843e80aeac2ec6ae6ffc395df4deaf4a31 Remove "yoda" notation to be more in tune with OpenBSD. Most found by deraadt@.
2019-02-18revert previousSebastian Benoit
2019-02-18sync with kristaps up to Sun Feb 17 2019Sebastian Benoit
339cf5998c0c022623cd68de50722b6c14543952 Push "error trail" further into code. baf58ce5fe1bc6ce431b3b0ac8264b83ae8c7d02 Document all arguments. Add common -av usage. Remove bits about not supporting anything but files/dirs. 821a811a8c80e52fb56b241fc65a16cae1b4fb2c Disambiguate as prodded by deraadt@ 6c4475b8f226e9031ec0ec1b3f14f7d347132c87 Add -h to usage string 4d344ae6156873b44c95de0c1ed629e637c2d7ab Clarify error message language, use service name instead of port, specify that the socket is SOCK_STREAM. From deraadt@. Tweaked for lowercase messages. f3ec049e76257fc96bcdc872f1d3b967b98f3eb6 In consideration to benno@'s comments, let the mktemp functions propogate an errno handled by the caller. Also keep the original line lengths. While in mktemp.c, make some defines into an enum. e116c2bd00e634b56e4276120135915ceaa31cf2 Put the FSM of the sender into its own function. Put dry_run ack and end of phase ack into the send buffer too, further reducing the possibility of deadlock. c7745aa4c7394ca89d841f8ee76782256d694340 Make the sender write loop be fully non-blocking. This frees us of deadlocking the protocol because the sender will always be able to pull down data. 93c7b4843e80aeac2ec6ae6ffc395df4deaf4a31 Remove "yoda" notation to be more in tune with OpenBSD. Most found by deraadt@.