Age | Commit message (Collapse) | Author |
|
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
|
|
This was broken in commit 43479ef.
Test-Information:
Build with Avahi support on Ubuntu 16.04.1. Unit tests
passed.
Change-Id: If7ee5f740510956d89f6c406e68b92ddeb61cf85
|
|
Test-Information:
Build on macOS 10.12.1 and all tests pass.
Change-Id: Iedaa3fa7e7672c77909fd0568bf30e9393cb87e0
|
|
Previously HostAddress had a constructor which allowed
initialisation via a std::string. This initialisation can
fail and this is heavily used for checking whether a string
is a valid IP address.
This constructor is removed in this commit and replaced by
a static method HostAddress::fromString, taking a string and
returning an optional HostAddress. This clearly communicates
that the conversion can fail.
Test-Information:
./scons test=all passes on macOS 10.12.1.
Change-Id: Idaafee6f84010ce541c55f267ac77ad6ac8f02b4
|
|
The FeatureOracle provides tri-state feature lookup
functionality for bare JIDs. It returns Yes if a feature is
supported by all resources of the bare JID, Maybe if some
support it, and No if none of the resources support it.
If passed a full JID, it returns the specific features supported
by that end-point.
Sending a file to a bare JID, will send a file to the resource
of the bare JID with the highest availability by presence, show
status and priority and which supports the features required
for a Jingle file-transfer.
Test-Information:
Added unit test verifying new behavior.
All tests pass on OS X 10.11.6. Added new unit tests for
FeatureOracle.
Manually verified that the roster and chat window both use
the same mechanism to detect support for file-transfers.
Manually verified that file-transfers via the contact list
goes to already bound full JIDs if there is an existing
ChatController.
Change-Id: I0175ac42ecb73f1d54f9c96ffbba773eb5e24296
|
|
Test-Information:
Builds on macOS 10.12.1.
Change-Id: Id06e66171cbc5b6417701a8de57b901b0d80f17c
|
|
Test-Information:
Builds on macOS 10.12 and unit tests pass.
Change-Id: Icc1bce9a0e0e85377eef0c8b87bf82d37943d3a5
|
|
Test-Information:
Builds on macOS 10.12.1.
Change-Id: Ifbaf78c4b95a4baac767667c7df367c6508a3e85
|
|
Test-Information:
Without this building failed under Gentoo Linux distribution.
Verified this on Sabayon, a desktop Linux distribution based
on Gentoo, by adding it to our cross distribution test.
With this fix it builds on all platforms, including Sabayon.
Change-Id: I23aec19b9755244dd3dbe6f581cf170eaf334dfc
|
|
Previously DummyEventLoop::processEvents() wrote to the
hasEvents_ member without having locked the corresponding
mutex. Changed code to use C++11 atomics instead.
Test-Information:
All unit tests pass on macOS 10.12.
Change-Id: I13aa1566d55b7c0098f927e9c8061547f7056f5d
|
|
Test-Information:
Unit tests pass in ASAN-enabled build on macOS 10.12.
Change-Id: I7a8dae7d06e5e1d3dc9391f9c9a342df384d90fc
|
|
Test-Information:
Builds on macOS 10.12 and unit tests pass.
Change-Id: Ia979e7dbd6f6c84085b1b951d81b925dffbed262
|
|
Test-Information:
Swift builds with test=all on macOS 10.12 and all tests pass.
Change-Id: I9d7e8c49e65ac272a7ee672a95da5e24609d0a22
|
|
In the process converted try/catch use to Boost's error code
for more explicit error checking and added log output.
Test-Information:
Swift builds with test=all on macOS 10.12 and all tests pass.
Change-Id: I6e465354dbb38c7178b0406b9a544ebd3be62ddd
|
|
Initialised previously uninitialised class members. Changed
some raw pointers to std::unique_ptr for clearer and
automatically initialised code.
Test-Information:
Builds on macOS 10.12 and unit tests pass in ASAN-enabled
build.
Change-Id: I7900fe6131119c228ca92c79c0ee8125137f2e48
|
|
Test-Information:
Unit tests pass on macOS 10.12.
Change-Id: I32f884e2525b6200e5fb3f04d58f77304d16daa0
|
|
IDGenerator was missing the virtual keyword on its method
which is reimplemented by SimpleIDGenerator.
Some other classes were missing destructors or virtual
destructors.
Test-Information:
Builds on macOS 10.12 with Qt 5.5.1, all unit tests pass.
Change-Id: I482bc249578d38a922256d1fa5241515ce45d0c0
|
|
All our pimpl idiom usage used std::shared_ptr due to being
written in C++03. Now we use C++11 and const std::unique_ptr
is more sensible.
Test-Information:
Builds on macOS 10.12 and unit tests pass.
Change-Id: I1b9b3fbb22e337d53ae71e5a5e03118998cc3376
|
|
This fixes setup of trusted CAs on Fedora.
Test-Information:
Tested successful login to two different hosts with different
CAs. Previously the there was no certificate warning on
Debian 8 and a certificate warning on Fedora 24. With this
patch there is no certificate warning anymore on Debian 8
and Fedora 24.
Change-Id: I70e71eb9734f2012bcd5c4b784bab47917b44234
|
|
Test-Information:
After this patch, experimental=1 builds on OS X (didn't previously)
Change-Id: Ibaba190212f22332d776f3ecc00f692621da0815
|
|
Test-Information:
Tested on OS X 10.11.6.
Change-Id: I9ecb60f5c3956d52fd42acd1b0d85725277efc51
|
|
This fixes Doxygen warnings about missing parameter
documentation or documentation of non-existing parameters.
Test-Information:
Ran ./scons doc=1 without warnings with Doxygen 1.8.11.
Change-Id: I360d042e5c80f418e7574a26fa1283a82fc504d4
|
|
Test-Information:
Build successfully on openSUSE Leap 41.2
License:
This patch is BSD-licensed, see
Documentation/Licenses/BSD-simplified.txt for details.
Change-Id: I9bd96e99e166ae02e1c2f1a8481d61c57edbbe71
|
|
They were introduced a while back through automatically
generated code.
Removal of those #pragma statements reduces the code and
further improves maintainability.
Test-Information:
Builds on OS X 10.11.5 without any warnings.
Change-Id: Idc2989663d39e351bedf9e1355eb5c7d163f11c2
|
|
Test-Information:
Build successfully on openSUSE Tumbleweed which only has
libminiupnpc 2.0 as package. Unit tests passed.
Change-Id: I650e1224014162b55cdf64df7e72466b52dc3ade
|
|
The added dates are the author dates of the tagged commit
corresponding to the release.
Test-Information:
None.
Change-Id: I35c72a8fb017c48a99c5b655d7857498cba790b3
|
|
This fixes building via
./Swift/Packaging/Debian/package_all_platforms.sh .
Removed #pragma statements and did minimal associated cleanup.
Test-Information:
./Swift/Packaging/Debian/package_all_platforms.sh passes
successfully.
./scons test=all passes on OS X 10.11.5.
Change-Id: I1688da31ca6081eddfcda83d473b15c3f711b420
|
|
Test-Information:
None.
Change-Id: I04e12ee197e45ec47a8f93bf97248adbbe12f649
|
|
Test-Information:
None.
Change-Id: Iab2023d176c4b49f5cccc82968ea45b80e0b7e78
|
|
Swift used to crash when a MUC component returned multiple
unavailable presences on rejoin of a room hosted on a
restarting buggy MUC component.
Test-Information:
Added test case that used to crash Swift. Tests pass without
crash on OS X 10.11.4
Change-Id: I52280976944170c6e143197d4b3dc517dc13ecbb
|
|
If the server supports message carbons, Swift will try to
enable it.
Carbon copied messages will open a chat window in the
background if no chat window exists for the conversation.
Test-Information:
Tested with a XMPP server Swift and a mobile Android client
all supporting message carbons. Tested direct messages
and MUC PM messages. All working as expected.
Added unit tests for message carbons of sent messages and
message carbons of received messages.
All unit tests pass on OS X 10.11.5
Change-Id: I8d5b5d9975651a2353909dea976f58e4bf12e014
|
|
Test-Information:
Tested with a buggy XMPP client that calculates S5B DSTADDR
in a non-standard way. Previously this lead to Swift crashing
on an assert. Now Swift just indicates file-transfer failure
to the other party.
Change-Id: I4ed47f9647a1851f2a5101657bcd569c106d638f
|
|
Cleaned up JID.cpp in process.
Test-Information:
Adjusted tests accordingly.
All tests pass pass on OS X 10.11.5.
Change-Id: I774344c8f7378dafe9249217503c082f46890457
|
|
The tests are based on the http://www.tls-o-matic.com/
service, which is currently dysfunctional. Disabling the test
so running all system tests does not fail anymore.
Test-Information:
./scons test=all passes on OS X 10.11.5.
Change-Id: I8df2e15efa6787e01dfebd78b61e07d1d1eed5c0
|
|
Test-Information:
Added serializer and parser unit tests. All tests pass on
Mac OS X 10.11.4.
Change-Id: I8550c76ba182a67613d55634c72c0f2979f8b80a
|
|
Test-Information:
Added unit tests and test cases from RFC 2732.
All tests pass on OS X 10.11.5.
Change-Id: Ic76e57985109912871c05d12253f73d3653bd7a3
|
|
This changes HippoMocks include to -isystem include so it will
not cause compiler warnings.
This changes UserLocation floating point values to double and
remove remaining numerical casts.
Change C++11 compiler test to not cause warnings.
Test-Information:
Builds with allow_warnings=0 on OS X 10.11.5 with Xcode clang.
Change-Id: I26c60265a86c9be656089ade63fe9ad63851580f
|
|
This fixes building swiften-config on Windows.
Test-Information:
Successfully build swiften-config on Windows 8 with VS 2013.
Change-Id: I9dfb042485dc8ab06003d789e2c106efd308d725
|
|
This fixes a bug where manually added contacts, i.e. the user
entered the address and hit the 'Add to list' button, were
missing the correct presence in the contacts list in the
'Start Chat…" dialog.
Test-Information:
Tested on OS X 10.11.5 with Qt 5.4.2.
Tested adding a roster member via the drop down suggestion and
via manually entering the JID and clicking the 'Add to list'
button. In both cases the correct presence was shown.
Added a test verifying that empty JIDS are invalid.
Change-Id: Idb18e4ad2b5c0afb48461796f64e8f11f02a24fd
|
|
Move std::cout/cerr logging to SWIFT_LOG.
Test-Information:
Builds and all tests pass on OS X 10.11.5.
Change-Id: I0a0c24654a8b3abf3244a79fd6d970eee90559d0
|
|
Test-Information:
Added a unit test to test for the fix.
Tests pass on OS X 10.11.4.
Change-Id: Ibf071ae47663bfefdc856339932de6a1fe4a642d
|
|
Test-Information:
Builds and tests pass on Ubuntu 16.04.
Change-Id: If8da50619b0e029437b3b9d6b146f2ed49b5bf60
|
|
Test-Information:
Test that it still builds and unit test pass on OS X 10.11.4.
Change-Id: I2eb4a0b707991aee553db36a8cd1ae28b813acab
|
|
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
|
|
Drop executable rights on Swiften/Network/UnboundDomainNameResolver.*
License:
This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
Change-Id: Ie6e6eab48b96dff64e82e76615c51863baf37816
|
|
Test-Information:
Builds on OS X 10.11.4 with Apple clang and clang master.
Change-Id: I012577e29c6fcf2fb452b4f13912aaeb37250fb5
|
|
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
|
|
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
|
|
Test-Information:
Builds on OS X 10.11.4 and unit tests pass.
Change-Id: I8775e8d1e3addbc88b220c1cc618637f706daca2
|
|
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
|