Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1061)

Side by Side Diff: remoting/protocol/fake_authenticator.cc

Issue 1864213002: Convert //remoting to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Mac IWYU Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « remoting/protocol/fake_authenticator.h ('k') | remoting/protocol/fake_connection_to_client.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/protocol/fake_authenticator.h" 5 #include "remoting/protocol/fake_authenticator.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
11 #include "base/memory/ptr_util.h"
11 #include "base/message_loop/message_loop.h" 12 #include "base/message_loop/message_loop.h"
12 #include "base/rand_util.h" 13 #include "base/rand_util.h"
13 #include "base/strings/string_number_conversions.h" 14 #include "base/strings/string_number_conversions.h"
14 #include "net/base/io_buffer.h" 15 #include "net/base/io_buffer.h"
15 #include "net/base/net_errors.h" 16 #include "net/base/net_errors.h"
16 #include "remoting/base/constants.h" 17 #include "remoting/base/constants.h"
17 #include "remoting/protocol/p2p_stream_socket.h" 18 #include "remoting/protocol/p2p_stream_socket.h"
18 #include "testing/gtest/include/gtest/gtest.h" 19 #include "testing/gtest/include/gtest/gtest.h"
19 #include "third_party/webrtc/libjingle/xmllite/xmlelement.h" 20 #include "third_party/webrtc/libjingle/xmllite/xmlelement.h"
20 21
21 namespace remoting { 22 namespace remoting {
22 namespace protocol { 23 namespace protocol {
23 24
24 FakeChannelAuthenticator::FakeChannelAuthenticator(bool accept, bool async) 25 FakeChannelAuthenticator::FakeChannelAuthenticator(bool accept, bool async)
25 : result_(accept ? net::OK : net::ERR_FAILED), 26 : result_(accept ? net::OK : net::ERR_FAILED),
26 async_(async), 27 async_(async),
27 weak_factory_(this) {} 28 weak_factory_(this) {}
28 29
29 FakeChannelAuthenticator::~FakeChannelAuthenticator() {} 30 FakeChannelAuthenticator::~FakeChannelAuthenticator() {}
30 31
31 void FakeChannelAuthenticator::SecureAndAuthenticate( 32 void FakeChannelAuthenticator::SecureAndAuthenticate(
32 scoped_ptr<P2PStreamSocket> socket, 33 std::unique_ptr<P2PStreamSocket> socket,
33 const DoneCallback& done_callback) { 34 const DoneCallback& done_callback) {
34 socket_ = std::move(socket); 35 socket_ = std::move(socket);
35 36
36 done_callback_ = done_callback; 37 done_callback_ = done_callback;
37 38
38 if (async_) { 39 if (async_) {
39 if (result_ != net::OK) { 40 if (result_ != net::OK) {
40 // Don't write anything if we are going to reject auth to make test 41 // Don't write anything if we are going to reject auth to make test
41 // ordering deterministic. 42 // ordering deterministic.
42 did_write_bytes_ = true; 43 did_write_bytes_ = true;
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 std::string key_base64 = 148 std::string key_base64 =
148 message->TextNamed(buzz::QName(kChromotingXmlNamespace, "key")); 149 message->TextNamed(buzz::QName(kChromotingXmlNamespace, "key"));
149 EXPECT_TRUE(!key_base64.empty()); 150 EXPECT_TRUE(!key_base64.empty());
150 EXPECT_TRUE(base::Base64Decode(key_base64, &auth_key_)); 151 EXPECT_TRUE(base::Base64Decode(key_base64, &auth_key_));
151 } 152 }
152 153
153 ++messages_; 154 ++messages_;
154 resume_callback.Run(); 155 resume_callback.Run();
155 } 156 }
156 157
157 scoped_ptr<buzz::XmlElement> FakeAuthenticator::GetNextMessage() { 158 std::unique_ptr<buzz::XmlElement> FakeAuthenticator::GetNextMessage() {
158 EXPECT_EQ(MESSAGE_READY, state()); 159 EXPECT_EQ(MESSAGE_READY, state());
159 160
160 scoped_ptr<buzz::XmlElement> result(new buzz::XmlElement( 161 std::unique_ptr<buzz::XmlElement> result(new buzz::XmlElement(
161 buzz::QName(kChromotingXmlNamespace, "authentication"))); 162 buzz::QName(kChromotingXmlNamespace, "authentication")));
162 buzz::XmlElement* id = new buzz::XmlElement( 163 buzz::XmlElement* id = new buzz::XmlElement(
163 buzz::QName(kChromotingXmlNamespace, "id")); 164 buzz::QName(kChromotingXmlNamespace, "id"));
164 id->AddText(base::IntToString(messages_)); 165 id->AddText(base::IntToString(messages_));
165 result->AddElement(id); 166 result->AddElement(id);
166 167
167 // Add authentication key in the last message sent from host to client. 168 // Add authentication key in the last message sent from host to client.
168 if (type_ == HOST && messages_ == round_trips_ * 2 - 1) { 169 if (type_ == HOST && messages_ == round_trips_ * 2 - 1) {
169 auth_key_ = base::RandBytesAsString(16); 170 auth_key_ = base::RandBytesAsString(16);
170 buzz::XmlElement* key = new buzz::XmlElement( 171 buzz::XmlElement* key = new buzz::XmlElement(
171 buzz::QName(kChromotingXmlNamespace, "key")); 172 buzz::QName(kChromotingXmlNamespace, "key"));
172 std::string key_base64; 173 std::string key_base64;
173 base::Base64Encode(auth_key_, &key_base64); 174 base::Base64Encode(auth_key_, &key_base64);
174 key->AddText(key_base64); 175 key->AddText(key_base64);
175 result->AddElement(key); 176 result->AddElement(key);
176 } 177 }
177 178
178 ++messages_; 179 ++messages_;
179 return result; 180 return result;
180 } 181 }
181 182
182 const std::string& FakeAuthenticator::GetAuthKey() const { 183 const std::string& FakeAuthenticator::GetAuthKey() const {
183 EXPECT_EQ(ACCEPTED, state()); 184 EXPECT_EQ(ACCEPTED, state());
184 DCHECK(!auth_key_.empty()); 185 DCHECK(!auth_key_.empty());
185 return auth_key_; 186 return auth_key_;
186 } 187 }
187 188
188 scoped_ptr<ChannelAuthenticator> 189 std::unique_ptr<ChannelAuthenticator>
189 FakeAuthenticator::CreateChannelAuthenticator() const { 190 FakeAuthenticator::CreateChannelAuthenticator() const {
190 EXPECT_EQ(ACCEPTED, state()); 191 EXPECT_EQ(ACCEPTED, state());
191 return make_scoped_ptr( 192 return base::WrapUnique(
192 new FakeChannelAuthenticator(action_ != REJECT_CHANNEL, async_)); 193 new FakeChannelAuthenticator(action_ != REJECT_CHANNEL, async_));
193 } 194 }
194 195
195 FakeHostAuthenticatorFactory::FakeHostAuthenticatorFactory( 196 FakeHostAuthenticatorFactory::FakeHostAuthenticatorFactory(
196 int round_trips, 197 int round_trips,
197 int messages_till_started, 198 int messages_till_started,
198 FakeAuthenticator::Action action, 199 FakeAuthenticator::Action action,
199 bool async) 200 bool async)
200 : round_trips_(round_trips), 201 : round_trips_(round_trips),
201 messages_till_started_(messages_till_started), 202 messages_till_started_(messages_till_started),
202 action_(action), 203 action_(action),
203 async_(async) {} 204 async_(async) {}
204 FakeHostAuthenticatorFactory::~FakeHostAuthenticatorFactory() {} 205 FakeHostAuthenticatorFactory::~FakeHostAuthenticatorFactory() {}
205 206
206 scoped_ptr<Authenticator> FakeHostAuthenticatorFactory::CreateAuthenticator( 207 std::unique_ptr<Authenticator>
208 FakeHostAuthenticatorFactory::CreateAuthenticator(
207 const std::string& local_jid, 209 const std::string& local_jid,
208 const std::string& remote_jid) { 210 const std::string& remote_jid) {
209 scoped_ptr<FakeAuthenticator> authenticator(new FakeAuthenticator( 211 std::unique_ptr<FakeAuthenticator> authenticator(new FakeAuthenticator(
210 FakeAuthenticator::HOST, round_trips_, action_, async_)); 212 FakeAuthenticator::HOST, round_trips_, action_, async_));
211 authenticator->set_messages_till_started(messages_till_started_); 213 authenticator->set_messages_till_started(messages_till_started_);
212 return std::move(authenticator); 214 return std::move(authenticator);
213 } 215 }
214 216
215 } // namespace protocol 217 } // namespace protocol
216 } // namespace remoting 218 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/protocol/fake_authenticator.h ('k') | remoting/protocol/fake_connection_to_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698