| Index: openssl/crypto/dh/dh.h | 
| =================================================================== | 
| --- openssl/crypto/dh/dh.h	(revision 105093) | 
| +++ openssl/crypto/dh/dh.h	(working copy) | 
| @@ -77,8 +77,6 @@ | 
| # define OPENSSL_DH_MAX_MODULUS_BITS	10000 | 
| #endif | 
|  | 
| -#define OPENSSL_DH_FIPS_MIN_MODULUS_BITS 1024 | 
| - | 
| #define DH_FLAG_CACHE_MONT_P     0x01 | 
| #define DH_FLAG_NO_EXP_CONSTTIME 0x02 /* new with 0.9.7h; the built-in DH | 
| * implementation now uses constant time | 
| @@ -159,7 +157,6 @@ | 
| this for backward compatibility: */ | 
| #define DH_CHECK_P_NOT_STRONG_PRIME	DH_CHECK_P_NOT_SAFE_PRIME | 
|  | 
| -#define DHparams_dup(x) ASN1_dup_of_const(DH,i2d_DHparams,d2i_DHparams,x) | 
| #define d2i_DHparams_fp(fp,x) (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ | 
| (char *(*)())d2i_DHparams,(fp),(unsigned char **)(x)) | 
| #define i2d_DHparams_fp(fp,x) ASN1_i2d_fp(i2d_DHparams,(fp), \ | 
| @@ -167,13 +164,10 @@ | 
| #define d2i_DHparams_bio(bp,x) ASN1_d2i_bio_of(DH,DH_new,d2i_DHparams,bp,x) | 
| #define i2d_DHparams_bio(bp,x) ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x) | 
|  | 
| +DH *DHparams_dup(DH *); | 
| + | 
| const DH_METHOD *DH_OpenSSL(void); | 
|  | 
| -#ifdef OPENSSL_FIPS | 
| -DH *	FIPS_dh_new(void); | 
| -void	FIPS_dh_free(DH *dh); | 
| -#endif | 
| - | 
| void DH_set_default_method(const DH_METHOD *meth); | 
| const DH_METHOD *DH_get_default_method(void); | 
| int DH_set_method(DH *dh, const DH_METHOD *meth); | 
| @@ -212,6 +206,18 @@ | 
| int	DHparams_print(char *bp, const DH *x); | 
| #endif | 
|  | 
| +#define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len) \ | 
| +	EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ | 
| +			EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, len, NULL) | 
| + | 
| +#define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen) \ | 
| +	EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ | 
| +			EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL) | 
| + | 
| +#define	EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN	(EVP_PKEY_ALG_CTRL + 1) | 
| +#define	EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR	(EVP_PKEY_ALG_CTRL + 2) | 
| + | 
| + | 
| /* BEGIN ERROR CODES */ | 
| /* The following lines are auto generated by the script mkerr.pl. Any changes | 
| * made after this point may be overwritten when the script is next run. | 
| @@ -222,22 +228,31 @@ | 
|  | 
| /* Function codes. */ | 
| #define DH_F_COMPUTE_KEY				 102 | 
| -#define DH_F_DHPARAMS_PRINT				 100 | 
| #define DH_F_DHPARAMS_PRINT_FP				 101 | 
| #define DH_F_DH_BUILTIN_GENPARAMS			 106 | 
| -#define DH_F_DH_COMPUTE_KEY				 107 | 
| -#define DH_F_DH_GENERATE_KEY				 108 | 
| -#define DH_F_DH_GENERATE_PARAMETERS			 109 | 
| #define DH_F_DH_NEW_METHOD				 105 | 
| +#define DH_F_DH_PARAM_DECODE				 107 | 
| +#define DH_F_DH_PRIV_DECODE				 110 | 
| +#define DH_F_DH_PRIV_ENCODE				 111 | 
| +#define DH_F_DH_PUB_DECODE				 108 | 
| +#define DH_F_DH_PUB_ENCODE				 109 | 
| +#define DH_F_DO_DH_PRINT				 100 | 
| #define DH_F_GENERATE_KEY				 103 | 
| #define DH_F_GENERATE_PARAMETERS			 104 | 
| +#define DH_F_PKEY_DH_DERIVE				 112 | 
| +#define DH_F_PKEY_DH_KEYGEN				 113 | 
|  | 
| /* Reason codes. */ | 
| #define DH_R_BAD_GENERATOR				 101 | 
| +#define DH_R_BN_DECODE_ERROR				 109 | 
| +#define DH_R_BN_ERROR					 106 | 
| +#define DH_R_DECODE_ERROR				 104 | 
| #define DH_R_INVALID_PUBKEY				 102 | 
| -#define DH_R_KEY_SIZE_TOO_SMALL				 104 | 
| +#define DH_R_KEYS_NOT_SET				 108 | 
| #define DH_R_MODULUS_TOO_LARGE				 103 | 
| +#define DH_R_NO_PARAMETERS_SET				 107 | 
| #define DH_R_NO_PRIVATE_VALUE				 100 | 
| +#define DH_R_PARAMETER_ENCODING_ERROR			 105 | 
|  | 
| #ifdef  __cplusplus | 
| } | 
|  |