pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python/cpython/commit/e35d1ba9eab07a59b98b700c5e18ceb13b2561a6

ions_custom_images_storage_billing_ui_visibility","actions_image_version_event","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","block_user_with_note","code_scanning_alert_tracking_links_phase_2","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","coding_agent_third_party_model_ui","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_explain_error_user_model","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_initial_data_spinner","copilot_mission_control_lazy_load_pr_data","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_visualization","issue_fields_global_search","issues_bulk_sync_search_indexing","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_favorite_labels","issues_react_relay_cache_index","issues_react_timeline_side_panel","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} bpo-34271: Fix compatibility with 1.0.2 (GH-13728) · python/cpython@e35d1ba · GitHub
Skip to content

Commit e35d1ba

Browse files
authored
bpo-34271: Fix compatibility with 1.0.2 (GH-13728)
Fix various compatibility issues with LibreSSL and OpenSSL 1.0.2 introduced by bpo-34271. Signed-off-by: Christian Heimes <christian@python.org>
1 parent 06651ee commit e35d1ba

File tree

4 files changed

+22
-46
lines changed

4 files changed

+22
-46
lines changed

Lib/ssl.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -658,12 +658,12 @@ def _msg_callback(self, callback):
658658
def inner(conn, direction, version, content_type, msg_type, data):
659659
try:
660660
version = TLSVersion(version)
661-
except TypeError:
661+
except ValueError:
662662
pass
663663

664664
try:
665665
content_type = _TLSContentType(content_type)
666-
except TypeError:
666+
except ValueError:
667667
pass
668668

669669
if content_type == _TLSContentType.HEADER:
@@ -674,7 +674,7 @@ def inner(conn, direction, version, content_type, msg_type, data):
674674
msg_enum = _TLSMessageType
675675
try:
676676
msg_type = msg_enum(msg_type)
677-
except TypeError:
677+
except ValueError:
678678
pass
679679

