latchset / luksmeta Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU Lesser General Public License v2.1
License: GNU Lesser General Public License v2.1
OS: Fedora; Component: luksmeta.x86_64 9-5.fc31 @fedora
Hey. Tool failed to recognize the state of a LUKS1 volume. Surprisingly a tool dedicated to LUKS v2 volumes succeeded in that task.
# lsblk -o name,fstype,type,mode,mountpoint
NAME FSTYPE TYPE MODE MOUNTPOINT
[...]
└─sda6 crypto_LUKS part brw-rw----
└─luks-acf8855f-302b-4ea5-90f6-12a256deb1fa LVM2_member crypt brw-rw----
# cryptsetup luksDump /dev/sda6
[...]
Version: 1
[...]
Key Slot 0: ENABLED
[...]
# luksmeta show -d /dev/sda6
Device is not initialized (/dev/sda6)
The current man page lists the textual error messages and refers to "sysexit.h" for the actual error code.
Usability of the information would be higher if the numeric error code was included in the man page instead of asking the user to look at a source header file.
0 /* successful termination /
64 / base value for error messages /
64 / command line usage error /
65 / data format error /
66 / cannot open input /
67 / addressee unknown /
68 / host name unknown /
69 / service unavailable /
70 / internal software error /
71 / system error (e.g., can't fork) /
72 / critical OS file missing /
73 / can't create (user) output file /
74 / input/output error /
75 / temp failure; user is invited to retry /
76 / remote error in protocol /
77 / permission denied /
78 / configuration error /
/ maximum listed value */
Severity: minor
Hello,
Debian "lintian" checker reported a mismatch in the provided luksmeta.8 manpage.
Possible fix:
--- a/luksmeta.8
+++ b/luksmeta.8
@@ -1,7 +1,7 @@
." generated with Ronn/v0.7.3
." http://github.com/rtomayko/ronn/tree/0.7.3
.
-.TH "LUKSMETA" "1" "June 2017" "" ""
+.TH "LUKSMETA" "8" "June 2017" "" ""
.
.SH "NAME"
\fBluksmeta\fR - Utility for storing metadata in a LUKSv1 header
Severity: minor
Hello,
Debian's lintian check reported two typos in the manpage:
-\fBEX_NOINPUT\fR : An error occured while reading from standard input.
+\fBEX_NOINPUT\fR : An error occurred while reading from standard input.
-Destroy all data (including LUKSMeta data) in the LUKSv1 header gap and initalize the gap for LUKSMeta storage:
+Destroy all data (including LUKSMeta data) in the LUKSv1 header gap and initialize the gap for LUKSMeta storage:
In Debian, luksmeta started to fail the test suite recently, error message is "Not compatible PBKDF options." Turns out creating a container breaks some constraints when running as non-root. Workaround is to force the v1 format using "--type luks1".
Full patch is at https://sources.debian.org/patches/luksmeta/9-3/fix.test-luksmeta.patch/
See also Debian bug report at https://bugs.debian.org/923513
When trying to build LUKSMeta with cryptsetup 2.0.5 or 2.0.6 on Arch Linux, the compilation works fine, but the test suite fails with errors of the form
Assertion `test_layout((range_t[]) { ... })' failed.
==================================
luksmeta 9: ./test-suite.log
==================================
# TOTAL: 7
# PASS: 2
# SKIP: 0
# XFAIL: 0
# FAIL: 5
# XPASS: 0
# ERROR: 0
.. contents:: :depth: 2
FAIL: test-lm-assumptions
=========================
00000000:00001024 (!= 0)
00001024:04194304 (== 0)
unexpected nonzero: 3072
lt-test-lm-assumptions: test-lm-assumptions.c:32: main: Assertion `test_layout((range_t[]) { { 0, 1024 }, END(1024), })' failed.
FAIL test-lm-assumptions (exit status: 134)
FAIL: test-lm-init
==================
00000000:00001024 (!= 0)
00001024:01052672 (== 0)
unexpected nonzero: 3072
lt-test-lm-init: test-lm-init.c:63: main: Assertion `test_layout((range_t[]) { { 0, 1024 }, { 1024, offset - 1024, true }, { offset, 4096 }, END(offset + 4096), })' failed.
FAIL test-lm-init (exit status: 134)
FAIL: test-lm-one
=================
00000000:00001024 (!= 0)
00001024:01052672 (== 0)
unexpected nonzero: 3072
lt-test-lm-one: test-lm-one.c:56: main: Assertion `test_layout((range_t[]) { { 0, 1024 }, { 1024, offset - 1024, true }, { offset, 4096 }, { offset + 4096, 4096 }, END(offset + 8192), })' failed.
FAIL test-lm-one (exit status: 134)
FAIL: test-lm-two
=================
00000000:00001024 (!= 0)
00001024:01052672 (== 0)
unexpected nonzero: 3072
lt-test-lm-two: test-lm-two.c:60: main: Assertion `test_layout((range_t[]) { { 0, 1024 }, { 1024, offset - 1024, true }, { offset, 4096 }, { offset + 4096, 4096 }, END(offset + 8192), })' failed.
FAIL test-lm-two (exit status: 134)
FAIL: test-lm-big
=================
00000000:00001024 (!= 0)
00001024:01052672 (== 0)
unexpected nonzero: 3072
lt-test-lm-big: test-lm-big.c:119: main: Assertion `test_layout((range_t[]) { { 0, 1024 }, { 1024, offset - 1024, true }, { offset, 4096 }, { offset + 4096, 4096 }, { offset + 8192, 4096 }, END(offset + 12288), })' failed.
FAIL test-lm-big (exit status: 134)
Downgrading to crypsetup 2.0.4 solves the problem, so the change seems to have been introduced somewhere between version 2.0.4 and 2.0.5. I did not dig deeper, but the upstream commit c2bce3e9
(Wipe full header areas (including unused) during LUKS format.) looks promising.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.