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

Side by Side Diff: runtime/bin/vmservice/server.dart

Issue 2626043006: Fuchsia: Disable service origin check. Bind service to all interfaces. (Closed)
Patch Set: Created 3 years, 11 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 | « no previous file | sdk/lib/io/platform.dart » ('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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of vmservice_io; 5 part of vmservice_io;
6 6
7 class WebSocketClient extends Client { 7 class WebSocketClient extends Client {
8 static const int PARSE_ERROR_CODE = 4000; 8 static const int PARSE_ERROR_CODE = 4000;
9 static const int BINARY_MESSAGE_ERROR_CODE = 4001; 9 static const int BINARY_MESSAGE_ERROR_CODE = 4001;
10 static const int NOT_MAP_ERROR_CODE = 4002; 10 static const int NOT_MAP_ERROR_CODE = 4002;
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
159 if ((uri.port == _server.port) && 159 if ((uri.port == _server.port) &&
160 ((uri.host == _server.address.address) || 160 ((uri.host == _server.address.address) ||
161 (uri.host == _server.address.host))) { 161 (uri.host == _server.address.host))) {
162 return true; 162 return true;
163 } 163 }
164 164
165 return false; 165 return false;
166 } 166 }
167 167
168 bool _originCheck(HttpRequest request) { 168 bool _originCheck(HttpRequest request) {
169 if (_originCheckDisabled) { 169 if (_originCheckDisabled || Platform.isFuchsia) {
170 // Always allow. 170 // Always allow.
171 return true; 171 return true;
172 } 172 }
173 // First check the web-socket specific origin. 173 // First check the web-socket specific origin.
174 List<String> origins = request.headers["Sec-WebSocket-Origin"]; 174 List<String> origins = request.headers["Sec-WebSocket-Origin"];
175 if (origins == null) { 175 if (origins == null) {
176 // Fall back to the general Origin field. 176 // Fall back to the general Origin field.
177 origins = request.headers["Origin"]; 177 origins = request.headers["Origin"];
178 } 178 }
179 if (origins == null) { 179 if (origins == null) {
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 } 299 }
300 300
301 Future startup() async { 301 Future startup() async {
302 if (_server != null) { 302 if (_server != null) {
303 // Already running. 303 // Already running.
304 return this; 304 return this;
305 } 305 }
306 306
307 // Startup HTTP server. 307 // Startup HTTP server.
308 try { 308 try {
309 var addresses = await InternetAddress.lookup(_ip);
310 var address; 309 var address;
311 // Prefer IPv4 addresses. 310 if (Platform.isFuchsia) {
312 for (var i = 0; i < addresses.length; i++) { 311 address = InternetAddress.ANY_IP_V6;
siva 2017/01/13 18:33:00 Will this also work for clients that only have IPv
zra 2017/01/13 20:25:57 Yes, I have verified that I can connect from my de
313 address = addresses[i]; 312 } else {
314 if (address.type == InternetAddressType.IP_V4) break; 313 var addresses = await InternetAddress.lookup(_ip);
314 // Prefer IPv4 addresses.
315 for (var i = 0; i < addresses.length; i++) {
316 address = addresses[i];
317 if (address.type == InternetAddressType.IP_V4) break;
318 }
315 } 319 }
316 _server = await HttpServer.bind(address, _port); 320 _server = await HttpServer.bind(address, _port);
317 _server.listen(_requestHandler, cancelOnError: true); 321 _server.listen(_requestHandler, cancelOnError: true);
318 print('Observatory listening on $serverAddress'); 322 print('Observatory listening on $serverAddress');
319 // Server is up and running. 323 // Server is up and running.
320 _notifyServerState(serverAddress.toString()); 324 _notifyServerState(serverAddress.toString());
321 onServerAddressChange('$serverAddress'); 325 onServerAddressChange('$serverAddress');
322 return this; 326 return this;
323 } catch (e, st) { 327 } catch (e, st) {
324 print('Could not start Observatory HTTP server:\n$e\n$st\n'); 328 print('Could not start Observatory HTTP server:\n$e\n$st\n');
(...skipping 30 matching lines...) Expand all
355 _notifyServerState(""); 359 _notifyServerState("");
356 onServerAddressChange(null); 360 onServerAddressChange(null);
357 return this; 361 return this;
358 }); 362 });
359 } 363 }
360 364
361 } 365 }
362 366
363 void _notifyServerState(String uri) 367 void _notifyServerState(String uri)
364 native "VMServiceIO_NotifyServerState"; 368 native "VMServiceIO_NotifyServerState";
OLDNEW
« no previous file with comments | « no previous file | sdk/lib/io/platform.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698