summaryrefslogtreecommitdiff
path: root/common/t-sexputil.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/t-sexputil.c')
-rw-r--r--common/t-sexputil.c38
1 files changed, 27 insertions, 11 deletions
diff --git a/common/t-sexputil.c b/common/t-sexputil.c
index a1a9d89..8da9760 100644
--- a/common/t-sexputil.c
+++ b/common/t-sexputil.c
@@ -460,17 +460,33 @@ test_ecc_uncompress (void)
if (bbuf)
{
err = uncompress_ecc_q_in_canon_sexp (bbuf, bbuflen, &rbuf, &rbuflen);
- if (err)
- fail2 (idx,err);
- if (!rbuf)
- fail (idx); /* Not converted despite a need for it. */
-
- /* log_printcanon (" orig:", abuf, abuflen); */
- /* log_printcanon (" comp:", bbuf, bbuflen); */
- /* log_printcanon ("uncomp:", rbuf, rbuflen); */
-
- if (rbuflen != abuflen || memcmp (rbuf, abuf, abuflen))
- fail (idx);
+ if (gpg_err_code (err) == GPG_ERR_UNKNOWN_CURVE)
+ {
+ static int shown;
+ 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 (" comp:", bbuf, bbuflen); */
+ /* log_printcanon ("uncomp:", rbuf, rbuflen); */
+
+ if (rbuflen != abuflen || memcmp (rbuf, abuf, abuflen))
+ fail (idx);
+ }
}
xfree (abuf);