Reason for revert:
It turns out cryptstring was used by Chrome. In the xmpp code recently moved there from webrtc.
So this code has to be moved too, it canät just be deleted.
Original issue's description:
> Delete cryptstring.h and cryptstring.cc.
>
> They became unused with cl https://codereview.webrtc.org/2731673002/
>
> BUG=webrtc:6424
>
> Review-Url: https://codereview.webrtc.org/2740633003
> Cr-Commit-Position: refs/heads/master@{#17128}
> Committed: 822638b481
TBR=pthatcher@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6424
Review-Url: https://codereview.webrtc.org/2742743002
Cr-Commit-Position: refs/heads/master@{#17130}
76 lines
1.9 KiB
C++
76 lines
1.9 KiB
C++
/*
|
|
* Copyright 2015 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.
|
|
*/
|
|
|
|
#include "webrtc/base/cryptstring.h"
|
|
|
|
namespace rtc {
|
|
|
|
size_t EmptyCryptStringImpl::GetLength() const {
|
|
return 0;
|
|
}
|
|
|
|
void EmptyCryptStringImpl::CopyTo(char* dest, bool nullterminate) const {
|
|
if (nullterminate) {
|
|
*dest = '\0';
|
|
}
|
|
}
|
|
|
|
std::string EmptyCryptStringImpl::UrlEncode() const {
|
|
return "";
|
|
}
|
|
|
|
CryptStringImpl* EmptyCryptStringImpl::Copy() const {
|
|
return new EmptyCryptStringImpl();
|
|
}
|
|
|
|
void EmptyCryptStringImpl::CopyRawTo(std::vector<unsigned char>* dest) const {
|
|
dest->clear();
|
|
}
|
|
|
|
CryptString::CryptString() : impl_(new EmptyCryptStringImpl()) {
|
|
}
|
|
|
|
CryptString::CryptString(const CryptString& other)
|
|
: impl_(other.impl_->Copy()) {
|
|
}
|
|
|
|
CryptString::CryptString(const CryptStringImpl& impl) : impl_(impl.Copy()) {
|
|
}
|
|
|
|
CryptString::~CryptString() = default;
|
|
|
|
size_t InsecureCryptStringImpl::GetLength() const {
|
|
return password_.size();
|
|
}
|
|
|
|
void InsecureCryptStringImpl::CopyTo(char* dest, bool nullterminate) const {
|
|
memcpy(dest, password_.data(), password_.size());
|
|
if (nullterminate)
|
|
dest[password_.size()] = 0;
|
|
}
|
|
|
|
std::string InsecureCryptStringImpl::UrlEncode() const {
|
|
return password_;
|
|
}
|
|
|
|
CryptStringImpl* InsecureCryptStringImpl::Copy() const {
|
|
InsecureCryptStringImpl* copy = new InsecureCryptStringImpl;
|
|
copy->password() = password_;
|
|
return copy;
|
|
}
|
|
|
|
void InsecureCryptStringImpl::CopyRawTo(
|
|
std::vector<unsigned char>* dest) const {
|
|
dest->resize(password_.size());
|
|
memcpy(&dest->front(), password_.data(), password_.size());
|
|
}
|
|
|
|
}; // namespace rtc
|