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

Side by Side Diff: webrtc/p2p/base/transportdescriptionfactory.cc

Issue 1246913005: TransportController refactoring (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 3 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
OLDNEW
1 /* 1 /*
2 * Copyright 2012 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2012 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/p2p/base/transportdescriptionfactory.h" 11 #include "webrtc/p2p/base/transportdescriptionfactory.h"
12 12
13 #include "webrtc/p2p/base/transportdescription.h" 13 #include "webrtc/p2p/base/transportdescription.h"
14 #include "webrtc/base/helpers.h" 14 #include "webrtc/base/helpers.h"
15 #include "webrtc/base/logging.h" 15 #include "webrtc/base/logging.h"
16 #include "webrtc/base/messagedigest.h" 16 #include "webrtc/base/messagedigest.h"
17 #include "webrtc/base/scoped_ptr.h"
18 #include "webrtc/base/sslfingerprint.h" 17 #include "webrtc/base/sslfingerprint.h"
19 18
20 namespace cricket { 19 namespace cricket {
21 20
22 TransportDescriptionFactory::TransportDescriptionFactory() 21 TransportDescriptionFactory::TransportDescriptionFactory()
23 : secure_(SEC_DISABLED), 22 : secure_(SEC_DISABLED) {
24 identity_(NULL) {
25 } 23 }
26 24
27 TransportDescription* TransportDescriptionFactory::CreateOffer( 25 TransportDescription* TransportDescriptionFactory::CreateOffer(
28 const TransportOptions& options, 26 const TransportOptions& options,
29 const TransportDescription* current_description) const { 27 const TransportDescription* current_description) const {
30 rtc::scoped_ptr<TransportDescription> desc(new TransportDescription()); 28 rtc::scoped_ptr<TransportDescription> desc(new TransportDescription());
31 29
32 // Generate the ICE credentials if we don't already have them. 30 // Generate the ICE credentials if we don't already have them.
33 if (!current_description || options.ice_restart) { 31 if (!current_description || options.ice_restart) {
34 desc->ice_ufrag = rtc::CreateRandomString(ICE_UFRAG_LENGTH); 32 desc->ice_ufrag = rtc::CreateRandomString(ICE_UFRAG_LENGTH);
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 // This digest algorithm is used to produce the a=fingerprint lines in SDP. 103 // This digest algorithm is used to produce the a=fingerprint lines in SDP.
106 // RFC 4572 Section 5 requires that those lines use the same hash function as 104 // RFC 4572 Section 5 requires that those lines use the same hash function as
107 // the certificate's signature. 105 // the certificate's signature.
108 std::string digest_alg; 106 std::string digest_alg;
109 if (!identity_->certificate().GetSignatureDigestAlgorithm(&digest_alg)) { 107 if (!identity_->certificate().GetSignatureDigestAlgorithm(&digest_alg)) {
110 LOG(LS_ERROR) << "Failed to retrieve the certificate's digest algorithm"; 108 LOG(LS_ERROR) << "Failed to retrieve the certificate's digest algorithm";
111 return false; 109 return false;
112 } 110 }
113 111
114 desc->identity_fingerprint.reset( 112 desc->identity_fingerprint.reset(
115 rtc::SSLFingerprint::Create(digest_alg, identity_)); 113 rtc::SSLFingerprint::Create(digest_alg, identity_.get()));
116 if (!desc->identity_fingerprint.get()) { 114 if (!desc->identity_fingerprint.get()) {
117 LOG(LS_ERROR) << "Failed to create identity fingerprint, alg=" 115 LOG(LS_ERROR) << "Failed to create identity fingerprint, alg="
118 << digest_alg; 116 << digest_alg;
119 return false; 117 return false;
120 } 118 }
121 119
122 // Assign security role. 120 // Assign security role.
123 desc->connection_role = role; 121 desc->connection_role = role;
124 return true; 122 return true;
125 } 123 }
126 124
127 } // namespace cricket 125 } // namespace cricket
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698