Age | Commit message (Collapse) | Author |
|
amendments to his diff are noted on tech
|
|
|
|
Input from deraadt@
OK claudio@
|
|
io_read_int() already does the conversion so don't double up in
io_read_ulong(). Fixes openrsync on sparc64.
OK miod@ deraadt@
|
|
|
|
so that the loop works even for buffers bigger than 0xffffff. The code
does not produce such big buffers but better make the code correct.
Reported by Blago Dachev (blago (at) dachev (dot) com)
OK benno@
|
|
ton of namespace intrusion). Create local sizes, and refactor some code
along the way.
ok millert
|
|
|
|
|
|
|
|
|
|
This uses scan_scaled(3) from libutil which is very similar to how rsync
behaves. Not implemented are the +/-1 math and the 1000 vs 1024 multipliers.
OK benno@ job@
|
|
rpki-client wants --max-size and this will unblock that work.
With job@
|
|
3rd (variadic) mode_t parameter is irrelevant. Many developers in the past
have passed mode_t (0, 044, 0644, or such), which might lead future people
to copy this broken idiom, and perhaps even believe this parameter has some
meaning or implication or application. Delete them all.
This comes out of a conversation where tb@ noticed that a strange (but
intentional) pledge behaviour is to always knock-out high-bits from
mode_t on a number of system calls as a safety factor, and his bewilderment
that this appeared to be happening against valid modes (at least visually),
but no sorry, they are all irrelevant junk. They could all be 0xdeafbeef.
ok millert
|
|
|
|
additional directories to check for files to be available.
OK benno@
|
|
since the fts traverse does chdirs for performance reasons.
OK deraadt@
|
|
|
|
were added to rsync. from0 is one of those and really not needed.
OK job@
|
|
|
|
OK claudio@
|
|
|
|
Currently only simple include and excludes work, the advanced filters
introduced later in rsync are not implemented. It is unclear if the per
directory filters are something we want to implement. This requires
more modern protocols which openrsync is not able to handle right now.
This adds a special matching function to allow the ** matching which behaves
mostly like rsyncs version with the exception of how bad [] patterns are
expanded. For bad patterns openrsync follows more how fnmatch behaves and
not the somewhat strange rsync behaviour.
Not perfect but committing now so people can test and provide feedback.
|
|
exception of no-xyz options that are grouped with the coresponding xyz
option. Fix --no-motd to use the internal flag setting of getopt_long.
Also use some defines instead of numbers for pure long options that
need special handling.
OK benno@
|
|
|
|
todo list for rsync.
|
|
OK deraadt@
|
|
OK benno@
|
|
Noticed by and OK benno@
|
|
OK benno@
|
|
cases it was impossible to start the remote rsync anyway. Also now
fargs_cmdline() can no longer fail. Add missing err(ERR_IPC, "pldege")
for the cases in socket.c
OK benno@
|
|
the receiver when intial setup fails because of filesystem errors (unable
to open or create the base directory) or on memory failures.
OK benno@
|
|
proper rsync. This should help to make the tool behave more like the
real thing.
OK benno@
|
|
OK benno@
|
|
opened is a regular file. In other cases this may block in openat() (since
the O_NONBLOCK flag removed). Switch to fstatat() and then openat() to
protect from involuntary side-effects (like opening a device node) and
possible hangs.
OK benno@
|
|
files since they will never "block". Remove the UPLOAD_READ_LOCAL state
and inline the meta data check into pre_file().
Plug one memory leak and cleanup code a bunch.
OK benno@
|
|
OK florian@ benno@
|
|
|
|
|
|
Fine deraadt@
|
|
not able to properly unveil itself because you can request many files
as arguments. At the same time the sender is read-only and uses rpath
pledge() so the gain from unveil() is less of an issue.
On the receiver side all files land in one directory and this part still
uses unveil() to protect rsync to somehow walk out of the destination
directory.
From kristaps@
|
|
From kristaps@
|
|
Also the id is a strictly positve integer so this make sense.
Cleanup comments and a spacing while there.
From kristaps@
|
|
impossible condition. The map argument is from a pread() call and can never
be MAP_FAILED.
From kristaps@
|
|
From kristaps@
|
|
From kristaps@
|
|
Without this the server will immediatly fail because the poll timeout is 0.
Found and reported by Daniel Moch (daniel at danielmoch dot com)
|
|
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@
|
|
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
|
|
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
|