1 /* 2 * Feature flags for LibreSSL... so you can actually tell when things 3 * are enabled, rather than not being able to tell when things are 4 * enabled (or possibly not yet not implemented, or removed!). 5 */ 6 module libressl_d.openssl.opensslfeatures; 7 8 9 version (LIBRESSL_INTERNAL) { 10 enum LIBRESSL_INTERNAL = true; 11 } else { 12 enum LIBRESSL_INTERNAL = false; 13 } 14 15 version (LIBRESSL_HAS_TLS1_3) { 16 enum LIBRESSL_HAS_TLS1_3 = true; 17 } else { 18 enum LIBRESSL_HAS_TLS1_3 = false; 19 } 20 21 version (none): 22 23 version = LIBRESSL_HAS_TLS1_3; 24 version = LIBRESSL_HAS_DTLS1_2; 25 26 version = OPENSSL_THREADS; 27 28 version = OPENSSL_NO_BUF_FREELISTS; 29 version = OPENSSL_NO_GMP; 30 version = OPENSSL_NO_JPAKE; 31 version = OPENSSL_NO_KRB5; 32 version = OPENSSL_NO_RSAX; 33 version = OPENSSL_NO_SHA0; 34 version = OPENSSL_NO_SSL2; 35 version = OPENSSL_NO_STORE; 36 37 /* 38 * OPENSSL_NO_* flags that currently appear in OpenSSL. 39 */ 40 41 /* version = OPENSSL_NO_AFALGENG; */ 42 /* version = OPENSSL_NO_ALGORITHMS; */ 43 /* version = OPENSSL_NO_ARIA; */ 44 /* version = OPENSSL_NO_ASM; */ 45 version = OPENSSL_NO_ASYNC; 46 /* version = OPENSSL_NO_AUTOALGINIT; */ 47 /* version = OPENSSL_NO_AUTOERRINIT; */ 48 /* version = OPENSSL_NO_AUTOLOAD_CONFIG; */ 49 /* version = OPENSSL_NO_BF; */ 50 /* version = OPENSSL_NO_BLAKE2; */ 51 /* version = OPENSSL_NO_CAMELLIA; */ 52 /* version = OPENSSL_NO_CAPIENG; */ 53 /* version = OPENSSL_NO_CAST; */ 54 /* version = OPENSSL_NO_CHACHA; */ 55 /* version = OPENSSL_NO_CMAC; */ 56 /* version = OPENSSL_NO_CMS; */ 57 version = OPENSSL_NO_COMP; /* XXX */ 58 /* version = OPENSSL_NO_CRYPTO_MDEBUG; */ 59 /* version = OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE; */ 60 /* version = OPENSSL_NO_CT; */ 61 /* version = OPENSSL_NO_DECC_INIT; */ 62 /* version = OPENSSL_NO_DES; */ 63 /* version = OPENSSL_NO_DEVCRYPTOENG; */ 64 /* version = OPENSSL_NO_DGRAM; */ 65 /* version = OPENSSL_NO_DH; */ 66 /* version = OPENSSL_NO_DSA; */ 67 /* version = OPENSSL_NO_DSO; */ 68 /* version = OPENSSL_NO_DTLS; */ 69 /* version = OPENSSL_NO_DTLS1; */ 70 /* version = OPENSSL_NO_DTLS1_2; */ 71 /* version = OPENSSL_NO_DTLS1_2_METHOD; */ 72 /* version = OPENSSL_NO_DTLS1_METHOD; */ 73 version = OPENSSL_NO_DYNAMIC_ENGINE; 74 /* version = OPENSSL_NO_EC; */ 75 /* version = OPENSSL_NO_EC2M; */ 76 version = OPENSSL_NO_EC_NISTP_64_GCC_128; 77 version = OPENSSL_NO_EGD; 78 /* version = OPENSSL_NO_ENGINE; */ 79 /* version = OPENSSL_NO_ERR; */ 80 /* version = OPENSSL_NO_FUZZ_AFL; */ 81 /* version = OPENSSL_NO_FUZZ_LIBFUZZER; */ 82 /* version = OPENSSL_NO_GOST; */ 83 version = OPENSSL_NO_HEARTBEATS; 84 /* version = OPENSSL_NO_HW; */ 85 /* version = OPENSSL_NO_HW_PADLOCK; */ 86 /* version = OPENSSL_NO_IDEA; */ 87 /* version = OPENSSL_NO_INLINE_ASM; */ 88 version = OPENSSL_NO_MD2; 89 /* version = OPENSSL_NO_MD4; */ 90 /* version = OPENSSL_NO_MD5; */ 91 version = OPENSSL_NO_MDC2; 92 /* version = OPENSSL_NO_MULTIBLOCK; */ 93 /* version = OPENSSL_NO_NEXTPROTONEG; */ 94 /* version = OPENSSL_NO_OCB; */ 95 /* version = OPENSSL_NO_OCSP; */ 96 /* version = OPENSSL_NO_PINSHARED; */ 97 /* version = OPENSSL_NO_POLY1305; */ 98 /* version = OPENSSL_NO_POSIX_IO; */ 99 version = OPENSSL_NO_PSK; 100 /* version = OPENSSL_NO_RC2; */ 101 /* version = OPENSSL_NO_RC4; */ 102 version = OPENSSL_NO_RC5; 103 /* version = OPENSSL_NO_RDRAND; */ 104 version = OPENSSL_NO_RFC3779; 105 /* version = OPENSSL_NO_RMD160; */ 106 /* version = OPENSSL_NO_RSA; */ 107 /* version = OPENSSL_NO_SCRYPT; */ 108 version = OPENSSL_NO_SCTP; 109 /* version = OPENSSL_NO_SECURE_MEMORY; */ 110 version = OPENSSL_NO_SEED; 111 /* version = OPENSSL_NO_SIPHASH; */ 112 /* version = OPENSSL_NO_SM2; */ 113 /* version = OPENSSL_NO_SM3; */ 114 /* version = OPENSSL_NO_SM4; */ 115 /* version = OPENSSL_NO_SOCK; */ 116 version = OPENSSL_NO_SRP; 117 /* version = OPENSSL_NO_SRTP; */ 118 version = OPENSSL_NO_SSL3; 119 version = OPENSSL_NO_SSL3_METHOD; 120 version = OPENSSL_NO_SSL_TRACE; 121 /* version = OPENSSL_NO_STATIC_ENGINE; */ 122 /* version = OPENSSL_NO_STDIO; */ 123 /* version = OPENSSL_NO_TLS; */ 124 /* version = OPENSSL_NO_TLS1; */ 125 /* version = OPENSSL_NO_TLS1_1; */ 126 /* version = OPENSSL_NO_TLS1_1_METHOD; */ 127 /* version = OPENSSL_NO_TLS1_2; */ 128 /* version = OPENSSL_NO_TLS1_2_METHOD; */ 129 130 version (LIBRESSL_HAS_TLS1_3) { 131 } else { 132 version = OPENSSL_NO_TLS1_3; 133 } 134 135 /* version = OPENSSL_NO_TLS1_METHOD; */ 136 /* version = OPENSSL_NO_TS; */ 137 /* version = OPENSSL_NO_UI_CONSOLE; */ 138 /* version = OPENSSL_NO_UNIT_TEST; */ 139 /* version = OPENSSL_NO_WEAK_SSL_CIPHERS; */ 140 /* version = OPENSSL_NO_WHIRLPOOL; */