| Index: webrtc/base/nssstreamadapter.h
|
| diff --git a/webrtc/base/nssstreamadapter.h b/webrtc/base/nssstreamadapter.h
|
| deleted file mode 100644
|
| index 04c310ecb83f287e2605a31dc7ef73b635704dd2..0000000000000000000000000000000000000000
|
| --- a/webrtc/base/nssstreamadapter.h
|
| +++ /dev/null
|
| @@ -1,125 +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.
|
| - */
|
| -
|
| -#ifndef WEBRTC_BASE_NSSSTREAMADAPTER_H_
|
| -#define WEBRTC_BASE_NSSSTREAMADAPTER_H_
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -// Hack: Define+undefine int64 and uint64 to avoid typedef conflict with NSS.
|
| -// TODO(kjellander): Remove when webrtc:4497 is completed.
|
| -#define uint64 foo_uint64
|
| -#define int64 foo_int64
|
| -#include "nspr.h"
|
| -#undef uint64
|
| -#undef int64
|
| -
|
| -#include "nss.h"
|
| -#include "secmodt.h"
|
| -
|
| -#include "webrtc/base/buffer.h"
|
| -#include "webrtc/base/criticalsection.h"
|
| -#include "webrtc/base/nssidentity.h"
|
| -#include "webrtc/base/ssladapter.h"
|
| -#include "webrtc/base/sslstreamadapter.h"
|
| -#include "webrtc/base/sslstreamadapterhelper.h"
|
| -
|
| -namespace rtc {
|
| -
|
| -// Singleton
|
| -class NSSContext {
|
| - public:
|
| - explicit NSSContext(PK11SlotInfo* slot) : slot_(slot) {}
|
| - ~NSSContext() {
|
| - }
|
| -
|
| - static PK11SlotInfo *GetSlot() {
|
| - return Instance() ? Instance()->slot_: NULL;
|
| - }
|
| -
|
| - static NSSContext *Instance();
|
| - static bool InitializeSSL(VerificationCallback callback);
|
| - static bool InitializeSSLThread();
|
| - static bool CleanupSSL();
|
| -
|
| - private:
|
| - PK11SlotInfo *slot_; // The PKCS-11 slot
|
| - static GlobalLockPod lock; // To protect the global context
|
| - static NSSContext *global_nss_context; // The global context
|
| -};
|
| -
|
| -
|
| -class NSSStreamAdapter : public SSLStreamAdapterHelper {
|
| - public:
|
| - explicit NSSStreamAdapter(StreamInterface* stream);
|
| - ~NSSStreamAdapter() override;
|
| - bool Init();
|
| -
|
| - StreamResult Read(void* data,
|
| - size_t data_len,
|
| - size_t* read,
|
| - int* error) override;
|
| - StreamResult Write(const void* data,
|
| - size_t data_len,
|
| - size_t* written,
|
| - int* error) override;
|
| - void OnMessage(Message* msg) override;
|
| -
|
| - bool GetSslCipher(std::string* cipher) override;
|
| -
|
| - // Key Extractor interface
|
| - bool ExportKeyingMaterial(const std::string& label,
|
| - const uint8* context,
|
| - size_t context_len,
|
| - bool use_context,
|
| - uint8* result,
|
| - size_t result_len) override;
|
| -
|
| - // DTLS-SRTP interface
|
| - bool SetDtlsSrtpCiphers(const std::vector<std::string>& ciphers) override;
|
| - bool GetDtlsSrtpCipher(std::string* cipher) override;
|
| -
|
| - // Capabilities interfaces
|
| - static bool HaveDtls();
|
| - static bool HaveDtlsSrtp();
|
| - static bool HaveExporter();
|
| - static std::string GetDefaultSslCipher(SSLProtocolVersion version,
|
| - KeyType key_type);
|
| -
|
| - protected:
|
| - // Override SSLStreamAdapter
|
| - void OnEvent(StreamInterface* stream, int events, int err) override;
|
| -
|
| - // Override SSLStreamAdapterHelper
|
| - int BeginSSL() override;
|
| - void Cleanup() override;
|
| - bool GetDigestLength(const std::string& algorithm, size_t* length) override;
|
| -
|
| - private:
|
| - int ContinueSSL();
|
| - static SECStatus AuthCertificateHook(void *arg, PRFileDesc *fd,
|
| - PRBool checksig, PRBool isServer);
|
| - static SECStatus GetClientAuthDataHook(void *arg, PRFileDesc *fd,
|
| - CERTDistNames *caNames,
|
| - CERTCertificate **pRetCert,
|
| - SECKEYPrivateKey **pRetKey);
|
| -
|
| - PRFileDesc *ssl_fd_; // NSS's SSL file descriptor
|
| - static bool initialized; // Was InitializeSSL() called?
|
| - bool cert_ok_; // Did we get and check a cert
|
| - std::vector<PRUint16> srtp_ciphers_; // SRTP cipher list
|
| -
|
| - static PRDescIdentity nspr_layer_identity; // The NSPR layer identity
|
| -};
|
| -
|
| -} // namespace rtc
|
| -
|
| -#endif // WEBRTC_BASE_NSSSTREAMADAPTER_H_
|
|
|