From 4fd155e68ae9b3f659661b11dea1c89fdc4b6cd5 Mon Sep 17 00:00:00 2001 From: Cory McWilliams Date: Fri, 12 Jan 2024 00:11:03 +0000 Subject: [PATCH] Make haiku compile again, though I'm not happy about its lack of INADDR_ANY support. git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4759 ed5197a5-7fde-0310-b194-c3ffbd925b24 --- src/ssb.c | 2 +- src/tls.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) 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)