Commit Graph

26 Commits

Author SHA1 Message Date
Jordan Rose
4a0879eb78
Add OWSChatConnectionUsingLibsignal
The choice of whether or not to use this is controlled by a
RemoteConfig flag, ios.experimentalTransportEnabled.libsignal, but
because ChatConnectionManager is set up before RemoteConfig has even
loaded its cached settings, the flag is cached in UserDefaults, like
the shadowing kill switch setting.
2024-04-26 13:13:48 -07:00
Pete Walters
5bc53062c6
Request backup auth credentials and make initial requests. 2024-04-26 09:40:42 -05:00
Sasha Weiss
c26ad8a4e5
Add an "inactive linked device" megaphone 2024-04-24 11:28:33 -07:00
Jordan Rose
f78a4dfaa5 OWSChatConnection: disable shadowing requests under CC
The previous comment describes the planned behavior, but it isn't
actually working yet.
2024-04-22 10:01:13 -07:00
Jordan Rose
4afddfe93d
Add a RemoteConfig flag to turn off libsignal unauth request shadowing
It's not likely we'll need this, but just in case.
2024-04-22 10:00:54 -07:00
Jordan Rose
c3da50e5d5 OWSChatConnection: Bump the libsignal shadowing timeout to 3sec
Most requests on good networks happen well under 2sec, but there have
been a few timeouts that seem spurious (distinct from a series of
timeouts all happening in a row on the libsignal websocket).
2024-04-22 09:49:58 -07:00
Max Radermacher
a241f40621
Fix a few build warnings 2024-04-17 19:11:13 -05:00
Max Radermacher
e9cdafcff4
Format sender certificate parameters correctly 2024-04-17 17:40:56 -05:00
Alex Konradi
923314a147
Request new ZKC-based auth credential 2024-04-16 11:54:14 -04:00
Max Radermacher
7b4598480b
Remove unused includeUuid query parameter 2024-04-15 16:18:50 -05:00
Ehren Kret
fd94424be0 start migrating MIMETypeUtil to swift 2024-04-11 22:19:16 -05:00
Jordan Rose
582254c51a For testing, allow TLS proxies to use TCP for the outer connection
Invoke this non-recommended mode with URL username syntax of
"UNENCRYPTED_FOR_TESTING@my-proxy.net" (or more likely
"UNENCRYPTED_FOR_TESTING@my-dev-machine.local"). The connection to the
Signal servers is still secured by TLS; it's only the outer connection
from the client to the proxy that's now unauthenticated.
2024-04-11 17:08:19 -07:00
Jordan Rose
68901267fd OWSChatConnection: Improve shadowing logs
...mainly by including the original request ID, so they can be
correlated better.
2024-04-11 16:51:01 -07:00
Max Radermacher
7a396ba9f7
Fix malformed request errors for long URLs 2024-04-05 20:05:17 -05:00
Jordan Rose
e8eed60d35 Shadow successful unauth chat requests with a libsignal request
This will help identify scenarios where libsignal is deficient
compared to the current implementation.
2024-04-04 14:43:31 -07:00
Jordan Rose
32612376a9 OWSChatConnection: micro-optimization 2024-04-04 14:43:31 -07:00
Jordan Rose
70b3e6542b OWSChatConnection: remove unused variable 2024-04-04 14:43:31 -07:00
Jordan Rose
832fd61c82 OWSChatConnection: Simplify/consolidate request building 2024-04-04 14:43:31 -07:00
Jordan Rose
b0de59f2e2 Remove required from every init that is not dynamically dispatched
This included:
- Removing unavailable inits wholesale if no longer `required`
- Marking a few classes `final` so they could continue using
  `Self(...)` rather than `OWSWhatever(...)`
2024-04-01 15:27:20 -07:00
adel-signal
eeb0658bb1
calling: update 1:1 calls to use new calling/relays endpoint 2024-03-28 10:59:08 -07:00
Jordan Rose
8f3b28c09c OWSChatConnection: percent-encode websocket request paths
The server decodes percent-escapes within these paths, so we should
leave them encoded, as URL provides by default.
2024-03-28 10:45:17 -07:00
Harry
b8c55601dd
Update a few simple callsites to use PreparedOutgoingMessage 2024-03-28 10:37:00 -07:00
Jordan Rose
3df4d465fe Remove AtomicLock; it was just a simple wrapper around UnfairLock 2024-03-27 10:57:32 -07:00
Jordan Rose
2727a70b90 Make AtomicValue's lock-sharing explicit
Also:
- Remove AtomicUInt's @objc, it's no longer used from ObjC
- Remove Codable conformances, they would implicitly use shared locks
  and weren't used in practice
2024-03-27 10:57:32 -07:00
Max Radermacher
0d8166682d
Run clang-format on SignalServiceKit/ files 2024-03-27 12:27:06 -05:00
Max Radermacher
e10faa8593
Remove src/ prefix from SignalServiceKit files 2024-03-27 12:22:52 -05:00