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

Side by Side Diff: webrtc/p2p/base/portallocator.h

Issue 1311153003: Add check to prevent TURN usage if the protocol is not allowed. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@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 2004 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2004 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
(...skipping 10 matching lines...) Expand all
21 21
22 namespace cricket { 22 namespace cricket {
23 23
24 // PortAllocator is responsible for allocating Port types for a given 24 // PortAllocator is responsible for allocating Port types for a given
25 // P2PSocket. It also handles port freeing. 25 // P2PSocket. It also handles port freeing.
26 // 26 //
27 // Clients can override this class to control port allocation, including 27 // Clients can override this class to control port allocation, including
28 // what kinds of ports are allocated. 28 // what kinds of ports are allocated.
29 29
30 enum { 30 enum {
31 // Disable local UDP port. This doesn't impact how we connect relay servers.
pthatcher1 2015/08/26 17:27:53 UDP port => UDP ports connect relay servers => c
31 PORTALLOCATOR_DISABLE_UDP = 0x01, 32 PORTALLOCATOR_DISABLE_UDP = 0x01,
32 PORTALLOCATOR_DISABLE_STUN = 0x02, 33 PORTALLOCATOR_DISABLE_STUN = 0x02,
33 PORTALLOCATOR_DISABLE_RELAY = 0x04, 34 PORTALLOCATOR_DISABLE_RELAY = 0x04,
35 // Disable local TCP port. This doesn't impact how we connect relay servers.
pthatcher1 2015/08/26 17:27:53 Same here
34 PORTALLOCATOR_DISABLE_TCP = 0x08, 36 PORTALLOCATOR_DISABLE_TCP = 0x08,
35 PORTALLOCATOR_ENABLE_SHAKER = 0x10, 37 PORTALLOCATOR_ENABLE_SHAKER = 0x10,
36 PORTALLOCATOR_ENABLE_IPV6 = 0x40, 38 PORTALLOCATOR_ENABLE_IPV6 = 0x40,
37 // TODO(pthatcher): Remove this once it's no longer used in: 39 // TODO(pthatcher): Remove this once it's no longer used in:
38 // remoting/client/plugin/pepper_port_allocator.cc 40 // remoting/client/plugin/pepper_port_allocator.cc
39 // remoting/protocol/chromium_port_allocator.cc 41 // remoting/protocol/chromium_port_allocator.cc
40 // remoting/test/fake_port_allocator.cc 42 // remoting/test/fake_port_allocator.cc
41 // It's a no-op and is no longer needed. 43 // It's a no-op and is no longer needed.
42 PORTALLOCATOR_ENABLE_SHARED_UFRAG = 0x80, 44 PORTALLOCATOR_ENABLE_SHARED_UFRAG = 0x80,
43 PORTALLOCATOR_ENABLE_SHARED_SOCKET = 0x100, 45 PORTALLOCATOR_ENABLE_SHARED_SOCKET = 0x100,
44 PORTALLOCATOR_ENABLE_STUN_RETRANSMIT_ATTRIBUTE = 0x200, 46 PORTALLOCATOR_ENABLE_STUN_RETRANSMIT_ATTRIBUTE = 0x200,
45 PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION = 0x400, 47 PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION = 0x400,
46 // When specified, a loopback candidate will be generated if 48 // When specified, a loopback candidate will be generated if
47 // PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION is specified. 49 // PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION is specified.
48 PORTALLOCATOR_ENABLE_LOCALHOST_CANDIDATE = 0x800, 50 PORTALLOCATOR_ENABLE_LOCALHOST_CANDIDATE = 0x800,
51 // Disallow use of UDP when connecting to a relay server. Since proxy servers
52 // usually don't handle UDP, using UDP will leak the IP address.
53 PORTALLOCATOR_DISABLE_UDP_RELAY = 0x1000,
49 }; 54 };
50 55
51 const uint32 kDefaultPortAllocatorFlags = 0; 56 const uint32 kDefaultPortAllocatorFlags = 0;
52 57
53 const uint32 kDefaultStepDelay = 1000; // 1 sec step delay. 58 const uint32 kDefaultStepDelay = 1000; // 1 sec step delay.
54 // As per RFC 5245 Appendix B.1, STUN transactions need to be paced at certain 59 // As per RFC 5245 Appendix B.1, STUN transactions need to be paced at certain
55 // internal. Less than 20ms is not acceptable. We choose 50ms as our default. 60 // internal. Less than 20ms is not acceptable. We choose 50ms as our default.
56 const uint32 kMinimumStepDelay = 50; 61 const uint32 kMinimumStepDelay = 50;
57 62
58 // CF = CANDIDATE FILTER 63 // CF = CANDIDATE FILTER
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 int max_port_; 193 int max_port_;
189 uint32 step_delay_; 194 uint32 step_delay_;
190 bool allow_tcp_listen_; 195 bool allow_tcp_listen_;
191 uint32 candidate_filter_; 196 uint32 candidate_filter_;
192 std::string origin_; 197 std::string origin_;
193 }; 198 };
194 199
195 } // namespace cricket 200 } // namespace cricket
196 201
197 #endif // WEBRTC_P2P_BASE_PORTALLOCATOR_H_ 202 #endif // WEBRTC_P2P_BASE_PORTALLOCATOR_H_
OLDNEW
« no previous file with comments | « no previous file | webrtc/p2p/client/basicportallocator.cc » ('j') | webrtc/p2p/client/portallocator_unittest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698