summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios/qiosapplicationdelegate.mm
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2022-12-06 22:04:32 +0100
committerMarc Mutz <marc.mutz@qt.io>2022-12-08 18:00:17 +0000
commit536e17372803e7c9557e4a59ae8dad0405f11cd2 (patch)
tree8a8e673d32b631d079c370bb59482047c720b825 /src/plugins/platforms/ios/qiosapplicationdelegate.mm
parent41a994db063e4dc7796c0a33d3f1baf2c30366f6 (diff)
QNetworkRequest: Make header parsing locale-independent
The existing header parsing used C's tolower() function for case-insensitive switching over the first character of the header. However, that function's result depends on the current locale. Since the parser is supposed to match the likes of "If-Match" and "If-None-Match", matching may fail in locales, such as Turkish, where tolower(I) is ı (LATIN SMALL LETTER DOTLESS I) (or I, if the former isn't representable in the current charset), causing a False Negative. To fix, use the US-ASCII-only QtMiscUtils::toAsciiLower() function, which has the added advantage that it's inline. Replace at(0) with front() as a drive-by. The WASM copy of the function is hopelessly outdated (recognizes less headers than the QNetworkRequest original). [ChangeLog][QtNetwork] Fixed a bug where certain QNetworkRequest::KnownHeaders wouldn't be recognized as such in certain locales. Pick-to: 6.4 6.2 5.15 Task-number: QTBUG-109235 Change-Id: Ib147ab64803bb868647dd07ad657d785071242ea Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/plugins/platforms/ios/qiosapplicationdelegate.mm')
0 files changed, 0 insertions, 0 deletions