123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- Description: Don't fail test if cryptsetup fails for disabled module loading
- Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
- Date: 2017-11-20
- Forwarded: not-needed
- Bug-Debian: https://bugs.debian.org/881864
- On the Debian buildds and porter boxes, the crypt_format call in
- libcryptsetup fails:
- socket(AF_ALG, SOCK_SEQPACKET, 0) = -1 EAFNOSUPPORT (Address family not supported by protocol)
- Reproducer using command line (run as non-root):
- $ fallocate --length 8m test.img
- $ echo foo | /sbin/cryptsetup luksFormat test.img -
- The actual reason is DSA disabled automatic module loading by
- setting /proc/sys/kernel/modules_disabled to 1, for obvious reaons.
- Make the tests non-fatal if they fail at that place, by using the
- special exit code 77.
- --- a/test.c
- +++ b/test.c
- @@ -147,6 +147,10 @@
-
- r = crypt_format(cd, CRYPT_LUKS1, "aes", "xts-plain64",
- NULL, NULL, 32, NULL);
- + if (r == -5) {
- + fprintf(stderr, "crypt_format failed, assuming AF_ALG,SOCK_SEQPACKET failure\n");
- + exit(77);
- + }
- if (r < 0)
- error(EXIT_FAILURE, -r, "%s:%d", __FILE__, __LINE__);
-
- --- a/test-luksmeta
- +++ b/test-luksmeta
- @@ -11,7 +11,13 @@
- trap 'onexit' EXIT
-
- truncate -s 4M $tmp
- -echo -n foo | /sbin/cryptsetup luksFormat $tmp -
- +PRE="$(md5sum $tmp)"
- +echo -n foo | /sbin/cryptsetup luksFormat $tmp - || true
- +PST="$(md5sum $tmp)"
- +if [ "$PRE" = "$PST" ] ; then
- + echo 'cryptsetup failed, assuming AF_ALG,SOCK_SEQPACKET failure'
- + exit 77
- +fi
-
- ! ./luksmeta test -d $tmp
-
|