9#include <botan/tls_policy.h>
10#include <botan/exceptn.h>
11#include <botan/parsing.h>
115 std::string group_str =
get_str(
"key_exchange_groups");
117 if(group_str.empty())
123 if(group_str.empty())
128 std::vector<Group_Params> groups;
129 for(std::string group_name :
split_on(group_str,
' '))
133#if !defined(BOTAN_HAS_CURVE_25519)
143 unsigned long ll_id = std::stoul(group_name, &consumed, 0);
144 if(consumed != group_name.size())
147 const uint16_t
id =
static_cast<uint16_t
>(ll_id);
161 groups.push_back(group_id);
229 std::vector<uint16_t> r;
230 for(std::string p :
get_list(
"srtp_profiles", std::vector<std::string>()))
244 std::istringstream iss(s);
251std::vector<std::string>
253 const std::vector<std::string>& def)
const
255 const std::string v =
get_str(key);
267 const std::string v =
get_str(key);
279 const std::string v =
get_str(key);
286 if(v ==
"true" || v ==
"True")
290 else if(v ==
"false" || v ==
"False")
302 auto i = m_kv.find(key);
313 auto i = m_kv.find(key);
315 if(overwrite ==
false && i != m_kv.end())
318 m_kv.insert(i, std::make_pair(key, val));
virtual bool include_time_in_hello_random() const
virtual size_t dtls_maximum_timeout() const
virtual size_t minimum_ecdh_group_size() const
virtual size_t dtls_default_mtu() const
virtual bool allow_tls12() const
virtual bool require_client_certificate_authentication() const
virtual std::vector< Group_Params > key_exchange_groups() const
virtual bool allow_dtls10() const
virtual size_t minimum_rsa_bits() const
virtual bool allow_client_initiated_renegotiation() const
virtual bool require_cert_revocation_info() const
virtual bool allow_tls10() const
virtual bool negotiate_encrypt_then_mac() const
virtual bool server_uses_own_ciphersuite_preferences() const
virtual uint32_t session_ticket_lifetime() const
virtual bool support_cert_status_message() const
virtual std::vector< std::string > allowed_macs() const
virtual bool hide_unknown_users() const
virtual bool allow_tls11() const
virtual std::vector< std::string > allowed_key_exchange_methods() const
virtual size_t dtls_initial_timeout() const
virtual bool use_ecc_point_compression() const
virtual bool allow_dtls12() const
virtual size_t minimum_dh_group_size() const
virtual bool allow_insecure_renegotiation() const
virtual std::vector< std::string > allowed_ciphers() const
virtual bool send_fallback_scsv(Protocol_Version version) const
virtual size_t minimum_signature_strength() const
virtual std::vector< std::string > allowed_signature_methods() const
virtual size_t minimum_ecdsa_group_size() const
virtual std::vector< std::string > allowed_signature_hashes() const
virtual bool allow_server_initiated_renegotiation() const
Text_Policy(const std::string &s)
size_t dtls_initial_timeout() const override
bool allow_dtls12() const override
bool set_value(const std::string &key, const std::string &val, bool overwrite)
bool server_uses_own_ciphersuite_preferences() const override
bool send_fallback_scsv(Protocol_Version version) const override
bool include_time_in_hello_random() const override
bool allow_client_initiated_renegotiation() const override
std::string get_str(const std::string &key, const std::string &def="") const
bool support_cert_status_message() const override
std::vector< std::string > allowed_signature_methods() const override
std::vector< Group_Params > key_exchange_groups() const override
bool require_cert_revocation_info() const override
std::vector< std::string > allowed_key_exchange_methods() const override
bool allow_tls10() const override
size_t minimum_ecdsa_group_size() const override
uint32_t session_ticket_lifetime() const override
std::vector< std::string > allowed_signature_hashes() const override
std::vector< uint16_t > srtp_profiles() const override
bool allow_dtls10() const override
bool hide_unknown_users() const override
std::vector< std::string > allowed_ciphers() const override
size_t minimum_ecdh_group_size() const override
bool allow_server_initiated_renegotiation() const override
bool get_bool(const std::string &key, bool def) const
size_t minimum_signature_strength() const override
bool negotiate_encrypt_then_mac() const override
bool require_client_certificate_authentication() const override
void set(const std::string &k, const std::string &v)
size_t dtls_maximum_timeout() const override
size_t get_len(const std::string &key, size_t def) const
bool allow_insecure_renegotiation() const override
bool allow_tls12() const override
bool use_ecc_point_compression() const override
size_t dtls_default_mtu() const override
size_t minimum_rsa_bits() const override
std::vector< std::string > allowed_macs() const override
size_t minimum_dh_group_size() const override
bool allow_tls11() const override
std::vector< std::string > get_list(const std::string &key, const std::vector< std::string > &def) const
Group_Params group_param_from_string(const std::string &group_name)
std::map< std::string, std::string > read_cfg(std::istream &is)
std::vector< std::string > split_on(const std::string &str, char delim)
uint16_t to_uint16(const std::string &str)
uint32_t to_u32bit(const std::string &str)