Friday, December 02, 2022

Re: borgbackup: sparc64: Unknown integrity data version 0 in integrity.1

On Fri 02/12/2022 07:04, Bjorn Ketelaars wrote:
> On Thu 01/12/2022 21:40, Klemens Nanni wrote:
> > The following works just fine with borgbackup-1.2.2p1 on amd64 snapshots
> > but sparc64 7.2-release borgbackup-1.2.2p0 and sparc64 snapshots
> > borgbackup-1.2.2p1 fail like this:
> >
> > $ borg init --encryption repokey testrepo
> > Enter new passphrase:
> > Enter same passphrase again:
> > Do you want your passphrase to be displayed for verification? [yN]:
> > Unknown integrity data version 0 in integrity.1
> >
> > By default repositories initialized with this version will produce security
> > errors if written to with an older version (up to and including Borg 1.0.8).
> >
> > If you want to use these older versions, you can disable the check by running:
> > borg upgrade --disable-tam tmprepo
> >
> > See https://borgbackup.readthedocs.io/en/stable/changes.html#pre-1-0-9-manifest-spoofing-vulnerability for details about the security implications.
> >
> > IMPORTANT: you will need both KEY AND PASSPHRASE to access this repo!
> > If you used a repokey mode, the key is stored in the repo, but you should back it up separately.
> > Use "borg key export" to export the key, optionally in printable format.
> > Write down the passphrase. Store both at safe place(s).
> >
> > $ borg list testrepo
> > Unknown integrity data version 0 in integrity.1
> > Error: encrypted key version 0 is not supported by this borg version.
> >
> > Same happens with borgbackup-1.1.18p1 on sparc64 snapshots.
> >
> > I have no idea what to do here.
> > Searching for that error didn't yield any results for me.
> >
> > I know that borg *did* work on sparc64 some time ago, but what release
> > and/or ports version that was is lost to me.
> >
> > Bjorn, does that ring a bell?
> > I can look into this soon.
>
> This does not ring a bell.
>
> I'm gambling here, and most likely breaking building, but it is probably
> wise to exclude that our local patch is somehow related to this issue.
> Unfortunately I have no access to a sparc64 machine, maybe you could
> test the diff below?

Brad contacted me offlist, and explained that COMPILER line needs to be
moved from 1.1/Makefile to Makefile.inc, plus base-gcc needs to be
removed.

New diff, which is still a gamble.


Index: Makefile.inc
===================================================================
RCS file: /cvs/ports/sysutils/borgbackup/Makefile.inc,v
retrieving revision 1.6
diff -u -p -r1.6 Makefile.inc
--- Makefile.inc 14 Sep 2022 18:01:36 -0000 1.6
+++ Makefile.inc 2 Dec 2022 08:08:38 -0000
@@ -13,6 +13,8 @@ PERMIT_PACKAGE = Yes

WANTLIB += crypto lz4 xxhash zstd

+COMPILER = base-clang ports-gcc
+
MODULES = lang/python
MODPY_PYBUILD = setuptools_scm
MODPY_PI = Yes
Index: 1.1/Makefile
===================================================================
RCS file: /cvs/ports/sysutils/borgbackup/1.1/Makefile,v
retrieving revision 1.6
diff -u -p -r1.6 Makefile
--- 1.1/Makefile 13 Nov 2022 15:29:45 -0000 1.6
+++ 1.1/Makefile 2 Dec 2022 08:08:38 -0000
@@ -1,11 +1,9 @@
PORTROACH = limit:^1\.1\.

MODPY_EGG_VERSION = 1.1.18
-REVISION = 1
+REVISION = 2

WANTLIB = ${COMPILER_LIBCXX} b2 m
-
-COMPILER = base-clang ports-gcc base-gcc

LIB_DEPENDS = security/libb2

Index: 1.1/patches/patch-src_borg__endian_h
===================================================================
RCS file: 1.1/patches/patch-src_borg__endian_h
diff -N 1.1/patches/patch-src_borg__endian_h
--- 1.1/patches/patch-src_borg__endian_h 8 Mar 2022 08:53:52 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-__builtin_bswap32 unavailable at least on sparc64
-
-Index: src/borg/_endian.h
---- src/borg/_endian.h.orig
-+++ src/borg/_endian.h
-@@ -1,6 +1,7 @@
- #include <unistd.h>
- #include <stdlib.h>
- #include <stdint.h>
-+#include <endian.h>
-
- #if defined (__SVR4) && defined (__sun)
- #include <sys/isa_defs.h>
-@@ -19,8 +20,8 @@
-

No comments:

Post a Comment