aboutsummaryrefslogtreecommitdiff
path: root/drivers/openssl/stream_peer_openssl.cpp
diff options
context:
space:
mode:
authorJuan Linietsky2014-05-01 11:34:10 -0300
committerJuan Linietsky2014-05-01 11:34:10 -0300
commit6572d5128856b2ec55a2c417c92e584899f4906f (patch)
tree9e01d6efab14567bfff5dd7b8b3b858d83b1868e /drivers/openssl/stream_peer_openssl.cpp
parent4dc4e96c8a4fb7e34ecae3a39ef0f3f3fb275e97 (diff)
downloadgodot-6572d5128856b2ec55a2c417c92e584899f4906f.tar.gz
godot-6572d5128856b2ec55a2c417c92e584899f4906f.tar.zst
godot-6572d5128856b2ec55a2c417c92e584899f4906f.zip
-Fixes to OpenSSL compilation (more)
-Fix bug in GDScript, now static functions can call static functions.
Diffstat (limited to 'drivers/openssl/stream_peer_openssl.cpp')
-rw-r--r--drivers/openssl/stream_peer_openssl.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/openssl/stream_peer_openssl.cpp b/drivers/openssl/stream_peer_openssl.cpp
index 0751c76e3..0151ced3b 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<uint8_t> 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()));
+
+ }
}