Daniel Gultsch
219ae65ef7
more ibb fixes (include sid in transport-accept)
2019-08-22 14:47:30 +02:00
Daniel Gultsch
98eb49904c
fixed unlikely race between enabling carbons and discovering last MAM id
2019-08-22 09:57:39 +02:00
Daniel Gultsch
daf7e6224f
fixed pgp decryption of automatically accepted jingle ft
2019-08-16 15:29:58 +02:00
Daniel Gultsch
d3ccba445a
increased reconnection interval after policy violation
2019-08-16 15:00:26 +02:00
Daniel Gultsch
0770914edf
refactored filename and extension parsing
2019-08-16 14:09:42 +02:00
Daniel Gultsch
c039ffcf35
clean up logging
2019-08-14 18:44:57 +02:00
Daniel Gultsch
ed95dd64ad
create empty disco result on error to fire advance stream features event
2019-08-13 21:18:32 +02:00
Daniel Gultsch
8ac042418b
fixes #3514
2019-08-11 16:54:00 +02:00
Daniel Gultsch
98c4e9056f
use helper method to close socket
2019-07-04 10:12:08 +02: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
6862b60c3f
self ping (xep-0410) after receiving invite to muc
2019-06-18 13:20:24 +02:00
Daniel Gultsch
782d889cc5
disallow subsequent session-accept
2019-06-17 09:51:49 +02:00
Daniel Gultsch
9fc1ead74f
use ibb if other party doesn’t annouce s5b feature
2019-06-16 22:57:10 +02:00
Daniel Gultsch
fe6c981ae2
accept direct ibb jingle offers
2019-06-16 21:23:18 +02:00
Daniel Gultsch
c965049605
handle invalid canditates in jingle
2019-05-22 17:30:51 +02:00
Daniel Gultsch
61604dedea
jingle: send canditate error before fallback
2019-04-30 11:23:15 +02:00
af8a524db1
137d48810d
Make use of Namespace.REGISTER constant ( #3446 )
2019-04-29 07:51:46 +00:00
Daniel Gultsch
bebce313b2
print available stream features / mechanisms on incompat server
2019-02-09 20:21:29 +01:00
Daniel Gultsch
18807305c1
do not require starttls when connecting over to .onion domain
2019-01-25 08:48:46 +01:00
Daniel Gultsch
83c3258dd7
properly jump out of connection loop on state changing errors
2019-01-19 11:47:21 +01:00
Daniel Gultsch
a53774bc6d
resend presence to muc avatar update. fixes #3175
2019-01-17 17:55:47 +01:00
Daniel Gultsch
e9bf2b464c
explicitly set type=images for all media with an image mime type
...
this is in preperation to be able to query the database for all images
2019-01-12 09:01:35 +01:00
Daniel Gultsch
96e3546904
put images into MessageStyle notifications
2019-01-09 12:47:09 +01:00
Daniel Gultsch
6b75c819d8
log number of unhandled iq callbacks after resume
2018-12-22 13:00:40 +01:00
Daniel Gultsch
9659f46136
log policy violation stream error message to logcat
2018-12-18 11:02:25 +01:00
Daniel Gultsch
7219f42ad2
check mam preference for mam:2 namespace and purge offline only if set
2018-12-05 19:11:40 +01:00
Daniel Gultsch
1de385dcb9
set access model to open when publishing avatar. fixes #3291
2018-11-25 20:58:48 +01:00
Daniel Gultsch
5f8184fe8e
only store non hardcoded resolver result in db
2018-10-16 12:23:27 +02:00
Daniel Gultsch
57fe153ef1
make 'cancelled' work for jingle ft
2018-10-08 10:31:41 +02:00
Daniel Gultsch
390175e5b3
use short read timeout when waiting for first stream open. disable read timeout aftwards
2018-10-04 11:20:02 +02:00
Daniel Gultsch
f608fb349a
refactored file encryption to give access to inner stream
...
Conscrypt on some plattforms doesn’t like when we close the CipherInputStream. Therefor we refactor the api to give us access to the inner stream so we can close that independently.
2018-10-03 18:14:45 +02:00
Daniel Gultsch
9ca636589c
remove more legacy otr decryption code
2018-10-03 12:50:54 +02:00
Daniel Gultsch
db2107c093
clean up connection code. unify domain = ip and extended connection settings into fake resolver
2018-10-01 17:07:37 +02:00
Daniel Gultsch
8270adf703
use sni and alpn for start tls as well. apperently google requires it
2018-10-01 11:34:27 +02:00
Daniel Gultsch
1cbb60d7ed
removed unused code (otr jingle encrypted file transfer)
2018-09-30 13:48:11 +02:00
Daniel Gultsch
9816261569
introduced error code for server not opening stream after auth or starttls
2018-09-27 17:39:49 +02:00
Daniel Gultsch
d737ea296e
code cleanup
2018-09-27 09:59:05 +02:00
Daniel Gultsch
681ce91ab8
do not run through connection loop after thread was interrupted and resolver returned 0 results
2018-09-26 14:39:04 +02:00
Daniel Gultsch
2d206122a5
use conscrypt api to set sni and alpn
2018-09-23 11:20:23 +02:00
Daniel Gultsch
b759cf902d
fixed regression that didn’t enable SNI
2018-09-22 13:32:46 +02:00
Daniel Gultsch
6637d7056e
use conscrypt as security provider to provide tls 1.3 and modern cyphers on old androids
2018-09-21 16:33:07 +02:00
Daniel Gultsch
be4c6bc2ca
speed up DNS
...
run queries in parallel
decrease timeout
do not fall back to google
2018-09-08 11:30:20 +02:00
Daniel Gultsch
6d6bbc0a5d
removed synchronized in favor of another interrupted check in startXmpp()
2018-09-01 10:07:40 +02:00
Daniel Gultsch
658caec342
use volatile for thread object in xmppconnection
2018-08-28 17:51:18 +02:00
Daniel Gultsch
25aa6bed1e
upgrade babbler version
2018-08-18 18:13:18 +02:00
Daniel Gultsch
dc5e7e5d95
store bookmarks in pep if conversion xep is running
2018-08-18 16:27:50 +02:00
Daniel Gultsch
2cc601ee36
do not call listeners while being synchronized on stanza queue
2018-07-16 20:42:17 +02:00
Daniel Gultsch
48e366e410
support mam:1
2018-07-07 11:20:39 +02:00
ChaosKid42
42b1e56cd9
improve identification of muc service ( #3094 )
2018-06-24 15:42:54 +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
4019593181
report unparsable limit as http upload available
2018-06-05 16:18:18 +02:00
Daniel Gultsch
1854e37e7a
reintroduce support for old http upload
2018-05-26 21:43:50 +02:00
Daniel Gultsch
70d95c7903
upload files using p1s3 - sending part
2018-05-25 12:24:23 +02:00
Daniel Gultsch
5b41906328
do not include body in simple status updates to not trigger fts update
2018-05-10 10:47:28 +02:00
Daniel Gultsch
e84a65bc86
do not load conversations with null jid
2018-05-09 11:09:01 +02:00
Daniel Gultsch
d0c88e6293
check if jid was valid before parsing muc status or event msgs
2018-04-29 09:33:20 +02:00
Daniel Gultsch
effeb7b585
convert empty resources in messages to bare jid
2018-04-28 21:30:30 +02:00
Daniel Gultsch
6dbaece149
Merge tag '2.1.3'
2018-04-28 16:33:32 +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
35020702fb
very much unoptimized search functionality
2018-04-26 13:22:31 +02:00
Daniel Gultsch
2a9413e64d
fixed caps hash generation for empty form values
2018-04-22 11:07:00 +02:00
Daniel Gultsch
4a706aad03
catch dead object exceptions when acquiring wake locks
2018-04-15 18:31:58 +02:00
Daniel Gultsch
f0cfbb4681
fixed muc detection for rare cases where muc is hosted on primary domain
2018-03-31 22:01:17 +02:00
Daniel Gultsch
bd3799fe02
messages coming from known muc server are treated as muc when creating conversation
2018-03-22 12:43:08 +01:00
Daniel Gultsch
5514958e93
presist http upload availibility
2018-03-18 10:30:15 +01:00
Daniel Gultsch
1bfc0b8da6
trim to original resource if server added something
2018-03-15 08:53:19 +01:00
Daniel Gultsch
72388e37f5
fixed some issues with jid escaping
2018-03-11 18:32:16 +01:00
Daniel Gultsch
c1135ad592
use escaped form of jid where approriate
2018-03-11 14:14:56 +01:00
Daniel Gultsch
4bb45996c5
return contact and account.getServer() as String
2018-03-11 12:13:56 +01:00
Daniel Gultsch
1accf9d961
migrate to xmpp-addr
2018-03-07 22:30:36 +01:00
Daniel Gultsch
b393f54a03
get rid of customizable resources
2018-03-07 22:30:35 +01:00
Daniel Gultsch
bf6b54a7aa
get rid of OTR
2018-03-07 22:30:34 +01:00
Daniel Gultsch
de0272fd1a
integrate trust manager into conversations
2018-03-07 22:30:33 +01:00
Daniel Gultsch
63cd8e5981
added config param to use a random resource at every bind
2018-02-24 20:47:02 +01:00
Daniel Gultsch
f81e5e471e
request disco items before disco#info on first connect
...
should make initial connect faster because code is not waiting for omemo code to run
2018-02-20 17:36:07 +01:00
Daniel Gultsch
e7094af9d5
warn when attempting to write stanza to an unbound stream
2018-02-20 17:03:44 +01:00
Daniel Gultsch
014cf66c87
do not allow insecure bind
2018-02-18 21:54:03 +01:00
Marc Schink
17c6d8827c
Make use of Namespace.DATA constant
2018-02-16 16:12:53 +01:00
Daniel Gultsch
012653f7ed
SM saftey checks
2018-02-02 16:52:40 +01:00
Daniel Gultsch
78c5c508b3
permanently cache last resolver result
2018-01-21 20:41:30 +01:00
Daniel Gultsch
f2bbb6087c
remove wakelocks in XmlReader
2018-01-21 12:30:31 +01:00
Daniel Gultsch
6458351f6c
use countdownlatch to check if TagWriter has finished
2018-01-20 23:13:36 +01:00
Daniel Gultsch
3a8855a672
fixed interupt handling
2018-01-20 21:57:09 +01:00
Daniel Gultsch
2b39acf352
postpone notification actions (mark as read, reply) until after messages are loaded
2018-01-20 20:05:39 +01:00
Daniel Gultsch
6009b8ebf0
disable offline messages. postpone prekey handling until after mam catchup
2018-01-19 18:17:13 +01:00
Daniel Gultsch
036dd82698
properly handle key transport messages. use prekeyparsing only when that attribute is set
2018-01-18 20:58:55 +01:00
Daniel Gultsch
127557df56
show pep as available if omemo_all_access has been installed on server
2017-12-18 13:47:53 +01:00
Daniel Gultsch
1b0cd77c57
XmppConnection: refactor registration code. 'Open Website' on PAYMENT_REQUIRED failure
2017-12-08 14:23:38 +01:00
Daniel Gultsch
05b6fdb9f1
use empty wake lock tag
2017-11-21 13:25:18 +01:00
Daniel Gultsch
2d42646893
JingleConnection: fixed rare npe when canceling jingle
2017-11-16 12:49:15 +01:00
Daniel Gultsch
c52492ada0
apperently some servers will ommit the from even for stanzas not going to them
2017-11-16 12:48:26 +01:00
Daniel Gultsch
bc9da1fbf4
remove prosody push from blacklist
2017-11-12 19:22:39 +01:00
Daniel Gultsch
435d1ef5bd
SASL: don't prefer PLAIN auth over DIGEST-MD5 for nimbuzz.com
2017-11-05 16:21:59 +01:00
Daniel Gultsch
962add97f9
XmppConnection: throw bind failure when server tries to reassign domain
2017-10-27 18:26:06 +02:00
Daniel Gultsch
6f802b88d2
XmppConnection: do not count stanzas before smacks session has started
2017-10-27 11:35:55 +02:00
Daniel Gultsch
396ad3361f
Jingle: create output stream on demand
2017-10-26 18:42:10 +02:00
Daniel Gultsch
d348780dfc
wait up to 2s to let server close socket before force closing
2017-08-23 12:33:40 +02:00
Daniel Gultsch
6afa5653cb
fixed jingle state machine being thrown off by iq-result coming after session-accept
...
fixes #2587
2017-08-18 14:33:56 +02:00
Daniel Gultsch
b925f436fd
add more logging to http download connection and reset file params after setting expected size
2017-08-04 11:58:12 +02:00
Daniel Gultsch
225cca4566
provide extra 'network is unreachable' account state
2017-08-02 18:58:51 +02:00
Daniel Gultsch
e11277c70f
use base64 instead of base36 when creating random strings
2017-07-30 11:39:47 +02:00
Daniel Gultsch
2fc216bfc4
skip initial socket closing if thread was already interrupted
2017-07-21 08:30:16 +02:00
Daniel Gultsch
9a57673130
use publish-options instead of always pushing node configuration
2017-07-18 12:51:15 +02:00
Daniel Gultsch
2a198793b1
fixed otr jingle file size reporting
2017-07-18 12:43:53 +02:00
Daniel Gultsch
febee9863f
catch IllegalArgumentException caused by invalid custom hostname
2017-07-16 21:02:56 +02:00
Daniel Gultsch
3d0b127a8f
verify with hostname in direct tls connections
2017-07-13 19:27:43 +02:00
Daniel Gultsch
edb28ccb31
throw state changing exception on failed tls only if no more connection options left
2017-07-11 23:25:59 +02:00
Daniel Gultsch
da00a58902
work around idn short comings in minidns
2017-07-10 08:50:01 +02:00
Daniel Gultsch
5cac4397dd
catch state changing error when sending timeout to iq callbacks
2017-07-03 19:44:01 +02:00
Daniel Gultsch
4a2e222b34
deduplicate disco items before disco#info
2017-06-30 08:45:16 +02:00
Daniel Gultsch
cbbf6f439b
add publish-options helper class
2017-06-27 22:50:39 +02:00
Daniel Gultsch
3c90dbe723
fixed ip reporting for dns look ups
2017-06-22 00:09:59 +02:00
Daniel Gultsch
2ed71df01a
also check for hostname in in certs if hostname is from trusted source
2017-06-21 23:40:01 +02:00
Daniel Gultsch
2e380ed792
upgrade minidns. refactored dns utils
2017-06-21 23:28:01 +02:00
Daniel Gultsch
5d9d725446
offer to open website if ibb offers oob redirect. fixes #2503
2017-06-19 20:02:41 +02:00
Daniel Gultsch
3ece613a5d
rename resource on bind conflict
2017-05-25 14:40:59 +02:00
Daniel Gultsch
51d1223198
invoke statusChanged callback after syncronization
2017-05-19 15:28:25 +02:00
Daniel Gultsch
7cd4ed78b2
synchronize on dedicated lock for catchup instead of account
2017-05-19 13:30:57 +02:00
Daniel Gultsch
9fd6539534
clean up client cert selection code
2017-05-18 11:31:31 +02:00
Daniel Gultsch
5056a28553
differentiate starttls failure and sasl failure
2017-05-13 08:08:05 +02:00
Daniel Gultsch
91db2023d3
use mam reference instead of timestamp
2017-05-07 21:05:35 +02:00
Daniel Gultsch
9a7d925b97
do not synchronize startXmpp() and sendPacket() on the same object as this can block the ui
2017-05-06 15:37:22 +02:00
Daniel Gultsch
be371ac5df
reset resource after bind failure
2017-05-05 09:38:58 +02:00
Daniel Gultsch
7b6d49f329
unified all account state exceptions
2017-05-05 09:33:05 +02:00
Daniel Gultsch
f47cf7ae67
make jingle implementation send file hash when using ft5
2017-05-03 11:03:04 +02:00
Daniel Gultsch
5cadc81de4
support for jingle ft:5. fixes #2458
2017-04-30 16:21:13 +02:00
Daniel Gultsch
84baa3ae68
avoid race conditions when downloading files or decrypting pgp messages and waiting for sm catchup
2017-04-30 16:19:39 +02:00
Daniel Gultsch
c837e0616a
make sure tag writer thread shuts down
2017-04-22 10:08:51 +02:00
Daniel Gultsch
0904ba42f8
use async message loading only when called from UI
2017-04-13 00:12:23 +02:00
cijo-saju
3467a67e75
Removed unused imports from entire project.
2017-04-12 20:24:36 +05:30
cijo-saju
b4318996ac
Fixed typo in comment
2017-03-26 22:07:39 +05:30
Daniel Gultsch
010b341251
do not pipeline first SM request because that might fail when resume fails
2017-03-21 18:08:20 +01:00
Daniel Gultsch
c97c5def2c
experimental: wait for SM catchup before triggering notifications
...
wait for a first SM ACK before calculating if we need to trigger any notifications
might have to be changed to an XEP-0199 ping later on. for now sending <r/> after resume seems to work outfine
2017-03-21 17:58:08 +01:00
Daniel Gultsch
c740386297
rename the Xmlns class to Namespace
2017-03-01 13:01:46 +01:00
Daniel Gultsch
c7ec82679f
Merge branch 'master' of github.com:siacs/Conversations
2017-02-24 20:00:54 +01:00
Daniel Gultsch
0c0ff882a9
make x509 verification node world readable
2017-02-24 19:58:46 +01:00
Daniel Gultsch
a28116753a
Merge pull request #2315 from licaon-kter/lecagy-typo
...
Fix a typo in legacy
2017-02-19 18:43:21 +01:00
licaon-kter
d3dd80eec9
Fix a typo in legacy
2017-02-19 15:47:57 +02:00
Daniel Gultsch
0d00ff0c15
migrate domain and host exemption into seperate class
2017-02-19 13:05:40 +01:00
Daniel Gultsch
c69ad8f52c
npe checks
2017-02-17 10:26:42 +01:00
Daniel Gultsch
caa16a8517
experimental mam legacy compat layer
2017-02-15 16:42:35 +01:00
Daniel Gultsch
b90a1fe1db
bump mam namespace
2017-02-14 17:19:45 +01:00
Daniel Gultsch
c8f97be68e
only force close tagwriter before creating a new one
2017-02-13 13:01:00 +01:00
Daniel Gultsch
c9e6d05fa0
use base64 encoding for file names uploaded with http
2017-01-26 18:39:25 +01:00
Daniel Gultsch
b72d7ec8d0
make sure to properly stop tagwriter
2017-01-22 12:54:39 +01:00
Daniel Gultsch
780d1daf7e
fixed some issues around ibb
2017-01-20 22:37:50 +01:00
Sam Whited
bfc2cffc2f
Add SCRAM-SHA-2 support
2017-01-15 23:43:44 -06:00
Daniel Gultsch
1876b444fa
refactor getServerIdentity() to parse disco result directly
2017-01-12 23:17:52 +01:00
Daniel Gultsch
b050ff2576
only call UI thread from downloading thread every 250ms
2017-01-12 16:02:09 +01:00
Daniel Gultsch
cbc9c1fb20
add support for RFC7711 to MTM
2016-12-05 21:52:44 +01:00