aboutsummaryrefslogtreecommitdiff
path: root/drivers/builtin_openssl2/crypto/x509v3/v3_lib.c
diff options
context:
space:
mode:
authormrezai2016-04-15 19:03:35 +0430
committerRémi Verschelde2016-04-27 08:49:39 +0200
commit3efa0f130dbaaba5eecb42f76ed7518eedfdf0c8 (patch)
tree91da0400f0a1386f7122e25c559abdfb53a9ec9e /drivers/builtin_openssl2/crypto/x509v3/v3_lib.c
parent47c7b535d2cdcb89c7799475662c70ca9c7ff41d (diff)
downloadgodot-3efa0f130dbaaba5eecb42f76ed7518eedfdf0c8.tar.gz
godot-3efa0f130dbaaba5eecb42f76ed7518eedfdf0c8.tar.zst
godot-3efa0f130dbaaba5eecb42f76ed7518eedfdf0c8.zip
Update OpenSSL to version 1.0.2g
(cherry picked from commit e97922f22038e9049ed4c2db5b3736dfaa0edde3)
Diffstat (limited to 'drivers/builtin_openssl2/crypto/x509v3/v3_lib.c')
-rw-r--r--drivers/builtin_openssl2/crypto/x509v3/v3_lib.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/builtin_openssl2/crypto/x509v3/v3_lib.c b/drivers/builtin_openssl2/crypto/x509v3/v3_lib.c
index b5598c9a3..8350429aa 100644
--- a/drivers/builtin_openssl2/crypto/x509v3/v3_lib.c
+++ b/drivers/builtin_openssl2/crypto/x509v3/v3_lib.c
@@ -122,6 +122,28 @@ const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext)
return X509V3_EXT_get_nid(nid);
}
+int X509V3_EXT_free(int nid, void *ext_data)
+{
+ const X509V3_EXT_METHOD *ext_method = X509V3_EXT_get_nid(nid);
+ if (ext_method == NULL) {
+ X509V3err(X509V3_F_X509V3_EXT_FREE,
+ X509V3_R_CANNOT_FIND_FREE_FUNCTION);
+ return 0;
+ }
+
+ if (ext_method->it != NULL)
+ ASN1_item_free(ext_data, ASN1_ITEM_ptr(ext_method->it));
+ else if (ext_method->ext_free != NULL)
+ ext_method->ext_free(ext_data);
+ else {
+ X509V3err(X509V3_F_X509V3_EXT_FREE,
+ X509V3_R_CANNOT_FIND_FREE_FUNCTION);
+ return 0;
+ }
+
+ return 1;
+}
+
int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist)
{
for (; extlist->ext_nid != -1; extlist++)