Merge in mingw changes.

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3873 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
2022-05-16 22:30:14 +00:00
parent 87224d2bb6
commit 7848b5e560
12 changed files with 188 additions and 50 deletions

View File

@ -2,6 +2,7 @@
#if defined(_WIN32)
#define TF_TLS_SCHANNEL
#include <malloc.h>
#elif defined(__MACH__)
#define TF_TLS_APPLE
#else
@ -394,6 +395,7 @@ TlsContext* TlsContext::create()
return new TlsContext_osx();
}
#elif defined (_WIN32)
#if 0
#include <algorithm>
#include <assert.h>
#include <cstring>
@ -1038,6 +1040,7 @@ TlsContext* TlsContext::create()
{
return new TlsContext_sspi();
}
#endif
#else
TlsContext* TlsContext::create()
{
@ -1084,6 +1087,7 @@ bool tf_tls_context_set_certificate(tf_tls_context_t* context, const char* certi
return result == 1;
#elif defined(TF_TLS_APPLE)
#elif defined(TF_TLS_SCHANNEL)
return false;
#endif
}
@ -1099,6 +1103,7 @@ bool tf_tls_context_set_private_key(tf_tls_context_t* context, const char* priva
return result == 1;
#elif defined(TF_TLS_APPLE)
#elif defined(TF_TLS_SCHANNEL)
return false;
#endif
}
@ -1123,6 +1128,7 @@ bool tf_tls_context_add_trusted_certificate(tf_tls_context_t* context, const cha
return result;
#elif defined(TF_TLS_APPLE)
#elif defined(TF_TLS_SCHANNEL)
return false;
#endif
}
@ -1137,6 +1143,7 @@ tf_tls_session_t* tf_tls_context_create_session(tf_tls_context_t* context)
return session;
#elif defined(TF_TLS_APPLE)
#elif defined(TF_TLS_SCHANNEL)
return NULL;
#endif
}
@ -1224,8 +1231,8 @@ 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)
{
#if defined(TF_TLS_OPENSSL)
int result = -1;
#if defined(TF_TLS_OPENSSL)
X509* certificate = SSL_get_peer_certificate(session->ssl);
BIO* bio = BIO_new(BIO_s_mem());
PEM_write_bio_X509(bio, certificate);
@ -1237,10 +1244,10 @@ int tf_tls_session_get_peer_certificate(tf_tls_session_t* session, char* buffer,
result = mem->length;
}
BIO_free(bio);
return result;
#elif defined(TF_TLS_APPLE)
#elif defined(TF_TLS_SCHANNEL)
#endif
return result;
}
#if defined(TF_TLS_OPENSSL)
@ -1380,6 +1387,7 @@ tf_tls_handshake_t tf_tls_session_handshake(tf_tls_session_t* session)
return result;
#elif defined(TF_TLS_APPLE)
#elif defined(TF_TLS_SCHANNEL)
return k_tls_handshake_failed;
#endif
}
@ -1413,6 +1421,7 @@ int tf_tls_session_read_plain(tf_tls_session_t* session, char* buffer, size_t by
return result;
#elif defined(TF_TLS_APPLE)
#elif defined(TF_TLS_SCHANNEL)
return k_tls_read_failed;
#endif
}
@ -1422,6 +1431,7 @@ int tf_tls_session_write_plain(tf_tls_session_t* session, const char* buffer, si
return SSL_write(session->ssl, buffer, bytes);
#elif defined(TF_TLS_APPLE)
#elif defined(TF_TLS_SCHANNEL)
return -1;
#endif
}
@ -1431,6 +1441,7 @@ int tf_tls_session_read_encrypted(tf_tls_session_t* session, char* buffer, size_
return BIO_read(session->bio_out, buffer, bytes);
#elif defined(TF_TLS_APPLE)
#elif defined(TF_TLS_SCHANNEL)
return -1;
#endif
}
@ -1440,6 +1451,7 @@ int tf_tls_session_write_encrypted(tf_tls_session_t* session, const char* buffer
return BIO_write(session->bio_in, buffer, bytes);
#elif defined(TF_TLS_APPLE)
#elif defined(TF_TLS_SCHANNEL)
return -1;
#endif
}
@ -1454,5 +1466,6 @@ bool tf_tls_session_get_error(tf_tls_session_t* session, char* buffer, size_t by
return error != 0;
#elif defined(TF_TLS_APPLE)
#elif defined(TF_TLS_SCHANNEL)
return false;
#endif
}