Commit graph

860 commits

Author SHA1 Message Date
Daniel Gultsch 1e0904a48d
use less entropy in SASL2 device id 2023-01-06 12:41:26 +01:00
Daniel Gultsch 1000d927a7
remove work arounds for nimbuzz.com 2023-01-01 12:20:10 +01:00
Daniel Gultsch 97d9cb7dd5
remove work arounds for slack 2023-01-01 12:05:49 +01:00
Daniel Gultsch 0cec499565
make sure we don’t dispose video source twice 2022-12-30 12:16:19 +01:00
Daniel Gultsch a7fe3e8372
reset stanza count when enabling SM via SASL inline 2022-12-30 12:09:16 +01:00
Daniel Gultsch 01fba162f0
code clean up. use Optional to parse SM’s h attribute 2022-12-30 10:53:49 +01:00
Daniel Gultsch f5b7fbc441
add log when we requested token but didn’t get one 2022-12-30 09:00:42 +01:00
Daniel Gultsch 13606aae60
add todo item in turn server code 2022-12-29 14:53:05 +01:00
Daniel Gultsch ce0992036a
disable proximity sensor after switching from audio to video 2022-12-29 12:53:59 +01:00
Daniel Gultsch 909aa72b25 catch exception in getSignalingState() 2022-12-24 10:55:16 +01:00
Daniel Gultsch 36efd51a7f fix transports/descriptions not upgraded to jingle ft
fixes #4429
2022-12-20 19:28:47 +01:00
Daniel Gultsch 499c4ddd0a do not detect sm:2 as sm available
the 2.11.0 release removed support for enabling sm:2
unfortunatly sm:2 was still detected as "server supports stream managment"
down the line leading to resend loops.

