Commit Graph

3576 Commits

Author SHA1 Message Date
Paul Schaub ffbfae9856 Refactor API 2018-07-03 11:38:15 +02:00
Paul Schaub e23cf88082 Add test 2018-07-03 11:38:15 +02:00
Paul Schaub 63e98cb4d6 Fix decryption error 2018-07-03 11:38:15 +02:00
Paul Schaub 800955d5a8 Fix some runtime bugs 2018-07-03 11:38:15 +02:00
Paul Schaub 422baa6d2e WiP finished, no more compiler errors - untested 2018-07-03 11:38:14 +02:00
Paul Schaub 49a51bfa2d WiP, please don't look 2018-07-03 11:38:14 +02:00
Paul Schaub dab342e97e Add methods to store update dates 2018-07-03 11:38:14 +02:00
Paul Schaub 48862962db Fix message sending, filebased store storage 2018-07-03 11:38:14 +02:00
Paul Schaub ffc8cbbf79 Several changes
Add encrypted message listeners
Automatically decrypt incoming messages
Add convenient methods to get payload
2018-07-03 11:38:14 +02:00
Paul Schaub e8f09fc842 Another overhaul 2018-07-03 11:38:14 +02:00
Paul Schaub f522cea748 Finish rewrite :D 2018-07-03 11:38:14 +02:00
Paul Schaub 2b7738cc9c Warning: Construction Site! 2018-07-03 11:38:14 +02:00
Paul Schaub 365a4d20d0 Fix decrypting messages 2018-07-03 11:38:14 +02:00
Paul Schaub 653f318d37 Implement restoring secret key 2018-07-03 11:38:14 +02:00
Paul Schaub 878ac56ed0 Implement exporting secret key 2018-07-03 11:38:14 +02:00
Paul Schaub 55b9c1ac2a Modify API
Add methods to decrypt messages
Add lots of high quality documentation
2018-07-03 11:38:14 +02:00
Paul Schaub 2706f60744 Do not add our pub key to config 2018-07-03 11:38:14 +02:00
Paul Schaub 6e84a8a301 Fix documentation 2018-07-03 11:38:14 +02:00
Paul Schaub c1603139be Introduce exception, add documentation 2018-07-03 11:38:14 +02:00
Paul Schaub a234760233 Temp commit 2018-07-03 11:38:14 +02:00
Paul Schaub 6e7145801e Implement OpenPgpManager functions 2018-07-03 11:38:14 +02:00
Paul Schaub e00075bca9 Make OpenPgpInitializer optional startup class 2018-07-03 11:38:14 +02:00
Paul Schaub 9ee47e1711 BouncycastleOpenPgpProvider implementatioN 2018-07-03 11:38:14 +02:00
Paul Schaub 2acf9689fe Temp 2018-07-03 11:38:14 +02:00
Paul Schaub 583dfce7c0 Include PGPainless and create encryption, decryption test 2018-07-03 11:38:14 +02:00
Paul Schaub d28ffda1c0 Add test keys 2018-07-03 11:38:14 +02:00
Paul Schaub de2cac03bd Comments and remove getter for rpad 2018-07-03 11:38:14 +02:00
Paul Schaub 0900d0a27d Improve elements and providers and create tests 2018-07-03 11:38:14 +02:00
Florian Schmaus dd9c693c3a DRAFT/WIP Started XEP-0373: OpenPGP for XMPP implementation 2018-07-03 11:38:14 +02:00
Florian Schmaus 8011ba96bb
Merge pull request #244 from vanitasvitae/EmeImprovements
Add EME convenience methods
2018-07-03 09:52:39 +02:00
Florian Schmaus ce4f3352a2 Merge branch '4.3' 2018-06-23 17:18:17 +02:00
Florian Schmaus d76d8a9b3f
Merge pull request #245 from vanitasvitae/fixStaleDevices
Only ignore our own stale devices
2018-06-22 15:05:58 +02:00
Paul Schaub e79f364e1d
Only ignore our own stale devices 2018-06-22 14:03:09 +02:00
Florian Schmaus c73219b797 Add (To|From)TypeFilter.(FROM|TO)_ANY_JID
to filter all stanzas which have a valid jid set as to/from.
2018-06-20 22:17:11 +02:00
Florian Schmaus 61be4d768d Add javadoc describing the XMPPErrorException class 2018-06-20 22:17:11 +02:00
Florian Schmaus 23bb5c5625 Add XMPPErrorException.getStanzaError()
Also deprecate getXMPPError and let StanzaError implement
ExtensionElement.
2018-06-20 22:17:11 +02:00
Paul Schaub b66cc4c5b5
Add EME convenience methods 2018-06-20 13:59:08 +02:00
Florian Schmaus 6e9fb17f8f Make CorruptedOmemoKeyException not swallow exceptions 2018-06-20 11:51:46 +02:00
Florian Schmaus ac347fc598 Smack 4.4.0-alpha2-SNAPSHOT 2018-06-17 15:00:44 +02:00
Florian Schmaus c750e1675b Smack 4.4.0-alpha1 2018-06-17 14:30:03 +02:00
Florian Schmaus 4108b9a83e Enable uploadArchives for smack-omemo* projects 2018-06-17 14:30:03 +02:00
Florian Schmaus c83f6ec9c8 Merge branch '4.3' 2018-06-17 14:10:52 +02:00
Florian Schmaus 651ee7b85e Smack 4.3.0-rc2-SNAPSHOT 2018-06-17 14:10:12 +02:00
Florian Schmaus 21f0be58df Smack 4.3.0-rc1 2018-06-17 13:49:29 +02:00
Florian Schmaus 9e18ba2327 Remove deprecated methods in XMPPConnection 2018-06-14 10:00:37 +02:00
Florian Schmaus 9f786fc70d Remove deprecated methods in MamManager 2018-06-14 10:00:24 +02:00
Florian Schmaus 8841c4aed2 Remove deprecated method sin SDM and AdHocCommandManager
These methods are related to functionality which is no longer existend
in XEP-0030.
2018-06-14 09:59:46 +02:00
Florian Schmaus 84ef4047a7 Remove depreacted methods in MultiUserChat 2018-06-14 09:58:52 +02:00
Florian Schmaus 153473c76f
Merge pull request #177 from vanitasvitae/storerework
Rework support for XEP-0384: OMEMO Encryption
2018-06-13 12:53:57 +02:00
Paul Schaub 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