Skip to content

Commit 7bc450f

Browse files
committed
stub a number of API functions
Adds stub implementations for a variety of functions HTTPD's `mod_ssl.so` expects to be able to resolve: SSL_add_file_cert_subjects_to_stack SSL_client_hello_get0_ext, SSL_COMP_get_compression_methods, SSL_CTX_set0_tmp_dh_pkey, SSL_CTX_set_client_cert_cb, SSL_CTX_set_client_hello_cb, SSL_CTX_set_srp_cb_arg SSL_CTX_set_srp_username_callback, SSL_CTX_set_tlsext_ticket_key_evp_cb, SSL_get_ciphers, SSL_get_client_CA_list, SSL_get_finished, SSL_get_peer_finished, SSL_get_shared_ciphers, SSL_get_srp_userinfo, SSL_get_srp_username, SSL_peek, SSL_renegotiate, SSL_SESSION_get_compress_id, SSL_set_session_id_context, SSL_set_srp_server_param, SSL_state_string, SSL_state_string_long, SSL_verify_client_post_handshake,
1 parent 78e0b51 commit 7bc450f

File tree

3 files changed

+212
-26
lines changed

3 files changed

+212
-26
lines changed

MATRIX.md

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
| `SSL_CIPHER_standard_name` | | | :white_check_mark: |
4545
| `SSL_COMP_add_compression_method` | | | |
4646
| `SSL_COMP_get0_name` | | | |
47-
| `SSL_COMP_get_compression_methods` | | | |
47+
| `SSL_COMP_get_compression_methods` | | | :exclamation: [^stub] |
4848
| `SSL_COMP_get_id` | | | |
4949
| `SSL_COMP_get_name` | | | |
5050
| `SSL_COMP_set0_compression_methods` | | | |
@@ -126,7 +126,7 @@
126126
| `SSL_CTX_set0_CA_list` | | | |
127127
| `SSL_CTX_set0_ctlog_store` [^ct] | | | |
128128
| `SSL_CTX_set0_security_ex_data` | | | |
129-
| `SSL_CTX_set0_tmp_dh_pkey` | | | |
129+
| `SSL_CTX_set0_tmp_dh_pkey` | | | :exclamation: [^stub] |
130130
| `SSL_CTX_set1_cert_store` | | | |
131131
| `SSL_CTX_set1_param` | | | |
132132
| `SSL_CTX_set_allow_early_data_cb` | | | |
@@ -141,9 +141,9 @@
141141
| `SSL_CTX_set_cipher_list` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
142142
| `SSL_CTX_set_ciphersuites` | :white_check_mark: | | :exclamation: [^stub] |
143143
| `SSL_CTX_set_client_CA_list` | | :white_check_mark: | :exclamation: [^stub] |
144-
| `SSL_CTX_set_client_cert_cb` | | | |
144+
| `SSL_CTX_set_client_cert_cb` | | | :exclamation: [^stub] |
145145
| `SSL_CTX_set_client_cert_engine` [^engine] | | | |
146-
| `SSL_CTX_set_client_hello_cb` | | | |
146+
| `SSL_CTX_set_client_hello_cb` | | | :exclamation: [^stub] |
147147
| `SSL_CTX_set_cookie_generate_cb` | | | |
148148
| `SSL_CTX_set_cookie_verify_cb` | | | |
149149
| `SSL_CTX_set_ct_validation_callback` [^ct] | | | |
@@ -181,19 +181,19 @@
181181
| `SSL_CTX_set_security_level` | | | |
182182
| `SSL_CTX_set_session_id_context` | | :white_check_mark: | :white_check_mark: |
183183
| `SSL_CTX_set_session_ticket_cb` | | | |
184-
| `SSL_CTX_set_srp_cb_arg` [^deprecatedin_3_0] [^srp] | | | |
184+
| `SSL_CTX_set_srp_cb_arg` [^deprecatedin_3_0] [^srp] | | | :exclamation: [^stub] |
185185
| `SSL_CTX_set_srp_client_pwd_callback` [^deprecatedin_3_0] [^srp] | | | |
186186
| `SSL_CTX_set_srp_password` [^deprecatedin_3_0] [^srp] | :white_check_mark: | | :exclamation: [^stub] |
187187
| `SSL_CTX_set_srp_strength` [^deprecatedin_3_0] [^srp] | | | |
188188
| `SSL_CTX_set_srp_username` [^deprecatedin_3_0] [^srp] | :white_check_mark: | | :exclamation: [^stub] |
189-
| `SSL_CTX_set_srp_username_callback` [^deprecatedin_3_0] [^srp] | | | |
189+
| `SSL_CTX_set_srp_username_callback` [^deprecatedin_3_0] [^srp] | | | :exclamation: [^stub] |
190190
| `SSL_CTX_set_srp_verify_param_callback` [^deprecatedin_3_0] [^srp] | | | |
191191
| `SSL_CTX_set_ssl_version` [^deprecatedin_3_0] | | | |
192192
| `SSL_CTX_set_stateless_cookie_generate_cb` | | | |
193193
| `SSL_CTX_set_stateless_cookie_verify_cb` | | | |
194194
| `SSL_CTX_set_timeout` | | :white_check_mark: | :white_check_mark: |
195195
| `SSL_CTX_set_tlsext_max_fragment_length` | | | |
196-
| `SSL_CTX_set_tlsext_ticket_key_evp_cb` | | | |
196+
| `SSL_CTX_set_tlsext_ticket_key_evp_cb` | | | :exclamation: [^stub] |
197197
| `SSL_CTX_set_tlsext_use_srtp` [^srtp] | | | |
198198
| `SSL_CTX_set_tmp_dh_callback` [^deprecatedin_3_0] [^dh] | | | |
199199
| `SSL_CTX_set_trust` | | | |
@@ -224,7 +224,7 @@
224224
| `SSL_SESSION_get0_peer` | | | |
225225
| `SSL_SESSION_get0_ticket` | | | |
226226
| `SSL_SESSION_get0_ticket_appdata` | | | |
227-
| `SSL_SESSION_get_compress_id` | | | |
227+
| `SSL_SESSION_get_compress_id` | | | :exclamation: [^stub] |
228228
| `SSL_SESSION_get_ex_data` | | | |
229229
| `SSL_SESSION_get_id` | | :white_check_mark: | :white_check_mark: |
230230
| `SSL_SESSION_get_master_key` | | | |
@@ -260,7 +260,7 @@
260260
| `SSL_add1_to_CA_list` | | | |
261261
| `SSL_add_client_CA` | | | |
262262
| `SSL_add_dir_cert_subjects_to_stack` | | | |
263-
| `SSL_add_file_cert_subjects_to_stack` | | | |
263+
| `SSL_add_file_cert_subjects_to_stack` | | | :exclamation: [^stub] |
264264
| `SSL_add_ssl_module` | | | |
265265
| `SSL_add_store_cert_subjects_to_stack` | | | |
266266
| `SSL_alert_desc_string` | | | :white_check_mark: |
@@ -277,7 +277,7 @@
277277
| `SSL_clear_options` | | :white_check_mark: | :white_check_mark: |
278278
| `SSL_client_hello_get0_ciphers` | | | |
279279
| `SSL_client_hello_get0_compression_methods` | | | |
280-
| `SSL_client_hello_get0_ext` | | | |
280+
| `SSL_client_hello_get0_ext` | | | :exclamation: [^stub] |
281281
| `SSL_client_hello_get0_legacy_version` | | | |
282282
| `SSL_client_hello_get0_random` | | | |
283283
| `SSL_client_hello_get0_session_id` | | | |
@@ -324,8 +324,8 @@
324324
| `SSL_get_certificate` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
325325
| `SSL_get_changed_async_fds` | | | |
326326
| `SSL_get_cipher_list` | | | |
327-
| `SSL_get_ciphers` | | | |
328-
| `SSL_get_client_CA_list` | | | |
327+
| `SSL_get_ciphers` | | | :exclamation: [^stub] |
328+
| `SSL_get_client_CA_list` | | | :exclamation: [^stub] |
329329
| `SSL_get_client_ciphers` | | | |
330330
| `SSL_get_client_random` | | | |
331331
| `SSL_get_current_cipher` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
@@ -339,14 +339,14 @@
339339
| `SSL_get_ex_data` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
340340
| `SSL_get_ex_data_X509_STORE_CTX_idx` | | :white_check_mark: | :exclamation: [^stub] |
341341
| `SSL_get_fd` | | | |
342-
| `SSL_get_finished` | | | |
342+
| `SSL_get_finished` | | | :exclamation: [^stub] |
343343
| `SSL_get_info_callback` | | | |
344344
| `SSL_get_key_update_type` | | | |
345345
| `SSL_get_max_early_data` | | | |
346346
| `SSL_get_num_tickets` | | | :white_check_mark: |
347347
| `SSL_get_options` | | :white_check_mark: | :white_check_mark: |
348348
| `SSL_get_peer_cert_chain` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
349-
| `SSL_get_peer_finished` | | | |
349+
| `SSL_get_peer_finished` | | | :exclamation: [^stub] |
350350
| `SSL_get_peer_signature_type_nid` | :white_check_mark: | | :white_check_mark: |
351351
| `SSL_get_pending_cipher` | | | |
352352
| `SSL_get_privatekey` | :white_check_mark: | | :white_check_mark: |
@@ -365,15 +365,15 @@
365365
| `SSL_get_servername` | | :white_check_mark: | :white_check_mark: |
366366
| `SSL_get_servername_type` | | | :white_check_mark: |
367367
| `SSL_get_session` | | :white_check_mark: | :white_check_mark: |
368-
| `SSL_get_shared_ciphers` | | | |
368+
| `SSL_get_shared_ciphers` | | | :exclamation: [^stub] |
369369
| `SSL_get_shared_sigalgs` | | | |
370370
| `SSL_get_shutdown` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
371371
| `SSL_get_sigalgs` | | | |
372372
| `SSL_get_signature_type_nid` | | | |
373373
| `SSL_get_srp_N` [^deprecatedin_3_0] [^srp] | | | |
374374
| `SSL_get_srp_g` [^deprecatedin_3_0] [^srp] | | | |
375-
| `SSL_get_srp_userinfo` [^deprecatedin_3_0] [^srp] | | | |
376-
| `SSL_get_srp_username` [^deprecatedin_3_0] [^srp] | | | |
375+
| `SSL_get_srp_userinfo` [^deprecatedin_3_0] [^srp] | | | :exclamation: [^stub] |
376+
| `SSL_get_srp_username` [^deprecatedin_3_0] [^srp] | | | :exclamation: [^stub] |
377377
| `SSL_get_srtp_profiles` [^srtp] | | | |
378378
| `SSL_get_ssl_method` | | | |
379379
| `SSL_get_state` | | | :white_check_mark: |
@@ -397,13 +397,13 @@
397397
| `SSL_load_client_CA_file_ex` | | | |
398398
| `SSL_new` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
399399
| `SSL_new_session_ticket` | | | |
400-
| `SSL_peek` | | | |
400+
| `SSL_peek` | | | :exclamation: [^stub] |
401401
| `SSL_peek_ex` | | | |
402402
| `SSL_pending` | :white_check_mark: | | :white_check_mark: |
403403
| `SSL_read` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
404404
| `SSL_read_early_data` | | :white_check_mark: | :exclamation: [^stub] |
405405
| `SSL_read_ex` | | | |
406-
| `SSL_renegotiate` | | | |
406+
| `SSL_renegotiate` | | | :exclamation: [^stub] |
407407
| `SSL_renegotiate_abbreviated` | | | |
408408
| `SSL_renegotiate_pending` | | | |
409409
| `SSL_rstate_string` | | | |
@@ -461,12 +461,12 @@
461461
| `SSL_set_security_callback` | | | |
462462
| `SSL_set_security_level` | | | |
463463
| `SSL_set_session` | :white_check_mark: | :white_check_mark: | :exclamation: [^stub] |
464-
| `SSL_set_session_id_context` | | | |
464+
| `SSL_set_session_id_context` | | | :exclamation: [^stub] |
465465
| `SSL_set_session_secret_cb` | | | |
466466
| `SSL_set_session_ticket_ext` | | | |
467467
| `SSL_set_session_ticket_ext_cb` | | | |
468468
| `SSL_set_shutdown` | | :white_check_mark: | :white_check_mark: |
469-
| `SSL_set_srp_server_param` [^deprecatedin_3_0] [^srp] | | | |
469+
| `SSL_set_srp_server_param` [^deprecatedin_3_0] [^srp] | | | :exclamation: [^stub] |
470470
| `SSL_set_srp_server_param_pw` [^deprecatedin_3_0] [^srp] | | | |
471471
| `SSL_set_ssl_method` | | | |
472472
| `SSL_set_tlsext_max_fragment_length` | | | |
@@ -479,8 +479,8 @@
479479
| `SSL_set_wfd` [^sock] | | | |
480480
| `SSL_shutdown` | :white_check_mark: | :white_check_mark: | :white_check_mark: |
481481
| `SSL_srp_server_param_with_username` [^deprecatedin_3_0] [^srp] | | | |
482-
| `SSL_state_string` | | | |
483-
| `SSL_state_string_long` | | | |
482+
| `SSL_state_string` | | | :exclamation: [^stub] |
483+
| `SSL_state_string_long` | | | :exclamation: [^stub] |
484484
| `SSL_stateless` | | | |
485485
| `SSL_test_functions` [^unit_test] | | | |
486486
| `SSL_trace` [^ssl_trace] | | | |
@@ -497,7 +497,7 @@
497497
| `SSL_use_certificate_chain_file` | | | |
498498
| `SSL_use_certificate_file` | | | |
499499
| `SSL_use_psk_identity_hint` [^psk] | | | |
500-
| `SSL_verify_client_post_handshake` | | | |
500+
| `SSL_verify_client_post_handshake` | | | :exclamation: [^stub] |
501501
| `SSL_version` | | :white_check_mark: | :white_check_mark: |
502502
| `SSL_waiting_for_async` | | | |
503503
| `SSL_want` | | | :white_check_mark: |

