Skip to content

Commit 56264ac

Browse files
authored
[ssl] Set values to constants (#14544)
1 parent 4df58d8 commit 56264ac

File tree

2 files changed

+184
-185
lines changed

2 files changed

+184
-185
lines changed

stdlib/_ssl.pyi

Lines changed: 104 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ from ssl import (
1212
SSLWantWriteError as SSLWantWriteError,
1313
SSLZeroReturnError as SSLZeroReturnError,
1414
)
15-
from typing import Any, ClassVar, Literal, TypedDict, final, overload, type_check_only
15+
from typing import Any, ClassVar, Final, Literal, TypedDict, final, overload, type_check_only
1616
from typing_extensions import NotRequired, Self, TypeAlias
1717

1818
_PasswordType: TypeAlias = Callable[[], str | bytes | bytearray] | str | bytes | bytearray
@@ -161,135 +161,134 @@ if sys.version_info < (3, 12):
161161
err_names_to_codes: dict[str, tuple[int, int]]
162162
lib_codes_to_names: dict[int, str]
163163

164-
_DEFAULT_CIPHERS: str
164+
_DEFAULT_CIPHERS: Final[str]
165165

166166
# SSL error numbers
167-
SSL_ERROR_ZERO_RETURN: int
168-
SSL_ERROR_WANT_READ: int
169-
SSL_ERROR_WANT_WRITE: int
170-
SSL_ERROR_WANT_X509_LOOKUP: int
171-
SSL_ERROR_SYSCALL: int
172-
SSL_ERROR_SSL: int
173-
SSL_ERROR_WANT_CONNECT: int
174-
SSL_ERROR_EOF: int
175-
SSL_ERROR_INVALID_ERROR_CODE: int
167+
SSL_ERROR_ZERO_RETURN: Final = 6
168+
SSL_ERROR_WANT_READ: Final = 2
169+
SSL_ERROR_WANT_WRITE: Final = 3
170+
SSL_ERROR_WANT_X509_LOOKUP: Final = 4
171+
SSL_ERROR_SYSCALL: Final = 5
172+
SSL_ERROR_SSL: Final = 1
173+
SSL_ERROR_WANT_CONNECT: Final = 7
174+
SSL_ERROR_EOF: Final = 8
175+
SSL_ERROR_INVALID_ERROR_CODE: Final = 10
176176

177177
# verify modes
178-
CERT_NONE: int
179-
CERT_OPTIONAL: int
180-
CERT_REQUIRED: int
178+
CERT_NONE: Final = 0
179+
CERT_OPTIONAL: Final = 1
180+
CERT_REQUIRED: Final = 2
181181

182182
# verify flags
183-
VERIFY_DEFAULT: int
184-
VERIFY_CRL_CHECK_LEAF: int
185-
VERIFY_CRL_CHECK_CHAIN: int
186-
VERIFY_X509_STRICT: int
187-
VERIFY_X509_TRUSTED_FIRST: int
183+
VERIFY_DEFAULT: Final = 0
184+
VERIFY_CRL_CHECK_LEAF: Final = 0x4
185+
VERIFY_CRL_CHECK_CHAIN: Final = 0x8
186+
VERIFY_X509_STRICT: Final = 0x20
187+
VERIFY_X509_TRUSTED_FIRST: Final = 0x8000
188188
if sys.version_info >= (3, 10):
189-
VERIFY_ALLOW_PROXY_CERTS: int
190-
VERIFY_X509_PARTIAL_CHAIN: int
189+
VERIFY_ALLOW_PROXY_CERTS: Final = 0x40
190+
VERIFY_X509_PARTIAL_CHAIN: Final = 0x80000
191191

192192
# alert descriptions
193-
ALERT_DESCRIPTION_CLOSE_NOTIFY: int
194-
ALERT_DESCRIPTION_UNEXPECTED_MESSAGE: int
195-
ALERT_DESCRIPTION_BAD_RECORD_MAC: int
196-
ALERT_DESCRIPTION_RECORD_OVERFLOW: int
197-
ALERT_DESCRIPTION_DECOMPRESSION_FAILURE: int
198-
ALERT_DESCRIPTION_HANDSHAKE_FAILURE: int
199-
ALERT_DESCRIPTION_BAD_CERTIFICATE: int
200-
ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE: int
201-
ALERT_DESCRIPTION_CERTIFICATE_REVOKED: int
202-
ALERT_DESCRIPTION_CERTIFICATE_EXPIRED: int
203-
ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN: int
204-
ALERT_DESCRIPTION_ILLEGAL_PARAMETER: int
205-
ALERT_DESCRIPTION_UNKNOWN_CA: int
206-
ALERT_DESCRIPTION_ACCESS_DENIED: int
207-
ALERT_DESCRIPTION_DECODE_ERROR: int
208-
ALERT_DESCRIPTION_DECRYPT_ERROR: int
209-
ALERT_DESCRIPTION_PROTOCOL_VERSION: int
210-
ALERT_DESCRIPTION_INSUFFICIENT_SECURITY: int
211-
ALERT_DESCRIPTION_INTERNAL_ERROR: int
212-
ALERT_DESCRIPTION_USER_CANCELLED: int
213-
ALERT_DESCRIPTION_NO_RENEGOTIATION: int
214-
ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION: int
215-
ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE: int
216-
ALERT_DESCRIPTION_UNRECOGNIZED_NAME: int
217-
ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE: int
218-
ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE: int
219-
ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY: int
193+
ALERT_DESCRIPTION_CLOSE_NOTIFY: Final = 0
194+
ALERT_DESCRIPTION_UNEXPECTED_MESSAGE: Final = 10
195+
ALERT_DESCRIPTION_BAD_RECORD_MAC: Final = 20
196+
ALERT_DESCRIPTION_RECORD_OVERFLOW: Final = 22
197+
ALERT_DESCRIPTION_DECOMPRESSION_FAILURE: Final = 30
198+
ALERT_DESCRIPTION_HANDSHAKE_FAILURE: Final = 40
199+
ALERT_DESCRIPTION_BAD_CERTIFICATE: Final = 42
200+
ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE: Final = 43
201+
ALERT_DESCRIPTION_CERTIFICATE_REVOKED: Final = 44
202+
ALERT_DESCRIPTION_CERTIFICATE_EXPIRED: Final = 45
203+
ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN: Final = 46
204+
ALERT_DESCRIPTION_ILLEGAL_PARAMETER: Final = 47
205+
ALERT_DESCRIPTION_UNKNOWN_CA: Final = 48
206+
ALERT_DESCRIPTION_ACCESS_DENIED: Final = 49
207+
ALERT_DESCRIPTION_DECODE_ERROR: Final = 50
208+
ALERT_DESCRIPTION_DECRYPT_ERROR: Final = 51
209+
ALERT_DESCRIPTION_PROTOCOL_VERSION: Final = 70
210+
ALERT_DESCRIPTION_INSUFFICIENT_SECURITY: Final = 71
211+
ALERT_DESCRIPTION_INTERNAL_ERROR: Final = 80
212+
ALERT_DESCRIPTION_USER_CANCELLED: Final = 90
213+
ALERT_DESCRIPTION_NO_RENEGOTIATION: Final = 100
214+
ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION: Final = 110
215+
ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE: Final = 111
216+
ALERT_DESCRIPTION_UNRECOGNIZED_NAME: Final = 112
217+
ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE: Final = 113
218+
ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE: Final = 114
219+
ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY: Final = 115
220220

221221
# protocol versions
222-
PROTOCOL_SSLv23: int
223-
PROTOCOL_TLS: int
224-
PROTOCOL_TLS_CLIENT: int
225-
PROTOCOL_TLS_SERVER: int
226-
PROTOCOL_TLSv1: int
227-
PROTOCOL_TLSv1_1: int
228-
PROTOCOL_TLSv1_2: int
222+
PROTOCOL_SSLv23: Final = 2
223+
PROTOCOL_TLS: Final = 2
224+
PROTOCOL_TLS_CLIENT: Final = 16
225+
PROTOCOL_TLS_SERVER: Final = 17
226+
PROTOCOL_TLSv1: Final = 3
227+
PROTOCOL_TLSv1_1: Final = 4
228+
PROTOCOL_TLSv1_2: Final = 5
229229

230230
# protocol options
231-
OP_ALL: int
232-
OP_NO_SSLv2: int
233-
OP_NO_SSLv3: int
234-
OP_NO_TLSv1: int
235-
OP_NO_TLSv1_1: int
236-
OP_NO_TLSv1_2: int
237-
OP_NO_TLSv1_3: int
238-
OP_CIPHER_SERVER_PREFERENCE: int
239-
OP_SINGLE_DH_USE: int
240-
OP_NO_TICKET: int
241-
OP_SINGLE_ECDH_USE: int
242-
OP_NO_COMPRESSION: int
243-
OP_ENABLE_MIDDLEBOX_COMPAT: int
244-
OP_NO_RENEGOTIATION: int
231+
OP_ALL: Final = 0x80000050
232+
OP_NO_SSLv2: Final = 0x0
233+
OP_NO_SSLv3: Final = 0x2000000
234+
OP_NO_TLSv1: Final = 0x4000000
235+
OP_NO_TLSv1_1: Final = 0x10000000
236+
OP_NO_TLSv1_2: Final = 0x8000000
237+
OP_NO_TLSv1_3: Final = 0x20000000
238+
OP_CIPHER_SERVER_PREFERENCE: Final = 0x400000
239+
OP_SINGLE_DH_USE: Final = 0x0
240+
OP_NO_TICKET: Final = 0x4000
241+
OP_SINGLE_ECDH_USE: Final = 0x0
242+
OP_NO_COMPRESSION: Final = 0x20000
243+
OP_ENABLE_MIDDLEBOX_COMPAT: Final = 0x100000
244+
OP_NO_RENEGOTIATION: Final = 0x40000000
245245
if sys.version_info >= (3, 11) or sys.platform == "linux":
246-
OP_IGNORE_UNEXPECTED_EOF: int
246+
OP_IGNORE_UNEXPECTED_EOF: Final = 0x80
247247
if sys.version_info >= (3, 12):
248-
OP_LEGACY_SERVER_CONNECT: int
249-
OP_ENABLE_KTLS: int
248+
OP_LEGACY_SERVER_CONNECT: Final = 0x4
249+
OP_ENABLE_KTLS: Final = 0x8
250250

251251
# host flags
252-
HOSTFLAG_ALWAYS_CHECK_SUBJECT: int
253-
HOSTFLAG_NEVER_CHECK_SUBJECT: int
254-
HOSTFLAG_NO_WILDCARDS: int
255-
HOSTFLAG_NO_PARTIAL_WILDCARDS: int
256-
HOSTFLAG_MULTI_LABEL_WILDCARDS: int
257-
HOSTFLAG_SINGLE_LABEL_SUBDOMAINS: int
252+
HOSTFLAG_ALWAYS_CHECK_SUBJECT: Final = 0x1
253+
HOSTFLAG_NEVER_CHECK_SUBJECT: Final = 0x20
254+
HOSTFLAG_NO_WILDCARDS: Final = 0x2
255+
HOSTFLAG_NO_PARTIAL_WILDCARDS: Final = 0x4
256+
HOSTFLAG_MULTI_LABEL_WILDCARDS: Final = 0x8
257+
HOSTFLAG_SINGLE_LABEL_SUBDOMAINS: Final = 0x10
258258

259259
if sys.version_info >= (3, 10):
260260
# certificate file types
261-
# Typed as Literal so the overload on Certificate.public_bytes can work properly.
262-
ENCODING_PEM: Literal[1]
263-
ENCODING_DER: Literal[2]
261+
ENCODING_PEM: Final = 1
262+
ENCODING_DER: Final = 2
264263

265264
# protocol versions
266-
PROTO_MINIMUM_SUPPORTED: int
267-
PROTO_MAXIMUM_SUPPORTED: int
268-
PROTO_SSLv3: int
269-
PROTO_TLSv1: int
270-
PROTO_TLSv1_1: int
271-
PROTO_TLSv1_2: int
272-
PROTO_TLSv1_3: int
265+
PROTO_MINIMUM_SUPPORTED: Final = -2
266+
PROTO_MAXIMUM_SUPPORTED: Final = -1
267+
PROTO_SSLv3: Final[int]
268+
PROTO_TLSv1: Final[int]
269+
PROTO_TLSv1_1: Final[int]
270+
PROTO_TLSv1_2: Final[int]
271+
PROTO_TLSv1_3: Final[int]
273272

274273
# feature support
275-
HAS_SNI: bool
276-
HAS_TLS_UNIQUE: bool
277-
HAS_ECDH: bool
278-
HAS_NPN: bool
274+
HAS_SNI: Final[bool]
275+
HAS_TLS_UNIQUE: Final[bool]
276+
HAS_ECDH: Final[bool]
277+
HAS_NPN: Final[bool]
279278
if sys.version_info >= (3, 13):
280-
HAS_PSK: bool
281-
HAS_ALPN: bool
282-
HAS_SSLv2: bool
283-
HAS_SSLv3: bool
284-
HAS_TLSv1: bool
285-
HAS_TLSv1_1: bool
286-
HAS_TLSv1_2: bool
287-
HAS_TLSv1_3: bool
279+
HAS_PSK: Final[bool]
280+
HAS_ALPN: Final[bool]
281+
HAS_SSLv2: Final[bool]
282+
HAS_SSLv3: Final[bool]
283+
HAS_TLSv1: Final[bool]
284+
HAS_TLSv1_1: Final[bool]
285+
HAS_TLSv1_2: Final[bool]
286+
HAS_TLSv1_3: Final[bool]
288287
if sys.version_info >= (3, 14):
289-
HAS_PHA: bool
288+
HAS_PHA: Final[bool]
290289

291290
# version info
292-
OPENSSL_VERSION_NUMBER: int
293-
OPENSSL_VERSION_INFO: tuple[int, int, int, int, int]
294-
OPENSSL_VERSION: str
295-
_OPENSSL_API_VERSION: tuple[int, int, int, int, int]
291+
OPENSSL_VERSION_NUMBER: Final[int]
292+
OPENSSL_VERSION_INFO: Final[tuple[int, int, int, int, int]]
293+
OPENSSL_VERSION: Final[str]
294+
_OPENSSL_API_VERSION: Final[tuple[int, int, int, int, int]]

0 commit comments

Comments
 (0)