OLD | NEW |
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 Loading... |
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 ports. This doesn't impact how we connect to relay |
| 32 // servers. |
31 PORTALLOCATOR_DISABLE_UDP = 0x01, | 33 PORTALLOCATOR_DISABLE_UDP = 0x01, |
32 PORTALLOCATOR_DISABLE_STUN = 0x02, | 34 PORTALLOCATOR_DISABLE_STUN = 0x02, |
33 PORTALLOCATOR_DISABLE_RELAY = 0x04, | 35 PORTALLOCATOR_DISABLE_RELAY = 0x04, |
| 36 // Disable local TCP ports. This doesn't impact how we connect to relay |
| 37 // servers. |
34 PORTALLOCATOR_DISABLE_TCP = 0x08, | 38 PORTALLOCATOR_DISABLE_TCP = 0x08, |
35 PORTALLOCATOR_ENABLE_SHAKER = 0x10, | 39 PORTALLOCATOR_ENABLE_SHAKER = 0x10, |
36 PORTALLOCATOR_ENABLE_IPV6 = 0x40, | 40 PORTALLOCATOR_ENABLE_IPV6 = 0x40, |
37 // TODO(pthatcher): Remove this once it's no longer used in: | 41 // TODO(pthatcher): Remove this once it's no longer used in: |
38 // remoting/client/plugin/pepper_port_allocator.cc | 42 // remoting/client/plugin/pepper_port_allocator.cc |
39 // remoting/protocol/chromium_port_allocator.cc | 43 // remoting/protocol/chromium_port_allocator.cc |
40 // remoting/test/fake_port_allocator.cc | 44 // remoting/test/fake_port_allocator.cc |
41 // It's a no-op and is no longer needed. | 45 // It's a no-op and is no longer needed. |
42 PORTALLOCATOR_ENABLE_SHARED_UFRAG = 0x80, | 46 PORTALLOCATOR_ENABLE_SHARED_UFRAG = 0x80, |
43 PORTALLOCATOR_ENABLE_SHARED_SOCKET = 0x100, | 47 PORTALLOCATOR_ENABLE_SHARED_SOCKET = 0x100, |
44 PORTALLOCATOR_ENABLE_STUN_RETRANSMIT_ATTRIBUTE = 0x200, | 48 PORTALLOCATOR_ENABLE_STUN_RETRANSMIT_ATTRIBUTE = 0x200, |
45 PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION = 0x400, | 49 PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION = 0x400, |
46 // When specified, a loopback candidate will be generated if | 50 // When specified, a loopback candidate will be generated if |
47 // PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION is specified. | 51 // PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION is specified. |
48 PORTALLOCATOR_ENABLE_LOCALHOST_CANDIDATE = 0x800, | 52 PORTALLOCATOR_ENABLE_LOCALHOST_CANDIDATE = 0x800, |
| 53 // Disallow use of UDP when connecting to a relay server. Since proxy servers |
| 54 // usually don't handle UDP, using UDP will leak the IP address. |
| 55 PORTALLOCATOR_DISABLE_UDP_RELAY = 0x1000, |
49 }; | 56 }; |
50 | 57 |
51 const uint32 kDefaultPortAllocatorFlags = 0; | 58 const uint32 kDefaultPortAllocatorFlags = 0; |
52 | 59 |
53 const uint32 kDefaultStepDelay = 1000; // 1 sec step delay. | 60 const uint32 kDefaultStepDelay = 1000; // 1 sec step delay. |
54 // As per RFC 5245 Appendix B.1, STUN transactions need to be paced at certain | 61 // 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. | 62 // internal. Less than 20ms is not acceptable. We choose 50ms as our default. |
56 const uint32 kMinimumStepDelay = 50; | 63 const uint32 kMinimumStepDelay = 50; |
57 | 64 |
58 // CF = CANDIDATE FILTER | 65 // CF = CANDIDATE FILTER |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
188 int max_port_; | 195 int max_port_; |
189 uint32 step_delay_; | 196 uint32 step_delay_; |
190 bool allow_tcp_listen_; | 197 bool allow_tcp_listen_; |
191 uint32 candidate_filter_; | 198 uint32 candidate_filter_; |
192 std::string origin_; | 199 std::string origin_; |
193 }; | 200 }; |
194 | 201 |
195 } // namespace cricket | 202 } // namespace cricket |
196 | 203 |
197 #endif // WEBRTC_P2P_BASE_PORTALLOCATOR_H_ | 204 #endif // WEBRTC_P2P_BASE_PORTALLOCATOR_H_ |
OLD | NEW |