if (!ssl_cipher_get_evp(s->session->cipher,&c,&hash))
if (!ssl_cipher_get_evp(s->session,&c,&hash,&comp))
int ssl3_setup_key_block(s)SSL *s;	{	unsigned char *p;	EVP_CIPHER *c;	EVP_MD *hash;	int num,exp;	if (s->s3->tmp.key_block_length != 0)		return(1);	if (!ssl_cipher_get_evp(s->session->cipher,&c,&hash))		{		SSLerr(SSL_F_SSL3_SETUP_KEY_BLOCK,SSL_R_CIPHER_OR_HASH_UNAVAILABLE);		return(0);		}	s->s3->tmp.new_sym_enc=c;	s->s3->tmp.new_hash=hash;#ifdef ZLIB	s->s3->tmp.new_compression=COMP_zlib();#endif/*	s->s3->tmp.new_compression=COMP_rle(); *//*	s->session->compress_meth= xxxxx */	exp=(s->session->cipher->algorithms & SSL_EXPORT)?1:0;	num=EVP_CIPHER_key_length(c)+EVP_MD_size(hash)+EVP_CIPHER_iv_length(c);	num*=2;	ssl3_cleanup_key_block(s);	if ((p=(unsigned char *)Malloc(num)) == NULL)		goto err;	s->s3->tmp.key_block_length=num;	s->s3->tmp.key_block=p;	ssl3_generate_key_block(s,p,num);	return(1);err:	SSLerr(SSL_F_SSL3_SETUP_KEY_BLOCK,ERR_R_MALLOC_FAILURE);	return(0);	}