René's URL Explorer Experiment


Title: [DO NOT MERGE] Almost complete rustls integration rewrite by im-0 · Pull Request #8007 · RustPython/RustPython · GitHub

Open Graph Title: [DO NOT MERGE] Almost complete rustls integration rewrite by im-0 · Pull Request #8007 · RustPython/RustPython

X Title: [DO NOT MERGE] Almost complete rustls integration rewrite by im-0 · Pull Request #8007 · RustPython/RustPython

Description: Why do not merge? I need to re-read this code few more times. For sure it breaks something else. "It works on my machine": test.test_ssl, test.test_asyncio, extra_tests and some very basic examples that use requests. rustls integration rewrite Main changes: Now it contains understandable connection state machine instead of a handful of entangled variables. OID and NID mappings are generated from OpenSSL data files. Some mappings are still hardcoded but those are much smaller than before and are actually testable. OpenSSL-compatible cipher list string (man openssl-ciphers) is parsed correctly (I hope so). Difference between socket IO and buffered IO handling is minimal. Please check the module-level doc comment in crates/stdlib/src/rustls.rsfor additional information. What is missing: ssl timeout support. Normal socket timeouts still work just fine but Python's ssl module implementation handles timeouts for whole SSL/TLS operations, like handshake. This does not break anything and just makes timeouts imprecise so I believe that proper timeouts can be implemented later. Socket IO still uses _socket.socket.send/recv instead of methods of the socket object itself. Otherwise everything hangs and this must be investigated. See other TODO items in crates/stdlib/src/rustls.rs Changed tests Enabled: test_create_server_ssl_verified test_create_connection_memory_leak test_handshake_timeout_handler_leak test_tls_unique_channel_binding - now correctly skipped because we monkey-patch ssl.CHANNEL_BINDING_TYPES test_sni_callback_alert test_sni_callback_raising test_sni_callback_wrong_return_type test_sendfile_ssl_pre_and_post_data - re-enabled again after previous breakage Skipped with rustls implementation specifically (should work with OpenSSL): test_load_dh_params - rustls does not support Diffie-Hellman key exchange (it uses elliptic curve Diffie-Hellman) test_get_ca_certs_capath - test expects that certificates are loaded lazily which is hard to implement with rustls test_verify_strict - rustls does not perform some cert checks that OpenSSL does in strict mode Previously disabled tests changed to rustls-specific skip: test_session - current rustls does not expose session info test_session_handling test_msg_callback_tls12 - _msg_callback cannot be implemented with rustls I also added a test for BIO mode in extra_tests/. Related changes Module monkey-patching support. This is used to patch ssl.CHANNEL_BINDING_TYPES hardcoded by Python-native module imported from cpython. Serde serializer that serializes Rust types into Python objects using basic types (dicts, lists, etc). It is used to serialize certificate data as Python code expects it as a dict of tuples of tuples (of tuples). Not sure what is the right place for it but currently it resides in crates/vm/src/convert/rust_py_serde.rs. Summary by CodeRabbit New Features Added support for AWS-LC (AWS Libcrypto) and FIPS-enabled TLS providers. Added Serde serialization support for converting Rust values to Python objects. Added module-loaded hooks for custom module initialization callbacks. Bug Fixes Improved TLS/SSL error handling with enhanced OpenSSL-compatible error mapping. Chores Updated TLS cryptographic dependencies and provider configuration.

Open Graph Description: Why do not merge? I need to re-read this code few more times. For sure it breaks something else. "It works on my machine": test.test_ssl, test.test_asyncio, extra_tests and some very ba...

X Description: Why do not merge? I need to re-read this code few more times. For sure it breaks something else. "It works on my machine": test.test_ssl, test.test_asyncio, extra_tests and some...

Opengraph URL: https://github.com/RustPython/RustPython/pull/8007

X: @github

direct link

