Index: net/quic/crypto/scoped_evp_cipher_ctx.h |
=================================================================== |
--- net/quic/crypto/scoped_evp_cipher_ctx.h (revision 0) |
+++ net/quic/crypto/scoped_evp_cipher_ctx.h (revision 0) |
@@ -0,0 +1,38 @@ |
+// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef NET_QUIC_CRYPTO_SCOPED_EVP_CIPHER_CTX_H_ |
+#define NET_QUIC_CRYPTO_SCOPED_EVP_CIPHER_CTX_H_ |
+ |
+#include <openssl/evp.h> |
+ |
+#include "base/logging.h" |
+ |
+namespace net { |
+ |
+// TODO(wtc): this is the same as the ScopedCipherCTX class defined in |
+// crypto/encryptor_openssl.cc. Eliminate the duplicate code. |
+// crypto::ScopedOpenSSL is not suitable for EVP_CIPHER_CTX because |
+// there are no EVP_CIPHER_CTX_create and EVP_CIPHER_CTX_destroy |
+// functions. |
+class ScopedEVPCipherCtx { |
+ public: |
+ ScopedEVPCipherCtx() { |
+ EVP_CIPHER_CTX_init(&ctx_); |
+ } |
+ |
+ ~ScopedEVPCipherCtx() { |
+ int rv = EVP_CIPHER_CTX_cleanup(&ctx_); |
+ DCHECK_EQ(rv, 1); |
+ } |
+ |
+ EVP_CIPHER_CTX* get() { return &ctx_; } |
+ |
+ private: |
+ EVP_CIPHER_CTX ctx_; |
+}; |
+ |
+} // namespace net |
+ |
+#endif // NET_QUIC_CRYPTO_SCOPED_EVP_CIPHER_CTX_H_ |
Property changes on: net/quic/crypto/scoped_evp_cipher_ctx.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |