1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2024-11-18 18:12:05 +01:00
Commit graph

4177 commits

Author SHA1 Message Date
1f731f6318
Rework support for XEP-0384: OMEMO Encryption
Changes:

    Rework integration tests
    New structure of base integration test classes
    bump dependency on signal-protocol-java from 2.4.0 to 2.6.2
    Introduced CachingOmemoStore implementations
    Use CachingOmemoStore classes in integration tests
    Removed OmemoSession classes (replaced with more logical OmemoRatchet classes)
    Consequently also removed load/storeOmemoSession methods from OmemoStore
    Removed some clutter from KeyUtil classes
    Moved trust decision related code from OmemoStore to TrustCallback
    Require authenticated connection for many functions
    Add async initialization function in OmemoStore
    Refactor omemo test package (/java/org/jivesoftware/smack/omemo -> /java/org/jivesoftware/smackx)
    Remove OmemoStore method isFreshInstallation() as well as defaultDeviceId related stuff
    FileBasedOmemoStore: Add cleaner methods to store/load base data types (Using tryWithResource, only for future releases, once Android API gets bumped)
    Attempt to make OmemoManager thread safe
    new logic for getInstanceFor() deviceId determination
    OmemoManagers encrypt methods now don't throw exceptions when encryption for some devices fails. Instead message gets encrypted when possible and more information about failures gets returned alongside the message itself
    Added OmemoMessage class for that purpose
    Reworked entire OmemoService class
    Use safer logic for creating trust-ignoring messages (like ratchet-update messages)
    Restructure elements/provider in order to prepare for OMEMO namespace bumps
    Remove OmemoManager.regenerate() methods in favor of getInstanceFor(connection, randomDeviceId)
    Removed some unnecessary configuration options
    Prepare for support of more AES message key types
    Simplify session creation
    Where possible, avoid side effects in methods
    Add UntrustedOmemoIdentityException
    Add TrustState enum
    More improved tests
2018-06-13 12:29:16 +02:00
Florian Schmaus
37b5260cdd Fix DNSUtil.setDaneProvider()
Fixes SMACK-820.
2018-06-12 19:06:18 +02:00
Florian Schmaus
f290197f6a Merge branch '4.3' 2018-06-12 15:49:43 +02:00
Florian Schmaus
1edc00b334 Merge remote-tracking branch 'ignite/master' 2018-06-12 15:49:00 +02:00
Florian Schmaus
9e865fe6ab Merge remote-tracking branch 'ignite/4.3' into 4.3 2018-06-12 13:41:43 +02:00
Florian Schmaus
6ba9218c77 Introduce myRoomJid EntityFullJid in MultiUserChat 2018-06-12 12:16:56 +02:00
Florian Schmaus
021ebf8ab3
Merge pull request #242 from igniterealtime/4.3_MUC-leave-without-nickname
fix: Prevent attempt to construct invalid address
2018-06-12 11:05:27 +02:00
Guus der Kinderen
03a267a925 fix: Prevent attempt to construct invalid address
When no join was properly registered, a nickname will not be defined.
In that case, attempting to construct the from address for the 'leave'
presence stanza will result in:

java.lang.IllegalArgumentException: The Resourcepart must not be null

