-
Notifications
You must be signed in to change notification settings - Fork 834
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
20240418-exosip-apis #7648
20240418-exosip-apis #7648
Conversation
retest this please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice work. Please run exosip under a sanitizer or valgrind to check for any memory leaks due to differences in OpenSSL vs. wolfSSL.
@@ -537,38 +538,6 @@ struct WOLFSSL_BIO_METHOD { | |||
typedef long (*wolf_bio_info_cb)(WOLFSSL_BIO *bio, int event, const char *parg, | |||
int iarg, long larg, long return_value); | |||
|
|||
struct WOLFSSL_BIO { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moving this struct outside of ssl.h
can break cases where BIO
is declared on the stack. Overall hiding this is a good move but let's just keep that in mind and see if the OSP's pass.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup that was my thinking too -- there's state in it that we would definitely prefer to hide, and I thought I'd take a shot at opaqueing it and see what happens.
"All heap blocks were freed -- no leaks are possible" -- good start! But that was just for We'll know more once we have the target application(s) to test it on. |
26eacf1
to
b1b4763
Compare
ac899ea
to
b981ff2
Compare
retest this please |
b981ff2
to
b92e509
Compare
retest this please |
b92e509
to
a153299
Compare
retest this please |
a153299
to
23ce3f9
Compare
retest this please |
…ent_compression(), and wolfSSL_get_current_expansion(), and add compat layer shim macros for them.
…s defined in wolfssl/wolfcrypt/asn.h.
…SSL_BIO_number_written, and compat layer shim macros SSL_set0_rbio, SSL_set0_wbio, BIO_number_read, BIO_number_written, BIO_reset.
…lfSSL_X509_STORE_get0_param, and make wolfSSL_X509_VERIFY_PARAM_inherit a public API; add macros to openssl compat layer: DTLS_client_method, DTLS_server_method, X509_VERIFY_PARAM_lookup, X509_VERIFY_PARAM_inherit, X509_STORE_get0_param; add "const char *name" slot to struct WOLFSSL_X509_VERIFY_PARAM to support wolfSSL_X509_VERIFY_PARAM_lookup.
…WOLFSSL_BIO_DGRAM, and remove now-duplicate prototype and definition of wolfSSL_X509_STORE_get0_param.
…NECTED, BIO_CTRL_DGRAM_SET_PEER, WOLFSSL_MULTI_LABEL_WILDCARDS, WOLFSSL_MULTI_LABEL_WILDCARDS, NID_id_GostR3410_2001, NID_id_GostR3410_2012_256, NID_id_GostR3410_2012_512; fix flag arithmetic in wolfSSL_X509_check_host(); add compat macros for i2d_X509_PUBKEY, BIO_new_dgram.
…_ADDR_free(), wolfSSL_BIO_ADDR_clear(), wolfIO_SendTo(), wolfIO_RecvFrom(); fix name of wolfSSL_BIO_s_datagram().
…PECT_SUCCESS() to tolerate TEST_SKIPPED; add WIP test_wolfSSL_BIO_datagram.
…VE_BIO_ADDR gates to also gate on WOLFSSL_DTLS and OPENSSL_EXTRA; use DTLS_RECVFROM_FUNCTION, DTLS_SENDTO_FUNCTION, SOCKET_T, SOCKADDR, SOCKADDR_IN, and SOCKADDR_IN6 macros and types, and add SOCKADDR_UN type.
…ehavior (WOLFSSL_LOAD_FLAG_IGNORE_ERR).
refactor housekeeping for bio->bytes_read and bio->bytes_write, and add WOLFSSL_BIO_HAVE_FLOW_STATS gate; add WOLFSSL_BIO_FLAG_RETRY housekeeping for WOLFSSL_BIO_SOCKET and WOLFSSL_BIO_DGRAM; refactor WOLFSSL_BIO.peer_addr to be inline rather than a pointer; add wolfSSL_set_mtu_compat() and wolfSSL_CTX_load_verify_locations_compat() implementations; enable WOLFSSL_HAVE_BIO_ADDR and WOLFSSL_DTLS_MTU when OPENSSL_ALL.
…wolfSSL_BIO_ctrl() case BIO_CTRL_DGRAM_SET_CONNECTED.
… and wolfSSL_BIO_write() to wolfIO_Recv(), wolfIO_Send(), wolfIO_RecvFrom(), and wolfIO_SendTo(); add SOCKET_ETIMEDOUT definitions to wolfio.h; misc cleanups.
…TranslateIoError() into complete+consistent wolfSSL_LastError() and TranslateIoReturnCode(), handling all special cases correctly, and correctly returning WOLFSSL_CBIO_ERR_WANT_WRITE and WOLFSSL_CBIO_ERR_TIMEOUT. use TranslateIoReturnCode() directly in wolfIO_Recv(), wolfIO_Send(), wolfIO_RecvFrom(), wolfIO_SendTo(), and remove now-superfluous TranslateIoError() calls from EmbedReceive(), EmbedSend(), EmbedReceiveFrom(), EmbedSendTo(), EmbedReceiveFromMcast().
* tweak typography; * move wolfSSL_i2d_X509_PUBKEY() from ssl.c to x509.c; * in asn.h, add !NO_ASN_OLD_TYPE_NAMES macros to remap old names (ISSUER, SUBJECT, BEFORE, AFTER) by default unless the macros are already defined.
23ce3f9
to
ee7748f
Compare
retest this please |
new and updated APIs to support eXosip2