build.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ const ENTRYPOINTS: &[&str] = &[
4747
"i2d_SSL_SESSION",
4848
"OPENSSL_init_ssl",
4949
"SSL_accept",
50+
"SSL_add_file_cert_subjects_to_stack",
5051
"SSL_alert_desc_string",
5152
"SSL_alert_desc_string_long",
5253
"SSL_alert_type_string",
@@ -61,6 +62,8 @@ const ENTRYPOINTS: &[&str] = &[
6162
"SSL_CIPHER_get_version",
6263
"SSL_CIPHER_standard_name",
6364
"SSL_clear_options",
65+
"SSL_client_hello_get0_ext",
66+
"SSL_COMP_get_compression_methods",
6467
"SSL_CONF_cmd",
6568
"SSL_CONF_cmd_value_type",
6669
"SSL_CONF_CTX_clear_flags",
@@ -101,13 +104,16 @@ const ENTRYPOINTS: &[&str] = &[
101104
"SSL_CTX_sess_set_get_cb",
102105
"SSL_CTX_sess_set_new_cb",
103106
"SSL_CTX_sess_set_remove_cb",
107+
"SSL_CTX_set0_tmp_dh_pkey",
104108
"SSL_CTX_set_alpn_protos",
105109
"SSL_CTX_set_alpn_select_cb",
106110
"SSL_CTX_set_cert_cb",
107111
"SSL_CTX_set_cert_store",
108112
"SSL_CTX_set_cipher_list",
109113
"SSL_CTX_set_ciphersuites",
110114
"SSL_CTX_set_client_CA_list",
115+
"SSL_CTX_set_client_cert_cb",
116+
"SSL_CTX_set_client_hello_cb",
111117
"SSL_CTX_set_default_passwd_cb",
112118
"SSL_CTX_set_default_passwd_cb_userdata",
113119
"SSL_CTX_set_default_verify_dir",
@@ -125,9 +131,12 @@ const ENTRYPOINTS: &[&str] = &[
125131
"SSL_CTX_set_options",
126132
"SSL_CTX_set_post_handshake_auth",
127133
"SSL_CTX_set_session_id_context",
134+
"SSL_CTX_set_srp_cb_arg",
128135
"SSL_CTX_set_srp_password",
129136
"SSL_CTX_set_srp_username",
137+
"SSL_CTX_set_srp_username_callback",
130138
"SSL_CTX_set_timeout",
139+
"SSL_CTX_set_tlsext_ticket_key_evp_cb",
131140
"SSL_CTX_set_verify",
132141
"SSL_CTX_set_verify_depth",
133142
"SSL_CTX_up_ref",
@@ -145,21 +154,28 @@ const ENTRYPOINTS: &[&str] = &[
145154
"SSL_get1_peer_certificate",
146155
"SSL_get1_session",
147156
"SSL_get_certificate",
157+
"SSL_get_ciphers",
158+
"SSL_get_client_CA_list",
148159
"SSL_get_current_cipher",
149160
"SSL_get_current_compression",
150161
"SSL_get_error",
151162
"SSL_get_ex_data",
152163
"SSL_get_ex_data_X509_STORE_CTX_idx",
164+
"SSL_get_finished",
153165
"SSL_get_num_tickets",
154166
"SSL_get_options",
155167
"SSL_get_peer_cert_chain",
168+
"SSL_get_peer_finished",
156169
"SSL_get_peer_signature_type_nid",
157170
"SSL_get_privatekey",
158171
"SSL_get_rbio",
159172
"SSL_get_servername",
160173
"SSL_get_servername_type",
161174
"SSL_get_session",
175+
"SSL_get_shared_ciphers",
162176
"SSL_get_shutdown",
177+
"SSL_get_srp_userinfo",
178+
"SSL_get_srp_username",
163179
"SSL_get_SSL_CTX",
164180
"SSL_get_state",
165181
"SSL_get_verify_depth",
@@ -174,13 +190,16 @@ const ENTRYPOINTS: &[&str] = &[
174190
"SSL_is_server",
175191
"SSL_load_client_CA_file",
176192
"SSL_new",
193+
"SSL_peek",
177194
"SSL_pending",
178195
"SSL_read",
179196
"SSL_read_early_data",
197+
"SSL_renegotiate",
180198
"SSL_select_next_proto",
181199
"SSL_sendfile",
182200
"SSL_SESSION_free",
183201
"SSL_SESSION_get0_hostname",
202+
"SSL_SESSION_get_compress_id",
184203
"SSL_SESSION_get_id",
185204
"SSL_SESSION_get_time",
186205
"SSL_SESSION_get_timeout",
@@ -206,16 +225,21 @@ const ENTRYPOINTS: &[&str] = &[
206225
"SSL_set_post_handshake_auth",
207226
"SSL_set_quiet_shutdown",
208227
"SSL_set_session",
228+
"SSL_set_session_id_context",
209229
"SSL_set_shutdown",
230+
"SSL_set_srp_server_param",
210231
"SSL_set_SSL_CTX",
211232
"SSL_set_verify",
212233
"SSL_set_verify_depth",
213234
"SSL_set_verify_result",
214235
"SSL_shutdown",
236+
"SSL_state_string",
237+
"SSL_state_string_long",
215238
"SSL_up_ref",
216239
"SSL_use_certificate",
217240
"SSL_use_PrivateKey",
218241
"SSL_use_PrivateKey_file",
242+
"SSL_verify_client_post_handshake",
219243
"SSL_version",
220244
"SSL_want",
221245
"SSL_write",

0 commit comments

Comments
 (0)