fixes #4426
2022-12-16 08:07:46 +01:00
Daniel Gultsch 4ef4207593 show switch to video only if other party has caps
fixes #4421
2022-12-12 10:15:13 +01:00
Daniel Gultsch bb52962f0d delay candidates until after session-init/accept 2022-12-05 15:40:07 +01:00
Daniel Gultsch 2c7c44e957 null PeerConnection reference before disposing; otherwise getState() might be issued against disposed object 2022-12-01 20:46:18 +01:00
Daniel Gultsch 80d195d35e avoid race condition when restarting ICE 2022-11-30 17:32:46 +01:00
Daniel Gultsch 4e8ceadfbf prepare JingleRtpConnection for content-adds 2022-11-28 08:59:23 +01:00
Daniel Gultsch f4be142e4d add helper methods for content modification to RtpContentMap 2022-11-22 10:13:48 +01:00
Daniel Gultsch e2f98f6bbc ensure cc-ed proceed is equivalent to accept 2022-11-22 10:13:07 +01:00
Daniel Gultsch 9897fa3a45 rename initiateIceRestart to renegotiate to handle content adds 2022-11-21 09:10:01 +01:00
Daniel Gultsch 304205b2e3 take senders attr into account when converting to and from sdp 2022-11-20 17:00:40 +01:00
Daniel Gultsch 59ea66ca78 make sure VideoSourceWrapper is stored in property 2022-11-19 14:19:07 +01:00
Daniel Gultsch 27d8da2ab4 refactor WebRTCWrapper to allow for track adds 2022-11-19 13:03:34 +01:00
Daniel Gultsch 8fb2c11771 use plurals for missed call strings 2022-11-19 08:14:50 +01:00
Daniel Gultsch 6b9ebb3abf remove TODO 2022-11-18 10:40:16 +01:00
Daniel Gultsch 109a20ca40 do not expect stream features after inline resume 2022-11-17 10:52:30 +01:00
Daniel Gultsch 29461edf40 process challenge only on secure connection 2022-11-17 07:48:09 +01:00
Daniel Gultsch 44bfff7e49 fall back to regular authentication if fast fails 2022-11-16 11:00:43 +01:00
Daniel Gultsch 6ececb4d2b refactor webrtc video source + capture code 2022-11-12 13:37:56 +01:00
Daniel Gultsch dac2e17133 disable quick start if fast is available but we didn’t use fast 2022-11-01 18:06:32 +01:00
Daniel Gultsch 35ee01cb28 reset fast token on login failure 2022-11-01 16:44:36 +01:00
Daniel Gultsch e2b9f0e77a add support for HashedToken channel binding 2022-10-15 20:53:59 +02:00
Daniel Gultsch 24badda4c9 do quick start with HT-SHA-256-NONE 2022-10-15 18:56:31 +02:00
Daniel Gultsch c13787873c request fast token 2022-10-15 12:27:38 +02:00
Daniel Gultsch 3378447f60 parse hash token names 2022-10-15 00:09:29 +02:00
Daniel Gultsch 0cd416298d ensure we only select channel binding methods available for tls version 2022-10-14 20:00:36 +02:00
Daniel Gultsch 7eb160386d enable SM if it wasn’t enabled in bind 2 2022-10-14 13:29:59 +02:00
Daniel Gultsch 9a0c90f066 read new stream features directly after success 2022-10-14 13:13:21 +02:00
Daniel Gultsch cb775ece99 wait for DB restore before bind 2022-09-26 09:47:53 +02:00
Daniel Gultsch 3d56d01826 handle case when server loses support for quick start 2022-09-26 07:53:48 +02:00
Daniel Gultsch 32f9a58d9a pipeline sasl2 directly after stream start 2022-09-25 14:13:04 +02:00
Daniel Gultsch 126e8ef08c refactor sasl 2 authentication code 2022-09-24 14:58:49 +02:00
Daniel Gultsch 9f5da67539 use bind:0 namespace 2022-09-24 11:59:53 +02:00
Daniel Gultsch 5a3cca9554 use bind 2 tag and sasl 2 user-agent 2022-09-15 14:28:51 +02:00
Daniel Gultsch bf15070fef bump sasl2 namespace 2022-09-15 13:10:15 +02:00
Daniel Gultsch 495f79921d store full sasl mechanism (not just priority) 2022-09-15 12:22:05 +02:00
Daniel Gultsch d4ec1eaf38 refactor processFailure and processChallange into methods 2022-09-07 10:31:11 +02:00
Daniel Gultsch 5da9f5b3a3 refactor ScramMechanism to support PLUS 2022-09-06 16:28:28 +02:00
Daniel Gultsch b78acb6fca extract channel binding types via XEP-0440 2022-09-06 14:53:12 +02:00
Daniel Gultsch a210568a9c refactor SASL choice into factory; remove unused TagWriter 2022-09-06 09:25:23 +02:00
Daniel Gultsch eee14a822a add todos 2022-09-05 11:07:25 +02:00
Daniel Gultsch e0bd1d168c do not attempt resume when already in smacks session 2022-09-04 09:28:00 +02:00
Daniel Gultsch 052c58f377 rudimentary bind 2 implementation 2022-09-03 20:17:29 +02:00
Daniel Gultsch 00dd9a8058 remove support for sm:2 2022-09-03 12:16:06 +02:00
Daniel Gultsch 4f92ba880b process authorization id in case full jid changes 2022-08-30 09:31:06 +02:00
Daniel Gultsch 3fac7d4992 fix very rare NPE (race condition) 2022-08-30 08:21:32 +02:00
Daniel Gultsch 8f76084a43 add sm-failed processing 2022-08-29 19:44:39 +02:00
Daniel Gultsch 7ea4f64ce4 code clean up for resumed processing 2022-08-29 19:30:03 +02:00
Daniel Gultsch f6ab3dd068 support resume via sasl 2.0 2022-08-29 19:22:25 +02:00
Daniel Gultsch 928a16d31d abort on 'continue' - no client support 2022-08-29 18:53:34 +02:00
Daniel Gultsch 6202cbe26b minor code clean up for tag and element 2022-08-29 18:40:49 +02:00
Daniel Gultsch 5fc8ff899a support logging in via SASL 2 2022-08-29 17:09:52 +02:00
Daniel Gultsch a717917b3d explicitly search for namespaces when processing stream features 2022-08-29 15:09:53 +02:00
Dmitry Markin a6b88ba9e9
Add missed call notifications
Co-authored-by: Daniel Gultsch <daniel@gultsch.de>
2022-08-29 12:41:35 +02:00
Daniel Gultsch e8736d5f1b bump guava library 2022-08-22 11:29:04 +02:00
Daniel Gultsch fe3433e427 do not accept empty credentials as ice-restart 2022-08-10 09:11:09 +02:00
Daniel Gultsch d41020ccf3 ignore race condition after reject from notification
fixes #4351
fixes #4261
2022-08-05 10:46:15 +02:00
Daniel Gultsch 62a379862e jingle rtp: improve logging and error reporting 2022-08-01 10:14:49 +02:00
Daniel Gultsch 42bd8e6d61 minor code clean up 2022-06-22 07:56:44 +02:00
Daniel Gultsch a9dd5a3c76 support sasl/temporary-auth-failure
if the server is unable to query the database throwing a temporary-auth-failure
might be more appropriate
2022-06-14 08:39:58 +02:00
Stephen Paul Weber 78048bbd3d Enable WebRTC-BindUsingInterfaceName/Enabled/
This makes 464XLAT networks (such as T-Mobile LTE) work.

