Prohibit RC4 in DTLS [from HEAD].

This commit is contained in:
Andy Polyakov
2007-10-05 21:05:27 +00:00
parent fb8fcce2ac
commit d5e858c55f
2 changed files with 23 additions and 1 deletions

View File

@@ -188,3 +188,23 @@ void dtls1_clear(SSL *s)
ssl3_clear(s);
s->version=DTLS1_VERSION;
}
/*
* As it's impossible to use stream ciphers in "datagram" mode, this
* simple filter is designed to disengage them in DTLS. Unfortunately
* there is no universal way to identify stream SSL_CIPHER, so we have
* to explicitly list their SSL_* codes. Currently RC4 is the only one
* available, but if new ones emerge, they will have to be added...
*/
SSL_CIPHER *dtls1_get_cipher(unsigned int u)
{
SSL_CIPHER *ciph = ssl3_get_cipher(u);
if (ciph != NULL)
{
if ((ciph->algorithms&SSL_ENC_MASK) == SSL_RC4)
return NULL;
}
return ciph;
}