diff --git a/src/ssb.c b/src/ssb.c index 25cc59dd..66cfcdc0 100644 --- a/src/ssb.c +++ b/src/ssb.c @@ -1797,7 +1797,7 @@ JSValue tf_ssb_sign_message(tf_ssb_t* ssb, const char* author, const uint8_t* pr static void _tf_ssb_connection_dispatch_scheduled(tf_ssb_connection_t* connection) { const int k_scheduled_batch_count = 8; - for (int i = 0; i < k_scheduled_batch_count && connection->scheduled_count; i++) + for (int i = 0; i < k_scheduled_batch_count && connection->scheduled_count && connection->scheduled; i++) { tf_ssb_connection_scheduled_t scheduled = connection->scheduled[0]; memmove(connection->scheduled, connection->scheduled + 1, sizeof(tf_ssb_connection_scheduled_t) * (connection->scheduled_count - 1)); diff --git a/src/tls.c b/src/tls.c index a15aacb2..013f6568 100644 --- a/src/tls.c +++ b/src/tls.c @@ -165,7 +165,11 @@ void tf_tls_session_shutdown(tf_tls_session_t* session) int tf_tls_session_get_peer_certificate(tf_tls_session_t* session, char* buffer, size_t bytes) { int result = -1; +#if OPENSSL_VERSION_NUMBER < 0x30000000L + X509* certificate = SSL_get_peer_certificate(session->ssl); +#else X509* certificate = SSL_get1_peer_certificate(session->ssl); +#endif BIO* bio = BIO_new(BIO_s_mem()); PEM_write_bio_X509(bio, certificate); X509_free(certificate); @@ -269,7 +273,11 @@ static bool _tls_session_verify_hostname(X509* certificate, const char* hostname static bool _tls_session_verify_peer_certificate(tf_tls_session_t* session) { bool verified = false; +#if OPENSSL_VERSION_NUMBER < 0x30000000L + X509* certificate = SSL_get_peer_certificate(session->ssl); +#else X509* certificate = SSL_get1_peer_certificate(session->ssl); +#endif if (certificate) { if (SSL_get_verify_result(session->ssl) == X509_V_OK)