fuzz/tls_client_config.h
author Makoto Kato <m_kato@ga2.so-net.ne.jp>
Wed, 25 Nov 2020 10:53:42 +0000
changeset 15805 f1e48fbead3d9e69500d7aedc1ef6e4bf334f41e
parent 13204 97406323124d75e17bd4a88f98337580f9f1aa7f
permissions -rw-r--r--
Bug 1678990 - Use __ARM_FEATURE_CRYPTO for feature detection. r=bbeurdouche Actually, we have CPU feature detection for Linux and FreeBSD on aarch64 platform. But others don't. macOS doesn't has any CPU feature detection for ARM Crypto Extension, but toolchain default is turned on. So we should respect __ARM_FEATURE_CRYPTO. Differential Revision: https://phabricator.services.mozilla.com/D97909

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef tls_client_config_h__
#define tls_client_config_h__

#include <stdint.h>
#include <cstddef>

class ClientConfig {
 public:
  ClientConfig(const uint8_t* data, size_t len);

  bool FailCertificateAuthentication();
  bool EnableExtendedMasterSecret();
  bool RequireDhNamedGroups();
  bool EnableFalseStart();
  bool EnableDeflate();
  bool EnableCbcRandomIv();
  bool RequireSafeNegotiation();
  bool EnableCache();

 private:
  uint64_t config_;
};

#endif  // tls_client_config_h__