From 6572d5128856b2ec55a2c417c92e584899f4906f Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Thu, 1 May 2014 11:34:10 -0300 Subject: -Fixes to OpenSSL compilation (more) -Fix bug in GDScript, now static functions can call static functions. --- drivers/openssl/register_openssl.cpp | 3 +++ drivers/openssl/stream_peer_openssl.cpp | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) (limited to 'drivers') diff --git a/drivers/openssl/register_openssl.cpp b/drivers/openssl/register_openssl.cpp index fe12c55656..a4a60813b6 100644 --- a/drivers/openssl/register_openssl.cpp +++ b/drivers/openssl/register_openssl.cpp @@ -1,6 +1,7 @@ #include "register_openssl.h" #include "stream_peer_openssl.h" +#ifdef OPENSSL_ENABLED void register_openssl() { @@ -14,3 +15,5 @@ void unregister_openssl() { StreamPeerOpenSSL::finalize_ssl(); } +#endif + diff --git a/drivers/openssl/stream_peer_openssl.cpp b/drivers/openssl/stream_peer_openssl.cpp index 0751c76e3d..0151ced3b8 100644 --- a/drivers/openssl/stream_peer_openssl.cpp +++ b/drivers/openssl/stream_peer_openssl.cpp @@ -553,6 +553,25 @@ void StreamPeerOpenSSL::initialize_ssl() { } String config_path =GLOBAL_DEF("ssl/config",""); Globals::get_singleton()->set_custom_property_info("ssl/config",PropertyInfo(Variant::STRING,"ssl/config",PROPERTY_HINT_FILE,"*.cnf")); + if (config_path!="") { + + Vector data = FileAccess::get_file_as_array(config_path); + if (data.size()) { + data.push_back(0); + BIO* mem = BIO_new(BIO_s_mem()); + BIO_puts(mem,(const char*) data.ptr()); + + while(true) { + X509*cert = PEM_read_bio_X509(mem, NULL, 0, NULL); + if (!cert) + break; + certs.push_back(cert); + } + BIO_free(mem); + } + print_line("Loaded certs from '"+certs_path+"': "+itos(certs.size())); + + } } -- cgit v1.2.3