Refactor parse_server_key_exchange a bit
diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index 79c63fd..92800fe 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -1910,7 +1910,8 @@
{
int ret;
size_t n = 0;
- const ssl_ciphersuite_t *ciphersuite_info;
+ const ssl_ciphersuite_t *ciphersuite_info =
+ ssl->transform_negotiate->ciphersuite_info;
#if defined(POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED) || \
defined(POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED) || \
@@ -1924,15 +1925,11 @@
((void) dig_signed_len);
#endif
- ciphersuite_info = ssl->transform_negotiate->ciphersuite_info;
-
SSL_DEBUG_MSG( 2, ( "=> write server key exchange" ) );
- if( ciphersuite_info->key_exchange != POLARSSL_KEY_EXCHANGE_DHE_RSA &&
- ciphersuite_info->key_exchange != POLARSSL_KEY_EXCHANGE_ECDHE_RSA &&
- ciphersuite_info->key_exchange != POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA &&
- ciphersuite_info->key_exchange != POLARSSL_KEY_EXCHANGE_DHE_PSK &&
- ciphersuite_info->key_exchange != POLARSSL_KEY_EXCHANGE_ECDHE_PSK )
+ if( ciphersuite_info->key_exchange == POLARSSL_KEY_EXCHANGE_RSA ||
+ ciphersuite_info->key_exchange == POLARSSL_KEY_EXCHANGE_PSK ||
+ ciphersuite_info->key_exchange == POLARSSL_KEY_EXCHANGE_RSA_PSK )
{
SSL_DEBUG_MSG( 2, ( "<= skip write server key exchange" ) );
ssl->state++;