diff --git a/webrtc/base/BUILD.gn b/webrtc/base/BUILD.gn index d0f4e77214..156969c953 100644 --- a/webrtc/base/BUILD.gn +++ b/webrtc/base/BUILD.gn @@ -471,7 +471,6 @@ rtc_static_library("rtc_base") { "referencecountedsingletonfactory.h", "rollingaccumulator.h", "scopedptrcollection.h", - "sec_buffer.h", "sslconfig.h", "sslroots.h", "testbase64.h", diff --git a/webrtc/base/base.gyp b/webrtc/base/base.gyp index 101d3eccb6..924de2a55f 100644 --- a/webrtc/base/base.gyp +++ b/webrtc/base/base.gyp @@ -432,7 +432,6 @@ 'referencecountedsingletonfactory.h', 'rollingaccumulator.h', 'scopedptrcollection.h', - 'sec_buffer.h', 'sslconfig.h', 'sslroots.h', 'testbase64.h', diff --git a/webrtc/base/sec_buffer.h b/webrtc/base/sec_buffer.h deleted file mode 100644 index 3ef720a9b2..0000000000 --- a/webrtc/base/sec_buffer.h +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright 2004 The WebRTC Project Authors. All rights reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -// @file Contains utility classes that make it easier to use SecBuffers - -#ifndef WEBRTC_BASE_SEC_BUFFER_H__ -#define WEBRTC_BASE_SEC_BUFFER_H__ - -namespace rtc { - -// A base class for CSecBuffer. Contains -// all implementation that does not require -// template arguments. -class CSecBufferBase : public SecBuffer { - public: - CSecBufferBase() { - Clear(); - } - - // Uses the SSPI to free a pointer, must be - // used for buffers returned from SSPI APIs. - static void FreeSSPI(void *ptr) { - if ( ptr ) { - SECURITY_STATUS status; - status = ::FreeContextBuffer(ptr); - ASSERT(SEC_E_OK == status); // "Freeing context buffer" - } - } - - // Deletes a buffer with operator delete - static void FreeDelete(void *ptr) { - delete [] reinterpret_cast(ptr); - } - - // A noop delete, for buffers over other - // people's memory - static void FreeNone(void *ptr) { - } - - protected: - // Clears the buffer to EMPTY & NULL - void Clear() { - this->BufferType = SECBUFFER_EMPTY; - this->cbBuffer = 0; - this->pvBuffer = NULL; - } -}; - -// Wrapper class for SecBuffer to take care -// of initialization and destruction. -template -class CSecBuffer: public CSecBufferBase { - public: - // Initializes buffer to empty & NULL - CSecBuffer() { - } - - // Frees any allocated memory - ~CSecBuffer() { - Release(); - } - - // Frees the buffer appropriately, and re-nulls - void Release() { - pfnFreeBuffer(this->pvBuffer); - Clear(); - } - - // This class must not extend the size of SecBuffer, since we use arrays of - // CSecBuffer in CSecBufferBundle below. - static_assert(sizeof(CSecBuffer) == sizeof(SecBuffer), ""); -}; - -// Contains all generic implementation for the -// SecBufferBundle class -class SecBufferBundleBase { - public: -}; - -// A template class that bundles a SecBufferDesc with -// one or more SecBuffers for convenience. Can take -// care of deallocating buffers appropriately, as indicated -// by pfnFreeBuffer function. -// By default does no deallocation. -template -class CSecBufferBundle : public SecBufferBundleBase { - public: - // Constructs a security buffer bundle with num_buffers - // buffers, all of which are empty and nulled. - CSecBufferBundle() { - desc_.ulVersion = SECBUFFER_VERSION; - desc_.cBuffers = num_buffers; - desc_.pBuffers = buffers_; - } - - // Frees all currently used buffers. - ~CSecBufferBundle() { - Release(); - } - - // Accessor for the descriptor - PSecBufferDesc desc() { - return &desc_; - } - - // Accessor for the descriptor - PSecBufferDesc desc() const { - return &desc_; - } - - // returns the i-th security buffer - SecBuffer &operator[] (size_t num) { - ASSERT(num < num_buffers); // "Buffer index out of bounds" - return buffers_[num]; - } - - // returns the i-th security buffer - const SecBuffer &operator[] (size_t num) const { - ASSERT(num < num_buffers); // "Buffer index out of bounds" - return buffers_[num]; - } - - // Frees all non-NULL security buffers, - // using the deallocation function - void Release() { - for ( size_t i = 0; i < num_buffers; ++i ) { - buffers_[i].Release(); - } - } - - private: - // Our descriptor - SecBufferDesc desc_; - // Our bundled buffers, each takes care of its own - // initialization and destruction - CSecBuffer buffers_[num_buffers]; -}; - -} // namespace rtc - -#endif // WEBRTC_BASE_SEC_BUFFER_H__ diff --git a/webrtc/base/socketadapters.cc b/webrtc/base/socketadapters.cc index e1c8a072b2..cf7ffb7b83 100644 --- a/webrtc/base/socketadapters.cc +++ b/webrtc/base/socketadapters.cc @@ -34,10 +34,6 @@ #include "webrtc/base/stringencode.h" #include "webrtc/base/stringutils.h" -#if defined(WEBRTC_WIN) -#include "webrtc/base/sec_buffer.h" -#endif // WEBRTC_WIN - namespace rtc { BufferedReadAdapter::BufferedReadAdapter(AsyncSocket* socket, size_t size)