flags |= SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3;
+#ifdef SSL_TXT_TLSV1_1
if (tlsProtocolmin == SSL_TXT_TLSV1_1)
flags |= SSL_OP_NO_TLSv1;
- else if (tlsProtocolmin == SSL_TXT_TLSV1_2)
+ else
+#elif defined(SSL_TXT_TLSV1_2)
+ if (tlsProtocolmin == SSL_TXT_TLSV1_2)
flags |= SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1;
- else if (tlsProtocolmin != SSL_TXT_TLSV1)
+ else
+#endif /* SSL_TXT_TLSV1_2 */
+ if (tlsProtocolmin != SSL_TXT_TLSV1)
BOOST_THROW_EXCEPTION(std::invalid_argument("Invalid TLS protocol version specified."));
SSL_CTX_set_options(context.get(), flags);
{
ObjectImpl<ApiListener>::ValidateTlsProtocolmin(value, utils);
- if (value != SSL_TXT_TLSV1 && value != SSL_TXT_TLSV1_1 &&
- value != SSL_TXT_TLSV1_2) {
+ if (value != SSL_TXT_TLSV1
+#ifdef SSL_TXT_TLSV1_1
+ && value != SSL_TXT_TLSV1_1 &&
+ value != SSL_TXT_TLSV1_2
+#endif /* SSL_TXT_TLSV1_1 */
+ ) {
BOOST_THROW_EXCEPTION(ValidationError(this, boost::assign::list_of("tls_protocolmin"), "Invalid TLS version. "
- "Must be one of '" SSL_TXT_TLSV1 "', '" SSL_TXT_TLSV1_1 "' or '" SSL_TXT_TLSV1_2 "'"));
+ "Must be one of '" SSL_TXT_TLSV1 "'"
+#ifdef SSL_TXT_TLSV1_1
+ ", '" SSL_TXT_TLSV1_1 "' or '" SSL_TXT_TLSV1_2 "'"
+#endif /* SSL_TXT_TLSV1_1 */
+ ));
}
}