]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
DPP: Fix testing code for invalid keys with OpenSSL 1.1.1
authorJouni Malinen <j@w1.fi>
Tue, 1 May 2018 09:02:57 +0000 (12:02 +0300)
committerJouni Malinen <j@w1.fi>
Tue, 1 May 2018 09:02:57 +0000 (12:02 +0300)
OpenSSL started reporting failures from
EC_POINT_set_affine_coordinates_GFp() similarly to BoringSSL, so use the
same workaround to enable this protocol testing case.

Signed-off-by: Jouni Malinen <j@w1.fi>
src/common/dpp.c

index fdc54fcaf4eda5af11c6cbc018b0bf0d33184671..ea00c9384c75ba7ec4533ebf24806b6c1db13e01 100644 (file)
@@ -6214,13 +6214,14 @@ static int dpp_test_gen_invalid_key(struct wpabuf *msg,
 
                if (EC_POINT_set_affine_coordinates_GFp(group, point, x, y,
                                                        ctx) != 1) {
-#ifdef OPENSSL_IS_BORINGSSL
-               /* Unlike OpenSSL, BoringSSL returns an error from
-                * EC_POINT_set_affine_coordinates_GFp() is not on the curve. */
+#if OPENSSL_VERSION_NUMBER >= 0x10101000L || defined(OPENSSL_IS_BORINGSSL)
+               /* Unlike older OpenSSL versions, OpenSSL 1.1.1 and BoringSSL
+                * return an error from EC_POINT_set_affine_coordinates_GFp()
+                * when the point is not on the curve. */
                        break;
-#else /* OPENSSL_IS_BORINGSSL */
+#else /* >=1.1.1 or OPENSSL_IS_BORINGSSL */
                        goto fail;
-#endif /* OPENSSL_IS_BORINGSSL */
+#endif /* >= 1.1.1 or OPENSSL_IS_BORINGSSL */
                }
 
                if (!EC_POINT_is_on_curve(group, point, ctx))