summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
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-08Fix code in response to compiler warnings by clangTobias Markmann
Test-Information: Builds on OS X 10.11.4 with Apple clang and clang master. Change-Id: I012577e29c6fcf2fb452b4f13912aaeb37250fb5
2016-04-05Migrate to Boost.Signals2 from Boost.SignalsTobias Markmann
Boost.Signals was deprecated and is not improved further. This patch removes Boost.Signals from 3rdParty and adds Boost.Signals2 and its dependencies. Also removed the Qt signals compatibility file Swiften/Base/boost_bsignals.h. Test-Information: Build and ran unit tests on OS X 10.11.4. Confirmed successful login using Swift client. Change-Id: Ie6e3b2d15aac2462cda95401582f5287a479fb54
2016-04-04Modernize code to use range based for loops using clang-tidyTobias Markmann
Run 'clang-tidy -fix -checks=modernize-loop-convert' 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: I65b99e0978cfab8ca6de2a3e5342e7a81416c12c
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
2015-09-21Stop throwing out of range exception from dateTimeToLocalStringTobias Markmann
The dateTimeToLocalString uses boost functions that may throw an out of range exception for times earlier than 1970. This commit caches this exception and just returns an empty string in this case. Test-Information: Added a unit test to verify this behavior. Change-Id: I05eb17605331e14d9eac04fbfd286362e7d4eb46
2015-07-24Add missing includes for dependencies in public header filesTobias Markmann
Added Swiften/Base/Concat.h to the exception list for <algorithm> include, as Concat.h uses std::copy, defined in <algorithm>. Added Swiften/FileTransfer/S5BTransportSession.h to the exception list for <boost/bind.hpp> include, as S5BTransportSession.h declares a template class using boost::bind. Test-Information: Tested that each of Swiften's public header files compiles on its own. Change-Id: Iac794b6e0f5959cd8261888a67761813b710fe85
2015-06-08Add missing SWIFTEN_API annotations to public Swiften APITobias Markmann
Test-Information: Tested build on Windows 8 with VS 2014 and ran unit tests. Change-Id: I3d8096df4801be6901f22564e36eecba0e7310c4
2015-04-10Introduce FeatureOracle class for contact feature support detectionTobias Markmann
This modifies the feature detection in the ChatController to try to use the common features of all available resources feature detection if no full JID has been bound to the chat yet. Test-Information: Tested with two Swift instances. Tested a) the initial chat start case and, b) the offline/online. In case a) Swift used to initally show a yellow warning about no support for message receipts. This warning is gone now. In case b), after a user gone offline and online again in a running chat, Swift used to show a warning about missing support for message receipts. This warning is gone now. Change-Id: I7a769fde8d14847b180503aeaa58280c572d81b3
2015-04-08Add optional logging to native log framework on AndroidTobias Markmann
To enable native Android logging you need to pass "-DSWIFT_ANDROID_LOGGING" to the "cxxflags" and "-llog" to the "linkflags". Test-Information: Tested on OS X 10.9.5, with NDK API level 14 on an emulated Android 4.0 ARM instance. Tested that if enabled, Swift log messages appear in the Android system log via "adb logcat" instead of appearing on stdout. Change-Id: If89c870f0b664a5e65ccc1fa8a244826d2875ec1
2015-02-11Add debugging helper and FileTransferTest.Tobias Markmann
FileTransferTests tests file-transfer interoperability with Swiften itself. It can test all combinations of FileTransferOptions or a specific combination when given. Test-Information: Inspected XML logs to ensure it does what it is supposed to do. Change-Id: I06215b60419dd23b367d01a2f038245a6c977720
2015-02-08Fix data race in PlatformDomainNameResolver reported by TSANTobias Markmann
Test-Information: All tests still succeed on OS X and Linux. Change-Id: I2c02252b646b539b960cad18b6f88807afd84d32
2015-02-03Stlye fix and declaring EventLoop implementations' dtors as virtual.Tobias Markmann
Test-Information: Unit tests run successfully. Change-Id: I5df196c8bc642eeff4997558c3c56c6fa03bef16
2015-01-19Declare SimpleIDGenerator as an implementation of the IDGenerator abstract ↵Tobias Markmann
class. In addition this commit also adds brief documentation for the SimpleIDGenerator. Test-Information: Builds and runs fine on OS X 10.9.5. Change-Id: I87360933d50c7bb56b19859c9890d9000d3c147b
2014-12-15Update Copyright in SwiftenKevin Smith
Change-Id: I94ab4bbb68c603fe872abeb8090575de042f5cb4
2014-11-24Add missing includeKevin Smith
Change-Id: Ida1dd60a01e16e71831221b7e2fcfb74fdde54f3
2014-02-13Fix clang warningsRemko Tronçon
Change-Id: I7cd26f00f626b64da934e9f5594db393d6184b9c
2014-01-15Improved plaintext chat view for screen-reader support.Richard Maudsley
Change-Id: Ib7c10350b56683db95f4c6be49f79f8a9d9e80ec
2013-08-27Set visibility of exported functions when using GCC/CLang.Remko Tronçon
This currently has no effect yet, but when we will add the flag -fvisibility=hidden, this will give the same results when building DLLs on Linux, Mac OS X and Windows with respect to exporting of symbols. Change-Id: I9ab65b2f9ca78ec242ddac5a14d0f8d72721a6ca
2013-08-01Refactor chat messages so parsing of links/emoticons happens in controllers.Kevin Smith
Change-Id: I07256f23ffbb6520f5063bdfbed9111946c46746
2013-05-17Fixed unicode path handling.Remko Tronçon
- Use boost::filesystem::path consistently for referring to files. - Use boost::filesystem streams for I/O, such that paths are always handled correctly. - Use stringToPath and pathToString for conversion between strings and boost::filesystem::path, to ensure we have consistent unicode handling across platforms and environments. The default constructor and string conversion uses platform-dependent encoding, depending on the global locale set in the application, which causes problems. So, unless you are in platform dependent code, the default constructor and string() function should not be used. When constructing paths from other paths (e.g. using operator/), also use stringToPath (instead of string arguments) if the path can contain unicode characters. Change-Id: If286bd9e71c8414afc0b24ba67e26ab7608ef6ea
2013-05-11File Transfer refactoring.Remko Tronçon
Allocate S5B server lazily. Forward forts lazily. Various state machine fixes. Temporarily disabling S5B proxy support. Change-Id: I3145e85a99b15a7e457306bbfbe9c0eb570191e4
2013-04-29Added doxygen to RandomGenerator.Remko Tronçon
Change-Id: I851dca3f399e5bd28ee56121673c32439addf8c7
2013-04-27Zero memory more securely in SafeByteArray.Remko Tronçon
Change-Id: I0d9db512e0c525d87fddc26dc73ea95d2b54b54d
2013-04-27Removing third-party hash implementations.Remko Tronçon
Using library/platform implementation instead. Change-Id: I2457c2dad80e6fdda023a7f31c3906ff10fe09ed
2013-04-08SWIFT_LOG_ASSERT macro.Remko Tronçon
Change-Id: Id0dd8c566855e404b4e14c090e9e259d054ef34f
2013-03-30Making stuff build against non-bundled librariesKevin Smith
Change-Id: I2c00de607e204f7d2c474aa9d4c18cde86d575ec
2013-03-09Show idle time as local time in the UI.Tobias Markmann
Change-Id: I4aabcd0dfd35fe06ff239dd0fb5f35c57226f461 License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2013-03-04Qt5 support & warning fixes.Remko Tronçon
Change-Id: I62c7d5ca44c915e36c797c798294b7c34b465514
2013-02-10Turn off override support for GCC in non-c++11 mode.Remko Tronçon
Change-Id: Id4e7394c12f1bf980833dd3e9668aa00950e709f
2013-02-05Make logging thread-safe.Remko Tronçon
Change-Id: Ifab368474bd9e42e10f2cb0c29ff696c0aeaf3ea
2013-01-13Fix more warnings.Remko Tronçon
Fix sign conversion warnings. Removing heavy unnecessary includes. Change-Id: I992f43065498823098a875badb020c7c84fc4797
2012-12-22Added 'override' macro to check for override.Remko Tronçon
Change-Id: I5b49358debd8a9b9c36adf878d109adad0462f16
2012-11-13Allow BOSH URL setting again.Kevin Smith
Also fixes use of getPort() so that HTTP headers aren't all for port :1. Change-Id: I8ead8a7f4826d1105bf1feafea21e6139e803de7 Resolves: #1178
2012-11-06Compile with very old Boost filesystem (e.g. 1.42)Kevin Smith
Change-Id: I547fd937e1563f8c7615f75b5ca9bb985e85a472
2012-10-20Fixed compilation problems against Boost >= 1.50.0.Remko Tronçon
Change-Id: I7c7c3456c9007caffda1a6b4b721c01aa47d0a6d
2012-10-05Strip leading '/' from BOSH paths.Remko Tronçon
Resolves: #1167
2012-09-18Missing includeKevin Smith
2012-09-17Fixed URL parsing/serializing.Remko Tronçon
Resolves: #1157,#1158
2012-09-17Support for building swiften as a DLLRemko Tronçon
Added missing SWIFTEN_API declarations. Changed test infrastructure to extend path before running tests.
2012-09-15Added URL parser.Remko Tronçon
2012-09-08Support whiteboarding.Mateusz Piekos
License: This patch is BSD-licensed, see http://www.opensource.org/licenses/bsd-license.php
2012-09-08Connection settings supportKevin Smith
2012-08-30History dialogCătălin Badea
Add history dialog as an experimental feature. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2012-07-14Initial DLL support for Swiften.Remko Tronçon
All applications succesfully link against Swiften.dll.
2012-04-24Fixed compilation problems on windows.Remko Tronçon
2012-04-24Statically check the log severity level.Remko Tronçon
Resolves: #1099