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

Side by Side Diff: jingle/notifier/communicator/xmpp_socket_adapter.cc

Issue 3358028: Revert r59012 which started using Chrome sockets for sync. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Created 10 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 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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/jingle_glue/xmpp_socket_adapter.h" 5 #include "jingle/notifier/communicator/xmpp_socket_adapter.h"
6 6
7 #include <iomanip> 7 #include <iomanip>
8 #include <string> 8 #include <string>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "remoting/jingle_glue/ssl_adapter.h" 11 #include "jingle/notifier/base/ssl_adapter.h"
12 #include "jingle/notifier/communicator/product_info.h"
12 #include "talk/base/byteorder.h" 13 #include "talk/base/byteorder.h"
13 #include "talk/base/common.h" 14 #include "talk/base/common.h"
14 #include "talk/base/firewallsocketserver.h" 15 #include "talk/base/firewallsocketserver.h"
15 #include "talk/base/logging.h" 16 #include "talk/base/logging.h"
16 #include "talk/base/socketadapters.h" 17 #include "talk/base/socketadapters.h"
17 #include "talk/base/ssladapter.h" 18 #include "talk/base/ssladapter.h"
18 #include "talk/base/thread.h" 19 #include "talk/base/thread.h"
19 #include "talk/xmpp/xmppengine.h" 20 #include "talk/xmpp/xmppengine.h"
20 21
21 namespace remoting { 22 namespace notifier {
22 23
23 XmppSocketAdapter::XmppSocketAdapter(const buzz::XmppClientSettings& xcs, 24 XmppSocketAdapter::XmppSocketAdapter(const buzz::XmppClientSettings& xcs,
24 bool allow_unverified_certs) 25 bool allow_unverified_certs)
25 : state_(STATE_CLOSED), 26 : state_(STATE_CLOSED),
26 error_(ERROR_NONE), 27 error_(ERROR_NONE),
27 wsa_error_(0), 28 wsa_error_(0),
28 socket_(NULL), 29 socket_(NULL),
29 protocol_(xcs.protocol()), 30 protocol_(xcs.protocol()),
30 firewall_(false), 31 firewall_(false),
31 write_buffer_(NULL), 32 write_buffer_(NULL),
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 } 104 }
104 105
105 if (proxy_.type) { 106 if (proxy_.type) {
106 talk_base::AsyncSocket* proxy_socket = 0; 107 talk_base::AsyncSocket* proxy_socket = 0;
107 if (proxy_.type == talk_base::PROXY_SOCKS5) { 108 if (proxy_.type == talk_base::PROXY_SOCKS5) {
108 proxy_socket = new talk_base::AsyncSocksProxySocket( 109 proxy_socket = new talk_base::AsyncSocksProxySocket(
109 socket, proxy_.address, proxy_.username, proxy_.password); 110 socket, proxy_.address, proxy_.username, proxy_.password);
110 } else { 111 } else {
111 // Note: we are trying unknown proxies as HTTPS currently. 112 // Note: we are trying unknown proxies as HTTPS currently.
112 proxy_socket = new talk_base::AsyncHttpsProxySocket(socket, 113 proxy_socket = new talk_base::AsyncHttpsProxySocket(socket,
113 "chromoting", proxy_.address, proxy_.username, 114 GetUserAgentString(), proxy_.address, proxy_.username,
114 proxy_.password); 115 proxy_.password);
115 } 116 }
116 if (!proxy_socket) { 117 if (!proxy_socket) {
117 SetWSAError(WSA_NOT_ENOUGH_MEMORY); 118 SetWSAError(WSA_NOT_ENOUGH_MEMORY);
118 delete socket; 119 delete socket;
119 return false; 120 return false;
120 } 121 }
121 socket = proxy_socket; // For our purposes the proxy is now the socket. 122 socket = proxy_socket; // For our purposes the proxy is now the socket.
122 } 123 }
123 124
124 if (protocol_ == cricket::PROTO_SSLTCP) { 125 if (protocol_ == cricket::PROTO_SSLTCP) {
125 talk_base::AsyncSocket *fake_ssl_socket = 126 talk_base::AsyncSocket *fake_ssl_socket =
126 new talk_base::AsyncSSLSocket(socket); 127 new talk_base::AsyncSSLSocket(socket);
127 if (!fake_ssl_socket) { 128 if (!fake_ssl_socket) {
128 SetWSAError(WSA_NOT_ENOUGH_MEMORY); 129 SetWSAError(WSA_NOT_ENOUGH_MEMORY);
129 delete socket; 130 delete socket;
130 return false; 131 return false;
131 } 132 }
132 socket = fake_ssl_socket; // For our purposes the SSL socket is the socket. 133 socket = fake_ssl_socket; // For our purposes the SSL socket is the socket.
133 } 134 }
134 135
135 #if defined(FEATURE_ENABLE_SSL) 136 #if defined(FEATURE_ENABLE_SSL)
136 talk_base::SSLAdapter* ssl_adapter = remoting::CreateSSLAdapter(socket); 137 talk_base::SSLAdapter* ssl_adapter = notifier::CreateSSLAdapter(socket);
137 socket = ssl_adapter; // For our purposes the SSL adapter is the socket. 138 socket = ssl_adapter; // For our purposes the SSL adapter is the socket.
138 #endif 139 #endif
139 140
140 socket->SignalReadEvent.connect(this, &XmppSocketAdapter::OnReadEvent); 141 socket->SignalReadEvent.connect(this, &XmppSocketAdapter::OnReadEvent);
141 socket->SignalWriteEvent.connect(this, &XmppSocketAdapter::OnWriteEvent); 142 socket->SignalWriteEvent.connect(this, &XmppSocketAdapter::OnWriteEvent);
142 socket->SignalConnectEvent.connect(this, &XmppSocketAdapter::OnConnectEvent); 143 socket->SignalConnectEvent.connect(this, &XmppSocketAdapter::OnConnectEvent);
143 socket->SignalCloseEvent.connect(this, &XmppSocketAdapter::OnCloseEvent); 144 socket->SignalCloseEvent.connect(this, &XmppSocketAdapter::OnCloseEvent);
144 145
145 // The linux implementation of socket::Connect returns an error when the 146 // The linux implementation of socket::Connect returns an error when the
146 // connect didn't complete yet. This can be distinguished from a failure 147 // connect didn't complete yet. This can be distinguished from a failure
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 Error error = ERROR_NONE; 419 Error error = ERROR_NONE;
419 int wsa_error = 0; 420 int wsa_error = 0;
420 FlushWriteQueue(&error, &wsa_error); 421 FlushWriteQueue(&error, &wsa_error);
421 if (error != ERROR_NONE) { 422 if (error != ERROR_NONE) {
422 Close(); 423 Close();
423 return false; 424 return false;
424 } 425 }
425 return true; 426 return true;
426 } 427 }
427 428
428 } // namespace remoting 429 } // namespace notifier
OLDNEW
« no previous file with comments | « jingle/notifier/communicator/xmpp_socket_adapter.h ('k') | jingle/notifier/listener/mediator_thread_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698