Commit Graph

220 Commits

Author SHA1 Message Date
5b4fd33cc2 xmpp: Explicitly handle [RoutingState.error] 2022-01-23 12:25:00 +01:00
2aee1a814f style: Remove unneccessary 'initializer' 2022-01-23 12:23:10 +01:00
3073321ecd style: Fix filename issues 2022-01-23 12:18:30 +01:00
f8acf98ebd style: Spent 6h fixing linter warnings 2022-01-21 17:44:48 +01:00
cbce0fb3df xmpp: Factor out the double loops 2022-01-21 11:50:11 +01:00
1b4872f016 xmpp: Improve tests and fix our first vulnerability
In order to test the [RosterManager], I decided to add a test to ensure
vulnerabilities like CVE-2015-8688 won't happen. But as it turns out,
I got the logic wrong in the [RosterManager] base implementation which
would've allowed a malicious actor to inject a roster push. oof.
2022-01-21 11:23:09 +01:00
dadd659eba xmpp: Remove a TODO 2022-01-21 09:39:12 +01:00
abadc0214f xmpp: Implement plain resource binding 2022-01-21 09:34:38 +01:00
f678f1b26d xmpp: Fix missing import 2022-01-21 09:02:05 +01:00
5abb3059bf xmpp: Re-implement read-only support of chat markers 2022-01-20 22:06:01 +01:00
c09184597c xmpp: Make StanzaHandler callbacks async 2022-01-20 17:55:26 +01:00
af458df136 xmpp: React to the capability node in disco#info requests 2022-01-20 17:38:11 +01:00
2d05abf552 xmpp: Make sendEvent private 2022-01-20 17:12:31 +01:00
e476978639 xmpp: Move initial presence to the PresenceManager 2022-01-20 17:10:33 +01:00
57e04efb98 xmpp: Move sendMessage to MessageManager 2022-01-20 16:57:10 +01:00
868290baca xmpp: Add persistence overrides for RosterManager 2022-01-20 13:15:34 +01:00
cc2b837340 xmpp: Allow persistence overriding StreamManagementManager 2022-01-20 12:58:35 +01:00
136a1f0cef xmpp: Move CSI into its own manager 2022-01-19 18:55:38 +01:00
8daee01915 xmpp: Move roster functions into the RosterManager 2022-01-19 16:28:09 +01:00
adc9979df8 xmpp: Huge rework of stanza handling
Instead of putting everything into [XmppConnection], let's put
everything into its own [XmppManagerBase] base subclass.

- Improves testability
- Makes extensions easier
- Allows easier usage of lib/xmpp as its own library
2022-01-19 15:59:48 +01:00
4de3ac8d5f xmpp: Generate IDs using UUIDv4 2022-01-18 15:58:25 +01:00
7cf0a8a826 xmpp: Implement XEP-0115 2022-01-18 12:07:50 +01:00
725f195ef4 xmpp: Make the stream header completely XMLNode 2022-01-17 22:56:04 +01:00
4c87cae569 xmpp: Implement CSI 2022-01-17 22:46:23 +01:00
c1d9b50d8d xmpp: Listen to the error stream 2022-01-17 16:55:16 +01:00
17b97d8c03 style: Small improvement 2022-01-17 14:13:54 +01:00
dd76e219ea xmpp: Improve the socket 2022-01-17 14:12:04 +01:00
54cf44706a xmpp: Make reconnecting work 2022-01-17 14:04:30 +01:00
05c8f40ae6 WIP: Fix crash when reconnecting 2022-01-16 21:43:33 +01:00
abb58b39c8 xmpp: Prepare network state watching 2022-01-16 21:29:01 +01:00
870869c3a1 test: Modularize the StubSocket 2022-01-16 13:33:52 +01:00
a5142bb6e0 xmpp: Add some comments 2022-01-14 21:52:19 +01:00
907caf20d7 WIP: Move the XMPP connection into a foreground service 2022-01-14 21:37:54 +01:00
a6ca1ef127 xmpp: Somewhat implement a send queue 2022-01-10 20:33:52 +01:00
bdb8530675 refactor: conversation.dart -> database.dart 2022-01-10 15:17:14 +01:00
8d3b0bc80c ui: Implement conversation closing 2022-01-10 11:55:54 +01:00
209d56d6e5 xmpp: Send unsubscription request when removing 2022-01-09 23:40:15 +01:00
b02a344fb3 xmpp: Fix removing roster items 2022-01-09 23:38:28 +01:00
09d9d52a5b xmpp: Rework 2022-01-09 22:50:15 +01:00
2dd29a612a xmpp: Set the connection state to error on... error 2022-01-05 18:07:59 +01:00
2fd7cefa97 ui: Implement login failures 2022-01-05 18:06:55 +01:00
2212d778e1 xmpp: It's a mess but roster deletion kinda works 2022-01-05 14:45:24 +01:00
b3ddb33ebc backend: Begin implementing roster removal 2022-01-04 22:41:39 +01:00
78a7eb8f77 xmpp: Implement basic roster mechanics 2022-01-04 17:37:06 +01:00
d79518c0dc redux: Remove the (not commited) credentials from main.dart and enable login 2022-01-03 00:08:39 +01:00
51f4b21157 xmpp: Ckear stream features before processing them 2022-01-02 22:43:25 +01:00
a897eba033 xmpp: Ping open the connection every 5 minutes 2022-01-02 17:28:29 +01:00
2ee72c0345 xmpp: ALLOW SENDING MESSAGES 2022-01-02 16:21:31 +01:00
ca11e31876 xmpp: Remove testing comment 2022-01-02 14:48:47 +01:00
5eed04290e xmpp: Factor out the stream buffering for testing 2022-01-02 14:44:31 +01:00