Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ShExBy/shex_roo.../usr/include/openssl
File: ssl.h
/*
[0] Fix | Delete
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
[1] Fix | Delete
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
[2] Fix | Delete
* Copyright 2005 Nokia. All rights reserved.
[3] Fix | Delete
*
[4] Fix | Delete
* Licensed under the OpenSSL license (the "License"). You may not use
[5] Fix | Delete
* this file except in compliance with the License. You can obtain a copy
[6] Fix | Delete
* in the file LICENSE in the source distribution or at
[7] Fix | Delete
* https://www.openssl.org/source/license.html
[8] Fix | Delete
*/
[9] Fix | Delete
[10] Fix | Delete
#ifndef HEADER_SSL_H
[11] Fix | Delete
# define HEADER_SSL_H
[12] Fix | Delete
[13] Fix | Delete
# include <openssl/e_os2.h>
[14] Fix | Delete
# include <openssl/opensslconf.h>
[15] Fix | Delete
# include <openssl/comp.h>
[16] Fix | Delete
# include <openssl/bio.h>
[17] Fix | Delete
# if OPENSSL_API_COMPAT < 0x10100000L
[18] Fix | Delete
# include <openssl/x509.h>
[19] Fix | Delete
# include <openssl/crypto.h>
[20] Fix | Delete
# include <openssl/buffer.h>
[21] Fix | Delete
# endif
[22] Fix | Delete
# include <openssl/lhash.h>
[23] Fix | Delete
# include <openssl/pem.h>
[24] Fix | Delete
# include <openssl/hmac.h>
[25] Fix | Delete
# include <openssl/async.h>
[26] Fix | Delete
[27] Fix | Delete
# include <openssl/safestack.h>
[28] Fix | Delete
# include <openssl/symhacks.h>
[29] Fix | Delete
# include <openssl/ct.h>
[30] Fix | Delete
# include <openssl/sslerr.h>
[31] Fix | Delete
[32] Fix | Delete
#ifdef __cplusplus
[33] Fix | Delete
extern "C" {
[34] Fix | Delete
#endif
[35] Fix | Delete
[36] Fix | Delete
/* OpenSSL version number for ASN.1 encoding of the session information */
[37] Fix | Delete
/*-
[38] Fix | Delete
* Version 0 - initial version
[39] Fix | Delete
* Version 1 - added the optional peer certificate
[40] Fix | Delete
*/
[41] Fix | Delete
# define SSL_SESSION_ASN1_VERSION 0x0001
[42] Fix | Delete
[43] Fix | Delete
# define SSL_MAX_SSL_SESSION_ID_LENGTH 32
[44] Fix | Delete
# define SSL_MAX_SID_CTX_LENGTH 32
[45] Fix | Delete
[46] Fix | Delete
# define SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES (512/8)
[47] Fix | Delete
# define SSL_MAX_KEY_ARG_LENGTH 8
[48] Fix | Delete
# define SSL_MAX_MASTER_KEY_LENGTH 48
[49] Fix | Delete
[50] Fix | Delete
/* The maximum number of encrypt/decrypt pipelines we can support */
[51] Fix | Delete
# define SSL_MAX_PIPELINES 32
[52] Fix | Delete
[53] Fix | Delete
/* text strings for the ciphers */
[54] Fix | Delete
[55] Fix | Delete
/* These are used to specify which ciphers to use and not to use */
[56] Fix | Delete
[57] Fix | Delete
# define SSL_TXT_LOW "LOW"
[58] Fix | Delete
# define SSL_TXT_MEDIUM "MEDIUM"
[59] Fix | Delete
# define SSL_TXT_HIGH "HIGH"
[60] Fix | Delete
# define SSL_TXT_FIPS "FIPS"
[61] Fix | Delete
[62] Fix | Delete
# define SSL_TXT_aNULL "aNULL"
[63] Fix | Delete
# define SSL_TXT_eNULL "eNULL"
[64] Fix | Delete
# define SSL_TXT_NULL "NULL"
[65] Fix | Delete
[66] Fix | Delete
# define SSL_TXT_kRSA "kRSA"
[67] Fix | Delete
# define SSL_TXT_kDHr "kDHr"/* this cipher class has been removed */
[68] Fix | Delete
# define SSL_TXT_kDHd "kDHd"/* this cipher class has been removed */
[69] Fix | Delete
# define SSL_TXT_kDH "kDH"/* this cipher class has been removed */
[70] Fix | Delete
# define SSL_TXT_kEDH "kEDH"/* alias for kDHE */
[71] Fix | Delete
# define SSL_TXT_kDHE "kDHE"
[72] Fix | Delete
# define SSL_TXT_kECDHr "kECDHr"/* this cipher class has been removed */
[73] Fix | Delete
# define SSL_TXT_kECDHe "kECDHe"/* this cipher class has been removed */
[74] Fix | Delete
# define SSL_TXT_kECDH "kECDH"/* this cipher class has been removed */
[75] Fix | Delete
# define SSL_TXT_kEECDH "kEECDH"/* alias for kECDHE */
[76] Fix | Delete
# define SSL_TXT_kECDHE "kECDHE"
[77] Fix | Delete
# define SSL_TXT_kPSK "kPSK"
[78] Fix | Delete
# define SSL_TXT_kRSAPSK "kRSAPSK"
[79] Fix | Delete
# define SSL_TXT_kECDHEPSK "kECDHEPSK"
[80] Fix | Delete
# define SSL_TXT_kDHEPSK "kDHEPSK"
[81] Fix | Delete
# define SSL_TXT_kGOST "kGOST"
[82] Fix | Delete
# define SSL_TXT_kSRP "kSRP"
[83] Fix | Delete
[84] Fix | Delete
# define SSL_TXT_aRSA "aRSA"
[85] Fix | Delete
# define SSL_TXT_aDSS "aDSS"
[86] Fix | Delete
# define SSL_TXT_aDH "aDH"/* this cipher class has been removed */
[87] Fix | Delete
# define SSL_TXT_aECDH "aECDH"/* this cipher class has been removed */
[88] Fix | Delete
# define SSL_TXT_aECDSA "aECDSA"
[89] Fix | Delete
# define SSL_TXT_aPSK "aPSK"
[90] Fix | Delete
# define SSL_TXT_aGOST94 "aGOST94"
[91] Fix | Delete
# define SSL_TXT_aGOST01 "aGOST01"
[92] Fix | Delete
# define SSL_TXT_aGOST12 "aGOST12"
[93] Fix | Delete
# define SSL_TXT_aGOST "aGOST"
[94] Fix | Delete
# define SSL_TXT_aSRP "aSRP"
[95] Fix | Delete
[96] Fix | Delete
# define SSL_TXT_DSS "DSS"
[97] Fix | Delete
# define SSL_TXT_DH "DH"
[98] Fix | Delete
# define SSL_TXT_DHE "DHE"/* same as "kDHE:-ADH" */
[99] Fix | Delete
# define SSL_TXT_EDH "EDH"/* alias for DHE */
[100] Fix | Delete
# define SSL_TXT_ADH "ADH"
[101] Fix | Delete
# define SSL_TXT_RSA "RSA"
[102] Fix | Delete
# define SSL_TXT_ECDH "ECDH"
[103] Fix | Delete
# define SSL_TXT_EECDH "EECDH"/* alias for ECDHE" */
[104] Fix | Delete
# define SSL_TXT_ECDHE "ECDHE"/* same as "kECDHE:-AECDH" */
[105] Fix | Delete
# define SSL_TXT_AECDH "AECDH"
[106] Fix | Delete
# define SSL_TXT_ECDSA "ECDSA"
[107] Fix | Delete
# define SSL_TXT_PSK "PSK"
[108] Fix | Delete
# define SSL_TXT_SRP "SRP"
[109] Fix | Delete
[110] Fix | Delete
# define SSL_TXT_DES "DES"
[111] Fix | Delete
# define SSL_TXT_3DES "3DES"
[112] Fix | Delete
# define SSL_TXT_RC4 "RC4"
[113] Fix | Delete
# define SSL_TXT_RC2 "RC2"
[114] Fix | Delete
# define SSL_TXT_IDEA "IDEA"
[115] Fix | Delete
# define SSL_TXT_SEED "SEED"
[116] Fix | Delete
# define SSL_TXT_AES128 "AES128"
[117] Fix | Delete
# define SSL_TXT_AES256 "AES256"
[118] Fix | Delete
# define SSL_TXT_AES "AES"
[119] Fix | Delete
# define SSL_TXT_AES_GCM "AESGCM"
[120] Fix | Delete
# define SSL_TXT_AES_CCM "AESCCM"
[121] Fix | Delete
# define SSL_TXT_AES_CCM_8 "AESCCM8"
[122] Fix | Delete
# define SSL_TXT_CAMELLIA128 "CAMELLIA128"
[123] Fix | Delete
# define SSL_TXT_CAMELLIA256 "CAMELLIA256"
[124] Fix | Delete
# define SSL_TXT_CAMELLIA "CAMELLIA"
[125] Fix | Delete
# define SSL_TXT_CHACHA20 "CHACHA20"
[126] Fix | Delete
# define SSL_TXT_GOST "GOST89"
[127] Fix | Delete
# define SSL_TXT_ARIA "ARIA"
[128] Fix | Delete
# define SSL_TXT_ARIA_GCM "ARIAGCM"
[129] Fix | Delete
# define SSL_TXT_ARIA128 "ARIA128"
[130] Fix | Delete
# define SSL_TXT_ARIA256 "ARIA256"
[131] Fix | Delete
[132] Fix | Delete
# define SSL_TXT_MD5 "MD5"
[133] Fix | Delete
# define SSL_TXT_SHA1 "SHA1"
[134] Fix | Delete
# define SSL_TXT_SHA "SHA"/* same as "SHA1" */
[135] Fix | Delete
# define SSL_TXT_GOST94 "GOST94"
[136] Fix | Delete
# define SSL_TXT_GOST89MAC "GOST89MAC"
[137] Fix | Delete
# define SSL_TXT_GOST12 "GOST12"
[138] Fix | Delete
# define SSL_TXT_GOST89MAC12 "GOST89MAC12"
[139] Fix | Delete
# define SSL_TXT_SHA256 "SHA256"
[140] Fix | Delete
# define SSL_TXT_SHA384 "SHA384"
[141] Fix | Delete
[142] Fix | Delete
# define SSL_TXT_SSLV3 "SSLv3"
[143] Fix | Delete
# define SSL_TXT_TLSV1 "TLSv1"
[144] Fix | Delete
# define SSL_TXT_TLSV1_1 "TLSv1.1"
[145] Fix | Delete
# define SSL_TXT_TLSV1_2 "TLSv1.2"
[146] Fix | Delete
[147] Fix | Delete
# define SSL_TXT_ALL "ALL"
[148] Fix | Delete
[149] Fix | Delete
/*-
[150] Fix | Delete
* COMPLEMENTOF* definitions. These identifiers are used to (de-select)
[151] Fix | Delete
* ciphers normally not being used.
[152] Fix | Delete
* Example: "RC4" will activate all ciphers using RC4 including ciphers
[153] Fix | Delete
* without authentication, which would normally disabled by DEFAULT (due
[154] Fix | Delete
* the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT"
[155] Fix | Delete
* will make sure that it is also disabled in the specific selection.
[156] Fix | Delete
* COMPLEMENTOF* identifiers are portable between version, as adjustments
[157] Fix | Delete
* to the default cipher setup will also be included here.
[158] Fix | Delete
*
[159] Fix | Delete
* COMPLEMENTOFDEFAULT does not experience the same special treatment that
[160] Fix | Delete
* DEFAULT gets, as only selection is being done and no sorting as needed
[161] Fix | Delete
* for DEFAULT.
[162] Fix | Delete
*/
[163] Fix | Delete
# define SSL_TXT_CMPALL "COMPLEMENTOFALL"
[164] Fix | Delete
# define SSL_TXT_CMPDEF "COMPLEMENTOFDEFAULT"
[165] Fix | Delete
[166] Fix | Delete
/*
[167] Fix | Delete
* The following cipher list is used by default. It also is substituted when
[168] Fix | Delete
* an application-defined cipher list string starts with 'DEFAULT'.
[169] Fix | Delete
* This applies to ciphersuites for TLSv1.2 and below.
[170] Fix | Delete
*/
[171] Fix | Delete
# define SSL_DEFAULT_CIPHER_LIST "ALL:!COMPLEMENTOFDEFAULT:!eNULL"
[172] Fix | Delete
/* This is the default set of TLSv1.3 ciphersuites */
[173] Fix | Delete
# if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305)
[174] Fix | Delete
# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \
[175] Fix | Delete
"TLS_CHACHA20_POLY1305_SHA256:" \
[176] Fix | Delete
"TLS_AES_128_GCM_SHA256"
[177] Fix | Delete
# else
[178] Fix | Delete
# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \
[179] Fix | Delete
"TLS_AES_128_GCM_SHA256"
[180] Fix | Delete
#endif
[181] Fix | Delete
/*
[182] Fix | Delete
* As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always
[183] Fix | Delete
* starts with a reasonable order, and all we have to do for DEFAULT is
[184] Fix | Delete
* throwing out anonymous and unencrypted ciphersuites! (The latter are not
[185] Fix | Delete
* actually enabled by ALL, but "ALL:RSA" would enable some of them.)
[186] Fix | Delete
*/
[187] Fix | Delete
# ifdef SYSTEM_CIPHERS_FILE
[188] Fix | Delete
# define SSL_SYSTEM_DEFAULT_CIPHER_LIST "PROFILE=SYSTEM"
[189] Fix | Delete
# else
[190] Fix | Delete
# define SSL_SYSTEM_DEFAULT_CIPHER_LIST SSL_DEFAULT_CIPHER_LIST
[191] Fix | Delete
# endif
[192] Fix | Delete
[193] Fix | Delete
/* Used in SSL_set_shutdown()/SSL_get_shutdown(); */
[194] Fix | Delete
# define SSL_SENT_SHUTDOWN 1
[195] Fix | Delete
# define SSL_RECEIVED_SHUTDOWN 2
[196] Fix | Delete
[197] Fix | Delete
#ifdef __cplusplus
[198] Fix | Delete
}
[199] Fix | Delete
#endif
[200] Fix | Delete
[201] Fix | Delete
#ifdef __cplusplus
[202] Fix | Delete
extern "C" {
[203] Fix | Delete
#endif
[204] Fix | Delete
[205] Fix | Delete
# define SSL_FILETYPE_ASN1 X509_FILETYPE_ASN1
[206] Fix | Delete
# define SSL_FILETYPE_PEM X509_FILETYPE_PEM
[207] Fix | Delete
[208] Fix | Delete
/*
[209] Fix | Delete
* This is needed to stop compilers complaining about the 'struct ssl_st *'
[210] Fix | Delete
* function parameters used to prototype callbacks in SSL_CTX.
[211] Fix | Delete
*/
[212] Fix | Delete
typedef struct ssl_st *ssl_crock_st;
[213] Fix | Delete
typedef struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT;
[214] Fix | Delete
typedef struct ssl_method_st SSL_METHOD;
[215] Fix | Delete
typedef struct ssl_cipher_st SSL_CIPHER;
[216] Fix | Delete
typedef struct ssl_session_st SSL_SESSION;
[217] Fix | Delete
typedef struct tls_sigalgs_st TLS_SIGALGS;
[218] Fix | Delete
typedef struct ssl_conf_ctx_st SSL_CONF_CTX;
[219] Fix | Delete
typedef struct ssl_comp_st SSL_COMP;
[220] Fix | Delete
[221] Fix | Delete
STACK_OF(SSL_CIPHER);
[222] Fix | Delete
STACK_OF(SSL_COMP);
[223] Fix | Delete
[224] Fix | Delete
/* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/
[225] Fix | Delete
typedef struct srtp_protection_profile_st {
[226] Fix | Delete
const char *name;
[227] Fix | Delete
unsigned long id;
[228] Fix | Delete
} SRTP_PROTECTION_PROFILE;
[229] Fix | Delete
[230] Fix | Delete
DEFINE_STACK_OF(SRTP_PROTECTION_PROFILE)
[231] Fix | Delete
[232] Fix | Delete
typedef int (*tls_session_ticket_ext_cb_fn)(SSL *s, const unsigned char *data,
[233] Fix | Delete
int len, void *arg);
[234] Fix | Delete
typedef int (*tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len,
[235] Fix | Delete
STACK_OF(SSL_CIPHER) *peer_ciphers,
[236] Fix | Delete
const SSL_CIPHER **cipher, void *arg);
[237] Fix | Delete
[238] Fix | Delete
/* Extension context codes */
[239] Fix | Delete
/* This extension is only allowed in TLS */
[240] Fix | Delete
#define SSL_EXT_TLS_ONLY 0x0001
[241] Fix | Delete
/* This extension is only allowed in DTLS */
[242] Fix | Delete
#define SSL_EXT_DTLS_ONLY 0x0002
[243] Fix | Delete
/* Some extensions may be allowed in DTLS but we don't implement them for it */
[244] Fix | Delete
#define SSL_EXT_TLS_IMPLEMENTATION_ONLY 0x0004
[245] Fix | Delete
/* Most extensions are not defined for SSLv3 but EXT_TYPE_renegotiate is */
[246] Fix | Delete
#define SSL_EXT_SSL3_ALLOWED 0x0008
[247] Fix | Delete
/* Extension is only defined for TLS1.2 and below */
[248] Fix | Delete
#define SSL_EXT_TLS1_2_AND_BELOW_ONLY 0x0010
[249] Fix | Delete
/* Extension is only defined for TLS1.3 and above */
[250] Fix | Delete
#define SSL_EXT_TLS1_3_ONLY 0x0020
[251] Fix | Delete
/* Ignore this extension during parsing if we are resuming */
[252] Fix | Delete
#define SSL_EXT_IGNORE_ON_RESUMPTION 0x0040
[253] Fix | Delete
#define SSL_EXT_CLIENT_HELLO 0x0080
[254] Fix | Delete
/* Really means TLS1.2 or below */
[255] Fix | Delete
#define SSL_EXT_TLS1_2_SERVER_HELLO 0x0100
[256] Fix | Delete
#define SSL_EXT_TLS1_3_SERVER_HELLO 0x0200
[257] Fix | Delete
#define SSL_EXT_TLS1_3_ENCRYPTED_EXTENSIONS 0x0400
[258] Fix | Delete
#define SSL_EXT_TLS1_3_HELLO_RETRY_REQUEST 0x0800
[259] Fix | Delete
#define SSL_EXT_TLS1_3_CERTIFICATE 0x1000
[260] Fix | Delete
#define SSL_EXT_TLS1_3_NEW_SESSION_TICKET 0x2000
[261] Fix | Delete
#define SSL_EXT_TLS1_3_CERTIFICATE_REQUEST 0x4000
[262] Fix | Delete
[263] Fix | Delete
/* Typedefs for handling custom extensions */
[264] Fix | Delete
[265] Fix | Delete
typedef int (*custom_ext_add_cb)(SSL *s, unsigned int ext_type,
[266] Fix | Delete
const unsigned char **out, size_t *outlen,
[267] Fix | Delete
int *al, void *add_arg);
[268] Fix | Delete
[269] Fix | Delete
typedef void (*custom_ext_free_cb)(SSL *s, unsigned int ext_type,
[270] Fix | Delete
const unsigned char *out, void *add_arg);
[271] Fix | Delete
[272] Fix | Delete
typedef int (*custom_ext_parse_cb)(SSL *s, unsigned int ext_type,
[273] Fix | Delete
const unsigned char *in, size_t inlen,
[274] Fix | Delete
int *al, void *parse_arg);
[275] Fix | Delete
[276] Fix | Delete
[277] Fix | Delete
typedef int (*SSL_custom_ext_add_cb_ex)(SSL *s, unsigned int ext_type,
[278] Fix | Delete
unsigned int context,
[279] Fix | Delete
const unsigned char **out,
[280] Fix | Delete
size_t *outlen, X509 *x,
[281] Fix | Delete
size_t chainidx,
[282] Fix | Delete
int *al, void *add_arg);
[283] Fix | Delete
[284] Fix | Delete
typedef void (*SSL_custom_ext_free_cb_ex)(SSL *s, unsigned int ext_type,
[285] Fix | Delete
unsigned int context,
[286] Fix | Delete
const unsigned char *out,
[287] Fix | Delete
void *add_arg);
[288] Fix | Delete
[289] Fix | Delete
typedef int (*SSL_custom_ext_parse_cb_ex)(SSL *s, unsigned int ext_type,
[290] Fix | Delete
unsigned int context,
[291] Fix | Delete
const unsigned char *in,
[292] Fix | Delete
size_t inlen, X509 *x,
[293] Fix | Delete
size_t chainidx,
[294] Fix | Delete
int *al, void *parse_arg);
[295] Fix | Delete
[296] Fix | Delete
/* Typedef for verification callback */
[297] Fix | Delete
typedef int (*SSL_verify_cb)(int preverify_ok, X509_STORE_CTX *x509_ctx);
[298] Fix | Delete
[299] Fix | Delete
/*
[300] Fix | Delete
* Some values are reserved until OpenSSL 1.2.0 because they were previously
[301] Fix | Delete
* included in SSL_OP_ALL in a 1.1.x release.
[302] Fix | Delete
*
[303] Fix | Delete
* Reserved value (until OpenSSL 1.2.0) 0x00000001U
[304] Fix | Delete
* Reserved value (until OpenSSL 1.2.0) 0x00000002U
[305] Fix | Delete
*/
[306] Fix | Delete
/* Allow initial connection to servers that don't support RI */
[307] Fix | Delete
# define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004U
[308] Fix | Delete
[309] Fix | Delete
/* Reserved value (until OpenSSL 1.2.0) 0x00000008U */
[310] Fix | Delete
# define SSL_OP_TLSEXT_PADDING 0x00000010U
[311] Fix | Delete
/* Reserved value (until OpenSSL 1.2.0) 0x00000020U */
[312] Fix | Delete
# define SSL_OP_SAFARI_ECDHE_ECDSA_BUG 0x00000040U
[313] Fix | Delete
/*
[314] Fix | Delete
* Reserved value (until OpenSSL 1.2.0) 0x00000080U
[315] Fix | Delete
* Reserved value (until OpenSSL 1.2.0) 0x00000100U
[316] Fix | Delete
* Reserved value (until OpenSSL 1.2.0) 0x00000200U
[317] Fix | Delete
*/
[318] Fix | Delete
[319] Fix | Delete
/* In TLSv1.3 allow a non-(ec)dhe based kex_mode */
[320] Fix | Delete
# define SSL_OP_ALLOW_NO_DHE_KEX 0x00000400U
[321] Fix | Delete
[322] Fix | Delete
/*
[323] Fix | Delete
* Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added in
[324] Fix | Delete
* OpenSSL 0.9.6d. Usually (depending on the application protocol) the
[325] Fix | Delete
* workaround is not needed. Unfortunately some broken SSL/TLS
[326] Fix | Delete
* implementations cannot handle it at all, which is why we include it in
[327] Fix | Delete
* SSL_OP_ALL. Added in 0.9.6e
[328] Fix | Delete
*/
[329] Fix | Delete
# define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800U
[330] Fix | Delete
[331] Fix | Delete
/* DTLS options */
[332] Fix | Delete
# define SSL_OP_NO_QUERY_MTU 0x00001000U
[333] Fix | Delete
/* Turn on Cookie Exchange (on relevant for servers) */
[334] Fix | Delete
# define SSL_OP_COOKIE_EXCHANGE 0x00002000U
[335] Fix | Delete
/* Don't use RFC4507 ticket extension */
[336] Fix | Delete
# define SSL_OP_NO_TICKET 0x00004000U
[337] Fix | Delete
# ifndef OPENSSL_NO_DTLS1_METHOD
[338] Fix | Delete
/* Use Cisco's "speshul" version of DTLS_BAD_VER
[339] Fix | Delete
* (only with deprecated DTLSv1_client_method()) */
[340] Fix | Delete
# define SSL_OP_CISCO_ANYCONNECT 0x00008000U
[341] Fix | Delete
# endif
[342] Fix | Delete
[343] Fix | Delete
/* As server, disallow session resumption on renegotiation */
[344] Fix | Delete
# define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x00010000U
[345] Fix | Delete
/* Don't use compression even if supported */
[346] Fix | Delete
# define SSL_OP_NO_COMPRESSION 0x00020000U
[347] Fix | Delete
/* Permit unsafe legacy renegotiation */
[348] Fix | Delete
# define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x00040000U
[349] Fix | Delete
/* Disable encrypt-then-mac */
[350] Fix | Delete
# define SSL_OP_NO_ENCRYPT_THEN_MAC 0x00080000U
[351] Fix | Delete
[352] Fix | Delete
/*
[353] Fix | Delete
* Enable TLSv1.3 Compatibility mode. This is on by default. A future version
[354] Fix | Delete
* of OpenSSL may have this disabled by default.
[355] Fix | Delete
*/
[356] Fix | Delete
# define SSL_OP_ENABLE_MIDDLEBOX_COMPAT 0x00100000U
[357] Fix | Delete
[358] Fix | Delete
/* Prioritize Chacha20Poly1305 when client does.
[359] Fix | Delete
* Modifies SSL_OP_CIPHER_SERVER_PREFERENCE */
[360] Fix | Delete
# define SSL_OP_PRIORITIZE_CHACHA 0x00200000U
[361] Fix | Delete
[362] Fix | Delete
/*
[363] Fix | Delete
* Set on servers to choose the cipher according to the server's preferences
[364] Fix | Delete
*/
[365] Fix | Delete
# define SSL_OP_CIPHER_SERVER_PREFERENCE 0x00400000U
[366] Fix | Delete
/*
[367] Fix | Delete
* If set, a server will allow a client to issue a SSLv3.0 version number as
[368] Fix | Delete
* latest version supported in the premaster secret, even when TLSv1.0
[369] Fix | Delete
* (version 3.1) was announced in the client hello. Normally this is
[370] Fix | Delete
* forbidden to prevent version rollback attacks.
[371] Fix | Delete
*/
[372] Fix | Delete
# define SSL_OP_TLS_ROLLBACK_BUG 0x00800000U
[373] Fix | Delete
[374] Fix | Delete
/*
[375] Fix | Delete
* Switches off automatic TLSv1.3 anti-replay protection for early data. This
[376] Fix | Delete
* is a server-side option only (no effect on the client).
[377] Fix | Delete
*/
[378] Fix | Delete
# define SSL_OP_NO_ANTI_REPLAY 0x01000000U
[379] Fix | Delete
[380] Fix | Delete
# define SSL_OP_NO_SSLv3 0x02000000U
[381] Fix | Delete
# define SSL_OP_NO_TLSv1 0x04000000U
[382] Fix | Delete
# define SSL_OP_NO_TLSv1_2 0x08000000U
[383] Fix | Delete
# define SSL_OP_NO_TLSv1_1 0x10000000U
[384] Fix | Delete
# define SSL_OP_NO_TLSv1_3 0x20000000U
[385] Fix | Delete
[386] Fix | Delete
# define SSL_OP_NO_DTLSv1 0x04000000U
[387] Fix | Delete
# define SSL_OP_NO_DTLSv1_2 0x08000000U
[388] Fix | Delete
[389] Fix | Delete
# define SSL_OP_NO_SSL_MASK (SSL_OP_NO_SSLv3|\
[390] Fix | Delete
SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2|SSL_OP_NO_TLSv1_3)
[391] Fix | Delete
# define SSL_OP_NO_DTLS_MASK (SSL_OP_NO_DTLSv1|SSL_OP_NO_DTLSv1_2)
[392] Fix | Delete
[393] Fix | Delete
/* Disallow all renegotiation */
[394] Fix | Delete
# define SSL_OP_NO_RENEGOTIATION 0x40000000U
[395] Fix | Delete
[396] Fix | Delete
/*
[397] Fix | Delete
* Make server add server-hello extension from early version of cryptopro
[398] Fix | Delete
* draft, when GOST ciphersuite is negotiated. Required for interoperability
[399] Fix | Delete
* with CryptoPro CSP 3.x
[400] Fix | Delete
*/
[401] Fix | Delete
# define SSL_OP_CRYPTOPRO_TLSEXT_BUG 0x80000000U
[402] Fix | Delete
[403] Fix | Delete
/*
[404] Fix | Delete
* SSL_OP_ALL: various bug workarounds that should be rather harmless.
[405] Fix | Delete
* This used to be 0x000FFFFFL before 0.9.7.
[406] Fix | Delete
* This used to be 0x80000BFFU before 1.1.1.
[407] Fix | Delete
*/
[408] Fix | Delete
# define SSL_OP_ALL (SSL_OP_CRYPTOPRO_TLSEXT_BUG|\
[409] Fix | Delete
SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS|\
[410] Fix | Delete
SSL_OP_LEGACY_SERVER_CONNECT|\
[411] Fix | Delete
SSL_OP_TLSEXT_PADDING|\
[412] Fix | Delete
SSL_OP_SAFARI_ECDHE_ECDSA_BUG)
[413] Fix | Delete
[414] Fix | Delete
/* OBSOLETE OPTIONS: retained for compatibility */
[415] Fix | Delete
[416] Fix | Delete
/* Removed from OpenSSL 1.1.0. Was 0x00000001L */
[417] Fix | Delete
/* Related to removed SSLv2. */
[418] Fix | Delete
# define SSL_OP_MICROSOFT_SESS_ID_BUG 0x0
[419] Fix | Delete
/* Removed from OpenSSL 1.1.0. Was 0x00000002L */
[420] Fix | Delete
/* Related to removed SSLv2. */
[421] Fix | Delete
# define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x0
[422] Fix | Delete
/* Removed from OpenSSL 0.9.8q and 1.0.0c. Was 0x00000008L */
[423] Fix | Delete
/* Dead forever, see CVE-2010-4180 */
[424] Fix | Delete
# define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x0
[425] Fix | Delete
/* Removed from OpenSSL 1.0.1h and 1.0.2. Was 0x00000010L */
[426] Fix | Delete
/* Refers to ancient SSLREF and SSLv2. */
[427] Fix | Delete
# define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x0
[428] Fix | Delete
/* Removed from OpenSSL 1.1.0. Was 0x00000020 */
[429] Fix | Delete
# define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x0
[430] Fix | Delete
/* Removed from OpenSSL 0.9.7h and 0.9.8b. Was 0x00000040L */
[431] Fix | Delete
# define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x0
[432] Fix | Delete
/* Removed from OpenSSL 1.1.0. Was 0x00000080 */
[433] Fix | Delete
/* Ancient SSLeay version. */
[434] Fix | Delete
# define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x0
[435] Fix | Delete
/* Removed from OpenSSL 1.1.0. Was 0x00000100L */
[436] Fix | Delete
# define SSL_OP_TLS_D5_BUG 0x0
[437] Fix | Delete
/* Removed from OpenSSL 1.1.0. Was 0x00000200L */
[438] Fix | Delete
# define SSL_OP_TLS_BLOCK_PADDING_BUG 0x0
[439] Fix | Delete
/* Removed from OpenSSL 1.1.0. Was 0x00080000L */
[440] Fix | Delete
# define SSL_OP_SINGLE_ECDH_USE 0x0
[441] Fix | Delete
/* Removed from OpenSSL 1.1.0. Was 0x00100000L */
[442] Fix | Delete
# define SSL_OP_SINGLE_DH_USE 0x0
[443] Fix | Delete
/* Removed from OpenSSL 1.0.1k and 1.0.2. Was 0x00200000L */
[444] Fix | Delete
# define SSL_OP_EPHEMERAL_RSA 0x0
[445] Fix | Delete
/* Removed from OpenSSL 1.1.0. Was 0x01000000L */
[446] Fix | Delete
# define SSL_OP_NO_SSLv2 0x0
[447] Fix | Delete
/* Removed from OpenSSL 1.0.1. Was 0x08000000L */
[448] Fix | Delete
# define SSL_OP_PKCS1_CHECK_1 0x0
[449] Fix | Delete
/* Removed from OpenSSL 1.0.1. Was 0x10000000L */
[450] Fix | Delete
# define SSL_OP_PKCS1_CHECK_2 0x0
[451] Fix | Delete
/* Removed from OpenSSL 1.1.0. Was 0x20000000L */
[452] Fix | Delete
# define SSL_OP_NETSCAPE_CA_DN_BUG 0x0
[453] Fix | Delete
/* Removed from OpenSSL 1.1.0. Was 0x40000000L */
[454] Fix | Delete
# define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x0
[455] Fix | Delete
[456] Fix | Delete
/*
[457] Fix | Delete
* Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success
[458] Fix | Delete
* when just a single record has been written):
[459] Fix | Delete
*/
[460] Fix | Delete
# define SSL_MODE_ENABLE_PARTIAL_WRITE 0x00000001U
[461] Fix | Delete
/*
[462] Fix | Delete
* Make it possible to retry SSL_write() with changed buffer location (buffer
[463] Fix | Delete
* contents must stay the same!); this is not the default to avoid the
[464] Fix | Delete
* misconception that non-blocking SSL_write() behaves like non-blocking
[465] Fix | Delete
* write():
[466] Fix | Delete
*/
[467] Fix | Delete
# define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002U
[468] Fix | Delete
/*
[469] Fix | Delete
* Never bother the application with retries if the transport is blocking:
[470] Fix | Delete
*/
[471] Fix | Delete
# define SSL_MODE_AUTO_RETRY 0x00000004U
[472] Fix | Delete
/* Don't attempt to automatically build certificate chain */
[473] Fix | Delete
# define SSL_MODE_NO_AUTO_CHAIN 0x00000008U
[474] Fix | Delete
/*
[475] Fix | Delete
* Save RAM by releasing read and write buffers when they're empty. (SSL3 and
[476] Fix | Delete
* TLS only.) Released buffers are freed.
[477] Fix | Delete
*/
[478] Fix | Delete
# define SSL_MODE_RELEASE_BUFFERS 0x00000010U
[479] Fix | Delete
/*
[480] Fix | Delete
* Send the current time in the Random fields of the ClientHello and
[481] Fix | Delete
* ServerHello records for compatibility with hypothetical implementations
[482] Fix | Delete
* that require it.
[483] Fix | Delete
*/
[484] Fix | Delete
# define SSL_MODE_SEND_CLIENTHELLO_TIME 0x00000020U
[485] Fix | Delete
# define SSL_MODE_SEND_SERVERHELLO_TIME 0x00000040U
[486] Fix | Delete
/*
[487] Fix | Delete
* Send TLS_FALLBACK_SCSV in the ClientHello. To be set only by applications
[488] Fix | Delete
* that reconnect with a downgraded protocol version; see
[489] Fix | Delete
* draft-ietf-tls-downgrade-scsv-00 for details. DO NOT ENABLE THIS if your
[490] Fix | Delete
* application attempts a normal handshake. Only use this in explicit
[491] Fix | Delete
* fallback retries, following the guidance in
[492] Fix | Delete
* draft-ietf-tls-downgrade-scsv-00.
[493] Fix | Delete
*/
[494] Fix | Delete
# define SSL_MODE_SEND_FALLBACK_SCSV 0x00000080U
[495] Fix | Delete
/*
[496] Fix | Delete
* Support Asynchronous operation
[497] Fix | Delete
*/
[498] Fix | Delete
# define SSL_MODE_ASYNC 0x00000100U
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function