summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-03-20Merge branch 'swift-4.x'swift-5.0alpha2Tobias Markmann
* swift-4.x: (44 commits) Test-Information: Builds on macOS 10.13.3 with clang trunk. Change-Id: If50381f103b0ad18d038b920d3d43537642141cb
2018-03-19Update Swift and Swiften changelog for upcoming 4.0 releaseswift-4.0Tobias Markmann
Test-Information: None. Change-Id: I4d89315b084406f44654c4d6a7e2e9c8da0874ce
2018-03-14Fix building with OpenSSL on WindowsTobias Markmann
Define NOMINMAX when building OpenSSL backend on Windows and otherwise you cannot use std::numeric_limits<T>::max. Test-Information: Swiften builds on Windows 10 with VS2015 with the OpenSSL TLS backend. Change-Id: I9621c14426a0af2280cef7ee973abcff2fd0a48d
2018-03-13Tiny fix adding #ifdef to call to logMessage()Peter Burgess
In ChatControllerBase::handleIncomingMessage(), there is a call to logMessage() that should have been wrapped in "#ifdef SWIFT_EXPERIMENTAL_HISTORY", and now it is. Test-information Unit tests still pass, swift still runs as expected. Change-Id: Ia985565d496d73a5c6fed5ce79390b7b0a4b0551
2018-03-12Enable per user installations on WindowsThanos Doukoudakis
This patch will allow the installer to perform per-user installations that doesn't require elevated rights. If the Visual Studio prerequisites are missing, the installer will ask the user if he wants to install them. If the user chooses not to, the installer will deploy the necessary files in the installation folder. Installations for all users (per machine) are still available. Upon upgrading in per-user installs from previous versions, the user can still access the settings that were stored in the registry, but not the settings stored in system-settings.xml. Test-Information: Build and tested with Wix3.11, Qt 5.8 and Visual Studio 2015 on Windows 10 and Windows 7. Tested fresh install and upgrade, for per-machine and per-user installations. Tested the vcredist install and the dll deployment when the installation is not present. Verified that the installer uses the registry settings in per-user installations. Change-Id: I1879e2fb7ee347dab58852eb73d4ddddec15b35d
2018-03-12Ability to set Diffie-Hellman parameters for OpenSSLContextTobias Markmann
Test-Information: Unit tests pass on macOS 10.13.3 with ASAN and Clang 7.0. Change-Id: Ifc2bf2c1b63fca7f3ee43ef61c79a96b8e5ced5f
2018-03-12Add getPeerFinishMessage() method and OpenSSL TLS backendTobias Markmann
This method allows to calculate the TLS finish message of the peer of a TLS connection. It can be used to provide SASL channel binding for TLS servers. Test-Information: Added unit test that verifies the finish messages of a server TLS context with the finish messages of a client TLS context. Tests pass on macOS 10.13.3 with OpenSSL. Change-Id: Ia5ba539e1fb6d1bef6b4436bb59c7384b57a69b0
2018-03-06Update Swift change log due to changes since last RCswift-4.0rc6Tobias Markmann
Test-Information: None. Change-Id: I14b9590ca9ed2263539af200a8e77672db701999
2018-03-05Update the debian and ubuntu distributionsThanos Doukoudakis
This patch updates the build scripts and documentation for newer distributions of Debian (9) and Ubuntu (17.10). Test-Information: Tested packaging scripts on Ubuntu 16.04.4 for Debian stretch and Ubuntu artful distributions. Change-Id: Id567d75bdf3c6abe3cf08a2fd617363a5c1c987f
2018-03-02Fix an issue with help2man and debian packagingThanos Doukoudakis
This patch fixes an issue that occurs with help2man when building the debian package. It appears that swifts output is interpreted as invalid, so we are adding the no-discard-stderr to bypass the error. Test-Information: Tested packaging scripts on Ubuntu 16.04.4 for jessie and stretch distributions. Change-Id: I87f48c720e0132aeaad00e6accd37eee44cdcb7b
2018-02-27Unit test recent outgoing carbons fixThanos Doukoudakis
This patch updates the ChatsManager unit tests to test how carbons messages update the recent chats. This patch is cumulative to bd4115c0db3d898d7de0944d340a9a2f1de4938c commit. Test Information: Updated the carbon messages related unit tests to check how they update the recent chats. Change-Id: I42dfcb812954257280e1c7bd4a533a0211fd59e7
2018-02-27Fix a crash that occurs with closed chat tabs after resizing trellisThanos Doukoudakis
This patch address an issue where, after resizing trellis in a smaller grid size, all closed tabs widgets (ChatWindows, Debug Console etc) that were in a grid cell that got removed, were being destroyed leading to some crashes whenever the widget was used again. Test-Information: Tested the changes in windows with Qt 5.8 and Ubuntu 17.10 with Qt 5.9.1. Tested the client behaviour when opening, closing and re-opening multiple tabs (chat windows, debug console, File transfer overview), before and after resizing the trellis. Change-Id: I923299fe90aa39737d6a3e0ace107018f126880e
2018-02-27Divide differently marked msgs and elide msgs matching roomPeter Burgess
If consecutive message from the same user have differing security markings, then mark them as non continuing to show clearer seperation of messages with different security markings. They are seperated in the same way as consecutive messages from different users are. Further to this, there is a new scheme for displaying message security markings. Messages with a security marking matching the room security marking will not be marked, aside from the first in a series of consecutive messages marked with the same security marking. Unmarked messages in a room with a security marking will be marked as such. This new marking display system can be turned on and off via an xml setting "mucMarkingElision". Test-Information: Unit tests written and passed in MUCControllerTest, runs as expected. Change-Id: Id2b66417f363c49c131d27e738ce786755d65203
2018-02-26Ignore invalid vCard avatar update notificationsTobias Markmann
Test-Information: Tests pass on macOS 10.13.3 with clang-trunk and ASAN. Change-Id: Ice68e93341693349ed5d95dfc062c0a7b07dc673
2018-02-26Make carbons messages update ‘Recents’ listThanos Doukoudakis
This patch fixeses an issue that occurred when sending a message from another device, the carbons messages were displayed on the chat window but were not updating the recents chats list. Test-Information: Tested by logging in from two clients from the same account, and starting a 1-1 chat with another user. Recent chats tab was updated to both clients. Change-Id: I6e961ebbde6a87e4bcbcc49941ab4bacbac4d9d9
2018-02-22Request and display security markings for MUC chat windowsPeter Burgess
Disco#info requested and handled by MUCController on rejoin(). UI display of disco#info implemented for QtChatWindow. Test-Information: Tests written for new MUCController features, and all tests passed. Swift runs with changes and security markings show as and when expected in local isode MUC windows. Change-Id: Ibef4a31f6f8c4cff5f518a66106266a7f961d103
2018-02-21Fix handling of unusual JIDs in room bookmarksTobias Markmann
Test-Information: Added unit tests for bookmark handling for domain-only, bare, and full JIDs. Builds and unit tests pass on macOS 10.13.3. Change-Id: I2855f4e9bdce4aa971575b2bad01e6dd166042bb
2018-02-21Add support for Server Name Indication to OpenSSLContextTobias Markmann
Test-Information: Builds and unit tests pass on macOS 10.13.3 with OpenSSL TLS backend. Change-Id: Ie8f4578c867a2e4bf84484cde4a7cff048566ca4
2018-02-21Add a Sluift example of sending a custom reference payloadEdwin Mons
The example will send a message with a data reference as an example of creating and sending custom children of a message. Test-Information: Reference received on macOS 10.12 Change-Id: If670db0c2ded426e8502a4d331026cf56f6df8df
2018-02-14Fix a crash that occurs when inviting users in a chatThanos Doukoudakis
After inviting people to a chat, and converting to a MUC room, some of the chat window signals were still signaling the original chat controller, that has been destroying, causing a crash. Test-Information: Tested the changes in Windows 10 (64 bit), after triggering the dayChangeTimer, and onContinuationsBroken signal that was causing the crash. Change-Id: I70a80ab2653ed87a1dbea851157d95fb5918913f
2018-02-13Start Chat options greyed out after first useThanos Doukoudakis
This patch will reset the options to add users the default status, whenever the QtUserSearchWindow is reset. Test-Information: Tested the changes in Windows 10 (64 bit) with Qt 5.8.0, in a server environment that does not allow starting a new chat with more than one participant, after closing and reopening the window. Change-Id: Iff6dd75a5751e7e8871069387749b94b789320a9
2018-02-09Move man page generation from package.sh to sconsTobias Markmann
Pass help2man=1 to have scons build man page sources via help2man. Adjusted package.sh to use scons to build man pages. Test-Information: Tested on Ubuntu 16.04 and it generated man page sources when help2man=1. Tested package_all_platforms on Ubuntu 16.04. The build does not fail due to missing man pages anymore. Change-Id: I6c62bc3f666ffd9f926038045672eb6e456082e5
2018-02-02Add basic TLS server support in OpenTLSContextTobias Markmann
This also extends the TLSContext interface with methods required for server mode. Test-Information: Added unit tests that test new functionality in TLSContex. This includes test certificates in the source file that are not for public use. This new ClientServerTest is only enabled for OpenSSL, as other TLS backends do not support the new functionality yet. Tested on macOS 10.13.3 with clang-trunk. Change-Id: I8e43476057608067eb3b9852328aa21cd22974a0
2018-02-02Add support for extracting certificate chain from PEM stringTobias Markmann
Add PrivateKey class to simply encapsulate arbitrary private key data and the corresponding password. This enables easy unit testing by loading the certificate and key from within a test case. Test-Information: Added unit tests for certificate and key generated by OpenSSL. Tested on macOS 10.13.2 with OpenSSL. Change-Id: I1c9ffc3c70f61af65c4f1c48670badaf74b672b7
2018-01-30Modernize OpenSSL crypto backendTobias Markmann
* use std::unique_ptr for memory management of dynamic OpenSSL objects * use an initializer class and static instance of it to correctly initialize/finalize OpenSSL on first use * use enum class instead of simple enum for state * use nullptr instead of NULL Test-Information: Builds and tests pass on macOS 10.13.2 with clang-trunk and ASAN. Change-Id: I346f14e21c34871c1900a8e1ac000450770a0bbe
2018-01-30Change the program name of the windows installerThanos Doukoudakis
During the UAC dialog in windows, the program name appears to have a random value. This patch will make it use "Swift Installer" instead. Test-Information: Tested the changes during installation and uninstallation on Windows 7 (64 bit) and Windows 10 (64 bit) Change-Id: I001ed9e644b123f62b9168115ce06803d2b4bd20
2018-01-29Mark OpenSSL headers as system includesTobias Markmann
This avoids warnings in code out of our control. Test-Information: Less warnings are emitted on macOS 10.13.2 with clang trunk. Change-Id: Ie5f28743000e5a7865fea9677e4429ab0543e378
2018-01-18Return focus to highlight rules dialog after picking a colourThanos Doukoudakis
This patch fixes an issue where the Highlight and notification configuration window was losing focus after picking a colour for some of the highlight rules. Test-Information: Tested the changes and that the highlight rules dialog is no longer pushed back after picking a colour. Tested on MacOS (10.10.5) with Qt 5.5.1 and on Windows 10 with Qt 5.9. Change-Id: I509bb3f79e2f8e121dafe178e52a0aac5271ee1b
2018-01-09Update Swift ChangeLog.md with recent crash fixswift-4.0rc5Tobias Markmann
Test-Information: N/A. Change-Id: I3f93f214fa511660aad64032074b9b022bb0de84
2018-01-09Update copyright year in COPYING and COPYING.gplTobias Markmann
Test-Information: Updated license shows up in UI. Change-Id: I67eb8957973739712718d08f72796d6928817373
2018-01-09Avoid crash with Connector failure race conditionKevin Smith
We were seeing crashes on macOS on a slept laptop overnight, very rarely. The backtraces pointed to accessing a deleted currentConnection in Connector. Eyeballing the code for a path that could trigger this, if the timer fires onTick, queing on the eventloop, and before that event is processed the connection queues onConnectFinished in the event loop, currentConnection will be reset by the timeout tick handling, and will then boom when the handleConnectionConnectFinished is called for onConnectFinished. Test-Information: Eyeballs Change-Id: Iaf4af1450ca8ee13761a33c0dc75f0311d2291b2
2018-01-09Add an log assertion to ConnectorsThanos Doukoudakis
This will check that the connection object is valid when a connector timeouts, and if not log it. Test-Information: None Change-Id: I0af3e88fe1f527c25c4bb6c886668d19167b489b
2018-01-05Fix the debian repository update scriptThanos Doukoudakis
This will use the distro_version instead of the distro_name variable in the script. This fixes an error that was introduced in commit 2b185f0b25aede6e2f40a678647c78bb8e7f8638 Test-Information: None Change-Id: I943a680c49f70310ff525ee60f31b23641ccb2f5
2018-01-04Update Swift Changelogswift-4.0rc4Tobias Markmann
Test-Information: N/A Change-Id: Iece5fe311d57514daffa75bd6b93d174e0adf160
2017-12-20Allow define the debian repositories to uploadThanos Doukoudakis
This patch uses SWIFT_PACKAGE_PLATFORMS variable and only updates the repositories that are defined there. Test-Information Tested the script on Ubuntu 16.04 when the variable is/not defined Change-Id: Ie8f65441f558e3ac663eb8493cedd8c0d2630753
2017-12-19Add Dennis Schridde to COPYING.thirdpartyTobias Markmann
Cleared the list of contributors up a bit. Test-Information: N/A Change-Id: Ic5c818c77fefb2477cc7a3aca6b50d3d06a08285
2017-12-19Allow to override Swiften libdirDennis Schridde
The libdir for Swiften was hardcoded to "lib". With this patch it is possible to override it. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Build with SWIFTEN_LIBDIR=lib64 and observe that files are installed into the desired directory (i.e. /usr/lib64, if SWIFTEN_INSTALLDIR=/usr). Change-Id: I4d844b93a189254b5923f9cd58190b0f6a65b9ac
2017-12-14Will allow defining packaging platformsThanos Doukoudakis
This patch introduces SWIFT_PACKAGE_PLATFORMS variable which defines the platforms that package_all_platforms.sh will package Swift. If not defined, it will default to xenial yakkety jessie sid. Test-Information Tested the script on Ubuntu 16.04 when the variable is/not defined Change-Id: I9ba4fbd68ad18e28cbd2d8c1feb50e6d63e44e06
2017-12-08Update German translationTobias Markmann
Test-Information: New translation shows up in Swift when run with --language de. Change-Id: Idf827a10d52f1ce6be36771543833bf125ef5b65
2017-12-08Update Dutch translationEdwin Mons
Test-Information: Builds on macOS 10.12 Change-Id: I64ec8601487f8383827930961cd4686f89b51586
2017-12-07Remove shortcut for changing trellis layoutTobias Markmann
It is rarely used and conflicts with Polish keyboard layout on Windows. Test-Information: Verified that shortcut is gone and the description text is sensible on macOS 10.13.1 with Qt 5.4.2. Change-Id: I79ede2827e2e5f7b9afcb3bbd2669e5bf83f091f
2017-11-28Update Swift change log and add missing contributor to COPYING.thirdpartyswift-4.0rc3Tobias Markmann
Test-Information: None. Change-Id: I8cad18ea4b6e8a668e129163bbaf158b8141be40
2017-11-27Make the Windows installer remove older versions of Swift componentsThanos Doukoudakis
This patch will make the installer remove each file component, before deploying the new version of the file. This is to avoid potentials issues with the installer, when trying to deploy a new version of a file that happens to have the same version information as the original file. The default behaviour of the MSI installer in a case like this is to skip the deployment of the new file. This issue occurs when Visual Studio gets upgraded, and we need to redeploy 3rd party components of the same version but build with the new version of the compiler. Test-information: Generated an installer and tested fresh install and upgrade from Swift 3.0. Tested with Windows 10 and Windows 7, normal and quiet installations. Verified that the Qt DLLs deployed have the correct VS redist dependencies. Change-Id: I6f68126ee63968aad066901704a409b6ebada14f
2017-11-22Fix Emoji crash on insertionJoanna Hulboj
Swift would crash randomly when user clicked to insert an Emoji. It was happening because we would delete the emojisGrid_ while it was still in use (was closing). Test-Information: Tested on Windows 10 and Ubuntu 16.04. Tested by inserting an Emoji from the Emoji selector. This action does not result in crash any more. Change-Id: I6c0b84ea8969c7f7a4c3bfa700e345cdf63325e6
2017-11-10Update German translationTobias Markmann
Test-Information: Verified translation using `--language de` command line flag. Change-Id: I150ad5be2d79f7aa728a4c04dd3b284f8b2fb220
2017-11-10Fix typo in commentTobias Markmann
Test-Information: None. Change-Id: I6c97c2e235c51d726da3c2f96cbf6ed24e6c25cc
2017-11-09Fix loading translations when detected automaticallyTobias Markmann
Test-Information: Tested with Dutch and German user accounts on Mac OS X 10.10. Change-Id: I9c6d5fdac19abcf4db98034dbd6620732f0caba1
2017-11-08Update Dutch translationEdwin Mons
Updated for 4.0-rc2. All vanished sources have been removed from the translation as well. The license has been updated to BSD. Test-Information: Looks good on macOS 10.12, reporting shows no missing texts. Change-Id: Id87f7e97332536c367fea6ed231863fed8e22e46
2017-11-07Analytics for translationsEdwin Mons
Adds an XSLT that can check coverage of ts files. Test-Information: Runs on macOS 10.12 using libxml 20904, libxslt 10129 and libexslt 817 Change-Id: Ia7e66f3ae2e00010b03056db7578f7a2529250c8
2017-11-07Add missing Qt translatable strings to QtStrings.hTobias Markmann
Strings in the context menu of the chat input and the dialog buttons in the highlight editor are now translatable. Test-Information: Tested on macOS 10.13.1 with Qt 5.4.2. Tested with a newer upcoming German translation file. Change-Id: Ie2c5ec1d9615bfe5ac69dad7df3c96a6f1600225