Clarifying error messages in ParseIceServerUrl for invalid transport parameters.

BUG=webrtc:6662

Review-Url: https://codereview.webrtc.org/2680023005
Cr-Commit-Position: refs/heads/master@{#16481}
This commit is contained in:
zstein 2017-02-07 15:09:50 -08:00 committed by Commit bot
parent 69fb2cca4d
commit 9dd77baca4
2 changed files with 7 additions and 3 deletions

View File

@ -245,11 +245,14 @@ RTCErrorType ParseIceServerUrl(
LOG(LS_WARNING) << "Invalid transport parameter key.";
return RTCErrorType::SYNTAX_ERROR;
}
if (tokens.size() < 2 ||
!cricket::StringToProto(tokens[1].c_str(), &turn_transport_type) ||
if (tokens.size() < 2) {
LOG(LS_WARNING) << "Transport parameter missing value.";
return RTCErrorType::SYNTAX_ERROR;
}
if (!cricket::StringToProto(tokens[1].c_str(), &turn_transport_type) ||
(turn_transport_type != cricket::PROTO_UDP &&
turn_transport_type != cricket::PROTO_TCP)) {
LOG(LS_WARNING) << "Transport param should always be udp or tcp.";
LOG(LS_WARNING) << "Transport parameter should always be udp or tcp.";
return RTCErrorType::SYNTAX_ERROR;
}
}

View File

@ -2767,6 +2767,7 @@ TEST_F(IceServerParsingTest, ParseTransport) {
EXPECT_FALSE(ParseTurnUrl("turn:hostname?transport=invalid"));
EXPECT_FALSE(ParseTurnUrl("turn:hostname?transport="));
EXPECT_FALSE(ParseTurnUrl("turn:hostname?="));
EXPECT_FALSE(ParseTurnUrl("turn:hostname?"));
EXPECT_FALSE(ParseTurnUrl("?"));
}