summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-04-25Convert hard tabs to four spaces in all our SConscript/*.py filesTobias Markmann
Test-Information: Test that it still builds and unit test pass on OS X 10.11.4. Change-Id: I2eb4a0b707991aee553db36a8cd1ae28b813acab
2016-04-12Use C++11 threading library instead of Boost.ThreadTobias Markmann
This cuts down our dependency on Boost further. Another benefit is that mutex classes of C++11 standard library are recognized by TSAN. Test-Information: Unit and integration tests pass on OS X 10.11.4. Change-Id: Id4dcdb42e3d5155e107ce1d7618acbf26f913b6f
2016-04-04Modernize code to use C++11 shared_ptr instead of Boost'sTobias Markmann
This change was done by applying the following 'gsed' replacement calls to all source files: 's/\#include <boost\/shared_ptr\.hpp>/\#include <memory>/g' 's/\#include <boost\/enable_shared_from_this\.hpp>/\#include <memory>/g' 's/\#include <boost\/smart_ptr\/make_shared\.hpp>/\#include <memory>/g' 's/\#include <boost\/make_shared\.hpp>/\#include <memory>/g' 's/\#include <boost\/weak_ptr\.hpp>/\#include <memory>/g' 's/boost::make_shared/std::make_shared/g' 's/boost::dynamic_pointer_cast/std::dynamic_pointer_cast/g' 's/boost::shared_ptr/std::shared_ptr/g' 's/boost::weak_ptr/std::weak_ptr/g' 's/boost::enable_shared_from_this/std::enable_shared_from_this/g' The remaining issues have been fixed manually. Test-Information: Code builds on OS X 10.11.4 and unit tests pass. Change-Id: Ia7ae34eab869fb9ad6387a1348426b71ae4acd5f
2016-04-01Modernize code to use C++11 nullptr using clang-tidyTobias Markmann
Run 'clang-tidy -fix -checks=modernize-use-nullptr' on all source code files on OS X. This does not modernize platform specific code on Linux and Windows Test-Information: Code builds and unit tests pass on OS X 10.11.4. Change-Id: Ic43ffeb1b76c1a933a55af03db3c54977f5f60dd
2016-03-31Convert tabs to 4 spaces for all source filesTobias Markmann
Removed trailing spaces and whitespace on empty lines in the process. Changed CheckTabs.py tool to disallow hard tabs in source files. Test-Information: Manually checked 30 random files that the conversion worked as expected. Change-Id: I874f99d617bd3d2bb55f02d58f22f58f9b094480
2016-03-30Apply consistent #include grouping and sorting styleTobias Markmann
Changed "" style includes to <> style. Test-Information: Build with Clang 3.9.0 and ran all tests on OS X 10.11.4. Change-Id: Ic05e53f2e5dba39cc1307b116fc5f17b62ab9eb8
2016-03-17Don't allow JIDs with explicitly empty resourcesKevin Smith
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
2016-02-10Add more tests for JID validityKevin Smith
Test-Information: Tests pass locally (OS/X 10.11.3) Change-Id: I223cdf213f87a4efd574bdd917556aec23e4fd4c
2014-12-15Update Copyright in SwiftenKevin Smith
Change-Id: I94ab4bbb68c603fe872abeb8090575de042f5cb4
2014-10-17Implement support for displaying nickname changes.Tobias Markmann
This implements Swiften API for changing nicknames in MUC and correctly detecting nick name changes. In addition Swift now displays nickname changes as such and not as join/leave of a user. In addition, handling of nickname changes is integrated in ChatsManager and ChatControllers so that they are forwarded to PM chats of MUCs. Test-Information: Added unit tests for change of own nickname and nickname changes of others. Tested correct detection of nickname changes in a MUC with a Psi user changing its nickname and Swift correctly detecting and displaying it. Change-Id: I3287ba6ceeccd3be5cfb591acd6f88bffc9a43b2
2014-08-10Fix invalid characters being allowed in JID domainsRichard Maudsley
Test-Information: Prepare valid and invalid JIDs and make sure that isValid() is reported correctly. Added unit tests. Change-Id: Ic4d86f8b6ea9defc517ada2f8e3cc54979237cf4
2013-08-27PubSub implementation & Sluift refactoring.Remko Tronçon
Change-Id: I04ff7111b73565c00bff6db183451774a633344f
2013-08-16Don't allow passing NULL to the JID ctorKevin Smith
Change-Id: I5e0cf477632927e5383b60b7dd8922740a9b5d5d
2013-07-27Use nodeprep for nodes and nameprep for domains.Kevin Smith
Change-Id: Iafe7f72aa2764c797fec736d4f5605c30254018a
2013-04-06Make IDN implementation abstract.Remko Tronçon
Change-Id: I4c64f954ddeca7147d729b8be07237baa15c1795
2013-03-05Fix DLL linkage.Remko Tronçon
Change-Id: Ia1ded5b7d4d7df500fc1df1a741a56d81de16b67
2013-01-13Fix more warnings.Remko Tronçon
Fix sign conversion warnings. Removing heavy unnecessary includes. Change-Id: I992f43065498823098a875badb020c7c84fc4797
2012-07-14Initial DLL support for Swiften.Remko Tronçon
All applications succesfully link against Swiften.dll.
2012-06-05Added ICU support.Remko Tronçon
2011-10-08Protect JID cache access with mutex.Remko Tronçon
The overhead appears to be neglectible. Using TSS had a similar overhead, with the disadvantages that it uses more storage (one cache per thread vs one cache), has less cache reuse, and that Windows/MSVC doesn't support automatic TSS cleanup, so it requires manual cleanup work (which is non-trivial). Note that the mutex approach may yield more overhead in multi-threaded applications (in case of contention). Currently, the mutex also locks during the whole nameprep sequence, which is not strictly necessary.
2011-08-27Merge branch 'swift-1.x'Remko Tronçon
* swift-1.x: Update last used certificate file correctly. Mark JIDs with empty domains as invalid when StringPrep cache is disabled. Added StringPrep unit test.
2011-08-27Mark JIDs with empty domains as invalid when StringPrep cache is disabled.Remko Tronçon
We used to only do this correctly in the default compilation setting where the cache is enabled. Resolves: #965
2011-07-12Merge branch 'swift-1.x'Remko Tronçon
* swift-1.x: Fixed bug with illegal resource in JID resulting in empty resource. Updated the german translation Conflicts: Swiften/IDN/StringPrep.cpp Swiften/SASL/SCRAMSHA1ClientAuthenticator.cpp
2011-07-12Fixed bug with illegal resource in JID resulting in empty resource.Remko Tronçon
2011-07-10Fixed compilation problem on some compilers.Remko Tronçon
2011-07-03Tweaked JID doxygen.Remko Tronçon
2011-06-29JID doxygenKevin Smith
2011-05-23Added makeString().Remko Tronçon
2011-05-22Fixed bug in JID escaping.Remko Tronçon
2011-05-07Use naive JID escaping algorithm to work around a bug in GCC4.5+boost1.42.Remko Tronçon
2011-04-30Replace #icnlude "" by #include <> in Swiften.Remko Tronçon
2011-04-18Added some more XEP-106 tests.Remko Tronçon
2011-04-18JID escaping algorithm refactoring.Remko Tronçon
Made algorithm more efficient. Fixed some incorrect escaping. Added more tests from the XEP.
2011-04-18Added support for JID Escaping XEP.Jan Kaluza
License: This patch is BSD-licensed, see http://www.opensource.org/licenses/bsd-license.php
2011-04-18Cleaned up includes.swift-2.0alphaRemko Tronçon
2011-03-16Added possibility to dynamically link Swiften.Remko Tronçon
Resolves: #798
2011-03-12Added missing include.Remko Tronçon
2011-02-15Make JID constructor with string implicit.Remko Tronçon
This avoids the need to explicitly contruct a JID where a string is used.
2011-02-14Removed Swift::String.Remko Tronçon
2011-02-12Cache stringprep results for JIDs.Remko Tronçon
2011-02-12Don't prep JID in toBare().Remko Tronçon
2010-11-11Added server identity check.Remko Tronçon
2010-10-25More documentation.Remko Tronçon
2010-04-08Added copyrights to Swiften.Kevin Smith
2010-03-28Moving submodule contents back.Remko Tronçon
2010-03-28Removing submodules.Remko Tronçon
2010-03-28Moved Swiften to a separate module.Remko Tronçon
2009-12-17Added eclipse project file.Remko Tronçon
2009-11-22Moved stringprepping to a separate module.Remko Tronçon
2009-09-14Start splitting up monolithic Swiften SConscript file.Remko Tronçon