|
PyModule_AddStringConstant(m, "_DEFAULT_CIPHERS", |
|
PY_SSL_DEFAULT_CIPHER_STRING); |
|
|
|
PyModule_AddIntConstant(m, "SSL_ERROR_ZERO_RETURN", |
|
PY_SSL_ERROR_ZERO_RETURN); |
|
PyModule_AddIntConstant(m, "SSL_ERROR_WANT_READ", |
|
PY_SSL_ERROR_WANT_READ); |
|
PyModule_AddIntConstant(m, "SSL_ERROR_WANT_WRITE", |
|
PY_SSL_ERROR_WANT_WRITE); |
|
PyModule_AddIntConstant(m, "SSL_ERROR_WANT_X509_LOOKUP", |
|
PY_SSL_ERROR_WANT_X509_LOOKUP); |
|
PyModule_AddIntConstant(m, "SSL_ERROR_SYSCALL", |
|
PY_SSL_ERROR_SYSCALL); |
|
PyModule_AddIntConstant(m, "SSL_ERROR_SSL", |
|
PY_SSL_ERROR_SSL); |
|
PyModule_AddIntConstant(m, "SSL_ERROR_WANT_CONNECT", |
|
PY_SSL_ERROR_WANT_CONNECT); |
|
/* non ssl.h errorcodes */ |
|
PyModule_AddIntConstant(m, "SSL_ERROR_EOF", |
|
PY_SSL_ERROR_EOF); |
|
PyModule_AddIntConstant(m, "SSL_ERROR_INVALID_ERROR_CODE", |
|
PY_SSL_ERROR_INVALID_ERROR_CODE); |
|
/* cert requirements */ |
|
PyModule_AddIntConstant(m, "CERT_NONE", |
|
PY_SSL_CERT_NONE); |
|
PyModule_AddIntConstant(m, "CERT_OPTIONAL", |
|
PY_SSL_CERT_OPTIONAL); |
|
PyModule_AddIntConstant(m, "CERT_REQUIRED", |
|
PY_SSL_CERT_REQUIRED); |
|
/* CRL verification for verification_flags */ |
|
PyModule_AddIntConstant(m, "VERIFY_DEFAULT", |
|
0); |
|
PyModule_AddIntConstant(m, "VERIFY_CRL_CHECK_LEAF", |
|
X509_V_FLAG_CRL_CHECK); |
|
PyModule_AddIntConstant(m, "VERIFY_CRL_CHECK_CHAIN", |
|
X509_V_FLAG_CRL_CHECK|X509_V_FLAG_CRL_CHECK_ALL); |
|
PyModule_AddIntConstant(m, "VERIFY_X509_STRICT", |
|
X509_V_FLAG_X509_STRICT); |
|
PyModule_AddIntConstant(m, "VERIFY_ALLOW_PROXY_CERTS", |
|
X509_V_FLAG_ALLOW_PROXY_CERTS); |
|
PyModule_AddIntConstant(m, "VERIFY_X509_TRUSTED_FIRST", |
|
X509_V_FLAG_TRUSTED_FIRST); |
Bug report
sslmodule_init_constantsdoes not return-1when any ofPyModule_Add*calls fail.For example,
PyModule_AddIntConstantreturns-1on error, but it is never checked:cpython/Modules/_ssl.c
Lines 5790 to 5831 in 96cbd1e
Other ``sslmodule_init_*` functions do check for errors correctly.
I have a PR ready.
Linked PRs
_ssl.cnot checking for errors when initializing a module #111232