summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-07-12Fix Python 3 compatibility of our SCons and tooling Python codeTobias Markmann
For the upcoming update to Scons 3, which works with Python 2 and Python 3, this change makes our code compatible with Python 3 so that it still works with Python 2. Test-Information: Tested these changes with SCons 3.0.1 on macOS 10.13.6 with Python 2.7.15 and Python 3.7.0. Change-Id: Idb5207b179a79a0dbe89d7e620d182a7d2f1ca6c
2016-11-28Correctly handle server initiated closing of streamTobias Markmann
If a server closes the XMPP stream, it sends a </stream:stream> tag. The client is supposed to respond with the same tag and then both parties can close the TLS/TCP socket. Previously Swift(-en) would simply ignore </stream:stream> tag if it was not directly followed by a shutdown of the TCP connection. In addition there is now a timeout timer started as soon as Swiften or the server initiates a shutdown. It will close the socket and cleanup the ClientSession if the server does not respond in time or the network is faulty. Refactored some code in ClientSession in the process. Moved ClientSession::State to a C++11 strongly typed enum class. This also fixes issues where duplicated </stream:stream> tags would be send by Swift. Test-Information: Tested against Prosody ba782a093b14 and M-Link 16.3v6-0, which provide ad-hoc commands to end a user session. Previously this was ignored by Swift. Now it correctly responds to the server, detects it as a disconnect and tries to reconnect afterwards. Added unit test for the case where the server closes the session stream. Change-Id: I59dfde3aa6b50dc117f340e5db6b9e58b54b3c60
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-01Specifically handle Slimber/Limber in FixIncludes.pyTobias Markmann
Additionally improve handling of the corresponding header. Test-Information: This version of FixIncludes has been used in the recent include fixing of all source files in the repository. Change-Id: I70c8ef0a51d8e1a3b458fbd6f886c7d5b5259949
2016-03-17Put Sluift headers in their own group with FixIncludes.pyTobias Markmann
Test-Information: Ran FixIncludes over some Sluift files and it sorted them as expected, meaning not grouped together with project external includes. Change-Id: I035381f4560b3c13f1a1feaefad7ecd8e268640b
2016-03-09Fix FixIncludes.py script to handle Objective C (.mm)Tobias Markmann
Test-Information: Ran it on Slimber/Cocoa/CocoaMenulet.mm. It was sorted correctly. Change-Id: I197e84c9bfb5ec2619c43f98fcaa927f85425083
2015-05-19Consolidate Python and SCons files to tab based indentationTobias Markmann
Test-Information: Verified that SCons still runs on OS X. Change-Id: I7e9b97f90ee5581a691a959b6f2c999d93e0be53
2015-04-04Improve FixIncludes.py script to support in-place modificationTobias Markmann
In-place modification can be enabled by passing -i as second parameter. Added detection of other preprocessor directives not supported by this tool. It will report a warning in this case. Test-Information: Ran the tool over all .h/.cpp files in Swiften. Still build on OS X with clang. Change-Id: Ic6e15142379ab9fc8a2bc5a6f9c1c2a906dec692
2014-12-10Add FixIncludes.py utility.Tobias Markmann
This tool reads in implementation or header files and groups and sorts include statements at the top according to our guidelines. It does not support files using #if statements in head of the file. Change-Id: I34b02546ecaf1653372f6edd319126b2ebb22ab5
2010-03-28Removing submodules.Remko Tronçon
2010-03-28Moved BuildTools to a separate module.Remko Tronçon