Age | Commit message (Collapse) | Author |
|
This commit changes our TLS backend configuration behavior.
It introduces the tls_backend Scons argument, which defaults
to the native backend, but can also explicitly set to
'openssl' to use a project external OpenSSL installation or
'openssl_bundled' to build and configure with the OpenSSL
source in the 3rdParty directory.
Test-Information:
Tested on OS X 10.11.3.
./scons ends up using Secure Transport.
./scons tls_backend=openssl \
openssl_include=/usr/local/opt/openssl/include \
openssl_libdir=/usr/local/opt/openssl/lib \
openssl=/usr/local/opt/openssl successfully builds with
openssl from Homebrew.
./scons tls_backend=openssl_bundled successfully builds with
OpenSSL in 3rdParty.
Change-Id: I4fb0ef9d197609afe793554f86e54fe67fc1cab5
|
|
The previous stylesheet was too generic, as it applied on
all widgets and sub widgets, including a potential context
menu. This fix will only color alerts and the text input
in the warning color. Potential context menus are colored
according to the application style.
Test-Information:
Tested alert colors and text input color on OS X 10.11.3
with Qt 5.4.2.
Change-Id: I0d1f704f4eacddf41befb7dfbc8bbf7ef28f88ce
|
|
Test-Information:
Builds on OS X 10.11.3.
Change-Id: I3177f158c959944c89a028ac0c4cc79a45ed1ac3
|
|
The jabber_org.crt was falsely modified in commit 0297fa1;
reverted the file to its previous version.
Fixed a syntax error in CertificateErrorTest.
Fixed compilation of TLS stack with external OpenSSL.
Test-Information:
Tested compilation ./scons test=system Swiften/QA/TLSTest
with OpenSSL on OS X 10.11.3.
Change-Id: I58caf94dded128d3ee725b1961e54ad2955d70aa
|
|
Test-Information:
./scons test=unit passed without errors on OS X 10.11.3.
Change-Id: I9303fd2d5a08a17d1e8f2ca015bec7c883aeedad
|
|
Test-Information:
Successfully built Swiften as C++11 with external Boost 1.60
on OS X 10.11.3.
Change-Id: I2c5a7c22f5f8c14ee7befcaeb84b7d1f093932f6
|
|
Building with Boost 1.60 showed a bug in
WindowsGSSAPIClientAuthenticator.cpp, passing NULL to a method
expecting a const boost::optional reference. Passing a default
constructed boost::optional here instead now.
Test-Information:
Compiles with VS 2015 and Windows 10 and externally built
Boost 1.60.
Change-Id: I5c67d706dade21c60b006b13d441355714a42ec2
|
|
scons2ninja was broken since our last update to SCons in
3rdParty. This commit fixes it.
This also includes a workaround to AppBundle.py working
around an SCons encoding bug.
Test-Information:
Successfully run ./BuildTools/scons2ninja.py followed by
ninja.
Change-Id: I2f9dbbb33dc559ca339bb26ba11b885b39135011
|
|
The issue occurs with ProxiedConnection that started
connecting but do not have an external reference anymore.
As soon as the handlers of the ProxiedConnection are
disconnected from the signals of the connection_ object,
the remaining references to a shared ProxiedConnection
vanish and the ProxiedConnection is deleted, while it still
requires access to its members in
ProxiedConnection::handleConnectFinished().
Test-Information:
All tests pass on OS X 10.11.3. No TSAN reports on Debian 8
in a scenario with randomly connecting/disconnecting Client
instances that use a HTTP proxy.
Change-Id: I4d6d2c85013e066d9ed298aa9b913afc83949e35
|
|
ThreadSanitizer reported a data-race between Boost's socket
close() and async_read_some().
Test-Information:
Verified all tests still pass and that TSAN does not report
an error anymore in a scenario where a Client connects/dis-
connects randomly.
Tested on Debian 8 and OS X 10.11.3.
Change-Id: I5e705efb15bee767dd5a55539854b5e488b3bf64
|
|
After living with it for a few days, some translations popped out as
clumsy. Redoing those.
Test-Information:
Less annoyance when running Swift RC3 with this translation
Change-Id: I7f5b07468e395ad2fe125c173185199f292af7f4
|
|
The user is now addressed in a formal way ("Sie" instead of
"Du"). Also removed obsolete strings.
Test-Information:
Ran Swift in German and saw the correct translation strings.
Change-Id: I2755775f40c63f8d42f293b97d7aab4f0f05277b
|
|
Test-Information:
None.
Change-Id: I1228bbd3bb75b3d692663b8eb8ea10258dceb8f3
|
|
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
The file displayed Unspupported System when you ran ./BuildTools/InstallSwiftDependencies.sh on a system not included in the Unix Distribution. The typo was fixed, and it now shows Unsupported System.
Change-Id: I1a57f0d3e33d58b21b27e76bdd52c57f9831df50
|
|
Our Hunspell support has not been finished and thoroughly
tested yet. This commit disabled building with Hunspell
by default, even if the dependencies for it are installed
on the system.
Remove libhunspell-dev from the build depends in Debian
packaging.
Test-Information:
Tested on Debian 8.
Tested with and without the hunspell_enable=True flag.
With the spellchecking options are shown and however spell
checking is not stable.
Without it the spellchecking options are not shown and
spellchecking is disabled in general, as expected.
Change-Id: I100582852cbe128149fdb2e2a28d4ae407398be6
|
|
Currently the file-transfers to MUC PM contacts fail because
the from JID does not match the initiator JID. The
initiator JID is always the real client JID at the moment.
Disabling file-transfer for MUC PM contacts provides a better
UX for now.
Test-Information:
Tested file-transfer to normal contacts still works. Tested
file-transfers to MUC PMs do not start.
Change-Id: If5f59eb313a25ca919393f497a57fd339eb17e3e
|
|
The non-writable patch added a string, adding a translation for that.
This commit also removes vanished and obsolete strings: they have served
their purpose.
Test-Information:
Ran Swift in Dutch on OS X 10.11, received a file and tried to save it
to a non-writable location, saw the message.
Change-Id: I94de949f5f0b331ee4f633268729faa7265e32d3
|
|
Previously Jingle File Transfer in Swiften only used IBB
transport as fallback mechanism. With this patch Swiften will
use IBB transport candidates directly in the first
session-initate/session-accept message if the other party
only supports IBB.
Fixed a ASAN reported heap-use-after-free in
SOCKS5BytestreamServerManager.cpp while testing.
Test-Information:
./scons test=system passed without error.
Testing all sender/receiver file-transfer option configurations
with FileTransferTest resulting in expected behavior.
Successfully transferring a file between two Swift instances.
Change-Id: Ia0ffeaa1fd54fc0da23db75344c9e94f9d03a774
|
|
WriteBytestream::write(…) now returns a boolean indicating
its success state (false in case of an error). Adjusted
FileWriteBytestream accordingly.
The QtWebKitChatView will test if the file path selected by
the user is writable before accepting it and starting the
transfer. If it is not writable a red warning message will be
added to the file-transfer element in the chat view.
Test-Information:
Added an integration test that tests the new behavior for
the FileWriteBytestream class.
Tested two file transfers on OS X 10.11.3, one to a write
protected location and another to /tmp. The first is not accepted
by the UI, and without the UI sanity check it results in a
file-transfer error. The second succeeds as expected.
Change-Id: I5aa0c617423073feb371365a23a294c149c88036
|
|
Forgot to reset the lastWasPresence_ flag when file-transfer
UI is added to a chat view. The flag is used to amend the
existing presence change log in a chat view in case of
consecutive presence changes.
Test-Information:
Transfer a file to a Swift user and go offline afterwards.
Without this patch the file-transfer UI is replaced by
a presence change message. With this patch a new presence
change message is added instead.
Change-Id: I54a5cfd398bd4ba79eb15a1b14b08db3377233a4
|
|
This will print errors like missing Qt linguist tools.
Test-Information:
Tested on Fedora 22 and OS X 10.11.3.
Change-Id: I0817f368920b839805597d8eb2f3297b1fbd90e6
|
|
Updated all strings, except for the ones in QtPlainChatView.
Test-Information:
Verified all strings I could find in Dutch translation with Swift
running in normal, trellis and netbook mode.
Change-Id: I77e01e42206c19728c9d06f9cfbc98d6f980df9e
|
|
If there is no X11 display set, bits in libqxcb as used by the plaform
integration bits called by QApplication will trigger an abort. Moving
this down to just before where the app object is needed allows --help or
--version even if there's no DISPLAY, and also improves runtime of these
GUI-less operations quite a bit.
Test-Information:
Test platform Debian 8 x64 with Qt5
Starting swift-im with DISPLAY set works as expected
Asking for --version or --help without DISPLAY now works
Actually starting the UI still aborts.
Change-Id: Id8eeee90598fe2a8e3b26ba042835a0ea928932f
|
|
Checked Growl and Snarl backends which both already do
the check for empty callbacks.
Test-Information:
Tested clicking on an disconnect notification of Swift on
OS X 10.11.3 which previously caused a crash. Now it does not
crash anymore in this case.
Change-Id: I7045ab22a0322cc7a50761640a9b89ba2302acef
|
|
Test-Information:
Tested on clean Fedora 22 system and successfully built
Swift afterwards.
Change-Id: I7451d03e1d88907d8356e4b43b837d5514bf32a0
|
|
Used to use simple string contactenation, but that's unsuitable to at
least Dutch.
Test-Information:
Test platform OS X 10.11
Untranslated VCard field dropdown looks as before.
Change-Id: I371b47d570032deffa0ed662ba13964d96b22633
|
|
This avoids Sluift indefinitely waiting if the server does not
respond
Test-Information:
Before the patch, a sluift client would wait indefinitely if
a buggy XMPP server does not respond.
With this patch, sluift clients now timeout and through an
exception after SLUIFT_TIMEOUT when the server does not respond.
Change-Id: I9d36f53a8f4d5b3d594cef68c42de38fd5a1c296
|
|
As a result of commit "Change stanza body to boost::optional<std::string> type"
(commit 1b9ccc1fef6104eaf951153ddccdc6bb15899e9a), Sluift was not
populating the 'body' part of the message event, casting it to a bool instead.
By adding get_value_or("") to that body part, the actual body value
is retrieved, and the message event ends up containing the right information.
Test-Information:
Without the patch, Sluift's message event body is 'true'.
With the patch, Sluift's message event body contains the actual message.
Component messages also tested and event body as expected.
Change-Id: I366202aa5bf28a3315a81d909ea08f0933aa06d7
|
|
Test-Information:
Tests pass locally (OS/X 10.11.3)
Change-Id: I223cdf213f87a4efd574bdd917556aec23e4fd4c
|
|
As of Qt5, lupdate doesn't accept the -codecfortr option anymore. Qt
sources are now expected to always use UTF-8. Fixed the lupdate command
line so that this option is now only used when building against Qt4.
Test-Information:
Tested on OS X 10.11 using Qt 5.4
Tested on CentOS 6 using Qt 4.6
Change-Id: Ie5bcb383bc2ebded6dc1deb65d988d3b268dc293
|
|
Test-Information:
Verified that the license in the about window shows 2016
as copyright year.
Change-Id: I648cd3ecf818a22af3e535701f15f8e0ac166320
|
|
Test-Information:
./scons test=system Swiften/QA/TLSTest passes on Windows 8.
Change-Id: I688ec5d0022c02879ff56029d724e6dd30b89a99
|
|
Our TLS backends need to tread TLS verification errors, e.g.
outdated certificate, untrusted CA, non-matching host, etc.,
as non-fatal, so the application can apply custom key
pinning verification or similar.
This patch changes the OS X SecureTransport backend to behave
accordingly and adjusts the CertificateErrorTest to mirror
this behavior.
This commit also fixes a double-free in
SecureTransportCertificate.
Test-Information:
Connected to a host with an untrusted CA and non-matching
domain in the certificate and was prompted with the Swift
certificate trust dialog on OS X 10.11.3.
Swiften/QA/TLSTest run successfully on OS X 10.11.3.
Change-Id: I4c8ce2178540d79a5f328e2e0558d4deb4295134
|
|
Swifttob used to be an initial approach of a XMPP bot using
Swiften. Today such a bot would probably use Sluift.
Test-Information:
./scons test=system passes on OS X 10.11.3.
Change-Id: I976f26d906f3007b4395e90fdd966e2c00cb1c2c
|
|
Requires GNU tar, which isn't installed by default on OS X.
Test-Information:
Tested on Debian 8 and OS X 10.11 with Homebrew gnu-tar.
Change-Id: I2165654489bd01223f1366a71f62fd7fe4187e11
|
|
Changed MUCController to only handle message stanzas as
subject change if <subject/> is present and neither <body/>
nor <thread/> is present in the message stanza.
Test-Information:
Added unit tests verifying behavior described in XEP-0045
section 8.1.
Unit tests pass on OS X 10.11.2.
Change-Id: I1d22272da1675176be131ab360b214a98f20533f
|
|
Default to disabled certificate revocation checking for
SecureTransport TLS backend on OS X. SecureTransport internal
revocation checking machine is not very stable and sometimes
fails reporting a positive revocation check leading to bad
UX.
Test-Information:
Swift login still works and ./scons test=system pass on OS X
10.11.3.
Change-Id: I298ccca4ecab07af5517fe393fdb887d79d70bf1
|
|
ChatControllers used to wrongly lookup the nickname of a MUC
PM contact using the bare room JID after a nickname change.
With this change, the new full JID, i.e. with the new nickname
as resource part, is used for nickname lookup.
Test-Information:
Tested with multiple PM chats open in a room. Both PM contacts
changing their nicknames. Now only the corresponding chat tab
changes its title. Before both used to change their title on
a change of a single occupants nickname.
./scons test=system passes on OS X 10.11.3.
Change-Id: I1c274498bcd96edd3370f73cb824fc81d726682c
|
|
Test-Information:
./scons test=system passes without any ASAN reports on OS X
10.11.3.
Change-Id: I6825414e2f3c5e5aec48289395f44ccdc14d8f95
|
|
The old event loop had this protection, however it is
missing in the new design. This adds this protection again
as some external event loop implementations, e.g. the Qt
event loop, directly process their event queue from an event
handler.
Test-Information:
Unit and system tests pass on OS X 10.11.3.
Change-Id: I10ce7160c3f201e2d5f53ab8289ddde1eb3262e8
|
|
This is to allow easy copy and paste of Swift version, Qt
build version and Qt runtime version into potential bug
reports.
Test-Information:
Tested changed UI behavior on OS X 10.11.2 with Qt 5.4.2.
Change-Id: I6234f08e77402c3d1ec2f5b7a98c19b059a445ea
|
|
This commit adds explicit code to stop timers which are
connected to objects that are about to be deleted from
memory.
Test-Information:
./scons test=system passes on OS X 10.11.3.
Change-Id: I139314f3a223e3dc63b78b96be17d3ae53cd3de3
|
|
Code review makes me think that if the timer fires at the same time as
stop() is called, it would be possible for the clearing of events from
the loop to happen before the event is put into the loop, leading to
the sort of crashes we've seen with timers firing and access exceptions.
I can't reproduce those to know if this fixes them, and I'm not even sure
I'm not being dense thinking this patch fixes a real issue.
Test-Information:
Unit tests pass
Change-Id: I76337d5556a9c3902d5c2f4da754ae657810d436
|
|
AddressSanitizer reported a heap-buffer-overflow in
WhitespacePingLayer::handleTimerTick() which happened during
multiple restarts of a XMPP server. Under the assumption
that it was caused by not correctly stopping the timer, the
timer is now explicitly stopped if still active at destruction.
Test-Information:
Unable to reproduce the ASAN report. Unit tests still pass.
Change-Id: Ia0b7c3b613688750c4ce0ad40d759a0db4a52791
|
|
Test-Information:
Added unit test verifying the expected behavior. It passes
on OS X 10.11.2.
Change-Id: I7531e313bf03dbea276f133db042ce26e6da4a53
|
|
Test-Information:
Unit tests pass on Debian 8.
Change-Id: I648f97a3ebd2c798df809a1f2cb37b689df94f42
|
|
It used to be a common way to use the QTDIR environment
variable to tell SCons the location of the Qt installation
on the system.
Swift however uses the 'qt' SCons config variable for the
location and the 'qt5' variable for the version of Qt to use.
On Unix/Linux systems with pkg-config, SCons will use it to
detect the Qt installation and its flags.
The QTDIR environment variable is rarely used and tested so
the warning about missing environment variable is removed.
Test-Information:
Tested on Debian 8.
Change-Id: I2cd793f12b8607743db2848765011cc719b106aa
|
|
Test-Information:
Tested on Debian 8 with system Boost packages.
Change-Id: Ice6a98dc8ba3f09502d79e704c3e1b744d829d5d
|
|
FileTransferTest would attempt to remove files while the
file-transfer objects still have a file handle open to them
in form of FileReadBytestream and FileWriteBytestream
references.
Test-Information:
./scons test=system Swiften/QA/FileTransferTest passed
successfully on Windows 8.
Change-Id: Iba45fa5df7e6f55667dd76fee4624733bb363fe5
|
|
Adds missing virtual keyword to destructors of classes which
have a non-empty destructor and are inheriting from other
classes and implement virtual functions.
Test-Information:
Compiles and unit tests pass on Windows 8 with VS 2013.
Change-Id: I172b5de8eda63eb8057113fbc979444abde3e0a7
|