GnuPG 2.1.16 is now injecting the full issuer fingerprint in its
signatures, which makes them about 32 octets larger when
ascii-armored.
This change in size means that the size of the MIME parts will vary
depending on the version of gpg that the user has installed. at any
rate, the signature part should be non-zero (this is true for
basically any MIME part), so we just test for that instead of an exact
size.
"content": "This is a test signed message.\n"},
{"id": 3,
"content-type": "application/pgp-signature",
"content": "This is a test signed message.\n"},
{"id": 3,
"content-type": "application/pgp-signature",
- "content-length": 280}]}]},
+ "content-length": "NONZERO"}]}]},
[]]]]'
test_expect_equal_json \
"$output" \
[]]]]'
test_expect_equal_json \
"$output" \
"content": "This is a test signed message.\n"},
{"id": 3,
"content-type": "application/pgp-signature",
"content": "This is a test signed message.\n"},
{"id": 3,
"content-type": "application/pgp-signature",
- "content-length": 280}]}]},
+ "content-length": "NONZERO"}]}]},
[]]]]'
test_expect_equal_json \
"$output" \
[]]]]'
test_expect_equal_json \
"$output" \
"content": "This is a test signed message.\n"},
{"id": 3,
"content-type": "application/pgp-signature",
"content": "This is a test signed message.\n"},
{"id": 3,
"content-type": "application/pgp-signature",
- "content-length": 280}]}]},
+ "content-length": "NONZERO"}]}]},
[]]]]'
test_expect_equal_json \
"$output" \
[]]]]'
test_expect_equal_json \
"$output" \
"content-type": "multipart/encrypted",
"content": [{"id": 2,
"content-type": "application/pgp-encrypted",
"content-type": "multipart/encrypted",
"content": [{"id": 2,
"content-type": "application/pgp-encrypted",
+ "content-length": "NONZERO"},
{"id": 3,
"content-type": "multipart/mixed",
"content": [{"id": 4,
{"id": 3,
"content-type": "multipart/mixed",
"content": [{"id": 4,
"content": "This is a test encrypted message.\n"},
{"id": 5,
"content-type": "application/octet-stream",
"content": "This is a test encrypted message.\n"},
{"id": 5,
"content-type": "application/octet-stream",
+ "content-length": "NONZERO",
"content-transfer-encoding": "base64",
"filename": "TESTATTACHMENT"}]}]}]},
[]]]]'
"content-transfer-encoding": "base64",
"filename": "TESTATTACHMENT"}]}]}]},
[]]]]'
test_begin_subtest "decryption failure with missing key"
mv "${GNUPGHOME}"{,.bak}
test_begin_subtest "decryption failure with missing key"
mv "${GNUPGHOME}"{,.bak}
-# The length of the encrypted attachment varies so must be normalized.
output=$(notmuch show --format=json --decrypt subject:"test encrypted message 001" \
| notmuch_json_show_sanitize \
output=$(notmuch show --format=json --decrypt subject:"test encrypted message 001" \
| notmuch_json_show_sanitize \
- | sed -e 's|"created": [1234567890]*|"created": 946728000|' \
- | sed -e 's|"content-length": 6[1234567890]*|"content-length": 652|')
+ | sed -e 's|"created": [1234567890]*|"created": 946728000|')
expected='[[[{"id": "XXXXX",
"match": true,
"excluded": false,
expected='[[[{"id": "XXXXX",
"match": true,
"excluded": false,
"content-type": "multipart/encrypted",
"content": [{"id": 2,
"content-type": "application/pgp-encrypted",
"content-type": "multipart/encrypted",
"content": [{"id": 2,
"content-type": "application/pgp-encrypted",
+ "content-length": "NONZERO"},
{"id": 3,
"content-type": "application/octet-stream",
{"id": 3,
"content-type": "application/octet-stream",
- "content-length": 652}]}]},
+ "content-length": "NONZERO"}]}]},
[]]]]'
test_expect_equal_json \
"$output" \
[]]]]'
test_expect_equal_json \
"$output" \
"content-type": "multipart/encrypted",
"content": [{"id": 2,
"content-type": "application/pgp-encrypted",
"content-type": "multipart/encrypted",
"content": [{"id": 2,
"content-type": "application/pgp-encrypted",
+ "content-length": "NONZERO"},
{"id": 3,
"content-type": "text/plain",
"content": "This is another test encrypted message.\n"}]}]},
{"id": 3,
"content-type": "text/plain",
"content": "This is another test encrypted message.\n"}]}]},
"content": "This is a test signed message.\n"},
{"id": 3,
"content-type": "application/pgp-signature",
"content": "This is a test signed message.\n"},
{"id": 3,
"content-type": "application/pgp-signature",
- "content-length": 280}]}]},
+ "content-length": "NONZERO"}]}]},
[]]]]'
test_expect_equal_json \
"$output" \
[]]]]'
test_expect_equal_json \
"$output" \
"content-type": "text/plain",
"content": "This is a test signed message.\n"},
{"id": 3,
"content-type": "text/plain",
"content": "This is a test signed message.\n"},
{"id": 3,
- "content-length": 1922,
+ "content-length": "NONZERO",
"content-transfer-encoding": "base64",
"content-type": "application/x-pkcs7-signature",
"filename": "smime.p7s"}]}]},
"content-transfer-encoding": "base64",
"content-type": "application/x-pkcs7-signature",
"filename": "smime.p7s"}]}]},
-e 's|"Date": "Fri, 05 Jan 2001 [^"]*0000"|"Date": "GENERATED_DATE"|g' \
-e 's|"filename": "signature.asc",||g' \
-e 's|"filename": "/[^"]*",|"filename": "YYYYY",|g' \
-e 's|"Date": "Fri, 05 Jan 2001 [^"]*0000"|"Date": "GENERATED_DATE"|g' \
-e 's|"filename": "signature.asc",||g' \
-e 's|"filename": "/[^"]*",|"filename": "YYYYY",|g' \
- -e 's|"timestamp": 97.......|"timestamp": 42|g'
+ -e 's|"timestamp": 97.......|"timestamp": 42|g' \
+ -e 's|"content-length": [1-9][0-9]*|"content-length": "NONZERO"|g'
}
notmuch_emacs_error_sanitize ()
}
notmuch_emacs_error_sanitize ()