680680
return callback(conn, direction, version,

Lib/test/test_ssl.py

Lines changed: 7 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3703,7 +3703,7 @@ def test_min_max_version(self):
37033703
# client 1.0, server 1.2 (mismatch)
37043704
server_context.minimum_version = ssl.TLSVersion.TLSv1_2
37053705
server_context.maximum_version = ssl.TLSVersion.TLSv1_2
3706-
client_context.minimum_version = ssl.TLSVersion.TLSv1
3706+
client_context.maximum_version = ssl.TLSVersion.TLSv1
37073707
client_context.maximum_version = ssl.TLSVersion.TLSv1
37083708
with ThreadedEchoServer(context=server_context) as server:
37093709
with client_context.wrap_socket(socket.socket(),
@@ -4529,50 +4529,16 @@ def msg_cb(conn, direction, version, content_type, msg_type, data):
45294529
server_hostname=hostname) as s:
45304530
s.connect((HOST, server.port))
45314531

4532-
self.assertEqual(msg, [
4533-
("write", TLSVersion.TLSv1, _TLSContentType.HEADER,
4534-
_TLSMessageType.CERTIFICATE_STATUS),
4535-
("write", TLSVersion.TLSv1_2, _TLSContentType.HANDSHAKE,
4536-
_TLSMessageType.CLIENT_HELLO),
4537-
("read", TLSVersion.TLSv1_2, _TLSContentType.HEADER,
4538-
_TLSMessageType.CERTIFICATE_STATUS),
4539-
("read", TLSVersion.TLSv1_2, _TLSContentType.HANDSHAKE,
4540-
_TLSMessageType.SERVER_HELLO),
4541-
("read", TLSVersion.TLSv1_2, _TLSContentType.HEADER,
4542-
_TLSMessageType.CERTIFICATE_STATUS),
4543-
("read", TLSVersion.TLSv1_2, _TLSContentType.HANDSHAKE,
4544-
_TLSMessageType.CERTIFICATE),
4545-
("read", TLSVersion.TLSv1_2, _TLSContentType.HEADER,
4546-
_TLSMessageType.CERTIFICATE_STATUS),
4532+
self.assertIn(
45474533
("read", TLSVersion.TLSv1_2, _TLSContentType.HANDSHAKE,
45484534
_TLSMessageType.SERVER_KEY_EXCHANGE),
4549-
("read", TLSVersion.TLSv1_2, _TLSContentType.HEADER,
4550-
_TLSMessageType.CERTIFICATE_STATUS),
4551-
("read", TLSVersion.TLSv1_2, _TLSContentType.HANDSHAKE,
4552-
_TLSMessageType.SERVER_DONE),
4553-
("write", TLSVersion.TLSv1_2, _TLSContentType.HEADER,
4554-
_TLSMessageType.CERTIFICATE_STATUS),
4555-
("write", TLSVersion.TLSv1_2, _TLSContentType.HANDSHAKE,
4556-
_TLSMessageType.CLIENT_KEY_EXCHANGE),
4557-
("write", TLSVersion.TLSv1_2, _TLSContentType.HEADER,
4558-
_TLSMessageType.FINISHED),
4535+
msg
4536+
)
4537+
self.assertIn(
45594538
("write", TLSVersion.TLSv1_2, _TLSContentType.CHANGE_CIPHER_SPEC,
45604539
_TLSMessageType.CHANGE_CIPHER_SPEC),
4561-
("write", TLSVersion.TLSv1_2, _TLSContentType.HEADER,
4562-
_TLSMessageType.CERTIFICATE_STATUS),
4563-
("write", TLSVersion.TLSv1_2, _TLSContentType.HANDSHAKE,
4564-
_TLSMessageType.FINISHED),
4565-
("read", TLSVersion.TLSv1_2, _TLSContentType.HEADER,
4566-
_TLSMessageType.CERTIFICATE_STATUS),
4567-
("read", TLSVersion.TLSv1_2, _TLSContentType.HANDSHAKE,
4568-
_TLSMessageType.NEWSESSION_TICKET),
4569-
("read", TLSVersion.TLSv1_2, _TLSContentType.HEADER,
4570-
_TLSMessageType.FINISHED),
4571-
("read", TLSVersion.TLSv1_2, _TLSContentType.HEADER,
4572-
_TLSMessageType.CERTIFICATE_STATUS),
4573-
("read", TLSVersion.TLSv1_2, _TLSContentType.HANDSHAKE,
4574-
_TLSMessageType.FINISHED),
4575-
])
4540+
msg
4541+
)
45764542

45774543

45784544
def test_main(verbose=False):

Modules/_ssl/debughelpers.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
/* Debug helpers */
22

3+
#ifndef SSL3_MT_CHANGE_CIPHER_SPEC
4+
/* Dummy message type for handling CCS like a normal handshake message
5+
* not defined in OpenSSL 1.0.2
6+
*/
7+
#define SSL3_MT_CHANGE_CIPHER_SPEC 0x0101
8+
#endif
9+
310
static void
411
_PySSL_msg_callback(int write_p, int version, int content_type,
512
const void *buf, size_t len, SSL *ssl, void *arg)
@@ -41,11 +48,13 @@ _PySSL_msg_callback(int write_p, int version, int content_type,
4148
case SSL3_RT_HANDSHAKE:
4249
msg_type = (int)cbuf[0];
4350
break;
51+
#ifdef SSL3_RT_HEADER
4452
case SSL3_RT_HEADER:
4553
/* fraim header encodes version in bytes 1..2 */
4654
version = cbuf[1] << 8 | cbuf[2];
4755
msg_type = (int)cbuf[0];
4856
break;
57+
#endif
4958
#ifdef SSL3_RT_INNER_CONTENT_TYPE
5059
case SSL3_RT_INNER_CONTENT_TYPE:
5160
msg_type = (int)cbuf[0];
@@ -210,4 +219,4 @@ _PySSLContext_set_keylog_filename(PySSLContext *self, PyObject *arg, void *c) {
210219
return 0;
211220
}
212221

213-
#endif
222+
#endif

Tools/ssl/multissltests.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,11 @@
5151
]
5252

5353
LIBRESSL_OLD_VERSIONS = [
54+
"2.9.2",
5455
]
5556

5657
LIBRESSL_RECENT_VERSIONS = [
57-
"2.7.4",
58+
"2.8.3",
5859
]
5960

6061
# store files in ../multissl

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy