Merge branch 'patch-release'

This commit is contained in:
Michael Eischer 2023-04-24 20:44:38 +02:00
commit c8641f4479
42 changed files with 168 additions and 75 deletions

View file

@ -1,3 +1,92 @@
Changelog for restic 0.15.2 (2023-04-24)
=======================================
The following sections list the changes in restic 0.15.2 relevant to
restic users. The changes are ordered by importance.
Summary
-------
* Sec #4275: Update golang.org/x/net to address CVE-2022-41723
* Fix #2260: Sanitize filenames printed by `backup` during processing
* Fix #4211: Make `dump` interpret `--host` and `--path` correctly
* Fix #4239: Correct number of blocks reported in mount point
* Fix #4253: Minimize risk of spurious filesystem loops with `mount`
* Enh #4180: Add release binaries for riscv64 architecture on Linux
* Enh #4219: Upgrade Minio to version 7.0.49
Details
-------
* Security #4275: Update golang.org/x/net to address CVE-2022-41723
https://github.com/restic/restic/issues/4275
https://github.com/restic/restic/pull/4213
* Bugfix #2260: Sanitize filenames printed by `backup` during processing
The `backup` command would previously not sanitize the filenames it printed during
processing, potentially causing newlines or terminal control characters to mangle the
status output or even change the state of a terminal.
Filenames are now checked and quoted if they contain non-printable or non-Unicode
characters.
https://github.com/restic/restic/issues/2260
https://github.com/restic/restic/issues/4191
https://github.com/restic/restic/pull/4192
* Bugfix #4211: Make `dump` interpret `--host` and `--path` correctly
A regression in restic 0.15.0 caused `dump` to confuse its `--host=<host>` and
`--path=<path>` options: it looked for snapshots with paths called `<host>` from hosts
called `<path>`. It now treats the options as intended.
https://github.com/restic/restic/issues/4211
https://github.com/restic/restic/pull/4212
* Bugfix #4239: Correct number of blocks reported in mount point
Restic mount points reported an incorrect number of 512-byte (POSIX standard) blocks for
files and links due to a rounding bug. In particular, empty files were reported as taking one
block instead of zero.
The rounding is now fixed: the number of blocks reported is the file size (or link target size)
divided by 512 and rounded up to a whole number.
https://github.com/restic/restic/issues/4239
https://github.com/restic/restic/pull/4240
* Bugfix #4253: Minimize risk of spurious filesystem loops with `mount`
When a backup contains a directory that has the same name as its parent, say `a/b/b`, and the GNU
`find` command was run on this backup in a restic mount, `find` would refuse to traverse the
lowest `b` directory, instead printing `File system loop detected`. This was due to the way the
restic mount command generates inode numbers for directories in the mount point.
The rule for generating these inode numbers was changed in 0.15.0. It has now been changed again
to avoid this issue. A perfect rule does not exist, but the probability of this behavior
occurring is now extremely small.
When it does occur, the mount point is not broken, and scripts that traverse the mount point
should work as long as they don't rely on inode numbers for detecting filesystem loops.
https://github.com/restic/restic/issues/4253
https://github.com/restic/restic/pull/4255
* Enhancement #4180: Add release binaries for riscv64 architecture on Linux
Builds for the `riscv64` architecture on Linux are now included in the release binaries.
https://github.com/restic/restic/pull/4180
* Enhancement #4219: Upgrade Minio to version 7.0.49
The upgraded version now allows use of the `ap-southeast-4` region (Melbourne).
https://github.com/restic/restic/pull/4219
Changelog for restic 0.15.1 (2023-01-30) Changelog for restic 0.15.1 (2023-01-30)
======================================= =======================================

View file

@ -1 +1 @@
0.15.1 0.15.2

View file

@ -0,0 +1,12 @@
Bugfix: Sanitize filenames printed by `backup` during processing
The `backup` command would previously not sanitize the filenames it printed
during processing, potentially causing newlines or terminal control characters
to mangle the status output or even change the state of a terminal.
Filenames are now checked and quoted if they contain non-printable or
non-Unicode characters.
https://github.com/restic/restic/issues/2260
https://github.com/restic/restic/issues/4191
https://github.com/restic/restic/pull/4192

View file

@ -0,0 +1,8 @@
Bugfix: Make `dump` interpret `--host` and `--path` correctly
A regression in restic 0.15.0 caused `dump` to confuse its `--host=<host>` and
`--path=<path>` options: it looked for snapshots with paths called `<host>`
from hosts called `<path>`. It now treats the options as intended.
https://github.com/restic/restic/issues/4211
https://github.com/restic/restic/pull/4212

View file

@ -0,0 +1,11 @@
Bugfix: Correct number of blocks reported in mount point
Restic mount points reported an incorrect number of 512-byte (POSIX standard)
blocks for files and links due to a rounding bug. In particular, empty files
were reported as taking one block instead of zero.
The rounding is now fixed: the number of blocks reported is the file size
(or link target size) divided by 512 and rounded up to a whole number.
https://github.com/restic/restic/issues/4239
https://github.com/restic/restic/pull/4240

View file

