loosen ice-ufrag/ice-pwd ice-char restrictions further

Loosen the restrictions for ice-char by also allowing
'#' (known to break) and '_' (urlsafe base64) in addition
to the existing exceptions for '-' and '='.
Also fixes typo in log message.

BUG=chromium:1053756

Change-Id: I8f254a7c25f780276452fa3e27245b6b7ad1a3ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168943
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30596}
This commit is contained in:
Philipp Hancke 2020-02-22 12:01:41 +01:00 committed by Commit Bot
parent ce515f7625
commit 98d5bbba58

View File

@ -25,14 +25,14 @@ namespace cricket {
namespace {
bool IsIceChar(char c) {
// Note: '-' and '=' are *not* valid ice-chars but temporarily permitted
// in order to allow external software to upgrade.
if (c == '-' || c == '=') {
// Note: '-', '=', '#' and '_' are *not* valid ice-chars but temporarily
// permitted in order to allow external software to upgrade.
if (c == '-' || c == '=' || c == '#' || c == '_') {
RTC_LOG(LS_WARNING)
<< "'-' and '=' are not valid ice-char and thus not permitted in "
<< "ufrag or pwd. This is a protocol violation that is permitted "
<< "for to allow upgrading but will be rejected in the future. "
<< "See https://crbug.com/1053756";
<< "'-', '=', '#' and '-' are not valid ice-char and thus not "
<< "permitted in ufrag or pwd. This is a protocol violation that "
<< "is permitted to allow upgrading but will be rejected in "
<< "the future. See https://crbug.com/1053756";
return true;
}
return absl::ascii_isalnum(c) || c == '+' || c == '/';