Age | Commit message (Collapse) | Author |
|
When creating a JID we were not checking if a
domain part is a valid IPv4, IPv6 addresses. We were
only checking if the domain is correct according to
internationalized domain name rules which was failing
for IPv6 addresses.
Test-Information:
Unit tests pass on Windows 10 and Ubuntu 18.04.1 LTS
Change-Id: Ia1b67089f6edfdc6a0ebf2d26a7eaab9ce8171c0
|
|
RFC 6122 specifies that if a domainpart ends in a dot, it must be
stripped off before any other canonicalisation steps are taken.
Unit tests have been added to check that various JID scenarios with a
domain ending in a dot pass or are rejected as expected.
Test-Information:
Unit tests pass on macOS 10.13.
Manual tests in sluift show expected behaviour.
Change-Id: Id6813aaa4422a81bff0a4559eacd6855ef104dc3
|
|
Ran a flamegraph diff on Swift login to an account with a
moderate number of JIDs in roster and more than 10 rooms
in auto join. It showed a difference less that 0.1% on the
changed method. As it does not make much of a difference for
Swift at least, caching is removed.
Test-Information:
Unit tests passes, Swift still logins fine on macOS.
Change-Id: Id33d6d1a655580e06e1364df717fd6f34cce5327
|
|
When Swiften parsed jids with an empty domainpart (e.g. user@/resource),
it would mark the jid as valid, and treat the localpart as domainpart.
RFC 6122 states in 2.2 that "A domainpart MUST NOT be zero bytes in
length".
Unit tests for both a bare jid and a full jid with an empty domainpart
have been added.
Test-Information:
Unit tests pass on Debian 9
Change-Id: Iadaf399cd4158666bfcdd6c075b8bf2102ff5538
|
|
* swift-3.x:
- Fix building Swift on 32-bit Linux distributions
- Remove optional_fwd.hpp use; workaround for Boost Bug #12179
- Split COPYING.thirdparty in contributions/dependencies
- Fixes for building packages on Debian
Conflicts:
BuildTools/SCons/SConstruct
Sluift/Console.h
Sluift/ITunesInterface.h
Sluift/Terminal.h
Swift/Packaging/Debian/debian/control.in
Swift/QtUI/SConscript
Swiften/Elements/Stanza.h
Swiften/FileTransfer/FileTransferTransporter.h
Swiften/FileTransfer/IBBReceiveSession.h
Swiften/JID/JID.h
Swiften/Network/BoostConnectionServer.h
Swiften/Network/ConnectionServer.h
Swiften/Parser/AttributeMap.h
Test-Information:
Builds on macOS 10.12.1 with clang trunk.
Change-Id: I9f41ab199f227bc106721627ea994313c68e5cfe
|
|
Test-Information:
Builds on macOS 10.12 and unit tests pass.
Change-Id: Ia979e7dbd6f6c84085b1b951d81b925dffbed262
|
|
Cleaned up JID.cpp in process.
Test-Information:
Adjusted tests accordingly.
All tests pass pass on OS X 10.11.5.
Change-Id: I774344c8f7378dafe9249217503c082f46890457
|
|
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:
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
|
|
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
|
|
Run 'clang-tidy -fix -checks=modernize-use-nullptr' 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: Ic43ffeb1b76c1a933a55af03db3c54977f5f60dd
|
|
Removed trailing spaces and whitespace on empty lines
in the process.
Changed CheckTabs.py tool to disallow hard tabs in source
files.
Test-Information:
Manually checked 30 random files that the conversion worked
as expected.
Change-Id: I874f99d617bd3d2bb55f02d58f22f58f9b094480
|
|
Changed "" style includes to <> style.
Test-Information:
Build with Clang 3.9.0 and ran all tests on OS X 10.11.4.
Change-Id: Ic05e53f2e5dba39cc1307b116fc5f17b62ab9eb8
|
|
A JID may have no resource, but may not have an empty resource. Mark such
JIDs as invalid.
Test-Information:
Added a unit test for the failure case (and made it pass). Other unit tests still pass
Change-Id: I4fb300f716e635a3f8f02843891f25218da77130
|
|
Test-Information:
Tests pass locally (OS/X 10.11.3)
Change-Id: I223cdf213f87a4efd574bdd917556aec23e4fd4c
|
|
Change-Id: I94ab4bbb68c603fe872abeb8090575de042f5cb4
|
|
This implements Swiften API for changing nicknames in MUC and correctly detecting
nick name changes. In addition Swift now displays nickname changes as such and not
as join/leave of a user.
In addition, handling of nickname changes is integrated in ChatsManager and
ChatControllers so that they are forwarded to PM chats of MUCs.
Test-Information:
Added unit tests for change of own nickname and nickname changes of others.
Tested correct detection of nickname changes in a MUC with a Psi user changing
its nickname and Swift correctly detecting and displaying it.
Change-Id: I3287ba6ceeccd3be5cfb591acd6f88bffc9a43b2
|
|
Test-Information:
Prepare valid and invalid JIDs and make sure that isValid() is reported correctly. Added unit tests.
Change-Id: Ic4d86f8b6ea9defc517ada2f8e3cc54979237cf4
|
|
Change-Id: I04ff7111b73565c00bff6db183451774a633344f
|
|
Change-Id: I5e0cf477632927e5383b60b7dd8922740a9b5d5d
|
|
Change-Id: Iafe7f72aa2764c797fec736d4f5605c30254018a
|
|
Change-Id: I4c64f954ddeca7147d729b8be07237baa15c1795
|
|
Change-Id: Ia1ded5b7d4d7df500fc1df1a741a56d81de16b67
|
|
Fix sign conversion warnings.
Removing heavy unnecessary includes.
Change-Id: I992f43065498823098a875badb020c7c84fc4797
|
|
All applications succesfully link against Swiften.dll.
|
|
|
|
The overhead appears to be neglectible.
Using TSS had a similar overhead, with the disadvantages that it uses
more storage (one cache per thread vs one cache), has less cache reuse,
and that Windows/MSVC doesn't support automatic TSS cleanup, so it
requires manual cleanup work (which is non-trivial).
Note that the mutex approach may yield more overhead in multi-threaded
applications (in case of contention). Currently, the mutex also locks
during the whole nameprep sequence, which is not strictly necessary.
|
|
* swift-1.x:
Update last used certificate file correctly.
Mark JIDs with empty domains as invalid when StringPrep cache is disabled.
Added StringPrep unit test.
|
|
We used to only do this correctly in the default compilation setting
where the cache is enabled.
Resolves: #965
|
|
* swift-1.x:
Fixed bug with illegal resource in JID resulting in empty resource.
Updated the german translation
Conflicts:
Swiften/IDN/StringPrep.cpp
Swiften/SASL/SCRAMSHA1ClientAuthenticator.cpp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Made algorithm more efficient.
Fixed some incorrect escaping.
Added more tests from the XEP.
|
|
License: This patch is BSD-licensed, see http://www.opensource.org/licenses/bsd-license.php
|
|
|
|
Resolves: #798
|
|
|
|
This avoids the need to explicitly contruct a JID where a string is
used.
|
|
|
|
|
|
|