Commit Graph

60 Commits

Author SHA1 Message Date
Daniel Gultsch
8ce7bfb95e automated code clean up 2021-01-23 09:25:34 +01:00
Ferdinand Pöll
453ca7c0ed Migrate from Android Support Library to AndroidX
Unignored gradle.properties since androidX requires additions there
See also https://developer.android.com/jetpack/androidx/migrate
2021-01-18 20:49:35 +01:00
Christoph Scholz
386b224123 fix escapeing in local channel discovery 2020-11-13 13:35:46 +00:00
Daniel Gultsch
b6703dbe38 switch xmpp-addr to jxmpp-jid 2020-05-15 17:06:16 +02:00
Daniel Gultsch
abfa4eae08 remove white space before parsing omemo bundle base64 2020-05-08 19:33:49 +02:00
Daniel Gultsch
5a5f887229 code cleanup in bundle parsing
also switch to guavas base64 parser to avoid potential ROM bugs
2020-05-03 11:54:58 +02:00
Daniel Gultsch
418cecad11 remove XEP-0357 support for group chats 2020-04-28 06:50:04 +02:00
Daniel Gultsch
07786d4576 optionally search local muc rooms instead of jabber.network 2019-11-02 09:43:37 +01:00
Daniel Gultsch
e467fe341e implement client support for muc push
Staying connected to a MUC room hosted on a remote server can be challenging.

If a server reboots it will usually send a shut down notification to all
participants. However even if a client knows that a server was shut down it
doesn’t know when it comes up again. In some corner cases that shut down
notification might not even be delivered successfully leaving the client in a
state where it thinks it is connected but it really isn’t.

The possible work around implemented in this commit is to register the clients
full JID (user@domain.tld/Conversations.r4nd) as an App Server according to
XEP-0357 with the room. (Conversations checks for the push:0 namespace on the
room.)

After cycling through a reboot the first message send to a room will trigger
pubsub notifications to each registered full JID. This event will be used to
trigger a XEP-0410 ping and if necessary a subsequent rejoin of the MUC.

If the resource has become unavailable during down time of the MUC server the
user’s server will respond with an IQ error which in turn leads to the MUC
server disabling that push target.

Leaving a MUC will send a `disable` command. If sending that disable command
failed for some reason (network outage) and the client receives a pubsub
notification for a room it is no longer joined in it will respond with an
item-not-found IQ error which also disables subsequent pushes from the server.

