SSLerr(SSL_F_SSL_GET_SERVER_SEND_CERT,SSL_R_INTERNAL_ERROR);
SSLerr(SSL_F_SSL_GET_SERVER_SEND_CERT,ERR_R_INTERNAL_ERROR);
X509 *ssl_get_server_send_cert(SSL *s)	{	unsigned long alg,mask,kalg;	CERT *c;	int i,is_export;	c=s->cert;	ssl_set_cert_masks(c, s->s3->tmp.new_cipher);	alg=s->s3->tmp.new_cipher->algorithms;	is_export=SSL_C_IS_EXPORT(s->s3->tmp.new_cipher);	mask=is_export?c->export_mask:c->mask;	kalg=alg&(SSL_MKEY_MASK|SSL_AUTH_MASK);	if 	(kalg & SSL_kDHr)		i=SSL_PKEY_DH_RSA;	else if (kalg & SSL_kDHd)		i=SSL_PKEY_DH_DSA;	else if (kalg & SSL_aDSS)		i=SSL_PKEY_DSA_SIGN;	else if (kalg & SSL_aRSA)		{		if (c->pkeys[SSL_PKEY_RSA_ENC].x509 == NULL)			i=SSL_PKEY_RSA_SIGN;		else			i=SSL_PKEY_RSA_ENC;		}	else if (kalg & SSL_aKRB5)		{		/* VRS something else here? */		return(NULL);		}	else /* if (kalg & SSL_aNULL) */		{		SSLerr(SSL_F_SSL_GET_SERVER_SEND_CERT,SSL_R_INTERNAL_ERROR);		return(NULL);		}	if (c->pkeys[i].x509 == NULL) return(NULL);	return(c->pkeys[i].x509);	}