diff options
| author | Kevin Smith <git@kismith.co.uk> | 2020-01-09 13:32:54 (GMT) |
|---|---|---|
| committer | Kevin Smith <git@kismith.co.uk> | 2020-01-09 16:37:40 (GMT) |
| commit | 12d031cf8177fdec0137f9aa7e2912fa23c4416b (patch) | |
| tree | de29bebd027b1a2f76a88ff2946914e6e46fc887 /Swiften/TLS/ServerIdentityVerifier.cpp | |
| parent | 3d00d04ffbf40845058f6ede4da2592bb27a255d (diff) | |
| download | swift-master.zip swift-master.tar.bz2 | |
Although we were doing the right thing with punycode
(as far as I can see) for the IDNA entries, we were
forgetting that the comparisons needed to be case
insensitive (checked the RFCs). Now they are.
Test-Information:
Added unit tests for the three flows that were
modified.
Change-Id: Ib17ae3df66159f38339996580dc85a5d99356274
Diffstat (limited to 'Swiften/TLS/ServerIdentityVerifier.cpp')
| -rw-r--r-- | Swiften/TLS/ServerIdentityVerifier.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Swiften/TLS/ServerIdentityVerifier.cpp b/Swiften/TLS/ServerIdentityVerifier.cpp index da116e5..18ea2aa 100644 --- a/Swiften/TLS/ServerIdentityVerifier.cpp +++ b/Swiften/TLS/ServerIdentityVerifier.cpp | |||
| @@ -82,15 +82,15 @@ bool ServerIdentityVerifier::matchesDomain(const std::string& s) const { | |||
| 82 | if (dotIndex != matchDomain.npos) { | 82 | if (dotIndex != matchDomain.npos) { |
| 83 | matchDomain = matchDomain.substr(dotIndex + 1, matchDomain.npos); | 83 | matchDomain = matchDomain.substr(dotIndex + 1, matchDomain.npos); |
| 84 | } | 84 | } |
| 85 | return matchString == matchDomain; | 85 | return boost::iequals(matchString, matchDomain); |
| 86 | } | 86 | } |
| 87 | else { | 87 | else { |
| 88 | return s == encodedDomain; | 88 | return boost::iequals(s, encodedDomain); |
| 89 | } | 89 | } |
| 90 | } | 90 | } |
| 91 | 91 | ||
| 92 | bool ServerIdentityVerifier::matchesAddress(const std::string& s) const { | 92 | bool ServerIdentityVerifier::matchesAddress(const std::string& s) const { |
| 93 | return s == domain; | 93 | return boost::iequals(s, domain); |
| 94 | } | 94 | } |
| 95 | 95 | ||
| 96 | } | 96 | } |
Swift