summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2015-03-11 14:54:53 (GMT)
committerKevin Smith <git@kismith.co.uk>2016-03-17 14:05:16 (GMT)
commit6159c580884583bad0e17d4e96ea9ffc7e0be29a (patch)
tree5dc0ee6cb91c30fc17002a196b154dbb7e12466e /Swiften/JID/JID.cpp
parent603c639030c3d0582dcd499fa3ee95f2a26885d2 (diff)
downloadswift-6159c580884583bad0e17d4e96ea9ffc7e0be29a.zip
swift-6159c580884583bad0e17d4e96ea9ffc7e0be29a.tar.bz2
Don't allow JIDs with explicitly empty resources
A JID may have no resource, but may not have an empty resource. Mark such JIDs as invalid. Test-Information: Added a unit test for the failure case (and made it pass). Other unit tests still pass Change-Id: I4fb300f716e635a3f8f02843891f25218da77130
Diffstat (limited to 'Swiften/JID/JID.cpp')
-rw-r--r--Swiften/JID/JID.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Swiften/JID/JID.cpp b/Swiften/JID/JID.cpp
index a0f18d5..37fb755 100644
--- a/Swiften/JID/JID.cpp
+++ b/Swiften/JID/JID.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010-2013 Isode Limited.
+ * Copyright (c) 2010-2016 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
@@ -146,6 +146,9 @@ JID::JID(const std::string& node, const std::string& domain) : valid_(true), has
}
JID::JID(const std::string& node, const std::string& domain, const std::string& resource) : valid_(true), hasResource_(true) {
+ if (resource.empty()) {
+ valid_ = false;
+ }
nameprepAndSetComponents(node, domain, resource);
}