Daniel Gultsch
82f9a77777
be more conservative when parsing rtp content
2020-04-20 15:57:30 +02:00
Daniel Gultsch
c9f7e174f7
use foreground service for ongoing call notification
2020-04-20 15:57:30 +02:00
Daniel Gultsch
c6db651322
allow all jingle states to transition into terminated
2020-04-20 15:57:30 +02:00
Daniel Gultsch
5eea961155
improved strategy for ignoring self addressed jingle messages
2020-04-20 15:57:30 +02:00
Daniel Gultsch
7b382d2ba5
include more human readable text in application errors
2020-04-20 15:57:30 +02:00
Daniel Gultsch
07e671d7c3
do not offer jingle calls when using Tor
2020-04-20 15:57:30 +02:00
Daniel Gultsch
9d83981f2c
respond with busy if there is anthor rtp session
2020-04-20 15:57:30 +02:00
Daniel Gultsch
d19b5e0634
show notification during ongoing call
2020-04-20 15:57:30 +02:00
Daniel Gultsch
2e8b91665b
improvements to RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0302eacac1
back button rejects or ends call
2020-04-20 15:57:30 +02:00
Daniel Gultsch
2ba84bd32e
no need to be careful about Int parsing in session description; just fail
2020-04-20 15:57:30 +02:00
Daniel Gultsch
6884e427ef
require dtls and ensure procceds get tracked
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0661c1bd37
add state transitions for iq service-unavailable errors and timeouts
2020-04-20 15:57:30 +02:00
Daniel Gultsch
39e3791345
incude human readable text in some session-terminates
2020-04-20 15:57:30 +02:00
Daniel Gultsch
7749a7ce22
fixed rotation issues in RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
268eedad89
proper iq tracing (handling of errors); responding to all iqs
2020-04-20 15:57:30 +02:00
Daniel Gultsch
15a2491d7b
correctly parse turn server
2020-04-20 15:57:30 +02:00
Daniel Gultsch
845b3d8a0e
properly parse transport info and apply ice candidates after direct init
2020-04-20 15:57:30 +02:00
Daniel Gultsch
3e5e4e813b
reject call from proceed state; and deal with direct inits
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0bf991d95c
make jingle->sdp parsing fail on some obvious errors
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ca9b95fc9c
discover stun server
2020-04-20 15:57:30 +02:00
Daniel Gultsch
859bc0bef3
send and receive session terminates
2020-04-20 15:57:30 +02:00
Daniel Gultsch
00f273b0c0
show retry button after failed call
2020-04-20 15:57:30 +02:00
Daniel Gultsch
f7d1e02d4b
parse 'accept' messages
2020-04-20 15:57:30 +02:00
Daniel Gultsch
9edadc9835
process retract jingle messages
2020-04-20 15:57:30 +02:00
Daniel Gultsch
a11d506bf0
support reject
2020-04-20 15:57:30 +02:00
Daniel Gultsch
7909a72d43
make retract jingle messages work
2020-04-20 15:57:30 +02:00
Daniel Gultsch
e2f1cec2e5
prepare more state transitions
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ccfc55e9b6
show proper notification on incoming call
2020-04-20 15:57:30 +02:00
Daniel Gultsch
0e88b56eb4
display status information in ui
2020-04-20 15:57:30 +02:00
Daniel Gultsch
a9a35fb74b
show status in RtpSessionActivity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
f8c0328416
dummy Jingle activity
2020-04-20 15:57:30 +02:00
Daniel Gultsch
22c755c5ce
implement session accept
2020-04-20 15:57:30 +02:00
Daniel Gultsch
9dfa9df790
implement sending of session-accept
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ac9a1a773e
receive candidates/transport-info
2020-04-20 15:57:30 +02:00
Daniel Gultsch
885ec0febe
a couple of bug fixes for SessionDescription.toString()
2020-04-20 15:57:30 +02:00
Daniel Gultsch
f264ef9f8b
create sdp string and set on peer connection
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b1c0e93b34
rudimentary rtpmap to session converter
2020-04-20 15:57:30 +02:00
Daniel Gultsch
2591a96945
sdp candidate to transport-info
2020-04-20 15:57:30 +02:00
Daniel Gultsch
4d70855b4c
sdp to ice transport conversion
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b44a3aeac6
parse sdp to jingle (yet w/o transport)
2020-04-20 15:57:30 +02:00
Daniel Gultsch
ef51ec2c1d
create objects for ssma (xep-0339)
2020-04-20 15:57:30 +02:00
Daniel Gultsch
28ead10ca4
sdp media to description parsing
2020-04-20 15:57:30 +02:00
Daniel Gultsch
18059345c8
payload-type and rtp-hdrext sdp parsing
2020-04-20 15:57:30 +02:00
Daniel Gultsch
5b1d86d67e
dummy code to get sdp out of (non-working) libwebrtc
2020-04-20 15:57:30 +02:00
Daniel Gultsch
3b857e6894
create temporary RtpSessionPropsoal as placeholder before we can create actual session
2020-04-20 15:57:30 +02:00
Daniel Gultsch
e2e4390d51
untested sdp parser
2020-04-20 15:57:30 +02:00
Daniel Gultsch
766d1d603e
show preliminary call button if contact supports it
2020-04-20 15:57:30 +02:00
Daniel Gultsch
4e13893662
create stub objects for most of what’s in description and transport
2020-04-20 15:57:30 +02:00
Daniel Gultsch
43cf1783a4
support multiple jingle contents
2020-04-20 15:57:30 +02:00
Daniel Gultsch
b2aa0e3352
use final varible to mark initiator once connection object has been created
2020-04-20 15:57:30 +02:00
Daniel Gultsch
5b15348f13
process message inits
2020-04-20 15:57:30 +02:00
Daniel Gultsch
385692ea28
route jingle message inits
2020-04-20 15:57:30 +02:00
Daniel Gultsch
a4acfb2a19
clean iq callback code in XmppConnection
2020-04-20 15:57:30 +02:00
Daniel Gultsch
f9650b95d8
create stub JingleRTPConnection
2020-04-20 15:57:30 +02:00
Daniel Gultsch
963ddd11c2
refactor jingle code to use objects for TransportInfo
2020-04-20 15:57:29 +02:00
Daniel Gultsch
eb22bd0499
create 'Description' object
2020-04-20 15:57:29 +02:00
Daniel Gultsch
7538e387ec
fixed bug in ibb delivery introduced in earlier refactoring
2020-04-20 15:57:29 +02:00
Daniel Gultsch
34f42c73bc
cleaned JinglePacket and Content element
2020-04-20 15:57:29 +02:00
Daniel Gultsch
23ebb6ae80
rename JingleConnection to JingleFileTransferConnection; use ID tuple to identify sessions
2020-04-20 15:57:29 +02:00
Daniel Gultsch
d039c4870f
support registration via pars tokens
2020-01-09 17:42:02 +01:00
Marc Schink
cae124d93f
createOutputStream(): allow to disable decryption
2019-12-20 19:17:55 +01:00
Daniel Gultsch
a3d639747a
fixups for last commit
2019-12-05 14:03:54 +01:00
Daniel Gultsch
8263fb73e9
jingle ibb: wait to receive ibb
...
previously we signalled succesfull file reception after receiving enough bytes on ibb;
however that causes us to race with the session-info file hash. now the recipient will wait for
<close/> and the sender will make sure to send the session-info before sending close.
closes #3500
2019-12-05 13:28:14 +01:00
Daniel Gultsch
79e174743e
check if sender is in contact list before accepting jingle file
2019-11-09 22:58:02 +01:00
Daniel Gultsch
f6724e405e
allow jingle state transition for fallback after proxy failure
2019-11-09 09:31:35 +01:00
Daniel Gultsch
8e42d0d39c
make jingle state transitions less error prone
2019-11-08 22:27:14 +01:00
Daniel Gultsch
4df8343b05
set autojoin=true after following invite
2019-10-07 09:51:03 +02:00
Daniel Gultsch
f530e395ca
bookmarks2. introduce #compat namespace
2019-10-07 09:37:12 +02:00
Daniel Gultsch
f26e0720c6
support for purge and delete
2019-10-07 09:37:12 +02:00
Daniel Gultsch
f1aa5f2cab
support for delete bookmarks2
2019-10-07 09:37:12 +02:00
Daniel Gultsch
6923b2898c
WIP Bookmarks 2 support
2019-10-07 09:37:12 +02:00
Daniel Gultsch
6155938623
show reason in error message
2019-10-05 22:14:38 +02:00
Daniel Gultsch
d6835101b9
fixes for previous commit
2019-10-05 21:58:21 +02:00
Daniel Gultsch
7ce7a505a0
mark cancelled jingle ft as such on both sides
...
fixes #3554
2019-10-05 21:30:15 +02:00
Daniel Gultsch
6776603b90
fully read port in socks connection
...
incoming direct connections in receive mode wouldn’t clear the entire
destination from the input stream; thus adding a leading 0x00 to the file
fixes #3557
2019-10-03 20:47:31 +02:00
Daniel Gultsch
3d332f6f35
set shorter timeouts when using direct candidates
2019-10-03 09:37:01 +02:00
Daniel Gultsch
f8bd4284a5
report not-acceptable on jingle errors
2019-10-01 11:31:15 +02:00
Daniel Gultsch
d2d9bbe3da
improved jingle debugging
2019-09-29 13:32:45 +02:00
Daniel Gultsch
ed46d12115
close correct socket after faulty jingle socks connection
2019-09-20 10:00:57 +02:00
Daniel Gultsch
9bf5fb98ac
show language in message bubble if multiple language variants were received
...
XML and by inheritence XMPP has the feature of transmitting multiple language
variants for the same content. This can be really useful if, for example, you
are talking to an automated system. A chat bot could greet you in your own
language.
On the wire this will usually look like this:
```xml
<message to="you">
<body>Good morning</body>
<body xml:lang="de">Guten Morgen</body>
</message>
```
However receiving such a message in a group chat can be very confusing and
potentially dangerous if the sender puts conflicting information in there and
different people get shown different strings.
Disabeling support for localization entirely isn’t an ideal solution as on
principle it is still a good feature; and other clients might still show a
localization even if Conversations would always show the default language.
So instead Conversations now shows the displayed language in a corner of the
message bubble if more than one translation has been received.
If multiple languages are received Conversations will attempt to find one in
the language the operating system is set to. If no such translation can be
found it will attempt to display the English string.
If English can not be found either (for example a message that only has ru and
fr on a phone that is set to de) it will display what ever language came first.
Furthermore Conversations will discard (not show at all) messages with with
multiple bodies of the same language. (This is considered an invalid message)
The lanuage tag will not be shown if Conversations received a single body in
a language not understood by the user. (For example operating system set to
'de' and message received with one body in 'ru' will just display that body as
usual.)
As a guide line to the user: If you are reading a message where it is important
that this message is not interpreted differently by different people (like a
vote (+1 / -1) in a chat room) make sure it has *no* language tag.
2019-09-12 10:12:51 +02:00
Daniel Gultsch
dd9777a6b7
do not include scope in ipv6 annoucment
2019-09-08 17:44:26 +02:00
Daniel Gultsch
9129c9acde
JET uses plain text file size
2019-09-06 13:11:37 +02:00
Daniel Gultsch
0e1c26c569
do not include link local in direct candidates
2019-09-05 13:17:45 +02:00
Daniel Gultsch
571c29f92a
make Tor connections work with direct TLS
2019-09-05 12:08:58 +02:00
Daniel Gultsch
7ec1b443ab
implemented support for for jingle encrypted transports (XEP-0396)
2019-09-04 16:14:01 +02:00
Daniel Gultsch
ff4d127b6f
use higher priority for proxy on receiving end
2019-09-02 08:51:50 +02:00
Daniel Gultsch
90e669313e
send fallback to ibb after proxy activation failed
2019-09-01 21:41:28 +02:00
Daniel Gultsch
10b1365264
also reply with direct connections on response
2019-09-01 20:42:07 +02:00
Daniel Gultsch
1c413edf06
bare minimum direct connections
2019-09-01 15:06:59 +02:00
Daniel Gultsch
783ed53d3a
order canditates by priority before attempting to connect
2019-09-01 11:34:36 +02:00
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