Remove scoped_types.h.
This change scatters the contents of the two scoped_types.h files into
the headers for each of the areas of the code. The types are now in the
|bssl| namespace.
Change-Id: I802b8de68fba4786b6a0ac1bacd11d81d5842423
Reviewed-on: https://boringssl-review.googlesource.com/8731
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/include/openssl/aead.h b/include/openssl/aead.h
index 7895825..2a9ce90 100644
--- a/include/openssl/aead.h
+++ b/include/openssl/aead.h
@@ -333,6 +333,18 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedEVP_AEAD_CTX =
+ ScopedContext<EVP_AEAD_CTX, void, EVP_AEAD_CTX_zero, EVP_AEAD_CTX_cleanup>;
+
+} // namespace bssl
+
+#endif
+
#endif
#endif /* OPENSSL_HEADER_AEAD_H */
diff --git a/include/openssl/asn1.h b/include/openssl/asn1.h
index 42c9535..4756de8 100644
--- a/include/openssl/asn1.h
+++ b/include/openssl/asn1.h
@@ -1016,6 +1016,17 @@
#ifdef __cplusplus
}
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedASN1_TYPE = ScopedType<ASN1_TYPE, ASN1_TYPE_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define ASN1_R_ASN1_LENGTH_MISMATCH 100
diff --git a/include/openssl/base.h b/include/openssl/base.h
index 68df107..7fdaed4 100644
--- a/include/openssl/base.h
+++ b/include/openssl/base.h
@@ -293,6 +293,9 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
namespace bssl {
template<typename T, void (*func)(T*)>
@@ -332,4 +335,6 @@
#endif
+#endif
+
#endif /* OPENSSL_HEADER_BASE_H */
diff --git a/include/openssl/bio.h b/include/openssl/bio.h
index 5416c65..75449bd 100644
--- a/include/openssl/bio.h
+++ b/include/openssl/bio.h
@@ -895,6 +895,17 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedBIO = ScopedType<BIO, BIO_vfree>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define BIO_R_BAD_FOPEN_MODE 100
diff --git a/include/openssl/bn.h b/include/openssl/bn.h
index a686696..9764140 100644
--- a/include/openssl/bn.h
+++ b/include/openssl/bn.h
@@ -866,6 +866,19 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedBIGNUM = ScopedType<BIGNUM, BN_free>;
+using ScopedBN_CTX = ScopedType<BN_CTX, BN_CTX_free>;
+using ScopedBN_MONT_CTX = ScopedType<BN_MONT_CTX, BN_MONT_CTX_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define BN_R_ARG2_LT_ARG3 100
diff --git a/include/openssl/bytestring.h b/include/openssl/bytestring.h
index c24281a..7352411 100644
--- a/include/openssl/bytestring.h
+++ b/include/openssl/bytestring.h
@@ -393,6 +393,17 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedCBB = ScopedContext<CBB, void, CBB_zero, CBB_cleanup>;
+
+} // namespace bssl
+
+#endif
+
#endif
#endif /* OPENSSL_HEADER_BYTESTRING_H */
diff --git a/include/openssl/cipher.h b/include/openssl/cipher.h
index 5312308..ecab121 100644
--- a/include/openssl/cipher.h
+++ b/include/openssl/cipher.h
@@ -540,6 +540,19 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedEVP_CIPHER_CTX =
+ ScopedContext<EVP_CIPHER_CTX, int, EVP_CIPHER_CTX_init,
+ EVP_CIPHER_CTX_cleanup>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define CIPHER_R_AES_KEY_SETUP_FAILED 100
diff --git a/include/openssl/cmac.h b/include/openssl/cmac.h
index 0bb44b9..c536bef 100644
--- a/include/openssl/cmac.h
+++ b/include/openssl/cmac.h
@@ -71,6 +71,17 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedCMAC_CTX = ScopedType<CMAC_CTX, CMAC_CTX_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#endif /* OPENSSL_HEADER_CMAC_H */
diff --git a/include/openssl/curve25519.h b/include/openssl/curve25519.h
index a9441cd..5eaa191 100644
--- a/include/openssl/curve25519.h
+++ b/include/openssl/curve25519.h
@@ -167,6 +167,17 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedSPAKE2_CTX = ScopedType<SPAKE2_CTX, SPAKE2_CTX_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#endif /* OPENSSL_HEADER_CURVE25519_H */
diff --git a/include/openssl/dh.h b/include/openssl/dh.h
index a087651..c750970 100644
--- a/include/openssl/dh.h
+++ b/include/openssl/dh.h
@@ -255,6 +255,17 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedDH = ScopedType<DH, DH_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define DH_R_BAD_GENERATOR 100
diff --git a/include/openssl/digest.h b/include/openssl/digest.h
index 07ea07a..b749092 100644
--- a/include/openssl/digest.h
+++ b/include/openssl/digest.h
@@ -260,6 +260,18 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedEVP_MD_CTX =
+ ScopedContext<EVP_MD_CTX, int, EVP_MD_CTX_init, EVP_MD_CTX_cleanup>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define DIGEST_R_INPUT_NOT_INITIALIZED 100
diff --git a/include/openssl/ec.h b/include/openssl/ec.h
index 32aded6..8e90ae3 100644
--- a/include/openssl/ec.h
+++ b/include/openssl/ec.h
@@ -359,6 +359,18 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedEC_GROUP = ScopedType<EC_GROUP, EC_GROUP_free>;
+using ScopedEC_POINT = ScopedType<EC_POINT, EC_POINT_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define EC_R_BUFFER_TOO_SMALL 100
diff --git a/include/openssl/ec_key.h b/include/openssl/ec_key.h
index 63554a7..78b2f25 100644
--- a/include/openssl/ec_key.h
+++ b/include/openssl/ec_key.h
@@ -322,6 +322,17 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedEC_KEY = ScopedType<EC_KEY, EC_KEY_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#endif /* OPENSSL_HEADER_EC_KEY_H */
diff --git a/include/openssl/ecdsa.h b/include/openssl/ecdsa.h
index a060eab..30e7ef3 100644
--- a/include/openssl/ecdsa.h
+++ b/include/openssl/ecdsa.h
@@ -194,6 +194,17 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedECDSA_SIG = ScopedType<ECDSA_SIG, ECDSA_SIG_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define ECDSA_R_BAD_SIGNATURE 100
diff --git a/include/openssl/evp.h b/include/openssl/evp.h
index 5407407..64554cd 100644
--- a/include/openssl/evp.h
+++ b/include/openssl/evp.h
@@ -747,6 +747,18 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedEVP_PKEY = ScopedType<EVP_PKEY, EVP_PKEY_free>;
+using ScopedEVP_PKEY_CTX = ScopedType<EVP_PKEY_CTX, EVP_PKEY_CTX_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define EVP_R_BUFFER_TOO_SMALL 100
diff --git a/include/openssl/hmac.h b/include/openssl/hmac.h
index 5a4e9c7..4e1c7b9 100644
--- a/include/openssl/hmac.h
+++ b/include/openssl/hmac.h
@@ -153,6 +153,18 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedHMAC_CTX =
+ ScopedContext<HMAC_CTX, void, HMAC_CTX_init, HMAC_CTX_cleanup>;
+
+} // namespace bssl
+
+#endif
+
#endif
#endif /* OPENSSL_HEADER_HMAC_H */
diff --git a/include/openssl/mem.h b/include/openssl/mem.h
index d773752..aca489b 100644
--- a/include/openssl/mem.h
+++ b/include/openssl/mem.h
@@ -134,6 +134,8 @@
#if defined(__cplusplus)
} /* extern C */
+#if __cplusplus >= 201103
+
namespace bssl {
template<typename T>
@@ -143,8 +145,13 @@
}
};
+using ScopedBytes = std::unique_ptr<uint8_t, Free<uint8_t>>;
+using ScopedString = std::unique_ptr<char, Free<char>>;
+
} // namespace bssl
#endif
+#endif
+
#endif /* OPENSSL_HEADER_MEM_H */
diff --git a/include/openssl/newhope.h b/include/openssl/newhope.h
index 487e03f..16900fc 100644
--- a/include/openssl/newhope.h
+++ b/include/openssl/newhope.h
@@ -142,6 +142,17 @@
#if defined(__cplusplus)
} /* extern "C" */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedNEWHOPE_POLY = ScopedType<NEWHOPE_POLY, NEWHOPE_POLY_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#endif /* OPENSSL_HEADER_NEWHOPE_H */
diff --git a/include/openssl/pkcs8.h b/include/openssl/pkcs8.h
index 28cf6ac..a6bf759 100644
--- a/include/openssl/pkcs8.h
+++ b/include/openssl/pkcs8.h
@@ -187,6 +187,19 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedPKCS8_PRIV_KEY_INFO =
+ ScopedType<PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO_free>;
+using ScopedPKCS12 = ScopedType<PKCS12, PKCS12_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define PKCS8_R_BAD_PKCS12_DATA 100
diff --git a/include/openssl/rsa.h b/include/openssl/rsa.h
index 063d2e8..513fb33 100644
--- a/include/openssl/rsa.h
+++ b/include/openssl/rsa.h
@@ -612,6 +612,17 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedRSA = ScopedType<RSA, RSA_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define RSA_R_BAD_ENCODING 100
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index 2ae5ab1..917601e 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -4505,6 +4505,19 @@
#if defined(__cplusplus)
} /* extern C */
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedSSL = ScopedType<SSL, SSL_free>;
+using ScopedSSL_CTX = ScopedType<SSL_CTX, SSL_CTX_free>;
+using ScopedSSL_SESSION = ScopedType<SSL_SESSION, SSL_SESSION_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define SSL_R_APP_DATA_IN_HANDSHAKE 100
diff --git a/include/openssl/stack.h b/include/openssl/stack.h
index 913db50..4c0a3e8 100644
--- a/include/openssl/stack.h
+++ b/include/openssl/stack.h
@@ -291,6 +291,8 @@
#if defined(__cplusplus)
} /* extern C */
+#if __cplusplus >= 201103
+
namespace bssl {
template<typename StackType, typename T, void (*func)(T*)>
@@ -306,6 +308,9 @@
std::unique_ptr<StackType, StackDeleter<StackType, T, func>>;
} // namespace bssl
+
+#endif
+
#endif
#endif /* OPENSSL_HEADER_STACK_H */
diff --git a/include/openssl/x509.h b/include/openssl/x509.h
index bbc263e..cfe9657 100644
--- a/include/openssl/x509.h
+++ b/include/openssl/x509.h
@@ -1225,6 +1225,22 @@
#ifdef __cplusplus
}
+
+#if __cplusplus >= 201103
+
+namespace bssl {
+
+using ScopedX509 = ScopedType<X509, X509_free>;
+using ScopedX509_ALGOR = ScopedType<X509_ALGOR, X509_ALGOR_free>;
+using ScopedX509_SIG = ScopedType<X509_SIG, X509_SIG_free>;
+using ScopedX509_STORE_CTX = ScopedType<X509_STORE_CTX, X509_STORE_CTX_free>;
+
+using ScopedX509Stack = ScopedStack<STACK_OF(X509), X509, X509_free>;
+
+} // namespace bssl
+
+#endif
+
#endif
#define X509_R_AKID_MISMATCH 100