Package: bup
Version: 0.32-3
Severity: important
Tags: upstream
X-Debbugs-Cc: [email protected]

bup upstream has released two related point releases of bup (0.32.1,
0.33.1) which more correctly save and restore POSIX1e ACLs. bup 0.32
(oldstable) and bup 0.33 (stable, unstable) are currently affected and
should be updated to the point releases.

The upstream notes for 0.32.1 [0] and 0.33.1 [1] are reproduced below.

[0]: https://github.com/bup/bup/blob/main/note/0.32.1-from-0.32.md

[1]: https://github.com/bup/bup/blob/main/note/0.33.1-from-0.33.md

Notable changes in 0.32.1 since 0.32
====================================

Bugs
----

* POSIX1e ACLs should be restored more correctly now.

  Previously bup incorrectly restored default (`ACL_TYPE_DEFAULT`)
  ACLs as access acls (`ACL_TYPE_ACCESS`).  When both existed, it
  restored the access ACL first and then the default ACL as an access
  ACL.  Now, bup should restore each with the proper type.  This issue
  only affects saves created on platforms where bup currently supports
  ACLs, so presumably mostly just saves created on Linux since the
  current ACL support depends on non-standard functions like
  `acl_extended(3)`.

  There is one remaining issue, which isn't fixed in this release, but
  is fixed in 0.33.1 (because fixing it here could create saves that
  are backward incompatible with 0.33).

  The problem is that in this version and older versions, bup stores
  ACLs in the `acl_to_any_text(3)` format with a newline delimiter,
  when the standard (and `acl_from_text(3)` which restore depends on)
  requires commas.  This may cause restores that include ACLs (likely
  only those from Linux right now) to fail on some platforms
  (e.g. Cygwin).

Notable changes in 0.33.1 since 0.33
====================================

Bugs
----

* POSIX1e ACLs should be restored correctly now.  Previously there
  were two problems.

  First, bup incorrectly restored default (`ACL_TYPE_DEFAULT`) ACLs as
  access acls (`ACL_TYPE_ACCESS`).  When both existed, it restored the
  access ACL first and then the default ACL as an access ACL.  Now,
  bup should restore each with the proper type.  This issue only
  affects saves created on platforms where bup currently supports
  ACLs, so presumably mostly just saves created on Linux since the
  current ACL support depends on non-standard functions like
  `acl_extended(3)`.

  Second, bup stored ACLs in the `acl_to_any_text(3)` format with a
  newlne delimiter, when the standard (and `acl_from_text(3)` which
  restore depends on) requires commas.  Now bup uses commas, and
  translates previously created saves during restore when possible.
  If a previously created ACL entry contains a comma, then bup will
  give up, report an error, and skip it.  If nothing else, this could
  cause restores of relevant saves to fail on some platforms.

Reply via email to