diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:35:49 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-15 03:35:49 +0000 |
commit | d8bbc7858622b6d9c278469aab701ca0b609cddf (patch) | |
tree | eff41dc61d9f714852212739e6b3738b82a2af87 /third_party/libwebrtc/p2p/base/port_unittest.cc | |
parent | Releasing progress-linux version 125.0.3-1~progress7.99u1. (diff) | |
download | firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.tar.xz firefox-d8bbc7858622b6d9c278469aab701ca0b609cddf.zip |
Merging upstream version 126.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | third_party/libwebrtc/p2p/base/port_unittest.cc | 91 |
1 files changed, 51 insertions, 40 deletions
diff --git a/third_party/libwebrtc/p2p/base/port_unittest.cc b/third_party/libwebrtc/p2p/base/port_unittest.cc index 96c1bd5ee1..de35d94259 100644 --- a/third_party/libwebrtc/p2p/base/port_unittest.cc +++ b/third_party/libwebrtc/p2p/base/port_unittest.cc @@ -257,6 +257,15 @@ class TestPort : public Port { int type_preference_ = 0; }; +bool GetStunMessageFromBufferWriter(TestPort* port, + ByteBufferWriter* buf, + const rtc::SocketAddress& addr, + std::unique_ptr<IceMessage>* out_msg, + std::string* out_username) { + return port->GetStunMessage(reinterpret_cast<const char*>(buf->Data()), + buf->Length(), addr, out_msg, out_username); +} + static void SendPingAndReceiveResponse(Connection* lconn, TestPort* lport, Connection* rconn, @@ -620,8 +629,8 @@ class PortTest : public ::testing::Test, public sigslot::has_slots<> { std::unique_ptr<rtc::NATServer> CreateNatServer(const SocketAddress& addr, rtc::NATType type) { - return std::make_unique<rtc::NATServer>(type, ss_.get(), addr, addr, - ss_.get(), addr); + return std::make_unique<rtc::NATServer>(type, main_, ss_.get(), addr, addr, + main_, ss_.get(), addr); } static const char* StunName(NATType type) { switch (type) { @@ -1529,7 +1538,8 @@ TEST_F(PortTest, TestLoopbackCall) { auto buf = std::make_unique<ByteBufferWriter>(); WriteStunMessage(*modified_req, buf.get()); conn1->OnReadPacket(rtc::ReceivedPacket::CreateFromLegacy( - buf->Data(), buf->Length(), /*packet_time_us=*/-1)); + reinterpret_cast<const char*>(buf->Data()), buf->Length(), + /*packet_time_us=*/-1)); ASSERT_TRUE_WAIT(lport->last_stun_msg() != NULL, kDefaultTimeout); msg = lport->last_stun_msg(); EXPECT_EQ(STUN_BINDING_ERROR_RESPONSE, msg->type()); @@ -2247,8 +2257,8 @@ TEST_F(PortTest, TestHandleStunMessage) { in_msg->AddMessageIntegrity("rpass"); in_msg->AddFingerprint(); WriteStunMessage(*in_msg, buf.get()); - EXPECT_TRUE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_TRUE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_TRUE(out_msg.get() != NULL); EXPECT_EQ("lfrag", username); @@ -2259,8 +2269,8 @@ TEST_F(PortTest, TestHandleStunMessage) { in_msg->AddMessageIntegrity("rpass"); in_msg->AddFingerprint(); WriteStunMessage(*in_msg, buf.get()); - EXPECT_TRUE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_TRUE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_TRUE(out_msg.get() != NULL); EXPECT_EQ("", username); @@ -2271,8 +2281,8 @@ TEST_F(PortTest, TestHandleStunMessage) { STUN_ERROR_REASON_SERVER_ERROR)); in_msg->AddFingerprint(); WriteStunMessage(*in_msg, buf.get()); - EXPECT_TRUE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_TRUE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_TRUE(out_msg.get() != NULL); EXPECT_EQ("", username); ASSERT_TRUE(out_msg->GetErrorCode() != NULL); @@ -2295,8 +2305,8 @@ TEST_F(PortTest, TestHandleStunMessageBadUsername) { in_msg->AddMessageIntegrity("rpass"); in_msg->AddFingerprint(); WriteStunMessage(*in_msg, buf.get()); - EXPECT_TRUE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_TRUE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_TRUE(out_msg.get() == NULL); EXPECT_EQ("", username); EXPECT_EQ(STUN_ERROR_BAD_REQUEST, port->last_stun_error_code()); @@ -2306,8 +2316,8 @@ TEST_F(PortTest, TestHandleStunMessageBadUsername) { in_msg->AddMessageIntegrity("rpass"); in_msg->AddFingerprint(); WriteStunMessage(*in_msg, buf.get()); - EXPECT_TRUE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_TRUE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_TRUE(out_msg.get() == NULL); EXPECT_EQ("", username); EXPECT_EQ(STUN_ERROR_UNAUTHORIZED, port->last_stun_error_code()); @@ -2317,8 +2327,8 @@ TEST_F(PortTest, TestHandleStunMessageBadUsername) { in_msg->AddMessageIntegrity("rpass"); in_msg->AddFingerprint(); WriteStunMessage(*in_msg, buf.get()); - EXPECT_TRUE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_TRUE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_TRUE(out_msg.get() == NULL); EXPECT_EQ("", username); EXPECT_EQ(STUN_ERROR_UNAUTHORIZED, port->last_stun_error_code()); @@ -2328,8 +2338,8 @@ TEST_F(PortTest, TestHandleStunMessageBadUsername) { in_msg->AddMessageIntegrity("rpass"); in_msg->AddFingerprint(); WriteStunMessage(*in_msg, buf.get()); - EXPECT_TRUE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_TRUE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_TRUE(out_msg.get() == NULL); EXPECT_EQ("", username); EXPECT_EQ(STUN_ERROR_UNAUTHORIZED, port->last_stun_error_code()); @@ -2339,8 +2349,8 @@ TEST_F(PortTest, TestHandleStunMessageBadUsername) { in_msg->AddMessageIntegrity("rpass"); in_msg->AddFingerprint(); WriteStunMessage(*in_msg, buf.get()); - EXPECT_TRUE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_TRUE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_TRUE(out_msg.get() == NULL); EXPECT_EQ("", username); EXPECT_EQ(STUN_ERROR_UNAUTHORIZED, port->last_stun_error_code()); @@ -2361,8 +2371,8 @@ TEST_F(PortTest, TestHandleStunMessageBadMessageIntegrity) { in_msg = CreateStunMessageWithUsername(STUN_BINDING_REQUEST, "rfrag:lfrag"); in_msg->AddFingerprint(); WriteStunMessage(*in_msg, buf.get()); - EXPECT_TRUE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_TRUE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_TRUE(out_msg.get() == NULL); EXPECT_EQ("", username); EXPECT_EQ(STUN_ERROR_BAD_REQUEST, port->last_stun_error_code()); @@ -2373,8 +2383,8 @@ TEST_F(PortTest, TestHandleStunMessageBadMessageIntegrity) { in_msg->AddMessageIntegrity("invalid"); in_msg->AddFingerprint(); WriteStunMessage(*in_msg, buf.get()); - EXPECT_TRUE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_TRUE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_TRUE(out_msg.get() == NULL); EXPECT_EQ("", username); EXPECT_EQ(STUN_ERROR_UNAUTHORIZED, port->last_stun_error_code()); @@ -2399,16 +2409,16 @@ TEST_F(PortTest, TestHandleStunMessageBadFingerprint) { in_msg = CreateStunMessageWithUsername(STUN_BINDING_REQUEST, "rfrag:lfrag"); in_msg->AddMessageIntegrity("rpass"); WriteStunMessage(*in_msg, buf.get()); - EXPECT_FALSE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_FALSE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_EQ(0, port->last_stun_error_code()); // Now, add a fingerprint, but munge the message so it's not valid. in_msg->AddFingerprint(); in_msg->SetTransactionIdForTesting("TESTTESTBADD"); WriteStunMessage(*in_msg, buf.get()); - EXPECT_FALSE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_FALSE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_EQ(0, port->last_stun_error_code()); // Valid BINDING-RESPONSE, except no FINGERPRINT. @@ -2417,16 +2427,16 @@ TEST_F(PortTest, TestHandleStunMessageBadFingerprint) { STUN_ATTR_XOR_MAPPED_ADDRESS, kLocalAddr2)); in_msg->AddMessageIntegrity("rpass"); WriteStunMessage(*in_msg, buf.get()); - EXPECT_FALSE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_FALSE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_EQ(0, port->last_stun_error_code()); // Now, add a fingerprint, but munge the message so it's not valid. in_msg->AddFingerprint(); in_msg->SetTransactionIdForTesting("TESTTESTBADD"); WriteStunMessage(*in_msg, buf.get()); - EXPECT_FALSE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_FALSE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_EQ(0, port->last_stun_error_code()); // Valid BINDING-ERROR-RESPONSE, except no FINGERPRINT. @@ -2436,16 +2446,16 @@ TEST_F(PortTest, TestHandleStunMessageBadFingerprint) { STUN_ERROR_REASON_SERVER_ERROR)); in_msg->AddMessageIntegrity("rpass"); WriteStunMessage(*in_msg, buf.get()); - EXPECT_FALSE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_FALSE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_EQ(0, port->last_stun_error_code()); // Now, add a fingerprint, but munge the message so it's not valid. in_msg->AddFingerprint(); in_msg->SetTransactionIdForTesting("TESTTESTBADD"); WriteStunMessage(*in_msg, buf.get()); - EXPECT_FALSE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_FALSE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_EQ(0, port->last_stun_error_code()); } @@ -2472,8 +2482,8 @@ TEST_F(PortTest, in_msg->AddAttribute(StunAttribute::CreateUInt32(0xdead)); in_msg->AddFingerprint(); WriteStunMessage(*in_msg, buf.get()); - ASSERT_TRUE(port->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + ASSERT_TRUE(GetStunMessageFromBufferWriter(port.get(), buf.get(), addr, + &out_msg, &username)); IceMessage* error_response = port->last_stun_msg(); ASSERT_NE(nullptr, error_response); @@ -2522,7 +2532,8 @@ TEST_F(PortTest, ByteBufferWriter buf; WriteStunMessage(*modified_response, &buf); lconn->OnReadPacket(rtc::ReceivedPacket::CreateFromLegacy( - buf.Data(), buf.Length(), /*packet_time_us=*/-1)); + reinterpret_cast<const char*>(buf.Data()), buf.Length(), + /*packet_time_us=*/-1)); // Response should have been ignored, leaving us unwritable still. EXPECT_FALSE(lconn->writable()); } @@ -2570,8 +2581,8 @@ TEST_F(PortTest, TestHandleStunBindingIndication) { in_msg = CreateStunMessage(STUN_BINDING_INDICATION); in_msg->AddFingerprint(); WriteStunMessage(*in_msg, buf.get()); - EXPECT_TRUE(lport->GetStunMessage(buf->Data(), buf->Length(), addr, &out_msg, - &username)); + EXPECT_TRUE(GetStunMessageFromBufferWriter(lport.get(), buf.get(), addr, + &out_msg, &username)); EXPECT_TRUE(out_msg.get() != NULL); EXPECT_EQ(out_msg->type(), STUN_BINDING_INDICATION); EXPECT_EQ("", username); |