Index: net/ssl/scoped_openssl_types.h |
diff --git a/net/ssl/scoped_openssl_types.h b/net/ssl/scoped_openssl_types.h |
index a8c3c345975336f7781ef1222c6e6034d0319fea..92ce7d760ae6402f3716afc803b43ef4d90cd533 100644 |
--- a/net/ssl/scoped_openssl_types.h |
+++ b/net/ssl/scoped_openssl_types.h |
@@ -6,18 +6,31 @@ |
#define NET_SSL_SCOPED_OPENSSL_TYPES_H_ |
#include <openssl/ssl.h> |
+#include <openssl/stack.h> |
#include <openssl/x509.h> |
#include "crypto/scoped_openssl_types.h" |
namespace net { |
+inline void FreeX509Stack(STACK_OF(X509)* ptr) { |
+ sk_X509_pop_free(ptr, X509_free); |
+} |
+ |
+inline void FreeX509NameStack(STACK_OF(X509_NAME)* ptr) { |
+ sk_X509_NAME_pop_free(ptr, X509_NAME_free); |
+} |
+ |
using ScopedPKCS8_PRIV_KEY_INFO = |
crypto::ScopedOpenSSL<PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO_free>; |
using ScopedSSL = crypto::ScopedOpenSSL<SSL, SSL_free>; |
using ScopedSSL_CTX = crypto::ScopedOpenSSL<SSL_CTX, SSL_CTX_free>; |
using ScopedSSL_SESSION = crypto::ScopedOpenSSL<SSL_SESSION, SSL_SESSION_free>; |
using ScopedX509 = crypto::ScopedOpenSSL<X509, X509_free>; |
+using ScopedX509_NAME = crypto::ScopedOpenSSL<X509_NAME, X509_NAME_free>; |
+using ScopedX509Stack = crypto::ScopedOpenSSL<STACK_OF(X509), FreeX509Stack>; |
+using ScopedX509NameStack = |
+ crypto::ScopedOpenSSL<STACK_OF(X509_NAME), FreeX509NameStack>; |
} // namespace net |