@ -1,15 +1,15 @@
Bugfix: Mount command should no longer create spurious filesystem loops Bugfix: Minimize risk of spurious filesystem loops with `mount`
When a backup contains a directory that has the same name as its parent, When a backup contains a directory that has the same name as its parent, say
say, a/b/b, and the GNU find command were run on this backup in a restic `a/b/b`, and the GNU `find` command was run on this backup in a restic mount,
mount, find command would refuse to traverse the lowest "b" directory, `find` would refuse to traverse the lowest `b` directory, instead printing
instead printing "File system loop detected". This is due to the way the `File system loop detected`. This was due to the way the restic mount command
restic mount command generates inode numbers for directories in the mount generates inode numbers for directories in the mount point.
point.
The rule for generating these inode numbers was changed in 0.15.0. It has The rule for generating these inode numbers was changed in 0.15.0. It has
now been changed again to avoid this issue. A perfect rule does not exist, now been changed again to avoid this issue. A perfect rule does not exist,
but the probability of this behavior occurring is now extremely small. but the probability of this behavior occurring is now extremely small.
When it does occur, the mount point is not broken, and scripts that traverse When it does occur, the mount point is not broken, and scripts that traverse
the mount point should work as long as they don't rely on inode numbers for the mount point should work as long as they don't rely on inode numbers for
detecting filesystem loops. detecting filesystem loops.

View file

@ -0,0 +1,4 @@
Security: Update golang.org/x/net to address CVE-2022-41723
https://github.com/restic/restic/issues/4275
https://github.com/restic/restic/pull/4213

View file

@ -1,5 +1,6 @@
Enhancement: Add release binaries for riscv64 architecture on Linux Enhancement: Add release binaries for riscv64 architecture on Linux
We've added release binaries for riscv64 architecture on Linux. Builds for the `riscv64` architecture on Linux are now included in the
release binaries.
https://github.com/restic/restic/pull/4180 https://github.com/restic/restic/pull/4180

View file

@ -0,0 +1,5 @@
Enhancement: Upgrade Minio to version 7.0.49
The upgraded version now allows use of the `ap-southeast-4` region (Melbourne).
https://github.com/restic/restic/pull/4219

View file

@ -1,13 +0,0 @@
Bugfix: Exotic filenames no longer break restic backup's status output
Restic backup shows the names of files that it is working on. In previous
versions of restic, those names were printed without first sanitizing them,
so that filenames containing newlines or terminal control characters could
mess up restic backup's output or even change the state of a terminal.
Filenames are now checked and quoted if they contain non-printable or
non-Unicode characters.
https://github.com/restic/restic/issues/2260
https://github.com/restic/restic/issues/4191
https://github.com/restic/restic/pull/4192

View file

@ -1,8 +0,0 @@
Bugfix: Restic dump now interprets --host and --path correctly
Restic dump previously confused its --host=<host> and --path=<path>
options: it looked for snapshots with paths called <host> from hosts
called <path>. It now treats the options as intended.
https://github.com/restic/restic/issues/4211
https://github.com/restic/restic/pull/4212

View file

@ -1,11 +0,0 @@
Bugfix: Correct number of blocks reported in mount point
Restic mount points incorrectly reported the number of 512-byte (POSIX
standard) blocks for files and links, due to a rounding bug. In particular,
empty files were reported as taking one block instead of zero.
The rounding is now fixed: the number of blocks reported is the file size
(or link target size), divided by 512 and rounded up to a whole number.
https://github.com/restic/restic/issues/4239
https://github.com/restic/restic/pull/4240

View file

@ -1,5 +0,0 @@
Enhancement: Upgrade Minio to 7.0.49
Upgraded to allow use of the ap-southeast-4 region (Melbourne)
https://github.com/restic/restic/pull/4219

View file

@ -44,7 +44,7 @@ import (
"golang.org/x/term" "golang.org/x/term"
) )
var version = "0.15.1-dev (compiled manually)" var version = "0.15.2-dev (compiled manually)"
// TimeFormat is the format used for all timestamps printed by restic. // TimeFormat is the format used for all timestamps printed by restic.
const TimeFormat = "2006-01-02 15:04:05" const TimeFormat = "2006-01-02 15:04:05"

View file

@ -205,7 +205,7 @@ Exit status is 3 if some source data could not be read (incomplete snapshot crea
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -118,7 +118,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -106,7 +106,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -123,7 +123,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -147,7 +147,7 @@ new destination repository using the "init" command.
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -126,7 +126,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -129,7 +129,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -151,7 +151,7 @@ It can also be used to search for restic blobs or trees for troubleshooting.
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH EXAMPLE .SH EXAMPLE

View file

@ -217,7 +217,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -127,7 +127,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -134,7 +134,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -118,7 +118,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -106,7 +106,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -141,7 +141,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -112,7 +112,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -190,7 +190,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -135,7 +135,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -111,7 +111,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -108,7 +108,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -151,7 +151,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -159,7 +159,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -113,7 +113,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -130,7 +130,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -152,7 +152,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -137,7 +137,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -110,7 +110,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -107,7 +107,7 @@ Exit status is 0 if the command was successful, and non-zero if there was any er
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO

View file

@ -100,7 +100,7 @@ directories in an encrypted repository stored on different backends.
.PP .PP
\fB-v\fP, \fB--verbose\fP[=0] \fB-v\fP, \fB--verbose\fP[=0]
be verbose (specify multiple times or a level using --verbose=\fB\fCn\fR, max level/times is 2) be verbose (specify multiple times or a level using --verbose=n``, max level/times is 2)
.SH SEE ALSO .SH SEE ALSO