Note: We 0410-ping before a join to avoid unnecessary full joins which can be
quite costly. Further client side optimazations will also surpress pings when
a ping is already in flight to further save traffic.
2019-06-24 18:16:06 +02:00
Daniel Gultsch
b9bdb3df55 use Tor on http upload is account uses onion domain. fixes #3075 2018-06-16 18:31:55 +02:00
Daniel Gultsch
322463bab7 return InvalidJid object instead of null if Jid can not be parsed 2018-04-28 16:26:40 +02:00
Daniel Gultsch
9908af6286 sync roster to disk after roster push 2018-03-18 12:24:28 +01:00
Daniel Gultsch
1accf9d961 migrate to xmpp-addr 2018-03-07 22:30:36 +01:00
Daniel Gultsch
ad601e47c8 fixed roster items w/o subscription (request) not being shown 2017-07-28 18:34:55 +02:00
Daniel Gultsch
24768d051d upgrade to signal-protocol-java. thanks @ysangkok
fixes #1384
closes #2509
2017-06-18 16:36:30 +02:00
Daniel Gultsch
2cf05528b4 add the 4 most frequently contacted contacts as app shortcuts 2017-05-31 16:45:51 +02:00
cijo-saju
3467a67e75 Removed unused imports from entire project. 2017-04-12 20:24:36 +05:30
Daniel Gultsch
1c56b74e41 closing the corresponding conversations after blocking a contact. fixes #2347 2017-03-06 16:53:54 +01:00
Daniel Gultsch
c740386297 rename the Xmlns class to Namespace 2017-03-01 13:01:46 +01:00
Daniel Gultsch
780d1daf7e fixed some issues around ibb 2017-01-20 22:37:50 +01:00
Daniel Gultsch
e5d7357e6e mark conversations as read after receiving blocklist push for that conversations 2016-11-28 15:51:11 +01:00
Daniel Gultsch
0af13fc746 be more careful parsing integers in omemo 2016-10-06 22:05:18 +02:00
Daniel Gultsch
ed2fa20414 handle invalid prekey ids in bundle 2016-08-02 10:40:24 +02:00
Daniel Gultsch
27690865a6 respond to XEP-0202: Entity Time 2016-07-13 18:10:10 +02:00
Daniel Gultsch
4ba5472d0c respond to block list push 2016-06-22 12:22:36 +02:00
Daniel Gultsch
36ae840d76 log all background stanzas when background logging is enabled 2016-06-05 02:04:31 +02:00
Daniel Gultsch
9ce2cfa3d2 resetting fetch status error when mutual subscription is reestablished 2016-05-19 10:47:27 +02:00
Daniel Gultsch
a25912c32c log incoming iq requests 2016-05-15 09:55:06 +02:00
Daniel Gultsch
f37098a54f catch all axolotl parse exception at once. fixes #1692 2016-02-11 12:26:43 +01:00
Daniel Gultsch
f30df7a535 catch a few NPE when parsing invalid pep nodes 2016-02-02 11:21:07 +01:00
Daniel Gultsch
88523bbb50 more detailed logging 2015-12-12 15:58:22 +01:00
Daniel Gultsch
cfeb67d71d introduced code to verify omemo device keys with x509 certificates.
cleaned up TrustKeysActivity to automatically close if there is nothing to do
2015-10-16 23:48:42 +02:00
Daniel Gultsch
8f4b7686c9 catch invalid base64 on omemo key decoding 2015-08-30 11:11:54 +02:00
Daniel Gultsch
d0b8bd0f8a catch invalid base64 in axolotl key parsing 2015-08-24 18:18:01 +02:00
Daniel Gultsch
0dfb9bd1a0 introduce special iq type for internal timeouts. always use != result to check for error in callbacks 2015-08-23 17:53:23 +02:00
Daniel Gultsch
496f531e2e modified clearIqCallbacks into 2-step process 2015-08-23 08:01:47 +02:00
Andreas Straub
3458f5bb91 Clean up logging
Add a fixed prefix to axolotl-related log messages, set log levels
sensibly.
2015-07-19 22:17:57 +02:00
Andreas Straub
6867b5c3ab Return empty set on invalid PEP devicelist 2015-07-19 21:32:27 +02:00
Andreas Straub
c1d23b2395 Migrate to new PEP layout
Merge prekeys into bundle node
2015-07-19 21:32:26 +02:00
Andreas Straub
299bbdf27f Reformat code to use tabs
This really sucks to do it like this. Sorry. :(
2015-07-19 21:32:26 +02:00
Andreas Straub
77619b55e4 Added PEP and message protocol layers
Can now fetch/retrieve from PEP, as well as encode/decode messages
2015-07-19 21:32:26 +02:00
iNPUTmice
4e14c89ff8 support for XEP-0092: Software Version 2015-02-16 10:06:09 +01:00
Daniel Gultsch
85f24c9106 avoid requesting blocklist after stream resumption 2015-01-05 16:17:05 +01:00
Sam Whited
88704ce5cd Verify IQ responses
Fixes #20

Move fromServer/toServer to AbstractStanza
2015-01-04 08:28:13 -05:00
Sam Whited
eb7e683403 Make IqPacket type an enum 2015-01-04 08:20:30 -05:00
Daniel Gultsch
8f93f9c314 improved fromServer filter 2014-12-30 09:36:00 +01:00
Daniel Gultsch
04de77261b fixed #818 2014-12-30 01:13:35 +01:00
Sam Whited
b48bddb852 Fix typo in method name 2014-12-29 14:21:20 -05:00
iNPUTmice
d5f99560ff made method private that is no longer required to be public 2014-12-23 18:09:29 +01:00
Sam Whited
e152ed1e07 Simplify roster handling code
Merge result handling code into IqParser

Fixes #20
2014-12-22 12:53:31 -05:00