Add support for probabilistically choosing server ciphers
Summary:Since SSLContextManager sets SSL_OP_CIPHER_SERVER_PREFERENCE on the SSL_CTX
when it creates contexts, we may be unable to accommodate any clients who
prefer a different ciphersuite. Having differently weighted cipher preference
lists allows SSLContext to set a list with a different most-preferred cipher
for some fraction of new handshakes.
Note: resumption will work with the previously negotiated ciphersuite even if
the server doesn't explicitly prefer/support it anymore, provided the cipher is
supported in OpenSSL.
Reviewed By: knekritz
Differential Revision:
D3050496
fb-gh-sync-id:
1c3b77ce3af87f939f8b8c6fe72b6a64eeaeeeb4
shipit-source-id:
1c3b77ce3af87f939f8b8c6fe72b6a64eeaeeeb4