1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-22 10:19:57 +01:00

tests: Cope with broken Libgcrypt versions

* common/t-sexputil.c (test_ecc_uncompress): Ignore unknwon curve
errors.
--

For unknown reasons some versions of Fedora or RHEL provide a patched
version of Libgcrypt with Brainpool support removed.  We better ignore
this error because it is a regression in 2.2.28 although that older
versions could not used Brainpool keys.

GnuPG-bug-id: 5502
Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2021-06-22 12:29:59 +02:00
parent e94dfa21d2
commit af2fd9f0af
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B

View File

@ -460,17 +460,33 @@ test_ecc_uncompress (void)
if (bbuf) if (bbuf)
{ {
err = uncompress_ecc_q_in_canon_sexp (bbuf, bbuflen, &rbuf, &rbuflen); err = uncompress_ecc_q_in_canon_sexp (bbuf, bbuflen, &rbuf, &rbuflen);
if (err) if (gpg_err_code (err) == GPG_ERR_UNKNOWN_CURVE)
fail2 (idx,err); {
if (!rbuf) static int shown;
fail (idx); /* Not converted despite a need for it. */ fprintf (stderr, "%s:%d: test %d failed: %s - ignored\n",
__FILE__,__LINE__, idx, gpg_strerror (err));
if (!shown)
{
shown = 1;
fprintf (stderr, "This is likely due to a patched"
" version of Libgcrypt with removed support"
" for Brainpool curves\n");
}
}
else
{
if (err)
fail2 (idx,err);
if (!rbuf)
fail (idx); /* Not converted despite a need for it. */
/* log_printcanon (" orig:", abuf, abuflen); */ /* log_printcanon (" orig:", abuf, abuflen); */
/* log_printcanon (" comp:", bbuf, bbuflen); */ /* log_printcanon (" comp:", bbuf, bbuflen); */
/* log_printcanon ("uncomp:", rbuf, rbuflen); */ /* log_printcanon ("uncomp:", rbuf, rbuflen); */
if (rbuflen != abuflen || memcmp (rbuf, abuf, abuflen)) if (rbuflen != abuflen || memcmp (rbuf, abuf, abuflen))
fail (idx); fail (idx);
}
} }
xfree (abuf); xfree (abuf);