libssl: Fix SSL struct again.

int main() {
	SSL *ssl;
	printf("sizeof SSL %lu\n", sizeof(SSL));
	printf("SSL_MAX_SID_CTX_LENGTH %d\n", SSL_MAX_SID_CTX_LENGTH);
	printf("offsetof generate_session_id %ld\n", offsetof(struct ssl_st, generate_session_id));
	printf("offsetof mac_flags %ld\n", offsetof(struct ssl_st, mac_flags));
	printf("offsetof write_hash %ld\n", offsetof(struct ssl_st, write_hash));
	printf("offsetof session %ld\n", offsetof(struct ssl_st, session));
	printf("offsetof error_code %ld\n", offsetof(struct ssl_st, error_code));
	printf("offsetof debug %ld\n", offsetof(struct ssl_st, debug));
	printf("offsetof verify_callback %ld\n", offsetof(struct ssl_st, verify_callback));
	printf("offsetof ctx %ld\n", offsetof(struct ssl_st, ctx));
	printf("offsetof ex_data %ld\n", offsetof(struct ssl_st, ex_data));
	printf("offsetof first_packet %ld\n", offsetof(struct ssl_st, first_packet));
	printf("offsetof verify_result %ld\n", offsetof(struct ssl_st, verify_result));
	printf("offsetof client_CA %ld\n", offsetof(struct ssl_st, client_CA));
	printf("offsetof references %ld\n", offsetof(struct ssl_st, references));
	printf("offsetof tlsext_status_type %ld\n", offsetof(struct ssl_st, tlsext_status_type));
	printf("offsetof tlsext_ocsp_resplen %ld\n", offsetof(struct ssl_st, tlsext_ocsp_resplen));
	printf("offsetof tlsext_ecpointformatlist %ld\n", offsetof(struct ssl_st, tlsext_ecpointformatlist));
	printf("offsetof tls_session_ticket_ext_cb_arg %ld\n", offsetof(struct ssl_st, tls_session_ticket_ext_cb_arg));
	printf("offsetof next_proto_negotiated %ld\n", offsetof(struct ssl_st, next_proto_negotiated));
	printf("offsetof alpn_client_proto_list_len %ld\n", offsetof(struct ssl_st, alpn_client_proto_list_len));
	printf("offsetof srp_ctx %ld\n", offsetof(struct ssl_st, srp_ctx));
	return 0;
}

clang ssl.c -I /usr/local/opt/openssl/include && ./a.out
modern-harvey2
Doug Coleman 2017-10-08 00:03:21 -05:00
parent 9a7406d98d
commit e9ad224752
1 changed files with 10 additions and 3 deletions

View File

@ -355,6 +355,8 @@ STRUCT: SRP_CTX
{ strength int }
{ srp_Mask ulong } ;
CONSTANT: SSL_MAX_SID_CTX_LENGTH 32
STRUCT: SSL
{ version int }
{ type int }
@ -396,7 +398,7 @@ STRUCT: SSL
{ compress void* }
{ cert void* }
{ sid_ctx_length uint }
{ sid_ctx void* }
{ sid_ctx char[SSL_MAX_SID_CTX_LENGTH] }
{ session SSL_SESSION* }
{ generate_session_id void* }
{ verify_mode int }
@ -404,13 +406,14 @@ STRUCT: SSL
{ info_callback void* }
{ error int }
{ error_code int }
{ kssl_ctx void* }
! { kssl_ctx void* }
{ psk_client_callback void* }
{ psk_server_callback void* }
{ ctx SSL_CTX* }
{ debug int }
{ verify_result long }
{ ex_data CRYPTO_EX_DATA }
{ client_CA void*[2] }
{ references int }
{ options ulong }
{ mode ulong }
@ -424,6 +427,7 @@ STRUCT: SSL
{ servername_done int }
{ tlsext_status_type int }
{ tlsext_status_expected int }
{ tlsext_ocsp_ids void* }
{ tlsext_ocsp_exts X509_EXTENSION* } ! X509_EXTENSIONS
{ tlsext_ocsp_resp uchar* }
{ tlsext_ocsp_resplen int }
@ -442,12 +446,15 @@ STRUCT: SSL
{ initial_ctx SSL_CTX* }
{ next_proto_negotiated uchar* }
{ next_proto_negotiated_len uchar }
{ srtp_profiles void* }
{ srtp_profile SRTP_PROTECTION_PROFILE* }
{ tlsext_heartbeat uint }
{ tlsext_hb_pending uint }
{ tlsext_hb_seq uint }
{ renegotiate int }
{ srp_ctx SRP_CTX } ;
{ srp_ctx SRP_CTX }
{ alpn_client_proto_list char* }
{ alpn_client_proto_list_len uint } ;
! ------------------------------------------------------------------------------
! API >= 1.1.0