ac8433f51f
chore(core): Refactor RFC6120 implementations
2023-04-02 23:33:53 +02:00
808371b271
chore(tests): Fix tests
2023-04-02 23:23:50 +02:00
7fdd83ea69
chore(xep): Clean the SASL2 implementation
2023-04-02 23:06:02 +02:00
d977a74446
feat(tests): Add an integration test for SASL2
2023-04-02 17:20:14 +02:00
29f0419154
feat(meta): Remove log redaction
2023-04-02 14:38:32 +02:00
b354ca8d0a
feat(xep): Improve the ergonomics of Bind2 negotiators
2023-04-02 13:39:43 +02:00
ec6b5ab753
feat(xep): Allow inline enablement of carbons
2023-04-02 12:44:09 +02:00
ce1815d1f3
fix(tests): Fix namespace of <bound />
2023-04-02 12:43:28 +02:00
fbb495dc2f
feat(xep): Allow inlining CSI
2023-04-01 23:16:37 +02:00
4a6aa79e56
fix(xep): When using FAST, fallback to other SASL mechanisms on failure
2023-04-01 21:42:52 +02:00
0033d0eb6e
feat(xep): Implement FAST
2023-04-01 21:10:46 +02:00
24cb05f91b
feat(xep): Handle inline stream enablement with Bind2
2023-04-01 17:38:40 +02:00
91f763ac26
feat(xep): Allow negotiating SM enabling inline with Bind2
2023-04-01 17:16:29 +02:00
51edb61443
feat(xep): Implement SASL2 inline stream resumption
2023-04-01 15:50:13 +02:00
4e01d32e90
feat(xep): Allow setting a tag when using Bind2
2023-04-01 13:15:46 +02:00
f2fe06104c
fix(core): Fix formatting
2023-04-01 13:13:19 +02:00
89fe8f0a9c
feat(core): Make the PresenceManager optional
2023-04-01 13:09:43 +02:00
9358175925
feat(xep): Inline resource binding with Bind2
2023-04-01 13:00:35 +02:00
564a237986
feat(xep): Set the resource if SASL2 resulted in a resource
2023-04-01 12:51:26 +02:00
cf425917cf
feat(core): Reset the resource if lastResource is null
2023-04-01 12:39:15 +02:00
63b7abd6f9
fix(core): Prevent resource binding if we already have a resource
2023-04-01 12:38:18 +02:00
f460e5ebe9
feat(core): Handle less resource binding in the core connection class
2023-04-01 12:28:11 +02:00
af8bc606d6
feat(xep): Guard against random data in the SASL2 result
2023-04-01 00:51:51 +02:00
30482c86f0
feat(xep): Implement inline negotiation
2023-04-01 00:47:45 +02:00
f86dbe6af8
feat(core): Verify the server signature with SASL2
2023-03-31 23:52:48 +02:00
478b5b8770
feat(core): Make SCRAM SASL2 aware
2023-03-31 21:09:16 +02:00
7ab3f4f0d9
feat(xep): Implement negotiating PLAIN via SASL2
2023-03-31 20:53:06 +02:00
2e60e9841e
feat(xep): Begin work on SASL2
2023-03-31 19:02:57 +02:00
52ad9a7ddb
fix(core): Reset the connection tracker when timing out
2023-03-31 15:53:11 +02:00
ac5e0c13b7
fix(xep): Do not subscribe to the data node
2023-03-31 15:52:50 +02:00
d4a972e073
feat(core): Close the socket on an error
2023-03-30 16:17:42 +02:00
1009a2f967
feat(core): Fix typing and remove logging parameter
2023-03-30 16:17:12 +02:00
f355f01fc8
fix(tests): Fix integration tests
2023-03-30 16:15:44 +02:00
85995d51e4
feat(core): Remove SendPingEvent
2023-03-29 17:18:03 +02:00
2557a2fe5b
feat(core): Make the ping manager optional
2023-03-29 15:25:17 +02:00
4321573dfb
fix(core): Fix reconnections not working properly
2023-03-21 12:01:22 +01:00
70d4d6c56f
feat(core): Use _testAndSetIsConnectionRunning
2023-03-18 18:41:58 +01:00
e1e492832e
chore(tests): Format and lint tests
2023-03-18 16:13:45 +01:00
de85bf848d
fix(core): Fix crash when no negotiator matches
...
Fixes #30 .
Also removes the `allowPlainAuth` attribute of `ConnectionSettings` as
users who want to disable SASL PLAIN can just not register the
negotiator or extend it.
2023-03-18 14:54:39 +01:00
7a6bf468bc
test(xep): Add a test for parsing sticker packs
2023-03-16 22:04:25 +01:00
9cb6346c4d
fix(style): Format and lint test helpers
2023-03-12 19:19:53 +01:00
f49eb66bb7
fix(xep): Fix usage of 'max' in publish options ( #33 )
...
This commit fixes two issues:
1. Fix an issue where [PubSubManager.publish] would always, if given
publish options with maxItems set to 'max', use 'max' in the
max_items publish options, even if the server indicates it does not
support that.
2. Fix an issue with the StanzaExpectation, where it would let every
stanza pass.
2023-03-12 19:11:55 +01:00
5b4dcc67b2
refactor(core): Remove XmppConnectionResult
2023-03-11 19:07:03 +01:00
9010218b10
refactor(core): Move connection errors into their own file
2023-03-11 19:06:28 +01:00
61144a10b3
fix(core): Minor API change
2023-03-11 19:01:55 +01:00
7a1f737c65
chore(meta): Bump version
2023-03-11 19:00:42 +01:00
546c032d43
fix(tests): Fix broken test
2023-03-11 18:59:40 +01:00
b1869be3d9
chore(docs): Update changelog
2023-03-11 18:59:22 +01:00
574fdfecaa
feat(core): Merge connect and connectAwaitable
2023-03-11 18:54:36 +01:00
25c778965c
feat(core): Merge connect and connectAwaitable
2023-03-11 00:10:50 +01:00
8b0f118e2d
fix(style): Format using dart format
2023-03-08 20:25:45 +01:00
38155051f5
fix(style): Format using dart format
2023-03-08 19:32:03 +01:00
1000e0756b
feat: Improve detecting new streams
...
Fixes #26 .
2023-01-31 21:11:52 +01:00
902b497526
docs: Add links to the hosted documentation
2023-01-28 15:33:21 +01:00
252cc44841
feat: Make moxxmpp docs buildable using flakes
2023-01-28 15:22:37 +01:00
96d9ce4761
feat: Don't attempt reconnections when the error is unrecoverable
...
Fixes #25 .
Should fix #24 .
2023-01-28 13:20:16 +01:00
7f294d6632
fix: Bump version requirement for moxxmpp
2023-01-27 22:03:20 +01:00
e17de9065b
feat: Bump moxxmpp_socket_tcp to 0.2.0
2023-01-27 22:01:32 +01:00
098687de45
feat: Bump moxxmpp version to 0.2.0
2023-01-27 21:57:26 +01:00
6da3342f22
feat: Make defining managers better
2023-01-27 21:54:16 +01:00
47337540f5
feat: Factor out "multiple-waiting" into its own thing
2023-01-27 21:14:35 +01:00
7e588f01b0
feat: Add DOAP
...
Fixes #11 .
2023-01-27 19:09:05 +01:00
c7c6c9dae4
feat: Update Message Replies to 0.2.0
...
Fixes #22 .
2023-01-27 19:08:57 +01:00
c77cfc4dcd
feat: Change namespaces
2023-01-27 18:34:13 +01:00
1bd61076ea
feat: Improve the API provided by the DiscoManager
...
Fixes #21 .
2023-01-27 16:26:01 +01:00
bff4a6f707
feat: Rework how the ReconnectionPolicy system works
2023-01-27 00:14:44 +01:00
1cc266c675
fix: Just use shouldEncryptElement for the envelope "validation"
2023-01-23 13:11:07 +01:00
72099dfde5
feat: Only add envelope elements that should be encrypted
2023-01-23 13:10:07 +01:00
c9c45baabc
feat: Allow easier responding to incoming stanzas
...
Should fix #20 .
2023-01-23 12:47:30 +01:00
a01022c217
feat: Bump omemo_dart
2023-01-22 19:25:52 +01:00
c3459e6820
feat: Always set a cancel reason on failure
2023-01-21 20:46:45 +01:00
e031e6d760
feat: Add cancelReason if recipient likely does not support OMEMO:2
2023-01-21 15:42:00 +01:00
6c63b53cf4
fix: Fix crash with direct server IQs
ci/woodpecker/push/woodpecker Pipeline was successful
2023-01-15 00:52:34 +01:00
1aa50699ad
feat: Improve the stanza await system
...
ci/woodpecker/push/woodpecker Pipeline was successful
This fixes an issue where publishing an avatar would fail, if returned
an error where the "from" attribute is missing from the stanza.
2023-01-14 16:28:37 +01:00
b16c9f4b30
docs: Add more doc strings
2023-01-14 15:00:02 +01:00
a8d80eaddf
fix: Add the closure expectation to the event
2023-01-14 12:41:17 +01:00
9baf1ed73c
fix: Attempt to fix reconnection issues
...
Call _reconnectionPolicy.onSuccess when negotiations are done. Never
call onFailure directly; only ever call handleError.
2023-01-14 12:39:55 +01:00
ce3ea656ad
fix: Stop ack timer on connection drops
...
Fixes #17 .
2023-01-14 12:04:52 +01:00
ed49212f5a
fix: Enabling carbons crashes
2023-01-13 15:17:21 +01:00
ad1242c47d
feat: Try to lock reconnections behind a flag
2023-01-13 15:16:51 +01:00
890fcfb506
feat: Do initialization inline
2023-01-13 14:44:06 +01:00
d7723615fe
fix: Fix message quote generation
2023-01-13 13:39:18 +01:00
6517065a1a
feat: Track stanza responses as a tuple of (to, id)
...
Also fixes an invalid test case in the XEP-0198 tests, where
the IQ reply sets the "to" instead of the "from".
2023-01-10 12:50:07 +01:00
9223a7d403
feat: Add docs for including a tagged version
2023-01-10 12:25:56 +01:00
7ce6703c5b
tests: Fix the XEP-0198 test
2023-01-09 12:53:22 +01:00
37261cddbb
fix: Run Stream Management very early
2023-01-09 12:48:30 +01:00
98e5324409
fix: Copy the pre handler's encryption state
2023-01-07 22:18:20 +01:00
a69c2a23f2
fix: Bump omemo_dart version
2023-01-07 22:18:05 +01:00
d8de093e4d
fix: Somewhat fix OMEMO
2023-01-07 21:57:56 +01:00
678564dbb3
fix: Roster request being treated as a roster push
2023-01-07 21:23:45 +01:00
09d2601e85
fix: Compare groups
2023-01-07 19:58:46 +01:00
41560682a1
fix: Handle roster items staying the same
2023-01-07 19:03:35 +01:00
473f8e4bb6
tests: Fix tests
2023-01-07 18:40:36 +01:00
67446285c1
feat: Refactor RosterPushEvent to RosterPushResult
2023-01-07 18:36:18 +01:00
e12f4688d3
feat: Trigger an event when the roster changes
2023-01-07 18:32:15 +01:00
2581bbe203
feat: Document the RosterStateManager better
2023-01-07 18:11:41 +01:00
995f2e0248
feat: Integrate the BaseRosterStateManager with the RosterManager
2023-01-07 16:26:15 +01:00
e2c8f79429
feat: Add a management class for roster state
2023-01-07 15:51:10 +01:00
763c93857d
feat: Simplify the JID parser
...
Fixes #13 .
2023-01-04 17:19:37 +01:00
55d2ef9c25
style: Remove newline
2023-01-02 17:53:06 +01:00