/* Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * @verbatim
                        _             _
    _ __ ___   ___   __| |    ___ ___| |  mod_ssl
   | '_ ` _ \ / _ \ / _` |   / __/ __| |  Apache Interface to OpenSSL
   | | | | | | (_) | (_| |   \__ \__ \ |
   |_| |_| |_|\___/ \__,_|___|___/___/_|
                        |_____|
   @endverbatim
 * @file  ssl_policies.h
 * @brief Additional Utility Functions for OpenSSL
 *
 * @defgroup MOD_SSL_UTIL Utilities
 * @ingroup MOD_SSL
 * @{
 */

#ifndef __SSL_POLICIES_H__
#define __SSL_POLICIES_H__

#define SSL_MOD_POLICIES_KEY "ssl_module_policies"

#ifndef OPENSSL_NO_SSL3
#define SSL_PROTOCOL_CONSTANTS_SSLV3        SSL_PROTOCOL_SSLV3
#else
#define SSL_PROTOCOL_CONSTANTS_SSLV3        0
#endif

#ifdef HAVE_TLSV1_X
#define SSL_POLICY_LEGACY_PROTOCOLS  \
    (SSL_PROTOCOL_CONSTANTS_SSLV3|SSL_PROTOCOL_TLSV1|SSL_PROTOCOL_TLSV1_1)
#endif

/* Settings for all policies */
#define SSL_POLICY_HONOR_ORDER              1
#define SSL_POLICY_COMPRESSION              0
#define SSL_POLICY_SESSION_TICKETS          0

/**
 * Define a core set of policies that are always there:
 * - 'modern' from https://wiki.mozilla.org/Security/Server_Side_TLS
 * - 'intermediate' from https://wiki.mozilla.org/Security/Server_Side_TLS
 * - 'old' from https://wiki.mozilla.org/Security/Server_Side_TLS
 * The JSON version can be retrieved here:
 * https://statics.tls.security.mozilla.org/server-side-tls-conf.json
 */

@MOZILLA_SECURITY_POLICIES@

#endif /* __SSL_POLICIES_H__ */
/** @} */

