Age | Commit message (Collapse) | Author |
|
Virtual calls in ctors/dtors are tricky as it is not clear
what method is going to be called. By changing the code to
call the explicit method it is obvious.
This issue was raised by Clang Analyzer.
This commit also adds missing SWIFTEN_OVERRIDE annotations.
Test-Information:
Still compiles, tests pass and Clang Analyzer warning so gone.
Change-Id: I8096994277ad32933f992b9a11079c761d3ec619
|
|
These cases have been uncovered by Clang Analyzer as they
were called during some constructor. However, there is no
reason for them being virtual. They are never overridden in
a derived class.
Test-Information:
Unit tests still pass on OS X 10.10.5.
Change-Id: I90b5396a0dba971d9150c35f9107733f7f4637cd
|
|
These errors were reported by Clang Analyzer.
Test-Information:
Verified that behavior is still as expected and Clang
Analyzer does not report the warnings anymore.
Change-Id: I149d75241f7680a6d2f2b6b710dd38d1ed81a209
|
|
This patch prevents SWIFTEN from logging in if provided with a missing PKCS12 file.
Before this patch, swiften would attempt a password based login using operator JID
and pwd of the P12 file when the P12 file was missing.
This patch fixes it by checking the certificate and not initialising session stream
and connection if the certificate is empty. It emits a disconnect with client
certificate load error. The string for certificate load error has been modified to
indicate a file or password invalid.
Test-information:
Tested by doing a certificate based bind to an XMPP server. Removed the PKCS#12
file and checked that swift gave a certificate error instead of doing pwd connect
Change-Id: I1869a13f1f7135b6606f7383cd4a0356ffd6931b
|
|
This patch fixes the code to handle HTTP/1.0 proxies which
do not keep the connection alive after a single request.
If a HTTPTrafficFilter returns a new header reply, the HTTP
CONNECT proxy code will issue the request over a new connection.
The final connection is kept alive, as it used for the
persistent connection forwarding.
In addition, the response status line is now passed to the
HTTPTrafficFilter handling method to provide ability to act
upon the response status code.
Missing passthrough of the HTTPTrafficFilter object the down
the stack to the HTTPConnectProxiedConnection is added.
Test-Information:
Added a unit test following an NTLM HTTP proxy authentication
with a static HTTPTrafficFilter. This and other unit tests
still pass.
Change-Id: Ida0d1aec08a60f10c1480e1eecaecbd3f87b0dca
|
|
Added integration tests for certificate validation and
revocation behavior checking.
Test-Information:
Tested client login over TLS against Prosody and M-Link.
Verified client certificate authentication works against
M-Link.
Change-Id: I6ad870f17adbf279f3bac913a3076909308a0021
|
|
This commit has the default rule set the default color and
changes HighlightAction::highlightText_ symbol to
HighlightAction::highlightWholeMessage_ as it is more
descriptive of its use.
Test-Information:
Tested highlighting with the default rule set, and one with
a highlight color set for the chat rule.
Change-Id: Ic638e6347bdf6623ab5959341486233494f005f0
|
|
Swift allows dropping contacts from group chats or the roster
on a chat window to invite them or start an impromptu chat.
With this commit Swift will ignore drops which only contain
JIDs that are already part of the conversation.
Test-Information:
Tested the described behavior with roster and room contact
drags in anonymous and non-anonymous rooms.
Change-Id: I2f06082ea4bc1140210f9f1a165bdf276a130273
|
|
Test-Information:
Ran system unit tests on OS X 10.10.5.
Change-Id: Ibd1caa23e06463c9992701590cc04ca1157d6421
|
|
With this commit
SOCKS5BytestreamProxiesManager::onDiscoveredProxiesChanged
will be emitted even if no proxies are found.
Move signal emission out of if/else scopes as it was present
in both cases.
Test-Information:
Tested file-transfer with the sender located at a server
without a S5B proxy.
Change-Id: Ic79928e539a6f39f23bfda370d701bf6d9ca9cbf
|
|
Updated existing libIDN files in 3rdParty folder to latest
1.32 version and added remaining dependencies for compilation.
Updated SConscript file accordingly.
Test-Information:
Build and ran test=unit on OS X 10.10.
Change-Id: Iec6506e1cc88fe2983b2019aca95a42580d1c80e
|
|
Test-Information:
Code builds without warnings, unit tests still pass on OS X
10.10.5.
Change-Id: I9108b53fb00b0fc85a8dd4e2a347e21d0e6008ab
|
|
Test-Information:
Verified that there are still suggestions by comparing
misspelled test phrases in Swift without this change and
Swift with this change.
Change-Id: Ice11af65028a96c86b1b5cc57ddad8eeda1ccf76
|
|
Test-Information:
Build and tests pass successfully on OS X 10.10.5.
Change-Id: I614586660796f9ef043156d09d998d39934a6eca
|
|
Older versions of OS X define the same symbol as Boost does.
The workaround, defining
__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES as 0
worked around this issue, however __ prefixed defines are
considered private and cause the warning
"macro name is a reserved identifier [-Wreserved-id-macro]".
Test-Information:
Builds and unit tests pass on OS X 10.10.5.
Change-Id: I489ec201dc31fb4e43336da690c7d348a7d0d9ca
|
|
In addition, this adds the file-transfer classes to the
Doxygen documentation.
Test-Information:
Unit and integration tests still pass.
Change-Id: Ib6c16078c90ed56fae835cb2abfea8a564c3afa3
|
|
Ran ./scons doc=1 with Doxygen 1.8.10 and fix all mentioned
errors.
Test-Information:
Tested building of documentation on OS X 10.10.1 with
Doxygen 1.8.10.
Change-Id: I136054f457f9b3ff6b269f5ac32bf435450c017c
|
|
Before presence handling code was handled by both, the
ContactRosterItem in Swift and the PresenceOracle in Swiften.
The ContactRosterItem also considered the presence priority
for deciding what presence to show for a bare JID.
With this code all full or bare JID presence requests are
finally handled by the PresenceOracle. For bare JIDs it is
looked up to a presence of one of the available resources of
that JID regardless of the priorities.
Test-Information:
Adjusted tests according to above description and documentation
in PresenceOracle.
Change-Id: I972a4574f476cdf4d4b5593a035eb1c25ef2f8ba
|
|
Test-Information:
Verified that the debug symbols are gone from the Swift.app
bundle in the packaged DMG image.
Change-Id: Iefb2a5b8eb18587f35143ff344336acb2e69fa1a
|
|
The task bar in Windows 10 has black as the default color.
The mainly black Swift application icon is hardly visible on
black background. Thus this patch changes the Window icon
on Windows to the default avatar icon in Swift.
Test-Information:
Tested on Windows 8 and Windows 10.
Change-Id: I1965cf37ba5a714094cff24ab971c0fc9f9d7fe1
|
|
Test-Information:
Tested script on Ubuntu 15.04.
Change-Id: I7fdf700a3cc943c1cb517b6d33a91548c682cb0d
|
|
When removing a contact, a XMPP client will not receive an explicit
unavailable presence stanza for the contact from the server. Because
of that Swift used to show removed contacts still with their old
presence in the Chats tab or the chat view.
With this patch, the PresenceOracle will flush all known presence
of a contact as soon as the JID is removed from the roster. An
unavailable presence will stored under the removed bare JID and
is emitted via the PresenceOracle::onPresenceChange signal.
Test-Information:
Added a unit test verifying this behavior. Tested the behavior with
two scenarios:
a) Account A and B adding each other and accepting the subscription
request. Starting a chat between A and B. After removing B in A's
account, B used to be shown as available in the chat view and the
Chats tab. With this patch B is shown as unavailable.
b) Account A and B adding each other and accepting the subscription
request. A removing B, and B removing A. After A adds B again,
B used to be shown with the old presence even before B accepted
the subscription request. This behavior is also fixed with this
patch, not showing B as online until B accepted the subscription
request.
Change-Id: Iba97d3bedd0ac962ea00b25a0d2ed6106ed55a55
|
|
While it is possible to add domain only JIDs to a user's roster
this is rarely the intention of a user. This patch adds the
requirement of a node-part for the address entered in the dialog
and presents a warning if the node-part is missing.
Test-Information:
Verified that a warning triangle is shown if there is no node-part
in the user entered address.
Change-Id: I38dd0b34ca7cb19b38bb7e1c457f7a8a9ef84028
|
|
Test-Information:
Verified behavior on OS X 10.10.5 with two accounts,
presence changes and message exchanges.
Change-Id: I79b4b8a92076dfb4c2d65f91bfb2f808cf7821d5
|
|
The recent commit 582ca91 changed the behavior the binding
between chat sessions and the full JID of a chat contact.
This commit adds additional unit tests verifying the behavior
of implemented in 582ca91. This means a chat session binds to
the full JID of an incoming message only if the message has
a non-empty body text or is a 'typing' chat state notification.
It also tests the rebind to another resource if a 'typing'-CSN
or a body message is received from that resource.
Test-Information:
All unit tests pass on OS X 10.10.5.
Change-Id: Id3f25d8a3ff78c407ed4b2a97bd421dc4aa58688
|
|
Previously, if a base installation of Qt was available but not
all Qt modules required by Swift are available Scons would fail
configuration. If a basic Qt installation is available SCons will
try to configure Swift even if you only want to build Swiften.
This commit changes the hard failure in Swift configuration to a
warning. This allows only Swiften to be build.
In addition, the warning now lists the Qt packages required by
Swift.
Test-Information:
Tested on Arch Linux.
Change-Id: I220ea61a7e4af849912e1fb1ae66cbecf5136d29
|
|
This is required to protect against the CVE-2015-2059 vulnerability in
libIDN.
Test-Information:
Added unit tests for UTF-8 validation and tested that existing unit
tests still pass.
Change-Id: I0a94136894c6e0004081456c59155a78a3dabf5f
|
|
With this commit a ChatController is only bound to a full JID
of a contact, if the incoming message of the contact has a
non-empty body or is a 'typing' chat state notification.
This avoids random binding to an arbitrary resource of a contact,
that has multiple online resources and responds with delivery
receipts.
Test-Information:
Tested with a conversation of a one resource account (A) to a
two resource account (B). Sending two messages to B, the first
used to go to both resources, then A would bind to the full
JID and the second message would only go to one resource.
With this fix all messages go to both resources, i.e. are
send to the bare JID, until one resource of B replies. This
binds the controller at A to the full JID of the reply of B.
Change-Id: I8d9321a4226ab798e1196351ad087990d5dff8c3
|
|
Test-Informations:
Code compiles without warnings and tests still pass.
Change-Id: If74c615706b8125c3c5186f0d940c103749ddb80
|
|
Test-Information:
Still builds and unit tests pass.
Change-Id: I472491184ba10ec3bdbd4cb94613768639ac6f57
|
|
Test-Information:
Both Valgrind and clang's leak sanitizer report a lot leaks
on the FileTransferTest. With this commit it the stack traces
related to the fixed leaks are gone.
Change-Id: Idae9a81bcd8d97576d3f1469bf64490e0bfa7d55
|
|
The default Swift icon is black with transparent background.
It is hardly visible on Windows 10 as it has a black task bar
by default.
This commit changes the Windows icon of Swift to the default
avatar icon.
Test-Information:
Verified icon visibility on Windows 10.
Change-Id: Ic78aa6b816deb5769666c7e2337917262c75046e
|
|
This existing code was commented out. There are not tests for
it and no counterpart for incoming transfers.
We support Jingle-based file-transfers as the main file-transfer
method, as do lots of other clients.
Test-Informations:
Tested the complete project still builds.
Change-Id: Icf278165733fe481b4e2bc777a73bc420cf76398
|
|
Commit 9b48a73 introduced a bug because it always assumed
the 'Add contact' user case.
Test-Information:
Retested the add contact case described in commit 9b48a73 and
tested MUC invitation by DND. Neither crashes anymore.
Change-Id: Ifab356e6ad9a52365ed15dd46e4e94492bdc60bf
|
|
Test-Information:
None.
Change-Id: I4e0cd54c9009bc19fdc10cd1ec2697252bd6f7f7
|
|
The code used to call the onProxiesFound signal only if a
proxy was found. In case of missing S5B proxy at the users
server, the file-transfer preparation would hang.
Now the code wants until the discovery phase is done and then
calls the onProxiesFound signal with the list of discovered
proxies. In case of missing S5B proxy server the signal is
called with an empty list so the file-transfer flow can
continue.
Test-Information:
Ran FileTransferTest integration test and manually tested a
file-transfer on a server without S5B proxy.
Change-Id: I31d3cc08fe6453b5cdfe6be286f884a920470d28
|
|
Test-Information:
Adjusted the corresponding test case accordingly.
Change-Id: I4626f09cd51bac2ff9ca97d5a7da5a173fc627a5
|
|
At some point during the Qt5 timeline they moved platform
dependent audio playback code into a plugin. This fix will
ensure that audio plugins are always shipped with out packages.
Test-Information:
Tested playing sound works on Windows 7 and Windows 8.
Change-Id: I8976f1c1fb85d5efaadec5db26adec907a0a9f7b
|
|
The moving of our sound playing to our message highlighting code
resulted in non-message events not having sound notifications played
anymore. This commit fixes this issue for incoming file-transfers,
by playing the default message received sound as long as sounds are
not globally disabled in Swift.
Test-Information:
Tested on OS X 10.9.5 with Qt 5.4.2, by exchanging files and
messages between two Swift instances.
Change-Id: Ie09473efeef8366b76f6f7b59cc941fe6a0ad8f0
|
|
Furthermore removed unneeded includes.
Test-Information:
Still builds and unit tests pass.
Change-Id: Ic7272e754c488f427b5ee6834f1d892028ea285d
|
|
When moving a rule up or down in the highlight rule editor on
Linux, the scroll area scrolled all the way down after each move.
This problem is not reproducible on OS X.
With this commit the dialog remembers the scroll area position
before moving a rule and sets the scroll position back to the
remembered value after the move of the highlight rule.
Test-Information:
Verified that the scroll position is not changed when moving
highlight rules up or down on Debian 8.2 and OS X 10.9.5.
Change-Id: Ide7c99e1311671c77cbf72da5cad4f64bfaab11f
|
|
Test-Information:
Still compiles, the menitoned warnings in Swift are gone and unit
tests pass.
Change-Id: I8e113e7faf2e9273b4741f18c19e35e1b7bc7661
|
|
Test-Information:
Tested by entering an existing JID, closing the dialog window and
reopening it.
Change-Id: I6c24ba319a062d19f2144c70fcc94fe77d36befe
|
|
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
|
|
The iTunes support in Sluift requires extraction of the iTunes
scripting interface. Clang version Apple LLVM version 7.0.0
will error with "error: type arguments cannot be applied to
non-parameterized class 'NSArray'" and similar on the extracted
scripting interface.
With this change the sdp tool will generate scripting
interfaces compatible to OS X 10.10. The generated interface
files do not cause the error.
Test-Information:
Tested the build on OS X 10.10.5 and OS X 10.9.5 and verified
that the Sluift command "sluift.itunes.get_current_track()"
still works on both systems.
Change-Id: If70c797aea69e95c7be3cda4c50b64da45028aac
|
|
The logic for calling onItemAdded and onItemRemoved signals when
setting a new list of block items using BlockListImpl::setItems
used to be broken.
This commit fixes and documents the correct signal notification
behavior
Test-Information:
Added a unit test which verifies the notification behavior in case
of added block list items, removed block list items and a complete
change of the block list.
Change-Id: I3061545e25ddfc2d9d1a3c987045a58e5c9230ac
|
|
The MUC bookmark editor window opened from the chat window would
always show a new bookmark. With this commit it will show the
existing bookmark if it exists. Otherwise it will show a new
bookmark.
Test-Information:
Tested this behavior by creating a bookmark, changing name and
nickname to different values and verified that the bookmark dialog
for this room, opened from its chat view, would show the existing
bookmark.
Change-Id: I6766253ce11be271016473dff1105369482e73df
|
|
The highlight editor did not save if the user set the 'apply to
all' property on a rule. It allows to highlight complete messages
or be notified only based on the incoming message type.
This commit enables saving the property.
Test-Information:
Tested chat and room rules with the 'apply to all' property set
and verified that the complete messages are highlighted.
Change-Id: Ib06bd3111ae810c8362ab8fd36a2d3b67f5a14cc
|
|
Test-Information:
Tested on an updated Arch Linux.
Change-Id: I12bc9ebea6363a48025b5ab856b62e6bd2232a59
|
|
This script detects the system type and distribution and installs
dependencies to build Swift with Qt5.
Currently, it only supports Debian, but will be extended to more
systems in future.
Test-Information:
Tested on Debian 8.
Change-Id: I56f8fe5738f057cff519755fe2f823eac721d318
|