https://bugs.chromium.org/p/webrtc/issues/detail?id=10707
2022-03-10 16:29:00 +01:00
Daniel Gultsch 372078629b fix ice candidate sending when different credentials are used 2022-02-25 17:26:36 +01:00
Daniel Gultsch 1f772df74f remove security check that ensures rtp connection was properly finished
this only causes race conditions
2022-02-25 16:24:16 +01:00
Daniel Gultsch d6be6ddd18 use full file name for all new files 2022-02-22 16:05:02 +01:00
Daniel Gultsch d7f38a3e5a fix precondition for timeout handling 2022-02-12 10:19:54 +01:00
Daniel Gultsch b6442c0bd4 add Samsung S4 to hardware aec blacklist
fixes #4267
2022-01-18 11:30:23 +01:00
Daniel Gultsch db834a1f07 indicate call reconnect in notification 2021-11-19 12:26:11 +01:00
Daniel Gultsch f8a94161db don't play tone going from connect->reconnect->connect 2021-11-19 12:25:27 +01:00
Daniel Gultsch a508a81553 externalize rtc config generation into seperate method 2021-11-17 11:33:15 +01:00
Daniel Gultsch 61fb38cd84 clean up some error handling error ICE restarts 2021-11-17 10:49:16 +01:00
Daniel Gultsch 0a18c8613f assume credentials are the same for all contents when restarting ICE 2021-11-16 17:08:34 +01:00
Daniel Gultsch abb671616c synchronize setDescription calls 2021-11-16 15:17:12 +01:00
Daniel Gultsch 297a843b9c use implicit rollback (needed to be enabled on libwebrtc) 2021-11-16 13:17:10 +01:00
Daniel Gultsch 0698fa0d8c store peer dtls setup for later use in ice restart 2021-11-16 11:21:11 +01:00
Daniel Gultsch 70b5d8d81a set proper peer dtls setup on ice restart received 2021-11-15 21:49:31 +01:00
Daniel Gultsch 0a3947b8e3 terminate with application failure when failing to apply ICE restart
This is fairly unlikely to happen in practice
2021-11-15 17:18:45 +01:00
Daniel Gultsch 3f402b132b respond with tie-break to prevent ICE restart race 2021-11-15 13:03:04 +01:00
Daniel Gultsch 5b80c62a63 treat transport-info w/o candidates and changed credentials as offer 2021-11-14 18:22:18 +01:00
Daniel Gultsch 717c83753f delay discovered ice candidates until JingleRtpConnection is ready to receive
otherwise setLocalDescription and the arrival of first candidates might race
the rtpContentDescription being set
2021-11-11 21:02:17 +01:00
Daniel Gultsch b6dee6da6a reverse: webrtc: include oldState in onConnectionChange
turns out we don’t need it and a better way is for RtpConnection to keep track of *all*
states in the current generation
2021-11-11 17:05:36 +01:00
Daniel Gultsch 9c3f55bef2 use stopwatch to keep track of jingle rtp session duration 2021-11-11 16:52:18 +01:00
Daniel Gultsch 9843b72f6f always use Camera2Enumerator 2021-11-11 15:23:45 +01:00
Daniel Gultsch 61851e5f84 do not automacially hang up failed webrtc sessions 2021-11-11 14:40:15 +01:00
Daniel Gultsch 4ec0996dff webrtc: include oldState in onConnectionChange 2021-11-11 11:19:37 +01:00
Daniel Gultsch fda45a7c86 use implicit descriptions for WebRTC
using the parameter-free form of setLocalDescription() solves some potential race conditions
that can occur - especially once we introduce restartIce()
2021-11-10 16:40:24 +01:00
Daniel Gultsch bae9fc45c2 make rtcpMux optional 2021-10-31 10:20:58 +01:00
Daniel Gultsch 20e4d108d4 fixed regression of not handling jingle content map parsing failures 2021-10-05 15:43:05 +02:00
Daniel Gultsch 3ede2d00bd remove logging 2021-10-02 16:54:19 +02:00
Daniel Gultsch d2a387e82f correctly calculate socks destination 2021-10-02 16:44:36 +02:00
Daniel Gultsch da14f83a42 ensure all bytes are read in socks handshake. fixes #4188 2021-10-02 14:24:36 +02:00