OpenBSD CVS

CVS log for src/usr.bin/rsync/receiver.c


[BACK] Up to [local] / src / usr.bin / rsync

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.32 / (download) - annotate - [select for diffs], Mon Nov 27 11:30:49 2023 UTC (5 months, 3 weeks ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, HEAD
Changes since 1.31: +3 -2 lines
Diff to previous 1.31 (colored)

Implement --omit-link-times / -J based on the --omit-dir-times work
done by job@.
OK tb@

Revision 1.25.2.1 / (download) - annotate - [select for diffs], Tue Nov 9 13:41:24 2021 UTC (2 years, 6 months ago) by benno
Branch: OPENBSD_6_9
Changes since 1.25: +60 -66 lines
Diff to previous 1.25 (colored) next main 1.26 (colored)

rpki-client(8) should handle CA misbehaviours as soft-errors.

This is a merge of usr.sbin/rpki-client and usr.bin/rsync from current
and includes all commits in rpki-client 7.5 up to Tue Nov 9 11:03:40
2021 and to openrsync up to Wed Nov 3 14:42:13 2021, including:

* Make rpki-client more resilient regarding untrusted input:
  - fail repository synchronisation after 15min runtime
  - limit the number of publication points per TAL
  - don't allow DOCTYPE definitions in RRDP XML files
  - fix detection of HTTP redirect loops.
* limit the number of concurrent rsync processes.
* fix CRLF in tal files.

This is patches/6.9/common/021_rpki.patch.sig

Revision 1.29.2.1 / (download) - annotate - [select for diffs], Tue Nov 9 13:40:41 2021 UTC (2 years, 6 months ago) by benno
Branch: OPENBSD_7_0
Changes since 1.29: +40 -29 lines
Diff to previous 1.29 (colored) next main 1.30 (colored)

rpki-client(8) should handle CA misbehaviours as soft-errors.

This is a merge of usr.sbin/rpki-client and usr.bin/rsync from current
and includes all commits in rpki-client 7.5 up to Tue Nov 9 11:03:40
2021 and to openrsync up to Wed Nov 3 14:42:13 2021, including:

* Make rpki-client more resilient regarding untrusted input:
  - fail repository synchronisation after 15min runtime
  - limit the number of publication points per TAL
  - don't allow DOCTYPE definitions in RRDP XML files
  - fix detection of HTTP redirect loops.
* limit the number of concurrent rsync processes.
* fix CRLF in tal files.

This is patches/7.0/common/004_rpki.patch.sig

Revision 1.31 / (download) - annotate - [select for diffs], Sun Oct 24 21:24:17 2021 UTC (2 years, 6 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.30: +2 -2 lines
Diff to previous 1.30 (colored)

For open/openat, if the flags parameter does not contain O_CREAT, the
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

Revision 1.30 / (download) - annotate - [select for diffs], Fri Oct 22 11:10:34 2021 UTC (2 years, 6 months ago) by claudio
Branch: MAIN
Changes since 1.29: +39 -28 lines
Diff to previous 1.29 (colored)

Implement --compare-dest in openrsync. compare-dest allows you to add
additional directories to check for files to be available.
OK benno@

Revision 1.29 / (download) - annotate - [select for diffs], Sun Aug 29 13:43:46 2021 UTC (2 years, 8 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE
Branch point for: OPENBSD_7_0
Changes since 1.28: +9 -18 lines
Diff to previous 1.28 (colored)

Implement --exclude/exclude-file and --include/include-file.
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.

Revision 1.28 / (download) - annotate - [select for diffs], Wed Jun 30 13:10:04 2021 UTC (2 years, 10 months ago) by claudio
Branch: MAIN
Changes since 1.27: +1 -1 lines
Diff to previous 1.27 (colored)

Replace Id: tags with OpenBSD: tags
OK deraadt@

Revision 1.27 / (download) - annotate - [select for diffs], Mon May 17 11:59:09 2021 UTC (3 years ago) by claudio
Branch: MAIN
Changes since 1.26: +15 -26 lines
Diff to previous 1.26 (colored)

If pledge() or unveil() fails error out with ERR_IPC. Also error out in
the receiver when intial setup fails because of filesystem errors (unable
to open or create the base directory) or on memory failures.
OK benno@

Revision 1.26 / (download) - annotate - [select for diffs], Thu May 6 07:29:59 2021 UTC (3 years ago) by claudio
Branch: MAIN
Changes since 1.25: +12 -9 lines
Diff to previous 1.25 (colored)

More code cleanup
OK florian@ benno@

Revision 1.25 / (download) - annotate - [select for diffs], Tue Nov 24 16:54:44 2020 UTC (3 years, 5 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE
Branch point for: OPENBSD_6_9
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

Simple implementation of --timeout to exit after specified seconds of I/O
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@

Revision 1.24 / (download) - annotate - [select for diffs], Wed May 8 21:30:11 2019 UTC (5 years ago) by benno
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.23: +5 -4 lines
Diff to previous 1.23 (colored)

remove sess argument from all functions that only used it for logging
functions.
ok deraadt@

Revision 1.23 / (download) - annotate - [select for diffs], Wed May 8 20:00:25 2019 UTC (5 years ago) by benno
Branch: MAIN
Changes since 1.22: +50 -52 lines
Diff to previous 1.22 (colored)

remove sess argument from log functions. ok deraadt@

Revision 1.22 / (download) - annotate - [select for diffs], Sat Mar 30 07:28:55 2019 UTC (5 years, 1 month ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.21: +42 -38 lines
Diff to previous 1.21 (colored)

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

Revision 1.21 / (download) - annotate - [select for diffs], Sat Mar 23 16:04:28 2019 UTC (5 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.20: +6 -5 lines
Diff to previous 1.20 (colored)

indents and reflows around ERR*() and LOG*(); ok benno

Revision 1.20 / (download) - annotate - [select for diffs], Fri Mar 22 19:56:47 2019 UTC (5 years, 1 month ago) by cheloha
Branch: MAIN
Changes since 1.19: +11 -17 lines
Diff to previous 1.19 (colored)

gettimeofday(2)+TIMEVAL_TO_TIMESPEC -> UTIME_NOW; simpler & more portable.

ok millert@

Revision 1.19 / (download) - annotate - [select for diffs], Mon Feb 18 21:55:27 2019 UTC (5 years, 3 months ago) by benno
Branch: MAIN
Changes since 1.18: +3 -3 lines
Diff to previous 1.18 (colored)

revert previous

Revision 1.18 / (download) - annotate - [select for diffs], Mon Feb 18 21:34:54 2019 UTC (5 years, 3 months ago) by benno
Branch: MAIN
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)

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@.

Revision 1.17 / (download) - annotate - [select for diffs], Sun Feb 17 16:34:04 2019 UTC (5 years, 3 months ago) by deraadt
Branch: MAIN
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)

more yoda repairs

Revision 1.16 / (download) - annotate - [select for diffs], Sat Feb 16 16:57:17 2019 UTC (5 years, 3 months ago) by florian
Branch: MAIN
Changes since 1.15: +5 -2 lines
Diff to previous 1.15 (colored)

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).

Revision 1.15 / (download) - annotate - [select for diffs], Sat Feb 16 10:49:37 2019 UTC (5 years, 3 months ago) by florian
Branch: MAIN
Changes since 1.14: +2 -1 lines
Diff to previous 1.14 (colored)

I did some work here.

Revision 1.14 / (download) - annotate - [select for diffs], Sat Feb 16 10:48:05 2019 UTC (5 years, 3 months ago) by florian
Branch: MAIN
Changes since 1.13: +68 -5 lines
Diff to previous 1.13 (colored)

implement -D and in turn -a

"you snooze, you get collisions" deraadt@

Revision 1.13 / (download) - annotate - [select for diffs], Sat Feb 16 10:47:20 2019 UTC (5 years, 3 months ago) by florian
Branch: MAIN
Changes since 1.12: +11 -1 lines
Diff to previous 1.12 (colored)

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@

Revision 1.12 / (download) - annotate - [select for diffs], Sat Feb 16 10:44:01 2019 UTC (5 years, 3 months ago) by florian
Branch: MAIN
Changes since 1.11: +4 -4 lines
Diff to previous 1.11 (colored)

Add chown pledge so that root can gift files to other uids.

"you snooze, you get collisions" deraadt@

Revision 1.11 / (download) - annotate - [select for diffs], Sat Feb 16 05:30:28 2019 UTC (5 years, 3 months ago) by deraadt
Branch: MAIN
Changes since 1.10: +5 -3 lines
Diff to previous 1.10 (colored)

use gettimeofday + TIMEVAL_TO_TIMESPEC to create timespec with better
than 1 sec resolution
ok benno

Revision 1.10 / (download) - annotate - [select for diffs], Sat Feb 16 05:25:09 2019 UTC (5 years, 3 months ago) by deraadt
Branch: MAIN
Changes since 1.9: +1 -4 lines
Diff to previous 1.9 (colored)

If anyone ports this to 6.4 they'll just comment out unveil, don't waste
lines telling them.

Revision 1.9 / (download) - annotate - [select for diffs], Sat Feb 16 05:06:30 2019 UTC (5 years, 3 months ago) by deraadt
Branch: MAIN
Changes since 1.8: +2 -3 lines
Diff to previous 1.8 (colored)

unwrap lines which do not need wrapping

Revision 1.8 / (download) - annotate - [select for diffs], Thu Feb 14 18:30:11 2019 UTC (5 years, 3 months ago) by florian
Branch: MAIN
Changes since 1.7: +9 -7 lines
Diff to previous 1.7 (colored)

sync with kristaps, commit 7d2b721bec7937a4a155ca0635750bcbaff76d02

Only preserve uids if we're root.

Revision 1.7 / (download) - annotate - [select for diffs], Thu Feb 14 18:29:08 2019 UTC (5 years, 3 months ago) by florian
Branch: MAIN
Changes since 1.6: +48 -1 lines
Diff to previous 1.6 (colored)

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.

Revision 1.6 / (download) - annotate - [select for diffs], Tue Feb 12 17:58:35 2019 UTC (5 years, 3 months ago) by benno
Branch: MAIN
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

sync, this also adds the -g option to the option parser.

commit c7818bfb17195fcd7b723889bb8652b9ea024b01
Author: kristaps <>
Date:   Mon Feb 11 23:26:55 2019 +0000

    Add getpw pledge for -g work.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Feb 11 21:41:22 2019 UTC (5 years, 3 months ago) by deraadt
Branch: MAIN
Changes since 1.4: +16 -16 lines
Diff to previous 1.4 (colored)

swap comparison arguments as needed, to match idiomatic C most of us
are familiar with.  Proofed by florian and benno

Revision 1.4 / (download) - annotate - [select for diffs], Mon Feb 11 19:18:36 2019 UTC (5 years, 3 months ago) by deraadt
Branch: MAIN
Changes since 1.3: +18 -18 lines
Diff to previous 1.3 (colored)

cleanup weird spaces around !.  (We normalize source-code to a standard
idiom because it is less error prone for a larger team.  kristaps idiom
is highly divergent)
ok benno

Revision 1.3 / (download) - annotate - [select for diffs], Sun Feb 10 23:43:31 2019 UTC (5 years, 3 months ago) by benno
Branch: MAIN
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored)

canonical order of pledge()s.
stop at 80 char line lenght.

Revision 1.2 / (download) - annotate - [select for diffs], Sun Feb 10 23:24:14 2019 UTC (5 years, 3 months ago) by benno
Branch: MAIN
Changes since 1.1: +15 -15 lines
Diff to previous 1.1 (colored)

fix whitespace

Revision 1.1 / (download) - annotate - [select for diffs], Sun Feb 10 23:18:28 2019 UTC (5 years, 3 months ago) by benno
Branch: MAIN

Import Kristaps' openrsync into the tree.
OK deraadt@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.