OLD | NEW |
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 |
(...skipping 813 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
824 } | 824 } |
825 | 825 |
826 const StunByteStringAttribute* data_attr = | 826 const StunByteStringAttribute* data_attr = |
827 msg.GetByteString(STUN_ATTR_DATA); | 827 msg.GetByteString(STUN_ATTR_DATA); |
828 if (!data_attr) { | 828 if (!data_attr) { |
829 LOG_J(LS_WARNING, this) << "Missing STUN_ATTR_DATA attribute in " | 829 LOG_J(LS_WARNING, this) << "Missing STUN_ATTR_DATA attribute in " |
830 << "data indication."; | 830 << "data indication."; |
831 return; | 831 return; |
832 } | 832 } |
833 | 833 |
834 // Verify that the data came from somewhere we think we have a permission for. | 834 // Log a warning if the data didn't come from an address that we think we have |
| 835 // a permission for. |
835 rtc::SocketAddress ext_addr(addr_attr->GetAddress()); | 836 rtc::SocketAddress ext_addr(addr_attr->GetAddress()); |
836 if (!HasPermission(ext_addr.ipaddr())) { | 837 if (!HasPermission(ext_addr.ipaddr())) { |
837 LOG_J(LS_WARNING, this) << "Received TURN data indication with invalid " | 838 LOG_J(LS_WARNING, this) |
838 << "peer address, addr=" | 839 << "Received TURN data indication with unknown " |
839 << ext_addr.ToSensitiveString(); | 840 << "peer address, addr=" << ext_addr.ToSensitiveString(); |
840 return; | |
841 } | 841 } |
842 | 842 |
843 DispatchPacket(data_attr->bytes(), data_attr->length(), ext_addr, | 843 DispatchPacket(data_attr->bytes(), data_attr->length(), ext_addr, |
844 PROTO_UDP, packet_time); | 844 PROTO_UDP, packet_time); |
845 } | 845 } |
846 | 846 |
847 void TurnPort::HandleChannelData(int channel_id, const char* data, | 847 void TurnPort::HandleChannelData(int channel_id, const char* data, |
848 size_t size, | 848 size_t size, |
849 const rtc::PacketTime& packet_time) { | 849 const rtc::PacketTime& packet_time) { |
850 // Read the message, and process according to RFC5766, Section 11.6. | 850 // Read the message, and process according to RFC5766, Section 11.6. |
(...skipping 682 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1533 } else { | 1533 } else { |
1534 state_ = STATE_UNBOUND; | 1534 state_ = STATE_UNBOUND; |
1535 port_->FailAndPruneConnection(ext_addr_); | 1535 port_->FailAndPruneConnection(ext_addr_); |
1536 } | 1536 } |
1537 } | 1537 } |
1538 void TurnEntry::OnChannelBindTimeout() { | 1538 void TurnEntry::OnChannelBindTimeout() { |
1539 state_ = STATE_UNBOUND; | 1539 state_ = STATE_UNBOUND; |
1540 port_->FailAndPruneConnection(ext_addr_); | 1540 port_->FailAndPruneConnection(ext_addr_); |
1541 } | 1541 } |
1542 } // namespace cricket | 1542 } // namespace cricket |
OLD | NEW |