Commit Graph

34 Commits

Author SHA1 Message Date
Paul Schaub ce5b5f88ef
Rebase on master 2018-06-09 14:29:18 +02:00
Paul Schaub 04bc887960 Avoid ConcurrentModificationException 2018-06-09 13:59:36 +02:00
Paul Schaub 7a4977181f Fix NPE if MUC occupants cannot be retrieved 2018-06-09 13:59:36 +02:00
Paul Schaub 15083fa3b0 Stale devices: Consider date of deviceId publication 2018-06-09 13:59:36 +02:00
Paul Schaub 38d9d96d1f Use set instead of list for handling OmemoDevice 2018-06-09 13:59:36 +02:00
Paul Schaub ba0b81f750 Add method to decrypt OmemoElements from a MamQueryResult 2018-06-09 13:59:36 +02:00
Paul Schaub 2b71b20a3e Add method to manually decrypt OmemoElement 2018-06-09 13:59:36 +02:00
Paul Schaub 1cbc112c88 Remove unused code, rafactor 2018-06-09 13:59:36 +02:00
Paul Schaub f3403571a7 Rewrite integration tests 2018-06-09 13:59:36 +02:00
Paul Schaub 8b8c6e190a Repair broken session with preKeyMessage 2018-06-09 13:59:36 +02:00
Paul Schaub 20cca54ec2 Sending messages works again 2018-06-09 13:59:36 +02:00
Paul Schaub 9c7a027b62 Fix NPE 2018-06-09 13:59:36 +02:00
Paul Schaub c287345ce7 Fix fetchDeviceList bug, async listeners 2018-06-09 13:59:36 +02:00
Paul Schaub a10bab80cb Fix deviceList listener and subscribe to lists 2018-06-09 13:59:36 +02:00
Paul Schaub daf9ef94cd Delete old classes, fix javadoc errors 2018-06-09 13:59:36 +02:00
Paul Schaub 50f8a4f1fe Reimplement encryption, solve compiler errors 2018-06-09 13:59:36 +02:00
Paul Schaub e5cdd89edc Ignore stale devices when encrypting 2018-06-09 13:59:36 +02:00
Paul Schaub 7bff6e7d99 Fix some issues and delete old code. 2018-06-09 13:59:36 +02:00
Paul Schaub 2db7717abc Temp commit 2018-06-09 13:59:01 +02:00
Paul Schaub 4e5cf82795 Simplfiy OmemoKeyUtil generics 2018-06-09 13:57:51 +02:00
Paul Schaub b0acf0bcc3 Temp commit 2018-06-09 13:57:51 +02:00
Paul Schaub 85171ee71b Temp commit 2018-06-09 13:53:04 +02:00
vanitasvitae 9a779ff8aa Refactoring 2018-06-09 13:53:04 +02:00
vanitasvitae 36dae1ece4 Move trust management from OmemoStore to TrustCallback
Refactor various method names to more precisely reflect
what happens

Introduce CachingOmemoStore, SignalCachingOmemoStore,
which can be either used standalone as ephemeral OmemoStore
implementations, or as wrappers around other implementations
to add a cache layer for reduced storage access.

Get rid of "isFreshInstallation". Keys are now - given
that they don't exist - generated on startup.

Bump libsignal-protocol-java to 2.6.2

Prevent offline access to some functions which require
authenticated connection

Create more advanced unit tests and integration tests

Add async initialization function for OmemoManager

Remove session handling from smack-omemo.
This is now handled - in case of smack-omemo-signal -
solely by libsignal-protocol-java
2018-06-09 13:53:04 +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 2efec89050 Rename XMPPError to StanzaError
Fixes SMACK-769.
2018-04-07 22:59:25 +02:00
Florian Schmaus b5209f4701 Enable RedundantModifier checkstyle check 2018-03-28 14:02:21 +02:00
Florian Schmaus 9e11b68144 Add comment style checkstyle rule requiring a space 2017-11-20 08:53:19 +01:00
Florian Schmaus 58181bab08 OMEMO: Unspaghetti PEP listener code
While I like Spaghetti, I don't like them in my code.

4 insertions, 24 deletions, *kaboom*. :)
2017-09-29 16:32:32 +02:00
Florian Schmaus 772e45da92 Introduce NotAPubSubNodeException
Fixes SMACK-759.
2017-08-14 20:23:35 +02:00
Florian Schmaus 57e19d1a4f Use Async.go() in OmemoCarbonCopyListener
to prevent a timeout exception since carbon copy listeners are
executed synchronously.
2017-07-23 10:58:55 +02:00
vanitasvitae 248e76ff46
Fix receiving OMEMO MUC messages
The method OmemoManager.getSender() was faulty and returned null for MUC
occupants, which lead to NPEs when receiving MUC messages with OMEMO.
2017-06-30 14:30:19 +02:00
Florian Schmaus 08e897113d Add CustomImportOrder checkstyle rule
And matching ImportOrder settings for Eclipse in
resources/eclipse/smack.importorder
2017-06-14 17:12:43 +02:00
vanitasvitae e86700b040 Add OMEMO support
This commit adds the modules smack-omemo and smack-omemo-signal.
smack-omemo is licensed under the Apache license like the rest of the smack project.
smack-omemo-signal on the other hand is licensed under the GPLv3.
Due to the fact, that smack-omemo is not of much use without smack-omemo-signal,
the OMEMO feature can currently only be used by GPLv3 compatible software.
This may change in the future, when a more permissively licensed module becomes available.

Fixes SMACK-743.
2017-06-02 13:40:10 +02:00