Commit 1acc24a8 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Make no-ec2m work again.

parent f52e552a
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -88,8 +88,15 @@ int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, EC_POINT *poi
			return ec_GFp_simple_set_compressed_coordinates(
					group, point, x, y_bit, ctx);
		else
#ifdef OPENSSL_NO_EC2M
			{
			ECerr(EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP, EC_R_GF2M_NOT_SUPPORTED);
			return 0;
			}
#else
			return ec_GF2m_simple_set_compressed_coordinates(
					group, point, x, y_bit, ctx);
#endif
		}
	return group->meth->point_set_compressed_coordinates(group, point, x, y_bit, ctx);
	}
@@ -142,8 +149,15 @@ size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *point, point_co
			return ec_GFp_simple_point2oct(group, point,
							form, buf, len, ctx);
		else
#ifdef OPENSSL_NO_EC2M
			{
			ECerr(EC_F_EC_POINT_POINT2OCT, EC_R_GF2M_NOT_SUPPORTED);
			return 0;
			}
#else
			return ec_GF2m_simple_point2oct(group, point,
							form, buf, len, ctx);
#endif
		}
			
	return group->meth->point2oct(group, point, form, buf, len, ctx);
@@ -170,8 +184,15 @@ int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *point,
			return ec_GFp_simple_oct2point(group, point,
							buf, len, ctx);
		else
#ifdef OPENSSL_NO_EC2M
			{
			ECerr(EC_F_EC_POINT_OCT2POINT, EC_R_GF2M_NOT_SUPPORTED);
			return 0;
			}
#else
			return ec_GF2m_simple_oct2point(group, point,
							buf, len, ctx);
#endif
		}
	return group->meth->oct2point(group, point, buf, len, ctx);
	}
+17 −3
Original line number Diff line number Diff line
@@ -171,10 +171,17 @@ static EC_POINT *make_peer(EC_GROUP *group, BIGNUM *x, BIGNUM *y)
		return NULL;
	c = BN_CTX_new();
	if (EC_METHOD_get_field_type(EC_GROUP_method_of(group))
		== NID_X9_62_characteristic_two_field)
		rv = EC_POINT_set_affine_coordinates_GF2m(group, peer, x, y, c);
	else
		== NID_X9_62_prime_field)
		rv = EC_POINT_set_affine_coordinates_GFp(group, peer, x, y, c);
	else
#ifdef OPENSSL_NO_EC2M
		{
		fprintf(stderr, "ERROR: GF2m not supported\n");
		exit(1);
		}
#else
		rv = EC_POINT_set_affine_coordinates_GF2m(group, peer, x, y, c);
#endif

	BN_CTX_free(c);
	if (rv)
@@ -204,7 +211,14 @@ static int ec_print_pubkey(FILE *out, EC_KEY *key)
	if (EC_METHOD_get_field_type(meth) == NID_X9_62_prime_field)
		rv = EC_POINT_get_affine_coordinates_GFp(grp, pt, tx, ty, ctx);
	else
#ifdef OPENSSL_NO_EC2M
		{
		fprintf(stderr, "ERROR: GF2m not supported\n");
		exit(1);
		}
#else
		rv = EC_POINT_get_affine_coordinates_GF2m(grp, pt, tx, ty, ctx);
#endif

	do_bn_print_name(out, "QeIUTx", tx);
	do_bn_print_name(out, "QeIUTy", ty);
+7 −0
Original line number Diff line number Diff line
@@ -169,7 +169,14 @@ static int ec_get_pubkey(EC_KEY *key, BIGNUM *x, BIGNUM *y)
	if (EC_METHOD_get_field_type(meth) == NID_X9_62_prime_field)
		rv = EC_POINT_get_affine_coordinates_GFp(grp, pt, x, y, ctx);
	else
#ifdef OPENSSL_NO_EC2M
		{
		fprintf(stderr, "ERROR: GF2m not supported\n");
		exit(1);
		}
#else
		rv = EC_POINT_get_affine_coordinates_GF2m(grp, pt, x, y, ctx);
#endif

	BN_CTX_free(ctx);