#14465: Update openssl to tag android-4.0.4_r2.1
diff --git a/jni/openssl/crypto/ec/ec_key.c b/jni/openssl/crypto/ec/ec_key.c
index bf9fd2d..522802c 100644
--- a/jni/openssl/crypto/ec/ec_key.c
+++ b/jni/openssl/crypto/ec/ec_key.c
@@ -64,9 +64,7 @@
 #include <string.h>
 #include "ec_lcl.h"
 #include <openssl/err.h>
-#ifdef OPENSSL_FIPS
-#include <openssl/fips.h>
-#endif
+#include <string.h>
 
 EC_KEY *EC_KEY_new(void)
 	{
@@ -80,7 +78,6 @@
 		}
 
 	ret->version = 1;	
-	ret->flags = 0;
 	ret->group   = NULL;
 	ret->pub_key = NULL;
 	ret->priv_key= NULL;
@@ -200,7 +197,6 @@
 	dest->enc_flag  = src->enc_flag;
 	dest->conv_form = src->conv_form;
 	dest->version   = src->version;
-	dest->flags = src->flags;
 
 	return dest;
 	}
@@ -241,11 +237,6 @@
 	BIGNUM	*priv_key = NULL, *order = NULL;
 	EC_POINT *pub_key = NULL;
 
-#ifdef OPENSSL_FIPS
-	if (FIPS_mode())
-		return FIPS_ec_key_generate_key(eckey);
-#endif
-
 	if (!eckey || !eckey->group)
 		{
 		ECerr(EC_F_EC_KEY_GENERATE_KEY, ERR_R_PASSED_NULL_PARAMETER);
@@ -380,82 +371,6 @@
 	return(ok);
 	}
 
-int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, BIGNUM *y)
-	{
-	BN_CTX *ctx = NULL;
-	BIGNUM *tx, *ty;
-	EC_POINT *point = NULL;
-	int ok = 0, tmp_nid, is_char_two = 0;
-
-	if (!key || !key->group || !x || !y)
-		{
-		ECerr(EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES,
-						ERR_R_PASSED_NULL_PARAMETER);
-		return 0;
-		}
-	ctx = BN_CTX_new();
-	if (!ctx)
-		goto err;
-
-	point = EC_POINT_new(key->group);
-
-	if (!point)
-		goto err;
-
-	tmp_nid = EC_METHOD_get_field_type(EC_GROUP_method_of(key->group));
-
-        if (tmp_nid == NID_X9_62_characteristic_two_field)
-		is_char_two = 1;
-
-	tx = BN_CTX_get(ctx);
-	ty = BN_CTX_get(ctx);
-#ifndef OPENSSL_NO_EC2M
-	if (is_char_two)
-		{
-		if (!EC_POINT_set_affine_coordinates_GF2m(key->group, point,
-								x, y, ctx))
-			goto err;
-		if (!EC_POINT_get_affine_coordinates_GF2m(key->group, point,
-								tx, ty, ctx))
-			goto err;
-		}
-	else
-#endif
-		{
-		if (!EC_POINT_set_affine_coordinates_GFp(key->group, point,
-								x, y, ctx))
-			goto err;
-		if (!EC_POINT_get_affine_coordinates_GFp(key->group, point,
-								tx, ty, ctx))
-			goto err;
-		}
-	/* Check if retrieved coordinates match originals: if not values
-	 * are out of range.
-	 */
-	if (BN_cmp(x, tx) || BN_cmp(y, ty))
-		{
-		ECerr(EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES,
-			EC_R_COORDINATES_OUT_OF_RANGE);
-		goto err;
-		}
-
-	if (!EC_KEY_set_public_key(key, point))
-		goto err;
-
-	if (EC_KEY_check_key(key) == 0)
-		goto err;
-
-	ok = 1;
-
-	err:
-	if (ctx)
-		BN_CTX_free(ctx);
-	if (point)
-		EC_POINT_free(point);
-	return ok;
-
-	}
-
 const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key)
 	{
 	return key->group;
@@ -546,18 +461,3 @@
 		return 0;
 	return EC_GROUP_precompute_mult(key->group, ctx);
 	}
-
-int EC_KEY_get_flags(const EC_KEY *key)
-	{
-	return key->flags;
-	}
-
-void EC_KEY_set_flags(EC_KEY *key, int flags)
-	{
-	key->flags |= flags;
-	}
-
-void EC_KEY_clear_flags(EC_KEY *key, int flags)
-	{
-	key->flags &= ~flags;
-	}