summaryrefslogtreecommitdiff
path: root/usr.bin/rsync
AgeCommit message (Collapse)Author
2020-12-15Initialize the poll_timeout before rsync_server() is called.Claudio Jeker
Without this the server will immediatly fail because the poll timeout is 0. Found and reported by Daniel Moch (daniel at danielmoch dot com)
2020-11-24Simple implementation of --timeout to exit after specified seconds of I/OClaudio Jeker
inactivity. By default rsync will wait forever but this results in stuck processes if the remote side does not answer properly as seen in rpki-client. OK job@ benno@
2020-08-19Handle EADDRNOAVAIL from connect(2) gracefullykn
The server's DNS name may yield multiple addresses of different address families; in case the local client has no suitable address, i.e. connect(2) fails with EADDRNOTAVAIL, do not fail hard but try the next address instead. Report (IPv6 only client with dualstack server) and diff from Sasha Romijn. OK job
2020-05-17__FILE__ and __LINE__ information are fine during early development, orTheo de Raadt
occasionally for fatal source-code bugs are critical and must be hunted down. It is NOT suitable to expose regular users to this on a regular basis though. ok kn beck
2020-02-11Simplify and unify wording for the -I sourceaddr option in various places.Theo de Raadt
This is somewhat related to the "-b bind_addr" option some programs have, which should get some cleanup also... input florian claudio jmc
2020-01-04Delete .Xrs to rsync(5) and rsyncd(5).Ingo Schwarze
If somebody wants to install these two manual pages describing the protocols, it is easy to put these two links back. Dead links reported by <Aham dot Brahmasmi at gmx dot com>. OK jmc@ florian@
2019-08-26replace a mmap() with pread(). The mmap() is not needed, the file isSebastian Benoit
read sequentially anyway, (hash-sized) block by block. This avoids counting potentially large files against the memory limits of the process. Problem reported by Jan Stary, thanks. ok deraadt@
2019-08-09Only print the message of the day in the rsyncd header if rsync isClaudio Jeker
started with -v. In normal operation rsync should only print errors. OK benno@ deraadt@
2019-08-09Add --address argument to openrsync to bind to the specified addressClaudio Jeker
when connecting to a rsync daemon. OK deraadt@ benno@ naddy@ sthen@
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.