OpenBSD CVS

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


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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.33 / (download) - annotate - [select for diffs], Mon Dec 26 19:16:02 2022 UTC (16 months, 3 weeks ago) by jmc
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, HEAD
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

spelling fixes; from paul tagliamonte
amendments to his diff are noted on tech

Revision 1.32 / (download) - annotate - [select for diffs], Tue Aug 2 18:09:20 2022 UTC (21 months, 2 weeks ago) by job
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2
Changes since 1.31: +32 -19 lines
Diff to previous 1.31 (colored)

Add --contimeout functionality.

Input from deraadt@

OK claudio@

Revision 1.29.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.29: +4 -7 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/6.9/common/021_rpki.patch.sig

Revision 1.31 / (download) - annotate - [select for diffs], Wed Jun 30 13:10:04 2021 UTC (2 years, 10 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.30: +1 -1 lines
Diff to previous 1.30 (colored)

Replace Id: tags with OpenBSD: tags
OK deraadt@

Revision 1.30 / (download) - annotate - [select for diffs], Mon May 17 12:02:58 2021 UTC (3 years ago) by claudio
Branch: MAIN
Changes since 1.29: +4 -7 lines
Diff to previous 1.29 (colored)

Error out on memory failures in fargs_cmdline() and addargs() in both
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@

Revision 1.29 / (download) - annotate - [select for diffs], Wed Mar 31 19:45:16 2021 UTC (3 years, 1 month ago) by job
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE
Branch point for: OPENBSD_6_9
Changes since 1.28: +3 -2 lines
Diff to previous 1.28 (colored)

Add option to suppress the Message of the Day

Fine deraadt@

Revision 1.28 / (download) - annotate - [select for diffs], Wed Aug 19 11:10:42 2020 UTC (3 years, 9 months ago) by kn
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8
Changes since 1.27: +3 -1 lines
Diff to previous 1.27 (colored)

Handle EADDRNOAVAIL from connect(2) gracefully

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

Revision 1.27 / (download) - annotate - [select for diffs], Fri Aug 9 13:11:26 2019 UTC (4 years, 9 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.26: +2 -2 lines
Diff to previous 1.26 (colored)

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@

Revision 1.26 / (download) - annotate - [select for diffs], Fri Aug 9 05:28:01 2019 UTC (4 years, 9 months ago) by claudio
Branch: MAIN
Changes since 1.25: +49 -8 lines
Diff to previous 1.25 (colored)

Add --address argument to openrsync to bind to the specified address
when connecting to a rsync daemon.
OK deraadt@ benno@ naddy@ sthen@

Revision 1.25 / (download) - annotate - [select for diffs], Mon Jun 3 15:37:48 2019 UTC (4 years, 11 months ago) by naddy
Branch: MAIN
Changes since 1.24: +1 -2 lines
Diff to previous 1.24 (colored)

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@

Revision 1.24 / (download) - annotate - [select for diffs], Wed May 8 21:30:11 2019 UTC (5 years ago) by benno
Branch: MAIN
Changes since 1.23: +5 -5 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: +38 -38 lines
Diff to previous 1.22 (colored)

remove sess argument from log functions. ok deraadt@

Revision 1.22 / (download) - annotate - [select for diffs], Sun Mar 31 08:47:46 2019 UTC (5 years, 1 month ago) by naddy
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.21: +49 -28 lines
Diff to previous 1.21 (colored)

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@

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 -8 lines
Diff to previous 1.20 (colored)

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

Revision 1.20 / (download) - annotate - [select for diffs], Sat Mar 23 00:20:55 2019 UTC (5 years, 1 month ago) by deraadt
Branch: MAIN
Changes since 1.19: +12 -12 lines
Diff to previous 1.19 (colored)

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

Revision 1.19 / (download) - annotate - [select for diffs], Wed Mar 6 18:37:22 2019 UTC (5 years, 2 months ago) by deraadt
Branch: MAIN
Changes since 1.18: +19 -12 lines
Diff to previous 1.18 (colored)

Simplify startup code, various phases are heading straight towards exit
so they don't need to be constructed to return errors.
ok benno florian

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

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

Revision 1.17 / (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.16: +8 -8 lines
Diff to previous 1.16 (colored)

revert previous

Revision 1.16 / (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.15: +8 -8 lines
Diff to previous 1.15 (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.15 / (download) - annotate - [select for diffs], Sun Feb 17 18:11:50 2019 UTC (5 years, 3 months ago) by deraadt
Branch: MAIN
Changes since 1.14: +4 -4 lines
Diff to previous 1.14 (colored)

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

Revision 1.14 / (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.13: +4 -4 lines
Diff to previous 1.13 (colored)

more yoda repairs

Revision 1.13 / (download) - annotate - [select for diffs], Sun Feb 17 15:59:09 2019 UTC (5 years, 3 months ago) by deraadt
Branch: MAIN
Changes since 1.12: +5 -5 lines
Diff to previous 1.12 (colored)

percolate exit code from deeper code, so that values other than 1 are
possible on failure.
looked at by florian

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

Has to be SOCK_STREAM obviously

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

use service "rsync" rather than "873"

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

getaddrinfo doesn't imply "DNS", borrow terminology from ssh
ok benno

Revision 1.9 / (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.8: +5 -5 lines
Diff to previous 1.8 (colored)

implement -D and in turn -a

"you snooze, you get collisions" deraadt@

Revision 1.8 / (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.7: +5 -5 lines
Diff to previous 1.7 (colored)

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

"you snooze, you get collisions" deraadt@

Revision 1.7 / (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.6: +10 -12 lines
Diff to previous 1.6 (colored)

unwrap lines which do not need wrapping

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

sync
commit a2f872b75044aa7bf2297704500b134e3f1b68f7
Author: kristaps <>
Date:   Tue Feb 12 08:11:09 2019 +0000

    Some forgotten pledges for getpw.

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: +25 -27 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: +8 -8 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: +3 -3 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: +3 -3 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.