Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 7ddad9c7 | 2020-05-17 19:54:41 | __FILE__ and __LINE__ information are fine during early development, or 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 | ||
| 70813041 | 2020-02-11 18:41:39 | Simplify and unify wording for the -I sourceaddr option in various places. This is somewhat related to the "-b bind_addr" option some programs have, which should get some cleanup also... input florian claudio jmc | ||
| fdde5f0a | 2020-01-04 11:53:53 | Delete .Xrs to rsync(5) and rsyncd(5). 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@ | ||
| c314c803 | 2019-08-26 22:22:14 | replace a mmap() with pread(). The mmap() is not needed, the file is 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@ | ||
| 7b590dfa | 2019-08-09 13:11:26 | Only print the message of the day in the rsyncd header if rsync is started with -v. In normal operation rsync should only print errors. OK benno@ deraadt@ | ||
| a52e5c3a | 2019-08-09 05:28:01 | Add --address argument to openrsync to bind to the specified address when connecting to a rsync daemon. OK deraadt@ benno@ naddy@ sthen@ | ||
| 3aaa63eb | 2019-06-28 13:34:58 | When system calls indicate an error they return -1, not some arbitrary 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. | ||
| 95af8abf | 2019-06-27 18:03:36 | Some asprintf() calls were checked < 0, rather than the precise == -1. ok millert nicm tb, etc | ||
| 447e3174 | 2019-06-23 10:28:32 | fix free() on uninitialized pointer with -rx and same 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. | ||
| 0724efd0 | 2019-06-03 15:37:48 | Don't close the socket in rsync_socket() itself but after calling it. Fixes a corner case where the socket was closed twice, reported by Hiltjo Posthuma. ok deraadt@ | ||
| dc4a3938 | 2019-06-02 17:43:34 | KNF and sneaky whitespaces | ||
| ea555712 | 2019-06-02 17:36:48 | Use a simple hash table to look up blocks by the fast-hash. Also use a rolling computation for the fast-hash.OB With this openrsync is on par with gpl rsync for file updates. From kristaps | ||
| 57d08c5e | 2019-06-02 14:30:51 | have_md is initialized at startup, don't need to do it again later from Hiltjo Posthuma | ||
| 69cdce33 | 2019-06-02 14:29:58 | spelling; from Hiltjo Posthuma | ||
| 47e90edf | 2019-05-28 18:20:30 | unintialized fd passed to close(), found by hiltjo posthuma | ||
| ba617ada | 2019-05-08 21:30:11 | remove sess argument from all functions that only used it for logging functions. ok deraadt@ | ||
| b2a7eac7 | 2019-05-08 20:00:25 | remove sess argument from log functions. ok deraadt@ | ||
| 45df3426 | 2019-05-06 15:44:34 | Remove an example that doesn't do what the accompanying text says, 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. | ||
| 1c3d4160 | 2019-04-04 04:19:54 | Add support for not crossing filesystem boundaries (-x) to rsync. Option and behaviour is the same as GPL rsync. Initial diff received feedback from benno@, schwarze@, deraadt@ and florian@. Thanks! OK deraadt@ | ||
| 8a54c977 | 2019-04-02 11:05:55 | annoying white space | ||
| 4d864e8f | 2019-04-02 05:32:08 | Pull in addargs() API from ssh to replace complicated hand-rolled argument composition code for the remote process. ok florian naddy | ||
| 47f3c363 | 2019-04-01 13:04:51 | many improvements to rsync(1) documentation: tweaks and OK deraadt@ naddy@ | ||
| cf0720cb | 2019-03-31 13:17:44 | Drop --devices and --specials from the synopsis because they are only 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@ | ||
| aa1dcd86 | 2019-03-31 09:26:05 | Increasing strictness regarding signed-vs-unsigned types and their range in the io-path, whic is done by seperating int vs uint functions variants. reviewed by naddy, florian, and jsg | ||
| ac024dd4 | 2019-03-31 08:47:46 | Add ability to combine rsync:// and -e by splitting rsync_socket() 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@ | ||
| 8767334c | 2019-03-30 23:48:24 | Make the synopsis more palatable by deleting useless long option 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@ | ||
| 79782833 | 2019-03-30 09:55:05 | repair confusing "} if" indent; from naddy | ||
| 8dad8af8 | 2019-03-30 09:32:54 | document --del, ok deraadt@ | ||
| afb54730 | 2019-03-30 07:28:55 | For now perform utimes, chown, chmod in the same order as cp(1), until 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 | ||
| 90d56d89 | 2019-03-30 07:24:42 | Add --del as alias for --delete. 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@ | ||
| 80888faf | 2019-03-30 07:24:02 | fix typo in ERRX1 | ||
| 4fbea989 | 2019-03-26 17:13:42 | Same INT32_MAX vs -1 confusion on the write-side (previous commit was for read-side) | ||
| 75c8f3ba | 2019-03-26 16:20:03 | INT32_MAX isn't -1, to indicate re-read for 64-bit value. Diagnosed by krw, ok florian | ||
| 4eeef55c | 2019-03-25 21:09:49 | -z support isn't as trivial as linking -lz so it hasn't been written 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 | ||
| 60ac34c7 | 2019-03-23 23:22:57 | Treat time from remote as unsigned 32 bit rather than signed, when 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 | ||
| 02f20df6 | 2019-03-23 16:04:28 | indents and reflows around ERR*() and LOG*(); ok benno | ||
| 83649630 | 2019-03-23 00:20:55 | repair exit codes, slightly broken after last commit (please do not go to an enum, that's just alien). Documents the return values in each function and unifies the protocol incompatibility error message. from kristaps | ||
| 82637e4e | 2019-03-22 20:12:23 | Don't register this manual page under the name rsync(1) yet 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@. | ||
| a4c5e668 | 2019-03-22 19:56:47 | gettimeofday(2)+TIMEVAL_TO_TIMESPEC -> UTIME_NOW; simpler & more portable. ok millert@ | ||
| c99dd5cd | 2019-03-18 18:11:07 | add a temporary addition to NAME for openrsync; ok deraadt | ||
| 08a7862d | 2019-03-18 15:33:21 | repair a few more yoda compares | ||
| 59175122 | 2019-03-18 08:11:11 | flesh out SYNOPSIS and usage() somewhat; ok deraadt benno | ||
| e762119d | 2019-03-18 04:32:31 | install rsync as openrsync, so that people can easily familiarize 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 | ||
| ef859540 | 2019-03-06 18:37:22 | Simplify startup code, various phases are heading straight towards exit so they don't need to be constructed to return errors. ok benno florian | ||
| e341876b | 2019-02-22 09:54:36 | remove __BEGIN_DECLS/__END_DECLS, this .h file wont be 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@ | ||
| 1c13accf | 2019-02-21 22:15:09 | kristaps f18392f58d1f0bc72917e3ac3a46be74c194688d Document that the gid/uid list may be empty. Fixes https://github.com/kristapsdz/openrsync/issues/10 | ||
| 4cdf811f | 2019-02-21 22:13:43 | kristaps cbe83cd64f40e634dbc22d3f2918c41977a6514d 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. | ||
| 521a61e9 | 2019-02-21 22:12:48 | kristaps 7721288a1d170f4d789bf7a7b822f14f91f7bcb9 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. | ||
| 2b7b2d66 | 2019-02-21 22:11:26 | kristaps 156cf3b7d459efe133d603158fc33c243dc07ba0 Use style(9) for bit | ||
| aeb41609 | 2019-02-21 22:09:47 | kristaps 97df28257f3cc5faae8072fbadbc334a57a4e8a7 Remove another potential deadlock when in sender mode with multiplexing enabled. | ||
| 021bd7ee | 2019-02-21 22:08:53 | kristaps b1c688cad9f544a59b871c9984888cb1a3ae11e4 Avoid crash when -n is specified. | ||
| 44dad8d1 | 2019-02-21 22:07:44 | kristaps acb8f263717f27691f0318d4b7154f854b7206b3 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. | ||
| 244291d8 | 2019-02-21 22:06:26 | implement --numeric-ids, tweaked by kristaps | ||
| 55cb9f91 | 2019-02-18 22:47:34 | new attempt to sync with kristaps up to Sun Feb 17 2019 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@. | ||
| 6304135b | 2019-02-18 21:55:27 | revert previous | ||
| 656be2b3 | 2019-02-18 21:34:54 | sync with kristaps up to Sun Feb 17 2019 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@. | ||
| 77bd653a | 2019-02-17 20:11:42 | delete bogus comment | ||
| 94851233 | 2019-02-17 18:11:50 | Add support for --port=PORT and ":port" in the rsync:// URL. real rsync only supports numbers, but this supports service names also ok florian benno | ||
| beac6248 | 2019-02-17 17:19:05 | rsync has a large number of failure exit codes, so don't get used to this weak sauce EXIT_SUCCESS / EXIT_FAILURE model (in our tree very few programs use this failed concept, almost as bad as sysexits.h) | ||
| ed5cc9fb | 2019-02-17 16:34:04 | more yoda repairs | ||
| b9097d22 | 2019-02-17 16:17:07 | cleanup protocl warning, and return exit code upwards. | ||
| 8203fa98 | 2019-02-17 15:59:09 | percolate exit code from deeper code, so that values other than 1 are possible on failure. looked at by florian | ||
| 50bfd723 | 2019-02-17 15:57:01 | improve option argument demonstration ok florian | ||
| 971126b2 | 2019-02-17 03:16:15 | Has to be SOCK_STREAM obviously | ||
| 3748d632 | 2019-02-16 23:16:54 | use MINIMUM() instead of MIN() as elsewhere in the tree | ||
| fed2fefe | 2019-02-16 17:59:33 | nasty ugly invisible spaces | ||
| 8dd1529e | 2019-02-16 17:51:46 | Document some long options | ||
| e04bcf5b | 2019-02-16 17:48:48 | --archive is same as -a | ||
| 0008c2b8 | 2019-02-16 17:43:06 | document -a, -D, --devices and --specials | ||
| b100cc17 | 2019-02-16 17:36:07 | add --help option | ||
| fb3b9998 | 2019-02-16 17:07:21 | document --version | ||
| 6d351849 | 2019-02-16 17:05:21 | add missing -no-OPT long options ok florian | ||
| 85f162de | 2019-02-16 16:59:34 | sync with kristaps, commit 42166a639caa877efd91e73e288b89abf6b7cfd3 Remove spaces at end of line. | ||
| 64a7cfb7 | 2019-02-16 16:58:39 | sync with kristaps, commit 1842d31d600f2834ae78fe0d99a29519a853d75c Make sender mostly nonblocking for writes. This takes a lot of logic once in blocks.c and puts it directly into sender.c. It allows running openrsync against itself without deadlocks. | ||
| cf0de74f | 2019-02-16 16:58:14 | sync with kristaps, commit d01f1b87a06c25353de28a9df45b3e202614b336 Add the lowbuffer routines. I'll use this in subsequent commits, but they pre-add the multiplexing frame instead of doing so during write. While here, clean up a lot of ERRX -> ERRX1 and add documentation. | ||
| ceac33e0 | 2019-02-16 16:57:48 | sync with kristaps, commit d7c4fb8ac88845aa08900d5d0ec469257f63a339 Use a static single block instead of multiple writes. | ||
| 0889042f | 2019-02-16 16:57:17 | sync with kristaps, commit f5c1e234990877cd274b7bcdd4d9883104cd1568 Make sender have reentrant sending and prioritised reading. This way, the sender gets data off the wire as quickly as possible. While here, remove dead wood from blocks.c (blk_merge). | ||
| 82d7dc7e | 2019-02-16 16:56:33 | sync with kristaps, commit ad6f9d84aa041d28b93cdf885a583a09f58b1b88 Remove superfluous includes. | ||
| f1c3f17c | 2019-02-16 16:55:35 | sync with kristaps, commit 9b79b4a3d06c810304321d5b58544751b5d9fefd Fast-track reads back into a read loop to avoid the buffer with writes while there are still reads pending. This resolve some bottlenecking. | ||
| 748bb43e | 2019-02-16 16:52:54 | use service "rsync" rather than "873" | ||
| 882186e9 | 2019-02-16 16:50:09 | getaddrinfo doesn't imply "DNS", borrow terminology from ssh ok benno | ||
| 3d9d1c33 | 2019-02-16 16:26:45 | -D bits, from kristaps | ||
| 80ee851f | 2019-02-16 16:25:45 | We need to send/receive the rdev after gid and before symlink. From kristaps, thanks! | ||
| dbc83512 | 2019-02-16 10:49:37 | I did some work here. | ||
| 434f41cd | 2019-02-16 10:48:05 | implement -D and in turn -a "you snooze, you get collisions" deraadt@ | ||
| cb6e4267 | 2019-02-16 10:47:20 | Handle file permissions in rsync_set_metadata(). We set permissions either when we create a new file or when the -p flag is set. "you snooze, you get collisions" deraadt@ | ||
| dbed5971 | 2019-02-16 10:46:22 | Introduce mkstempat(), a variation on mkstemp(3) and mkstemplinkat(). mkstempat() works exactly like mkstemp(3) except that it replaces open(2) with openat(2) so that it can be used in rsync_downloader() to easily deal with relative paths. mkstemplinkat() works somewhat like mkdtemp() to create a template symlink. Use the mkstemplinkat() to create or update symlinks and overwrite existing objects including empty directories that might exist under the destination name. "you snooze, you get collisions" deraadt@ | ||
| 85d611ce | 2019-02-16 10:44:01 | Add chown pledge so that root can gift files to other uids. "you snooze, you get collisions" deraadt@ | ||
| 88d8eecf | 2019-02-16 05:36:07 | a minimal --version long-option, so someone can unconfuse themselves | ||
| 76ddd9ad | 2019-02-16 05:30:28 | use gettimeofday + TIMEVAL_TO_TIMESPEC to create timespec with better than 1 sec resolution ok benno | ||
| f4f0873d | 2019-02-16 05:25:09 | If anyone ports this to 6.4 they'll just comment out unveil, don't waste lines telling them. | ||
| b1d34d51 | 2019-02-16 05:06:30 | unwrap lines which do not need wrapping | ||
| 22914ed4 | 2019-02-14 18:32:00 | sync with kristaps, commit 438c1948c76a1ecd94e53e09ba88ec7e93004540 Put back stray -o passed into child and add missing pledge. | ||
| 4aa1c7f9 | 2019-02-14 18:31:36 | sync with kristaps, commit 69f69c7c7c950d42e02666ac63e3b98ec9c972ec Document the -e splice, bring long line, put variable at top of function block. | ||
| df1d9d84 | 2019-02-14 18:31:01 | sync with kristaps, commit 71065b31649480ceb1ee6942232d673bf8ab70c8 Enable -o. | ||
| 7e1037e0 | 2019-02-14 18:30:11 | sync with kristaps, commit 7d2b721bec7937a4a155ca0635750bcbaff76d02 Only preserve uids if we're root. | ||
| cc85e6af | 2019-02-14 18:29:08 | sync with kristaps, commit be8a27a290d5171290c015284542f2af4296be12 Put permission-setting code into its own function, as we'll need to call it from several places. Also enable that -o sets the owner. | ||
| bf270584 | 2019-02-14 18:28:23 | sync with kristaps, commit ab90d923f89b06308190d9fe371c7663c077e2bd -o isn't finished yet... | ||
| 7678960e | 2019-02-14 18:27:39 | sync with kristaps, commit f77ca97c9f2ee916ee7f551d7b37676c1bd06b55 Document preserving user ids. | ||
| 8f34fbc5 | 2019-02-14 18:26:52 | sync with kristaps, commit c5350b9055c3921001778275bb808a5c811c21c1 Protocol-level support for -o. The actual sharing itself is more or less a copy of the existing -g code. I've refactored a lot of the ids.c code to be generic and only accept a "isgid", as the rest is the same. So there's some churn as I make all references to "group" be generic. |