This commit prevents that, by verifying that the nickname is non-null,
before sending that stanza.
2018-06-12 10:09:55 +02:00
Florian Schmaus
9161ba9e7d Improve MamManager API 2018-06-12 08:53:18 +02:00
Florian Schmaus
d958b42eff Add StanzaCollector.getCollectedStanzasAfterCancelled() 2018-06-11 22:08:15 +02:00
Florian Schmaus
1dec29617e Fix StanzaCollector's Exception message: s/Packet/Stanza/ 2018-06-11 22:08:15 +02:00
Florian Schmaus
77707737df Make StanzaCollector's cancelled field volatile 2018-06-11 22:08:15 +02:00
Florian Schmaus
c792be9267 Add StringUtils.requireNullOrNotEmpty() 2018-06-07 17:55:00 +02:00
Florian Schmaus
414d730962 Optimize XmlStringBuilder.element() for the empty element case
For example RSM (XEP-0059) gives <before/> a different semantic as
<before>UID</before>.
2018-06-07 17:15:16 +02:00
Florian Schmaus
a3cf1ab0ca Fix MamManager.isSupported(): Use archive address 2018-06-06 08:45:13 +02:00
Florian Schmaus
5ae164f670 Add Forwarded.extractMessagesFrom(Collection<Forwarded>) 2018-06-06 08:39:09 +02:00
Florian Schmaus
f2ea3e0d5b Add XmlUnitUtils.assertXmlSimilar() 2018-06-03 21:19:38 +02:00
Florian Schmaus
8aa7029b38 Add DataForm.addFields() 2018-06-03 21:19:04 +02:00
Florian Schmaus
d26baeb66f Add Date API methods to FormField values 2018-06-03 17:29:09 +02:00
Florian Schmaus
298bcc8097 Improve FormField.resetValues()
by using clear() instead of removeAll().
2018-06-03 17:29:09 +02:00
Florian Schmaus
2adf8a79af Add CommandsProviderTest 2018-06-03 17:01:19 +02:00
Florian Schmaus
fb5d7ff7d4 Add MamManager.getInstanceFor(MultiUserChat) 2018-05-31 18:37:31 +02:00
Florian Schmaus
ccf2b8bcf8 Add MultiUserChat.getXmppConnection() 2018-05-31 18:37:08 +02:00
Florian Schmaus
cb97b5032c Improve javadoc for MamManager.getInstanceFor(XMPPConnection) 2018-05-31 18:27:54 +02:00
Florian Schmaus
50e98fe31d Improve javadoc for MamManager.isSupported() 2018-05-31 18:27:34 +02:00
Florian Schmaus
7a2e4140c7 Add MamManager.getArchiveAddress() 2018-05-31 18:27:11 +02:00
Florian Schmaus
8f691e4b1d Add ArrayBlockingQueueWithShutdown.tryTake() 2018-05-31 17:20:09 +02:00
Florian Schmaus
751c7b0d40 Improve ArrayBlockingQueueWithShutdown.tryPut()
to return the internal state when the operation is performed.
2018-05-31 17:19:36 +02:00
Florian Schmaus
b80cc795e3
Merge pull request #240 from jitsi/clean-muc-map-4.3
fix: Cleans the multiUserChats map.
2018-05-22 09:40:55 +02:00
Florian Schmaus
a89f3458f2
Merge pull request #239 from vanitasvitae/fileutils
Add method to delete directory
2018-05-22 09:40:21 +02:00
Boris Grozev
fd5e86ce5a fix: Cleans the multiUserChats map. 2018-05-21 14:54:23 -05:00
168e9398e3
Add method to delete directory 2018-05-21 12:35:25 +02:00
27c77fcb1c Add utility methods
ParserUtils: getShortAttribute
XmlStringBuilder: attribute(String, long), optAttribute(String, Long)
2018-05-20 11:27:52 +02:00
Florian Schmaus
84f282befe Add XMPPConnection trySendStanza() 2018-05-16 14:49:53 +02:00
Florian Schmaus
c7697ea9d0 Add ArrayBlockingQueueWithShutdown.tryPut(E) 2018-05-16 07:57:50 +02:00
Florian Schmaus
59ac41faef README.md: Fix openhub.net link, remove Flattr 2018-05-13 21:21:49 +02:00
Florian Schmaus
98a029e9c7 Set name of local SOCKS5 proxy thread 2018-05-13 19:37:41 +02:00
Florian Schmaus
929361f35b Smack 4.3.0-rc1-SNAPSHOT 2018-05-12 19:48:15 +02:00
Florian Schmaus
0a55ca2e75 Smack 4.4.0-alpha1-SNAPSHOT 2018-05-12 19:47:48 +02:00
Florian Schmaus
0cdd80b09e Smack 4.3.0-beta2 2018-05-12 17:10:02 +02:00
Florian Schmaus
fd97f5ba0b Use a CopyOnWriteArraySet for joinedRooms
Since it is accessed concurrently. And also may cause a
ConcurrentModificationException when the MultiUserChatManager tries to
re-join the joined rooms.

Fixes SMACK-819.
2018-05-10 20:30:24 +02:00
Florian Schmaus
cb27b02658 Make SmackFuture use Smack's cached executor service
instead of SmackFuture using it's own executor service.
2018-05-10 20:30:24 +02:00
Florian Schmaus
a22ec4b112 Use java.text.Normalizer for SASLPrep 2018-05-10 20:30:23 +02:00
Florian Schmaus
72de6540b2 Add DiscoInfoLookupShortcutMechanism and EntityCapabilitiesChangedListener
to allow for plugable XEP-0115 like mechanisms. For example XEP-0390.
2018-05-10 20:30:23 +02:00
Florian Schmaus
0e31bc8f73 Fix Stanza.overrideExtension(ExtensionElement)
Also fixes SMACK-818.
2018-05-10 15:34:24 +02:00
Florian Schmaus
458d8d98b6 Make junit assertion more verbose 2018-05-10 15:26:06 +02:00
Florian Schmaus
c94962c763 Add toString() to Disco Feature and Identity 2018-05-10 15:25:20 +02:00
Florian Schmaus
6f83553c1b Reduce scope of 'discoInfoSend' in EntityCapsTest integratino test 2018-05-10 14:55:34 +02:00
Florian Schmaus
e8923b9d16 Enable trailing whitespace checkstyle check
for all source code regions, including javadoc.
2018-05-09 23:26:39 +02:00
Florian Schmaus
9d61a6de7d Bump checkstyle to 8.10 2018-05-09 21:14:52 +02:00