Domain: Github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:a8256468-06c2-d373-b294-b8143aa65411
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idAD04:222562:BE727C:1103635:6A631C0A
html-safe-nonce5b57307c16f80ade34472c7b3a5b1080c07d29a6d5968e5c2993f8620110abec
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBRDA0OjIyMjU2MjpCRTcyN0M6MTEwMzYzNTo2QTYzMUMwQSIsInZpc2l0b3JfaWQiOiI2MDc4OTE0NDk0MjYwNzgwMDQyIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmacc2fb44be90f7686f0bee439cc565f4d5c5d91322ae2a988ee161409b46668507
hovercard-subject-tagpull_request:3783506314
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/RustPython/RustPython/pull/8007/files
twitter:imagehttps://avatars.githubusercontent.com/u/18099621?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/18099621?s=400&v=4
og:image:altWhy do not merge? I need to re-read this code few more times. For sure it breaks something else. "It works on my machine": test.test_ssl, test.test_asyncio, extra_tests and some very ba...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None1a6c056e02f174fffc096c521ec0ff6fb83e40a2ec8cb8875466ec1524872dd6
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/RustPython/RustPython git https://github.com/RustPython/RustPython.git
octolytics-dimension-user_id39710557
octolytics-dimension-user_loginRustPython
octolytics-dimension-repository_id135201145
octolytics-dimension-repository_nwoRustPython/RustPython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id135201145
octolytics-dimension-repository_network_root_nwoRustPython/RustPython
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release6a93e25585f487ddff9e3996c06d5b869d6e1828
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://Github.com/RustPython/RustPython/pull/8007/files#start-of-content
https://Github.com/
Sign in https://Github.com/login?return_to=https%3A%2F%2Fgithub.com%2FRustPython%2FRustPython%2Fpull%2F8007%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://Github.com/login?return_to=https%3A%2F%2Fgithub.com%2FRustPython%2FRustPython%2Fpull%2F8007%2Ffiles
Sign up https://Github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=RustPython%2FRustPython
Reloadhttps://Github.com/RustPython/RustPython/pull/8007/files
Reloadhttps://Github.com/RustPython/RustPython/pull/8007/files
Reloadhttps://Github.com/RustPython/RustPython/pull/8007/files
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8007/files
RustPython https://Github.com/RustPython
RustPythonhttps://Github.com/RustPython/RustPython
Notifications https://Github.com/login?return_to=%2FRustPython%2FRustPython
Fork 1.5k https://Github.com/login?return_to=%2FRustPython%2FRustPython
Star 22.2k https://Github.com/login?return_to=%2FRustPython%2FRustPython
Code https://Github.com/RustPython/RustPython
Issues 294 https://Github.com/RustPython/RustPython/issues
Pull requests 105 https://Github.com/RustPython/RustPython/pulls
Discussions https://Github.com/RustPython/RustPython/discussions
Actions https://Github.com/RustPython/RustPython/actions
Projects https://Github.com/RustPython/RustPython/projects
Models https://Github.com/RustPython/RustPython/models
Wiki https://Github.com/RustPython/RustPython/wiki
Security and quality 0 https://Github.com/RustPython/RustPython/security
Insights https://Github.com/RustPython/RustPython/pulse
Code https://Github.com/RustPython/RustPython
Issues https://Github.com/RustPython/RustPython/issues
Pull requests https://Github.com/RustPython/RustPython/pulls
Discussions https://Github.com/RustPython/RustPython/discussions
Actions https://Github.com/RustPython/RustPython/actions
Projects https://Github.com/RustPython/RustPython/projects
Models https://Github.com/RustPython/RustPython/models
Wiki https://Github.com/RustPython/RustPython/wiki
Security and quality https://Github.com/RustPython/RustPython/security
Insights https://Github.com/RustPython/RustPython/pulse
Sign up for GitHub https://Github.com/signup?return_to=%2FRustPython%2FRustPython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://Github.com/login?return_to=%2FRustPython%2FRustPython%2Fissues%2Fnew%2Fchoose
im-0https://Github.com/im-0
RustPython:mainhttps://Github.com/RustPython/RustPython/tree/main
im-0:rustls-integration-rewritehttps://Github.com/im-0/RustPython/tree/rustls-integration-rewrite
Conversation 27 https://Github.com/RustPython/RustPython/pull/8007
Commits 25 https://Github.com/RustPython/RustPython/pull/8007/commits
Checks 26 https://Github.com/RustPython/RustPython/pull/8007/checks
Files changed https://Github.com/RustPython/RustPython/pull/8007/files
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8007/files
[DO NOT MERGE] Almost complete rustls integration rewrite https://Github.com/RustPython/RustPython/pull/8007/files#top
Show all changes 25 commits https://Github.com/RustPython/RustPython/pull/8007/files
ef042f0 Add a test for ssl with ssl.MemoryBIO im-0 May 24, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/ef042f0730445741141f3273e1a1c8a4a28c88cd
aab1759 Add Serde serializer that converts structs into basic Python objects im-0 May 26, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/aab1759ca8d5e9160dbf4a2d01746f8358ab8cc6
ea88e05 Support module monkey-patching on VM level im-0 May 30, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/ea88e05de08dfff47236e29bd69c7ba5e79ef419
4b663e0 Add OpenSSL data files used to build OID and NID tables im-0 May 27, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/4b663e0090a7feee4214b081826e1681f4065d17
d2b1496 Enable/disable ssl-related tests from cpython test suite im-0 May 30, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/d2b1496bcc89275ba0662d4775beb2df991eef88
6c311f8 Revert "Skip flaky tests (#7961)" im-0 May 31, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/6c311f82d5118ec2ccc1e79ec5ecbfeaddaa942e
3f5cb40 Revert "Skip flaky test (#7967)" im-0 May 31, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/3f5cb40e89a9c8d93ef051818af5022e23168adb
b5a1ea3 Almost a complete rewrite of rustls integration im-0 May 24, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/b5a1ea354004e739591c75277330cc86a85f3764
d0b2767 Skip test.test_httplib.HTTPSTest.test_networked_good_cert if rustls i… im-0 Jun 1, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/d0b27675b81957c5c99dd222644d42968c30abfb
814b5cd On client, both CERT_OPTIONAL and CERT_REQUIRED enable cert verification im-0 Jun 2, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/814b5cd70afb74bb9a8be31ccd3ace53bd67468b
150128f Rename stdlib_ssl_bio_unencrypted_trailer.py -> stdlib_ssl.py im-0 Jun 3, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/150128f95347ed07bcc03c384a8ace8943ba2dc2
196140b Move crates/stdlib/src/rustls-data -> crates/stdlib/rustls-data im-0 Jun 3, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/196140b7596cbe19a90548ae902cadf53786c4b6
0332046 Use expectedFailureIf() instead of skipIf() for rustls-specific skips im-0 Jun 3, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/0332046246ab9e8fcccb60254accc8b345edd837
fdd514b Fix `cargo shear` warn (graviola dep for examples/custom_tls_provider… im-0 Jun 3, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/fdd514b964a715e73807c07ca1bd835e4e755065
6b954ef Call SNI callback earlier and re-read the context after it im-0 Jun 3, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/6b954efef2943feb7655be21d6ab3192bae5c5b2
99d20f8 Remove allow_threads() from rustls integration im-0 Jun 3, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/99d20f8c1e1bb7f71333fdf6ebc3512af265ec44
adce18b Use certs from both SSL_CERT_FILE and SSL_CERT_DIR env vars if present im-0 Jun 3, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/adce18be77a6a28d5e775e272ac7c1e5b3514b20
6036eaa Keep rustls error in SslError until converted into Python error im-0 Jun 3, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/6036eaa525258f6a99404e5bf9b88dc4334724c2
4e79b93 Ensure that TLS alerts are sent back on TLS errors im-0 Jun 3, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/4e79b93e034a6fc323aea38178fe581f34779534
7117204 Document TLS connection state machine im-0 Jun 4, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/7117204688fc89db8b9d97fd2434eaa3c653b294
5e02b75 Test Rust -> Python serializer with py_serde::PyObjectSerializer im-0 Jun 4, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/5e02b751c9100aea93ced121e967869e1db39ffa
9feac87 Add documentation for Rust -> Python serializer im-0 Jun 4, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/9feac877151cb11b3037ad3c9906ca0af7ad9a34
c56a8d4 Serialize unit struct into Python string with just a struct name im-0 Jun 4, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/c56a8d425a1279fef5799f6c7ea519bb931af90e
21a68f2 Enable ThreadedTests.test_ssl_in_multiple_threads im-0 Jun 4, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/21a68f2d2328fe39320df0a27624a16ac01aba7f
8a43b8e Workaround for test.test_ssl.ThreadedTests.test_wrong_cert_tls* im-0 Jun 1, 2026 https://Github.com/RustPython/RustPython/pull/8007/commits/8a43b8ef059f4b3b47b6fd1ef58dcc648e46250c
Clear filters https://Github.com/RustPython/RustPython/pull/8007/files
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8007/files
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8007/files
Cargo.lock https://Github.com/RustPython/RustPython/pull/8007/files#diff-13ee4b2252c9e516a0547f2891aa2105c3ca71c6d7a1e682c69be97998dfc87e
Cargo.toml https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
test_events.py https://Github.com/RustPython/RustPython/pull/8007/files#diff-b125df0ba39acde9a49ff4ce6a554310cab3daf258a2e77c219fce5a8b17c146
test_sendfile.py https://Github.com/RustPython/RustPython/pull/8007/files#diff-711b6f68342493b9a0f3fc828d2e8383be9996bd8c2513e807d11b5bdbb84a8f
test_ssl.py https://Github.com/RustPython/RustPython/pull/8007/files#diff-655ceb20efba4bd80d3912ec61f0e410fad0b2c25d5964d3aa342834e1f72659
test_httplib.py https://Github.com/RustPython/RustPython/pull/8007/files#diff-6202bc3817db8ca8da16747c2447a99b5cb9037cc39f05a29f4dd152d155dac2
test_ssl.py https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
Cargo.toml https://Github.com/RustPython/RustPython/pull/8007/files#diff-206ca536c8a0e972ae8dd6a3c7f1b87f2cf39bc248bc1ea0735ef140ab4b290c
obj_mac.num https://Github.com/RustPython/RustPython/pull/8007/files#diff-3ebd9c93c479304ef6e2c0304bfd26250ededde268113c5b1a91143dcdb1a505
objects.txt https://Github.com/RustPython/RustPython/pull/8007/files#diff-bd2fa0b9e086afb02cd370e27d0b305540d6567b68457376e47d91f13fe780e0
lib.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-6fa56f9fbde7b1990897c70681fff48d9644f6343b011083698dbdf4279f1916
rustls.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-40e3ec5f380530ada0f92bdad8f95b4aca103c7a7f223ecafba49a5dea0978e4
socket.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-184374c26b267e900965c88a05d2c963f9c2fcdc8419201b0fa39b9ed462b5c7
ssl.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-454ec133e37f245b8eb2dfcd83daf62e341eb3ab03b353d30297ae029e73213b
cert.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-abc8fe978cbea5cc2805b8d5d2fc2f07b2a4975261400f4c47b94470a0c33244
compat.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e4dbb35c6460c23af1a8d48d17e0f8ddf604328016b018c184da5b1fdcd2cc2
error.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-f1ae75050e2a66c3b2ec9d55a0d74899f086e471f267a97d5a668c514a1d46db
oid.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-58cd89b4b4bb50c11090b5daf6fd7e25452e1c430e24c69e4b418a340692bedf
providers.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-b0102b3a42d1020531e46f25b06183986ba8922c53a27e21953dc9c9ad396a0b
Cargo.toml https://Github.com/RustPython/RustPython/pull/8007/files#diff-ccc3290f8eb6dbc476c8aad5c1586bf96837946b852e683ee8f21e4df91dc140
mod.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-7c7f03395f870b0e3a36c3de44bbd33920e9fa2b1b8ab7a946024ca3ff1bdbb3
rust_py_serde.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-f16956fe52b9a85061c3e4ce92cb27a779c4dc1f269ab533cc847beddd8b78b3
import.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-fdf183809931dc08d13609a0577f60effd521a60f8659606569d495720eb97d3
interpreter.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-2361f366cc46771907dbd3b09eb8b9c839e7f059710345f2265c1753862a1b20
mod.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-fe30ecf7c6b462e46e0874a55a05ea0edba83cefad5ac7a86e7137fa8f86ba74
custom_tls_providers.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-f155c3189d66c3cb84a7851c0d9c879967789d5321667f43013e0d5f0229d810
stdlib_ssl.py https://Github.com/RustPython/RustPython/pull/8007/files#diff-568c53eb8a1d33d6bf17ccc9e71a0db0720c82363cd4fcb3fe556824730893d5
interpreter.rs https://Github.com/RustPython/RustPython/pull/8007/files#diff-60405aaba3dc351a041fce3e90f17b63dee9a214bc9c35ae6a5126d003100e55
Cargo.lockhttps://Github.com/RustPython/RustPython/pull/8007/files#diff-13ee4b2252c9e516a0547f2891aa2105c3ca71c6d7a1e682c69be97998dfc87e
View file https://Github.com/RustPython/RustPython/blob/8a43b8ef059f4b3b47b6fd1ef58dcc648e46250c/Cargo.lock
Open in desktop https://desktop.github.com
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8007/files
Cargo.tomlhttps://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
View file https://Github.com/RustPython/RustPython/blob/8a43b8ef059f4b3b47b6fd1ef58dcc648e46250c/Cargo.toml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://Github.com/RustPython/RustPython/pull/8007/{{ revealButtonHref }}
https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
https://Github.com/RustPython/RustPython/pull/8007/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542
Lib/test/test_asyncio/test_events.pyhttps://Github.com/RustPython/RustPython/pull/8007/files#diff-b125df0ba39acde9a49ff4ce6a554310cab3daf258a2e77c219fce5a8b17c146
View file https://Github.com/RustPython/RustPython/blob/8a43b8ef059f4b3b47b6fd1ef58dcc648e46250c/Lib/test/test_asyncio/test_events.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://Github.com/RustPython/RustPython/pull/8007/{{ revealButtonHref }}
https://Github.com/RustPython/RustPython/pull/8007/files#diff-b125df0ba39acde9a49ff4ce6a554310cab3daf258a2e77c219fce5a8b17c146
https://Github.com/RustPython/RustPython/pull/8007/files#diff-b125df0ba39acde9a49ff4ce6a554310cab3daf258a2e77c219fce5a8b17c146
Lib/test/test_asyncio/test_sendfile.pyhttps://Github.com/RustPython/RustPython/pull/8007/files#diff-711b6f68342493b9a0f3fc828d2e8383be9996bd8c2513e807d11b5bdbb84a8f
View file https://Github.com/RustPython/RustPython/blob/8a43b8ef059f4b3b47b6fd1ef58dcc648e46250c/Lib/test/test_asyncio/test_sendfile.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://Github.com/RustPython/RustPython/pull/8007/{{ revealButtonHref }}
https://Github.com/RustPython/RustPython/pull/8007/files#diff-711b6f68342493b9a0f3fc828d2e8383be9996bd8c2513e807d11b5bdbb84a8f
Lib/test/test_asyncio/test_ssl.pyhttps://Github.com/RustPython/RustPython/pull/8007/files#diff-655ceb20efba4bd80d3912ec61f0e410fad0b2c25d5964d3aa342834e1f72659
View file https://Github.com/RustPython/RustPython/blob/8a43b8ef059f4b3b47b6fd1ef58dcc648e46250c/Lib/test/test_asyncio/test_ssl.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://Github.com/RustPython/RustPython/pull/8007/{{ revealButtonHref }}
https://Github.com/RustPython/RustPython/pull/8007/files#diff-655ceb20efba4bd80d3912ec61f0e410fad0b2c25d5964d3aa342834e1f72659
https://Github.com/RustPython/RustPython/pull/8007/files#diff-655ceb20efba4bd80d3912ec61f0e410fad0b2c25d5964d3aa342834e1f72659
https://Github.com/RustPython/RustPython/pull/8007/files#diff-655ceb20efba4bd80d3912ec61f0e410fad0b2c25d5964d3aa342834e1f72659
https://Github.com/RustPython/RustPython/pull/8007/files#diff-655ceb20efba4bd80d3912ec61f0e410fad0b2c25d5964d3aa342834e1f72659
Lib/test/test_httplib.pyhttps://Github.com/RustPython/RustPython/pull/8007/files#diff-6202bc3817db8ca8da16747c2447a99b5cb9037cc39f05a29f4dd152d155dac2
View file https://Github.com/RustPython/RustPython/blob/8a43b8ef059f4b3b47b6fd1ef58dcc648e46250c/Lib/test/test_httplib.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://Github.com/RustPython/RustPython/pull/8007/{{ revealButtonHref }}
https://Github.com/RustPython/RustPython/pull/8007/files#diff-6202bc3817db8ca8da16747c2447a99b5cb9037cc39f05a29f4dd152d155dac2
youknowonehttps://Github.com/youknowone
Jun 2, 2026https://Github.com/RustPython/RustPython/pull/8007/files#r3338776519
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8007/files
ShaharNavehhttps://Github.com/ShaharNaveh
Jun 2, 2026https://Github.com/RustPython/RustPython/pull/8007/files#r3339139738
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8007/files
im-0https://Github.com/im-0
Jun 3, 2026https://Github.com/RustPython/RustPython/pull/8007/files#r3348981552
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
@youknowonehttps://github.com/youknowone
RustPython/crates/stdlib/src/ssl/cert.rshttps://github.com/RustPython/RustPython/blob/c5f555ef05e101cfd126547a8eeb86094f1a7956/crates/stdlib/src/ssl/cert.rs#L1594
c5f555ehttps://Github.com/RustPython/RustPython/commit/c5f555ef05e101cfd126547a8eeb86094f1a7956
https://github.com/rustls/webpkihttps://github.com/rustls/webpki
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8007/files
https://Github.com/RustPython/RustPython/pull/8007/files#diff-6202bc3817db8ca8da16747c2447a99b5cb9037cc39f05a29f4dd152d155dac2
Lib/test/test_ssl.pyhttps://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
View file https://Github.com/RustPython/RustPython/blob/8a43b8ef059f4b3b47b6fd1ef58dcc648e46250c/Lib/test/test_ssl.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://Github.com/RustPython/RustPython/pull/8007/{{ revealButtonHref }}
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
https://Github.com/RustPython/RustPython/pull/8007/files#diff-d526ded1c360bed6b222de46f4ca92b834f978ebed992fb3189bf9a94a198578
crates/stdlib/Cargo.tomlhttps://Github.com/RustPython/RustPython/pull/8007/files#diff-206ca536c8a0e972ae8dd6a3c7f1b87f2cf39bc248bc1ea0735ef140ab4b290c
View file https://Github.com/RustPython/RustPython/blob/8a43b8ef059f4b3b47b6fd1ef58dcc648e46250c/crates/stdlib/Cargo.toml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://Github.com/RustPython/RustPython/pull/8007/{{ revealButtonHref }}
https://Github.com/RustPython/RustPython/pull/8007/files#diff-206ca536c8a0e972ae8dd6a3c7f1b87f2cf39bc248bc1ea0735ef140ab4b290c
https://Github.com/RustPython/RustPython/pull/8007/files#diff-206ca536c8a0e972ae8dd6a3c7f1b87f2cf39bc248bc1ea0735ef140ab4b290c
https://Github.com/RustPython/RustPython/pull/8007/files#diff-206ca536c8a0e972ae8dd6a3c7f1b87f2cf39bc248bc1ea0735ef140ab4b290c
https://Github.com/RustPython/RustPython/actions/runs/26925690477/job/79435222746?pr=8007
https://Github.com/RustPython/RustPython/pull/8007/files#diff-206ca536c8a0e972ae8dd6a3c7f1b87f2cf39bc248bc1ea0735ef140ab4b290c
https://Github.com/RustPython/RustPython/actions/runs/26925690477/job/79435222746?pr=8007
https://Github.com/RustPython/RustPython/actions/runs/26925690477/job/79435222746?pr=8007
https://Github.com/RustPython/RustPython/pull/8007/files#diff-206ca536c8a0e972ae8dd6a3c7f1b87f2cf39bc248bc1ea0735ef140ab4b290c
https://Github.com/RustPython/RustPython/pull/8007/files#diff-206ca536c8a0e972ae8dd6a3c7f1b87f2cf39bc248bc1ea0735ef140ab4b290c
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8007/files
Please reload this pagehttps://Github.com/RustPython/RustPython/pull/8007/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.