Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add --no-motd to and remove -l from rsync options. #962

Merged
merged 3 commits into from
Jun 10, 2024
Merged

Conversation

partim
Copy link
Member

@partim partim commented Jun 7, 2024

This PR adds the --no-motd option to the default extra rsync options and removes -l from the base rsync options.

This means we now have -rtO --delete as the base options and -z, --contimeout=10, --max-size, and --no-motd as the default extra options that can be overwritten.

I think keeping --delete is fine – an attacker can always replace a file rather than deleting it and still break the publication point in question. We cannot limit the file patterns accepted as that would prevent adding new file types until all relying party installations are updated – RFC 9286 specifically says that missing fails lead to a failed fetch.

@partim partim requested review from AlexanderBand, Koenvh1 and a team June 7, 2024 14:30
@partim partim linked an issue Jun 7, 2024 that may be closed by this pull request
Copy link
Contributor

@Koenvh1 Koenvh1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Not sure how much the -0 adds, and adding that does break things for people that use openrsync and link that as rsync (does anyone do that?).

koen@beta:~/Downloads/openrsync$ ./openrsync -rtz0 rsync://rpki.ripe.net/ta /tmp/ripenccrsync/
openrsync: -z not supported yet
./openrsync: invalid option -- '0'
usage: openrsync [-aDglnoprtvx] [-e program] [--address=sourceaddr]
	[--compare-dest=dir] [--del] [--exclude] [--exclude-from=file]
	[--include] [--include-from=file] [--no-motd] [--numeric-ids]
	[--port=portnumber] [--rsync-path=program] [--timeout=seconds]
	[--version] source ... directory

@partim
Copy link
Member Author

partim commented Jun 10, 2024

It’s a capital letter O (yeah, using that is a bit of a bad idea), so the shortcut for --omit-dir-times. It’s probably not a big deal to add it or not.

@partim
Copy link
Member Author

partim commented Jun 10, 2024

Maybe we should move the -z into the default options that cab be overwritten? That would make it possible to use openrsync without getting errors all the time.

@partim partim merged commit c32a65f into main Jun 10, 2024
10 checks passed
@partim partim deleted the review-rsync-options branch June 10, 2024 13:02
partim added a commit that referenced this pull request Jun 10, 2024
Breaking changes

* Keep the content of an RRDP repository in a single file rather than
  as individual files under a directory. ([#886])
* Changed the `summary` output format to have all lines end in a
  semicolon. ([#907])
* Changed the options used for `rsync`. The options `-rtO --delete` are
  now always used. The options set in the `rsync-args` are added or, if
  that is not used, `-z` and `--no-motd`, as well as `--contimeout=10`
  if it is supported by the rsync command, and `--max-size` if the
  `max-object-size` option has not been set to 0. ([#962])

New

* The `chain_validity` value in the `jsonext` format now considers the
  validity of the manifest’s EE certificates. A new `stale` value shows
  the time when any of the publication points along the way will become
  stale. ([#945])
* If a collected manifest has a lower manifest number or an older
  thisUpdate field than a stored manifest for the same CA, the collected
  manifest is ignored and the stored publication point is used instead.
  This implements a requirement added in [RFC 9286]. ([#946], [#954])
* The number of delta entries in a RRDP notification file is now limited
  to 500 by default. If there are more entries, the deltas are ignored and
  the snapshot is used. The limit can be changed through the new
  `rrdp-max-delta-list-len` configuration value. ([#961])
* The RRDP collector now falls back to a snapshot update if the hash of
  a delta listed in the notification file has changed from the previous
  update. This implements [draft-ietf-sidrops-rrdp-desynchronization-00].
  ([#951])
* The RRDP collector now enforces that all URIs referred to or redirected
  to by an RRDP server have the same origin as the rpkiNotify URI in the
  CA certificate. ([#953])
* The config file used is now printed for some commands. This should help
  with avoiding confusion when running Routinator as different users.
  ([#959])

Bug fixes

* Fixed an issue where the refresh time was calculated as zero under
  certain conditions until the dataset was updated. ([#940])
* Add the current RRDP serial number to the RRDP server metrics when a
  Not Modified response is received so that Prometheus shows a constant
  value.
partim added a commit that referenced this pull request Jun 20, 2024
…970)

Breaking changes

* Keep the content of an RRDP repository in a single file rather than
  as individual files under a directory. ([#886])
* Switched to the all-new version 0.4 of the Routinator UI. This also
  changes the way we import the UI into Routinator by simply including the
  built assets which means downloads are not necessary during the build
  process any more. ([#952])
* Changed the `summary` output format to have all lines end in a
  semicolon. ([#907])
* Changed the options used for `rsync`. The options `-rtO --delete` are
  now always used. The options set in the `rsync-args` are added or, if
  that is not used, `-z` and `--no-motd`, as well as `--contimeout=10`
  if it is supported by the rsync command, and `--max-size` if the
  `max-object-size` option has not been set to 0. ([#962])

New

* The `chain_validity` value in the `jsonext` format now considers the
  validity of the manifest’s EE certificates. A new `stale` value shows
  the time when any of the publication points along the way will become
  stale. ([#945])
* If a collected manifest has a lower manifest number or an older
  thisUpdate field than a stored manifest for the same CA, the collected
  manifest is ignored and the stored publication point is used instead.
  This implements a requirement added in [RFC 9286]. ([#946], [#954])
* The number of delta entries in a RRDP notification file is now limited
  to 500 by default. If there are more entries, the deltas are ignored and
  the snapshot is used. The limit can be changed through the new
  `rrdp-max-delta-list-len` configuration value. ([#961])
* The RRDP collector now falls back to a snapshot update if the hash of
  a delta listed in the notification file has changed from the previous
  update. This implements [draft-ietf-sidrops-rrdp-desynchronization-00].
  ([#951])
* The RRDP collector now enforces that all URIs referred to or redirected
  to by an RRDP server have the same origin as the rpkiNotify URI in the
  CA certificate. ([#953])
* The config file used is now printed for some commands. This should help
  with avoiding confusion when running Routinator as different users.
  ([#959])

Bug fixes

* Fixed an issue where the refresh time was calculated as zero under
  certain conditions until the dataset was updated. ([#940])
* Add the current RRDP serial number to the RRDP server metrics when a
  Not Modified response is received so that Prometheus shows a constant
  value.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Review rsync options.
4 participants