Commit Graph
100 Commits
Author SHA1 Message Date
PapaTutuWawa 60279a84e0 feat(all): Restrict extensions to StanzaHandlerExtension 2023-06-06 21:19:42 +02:00
PapaTutuWawa cf3287ccf4 feat(core): Remove freezed artifact 2023-06-06 20:26:35 +02:00
PapaTutuWawa 1ab0ed856f feat(all): Bump version to 0.4.0 2023-06-06 20:22:13 +02:00
PapaTutuWawa 10a5046431 feat(core): Rework [MessageEvent] 2023-06-06 16:19:16 +02:00
PapaTutuWawa 4d76b9f57a feat(core): Remove [MessageDetails] 2023-06-06 15:57:55 +02:00
PapaTutuWawa 0ec3777f44 feat(xep): Managers register the sending callback 2023-06-06 15:14:19 +02:00
PapaTutuWawa 6f5de9c4dc feat(xep): Implement the message sending callbacks 2023-06-06 14:12:49 +02:00
PapaTutuWawa 79d7e3ba64 feat(all): Move all managers to the new data system 2023-06-04 21:53:47 +02:00
PapaTutuWawa 8270185027 feat(core): Implement a typed map 2023-06-03 00:41:23 +02:00
PapaTutuWawa 9e0f38154e feat(all): Various changes
- Fix unavailable presence being sent *after* connecting
- Migrate more APIs to the JID class
- Advertise +notify for user avatar metadata
2023-06-02 22:00:44 +02:00
PapaTutuWawa 1475cb542f fix(xep): Just receiving <stanza-id/>s does not require disco
It is only required when we try to use them.
2023-05-25 12:42:42 +02:00
PapaTutuWawa b949ec6ff5 fix(docs): Fix typo 2023-05-24 23:44:48 +02:00
PapaTutuWawa c3be199cca Merge pull request 'Stanza send queue' (#40) from feat/send-queue into master
Reviewed-on: https://codeberg.org/moxxy/moxxmpp/pulls/40
2023-05-24 20:50:03 +00:00
PapaTutuWawa 83ebe58c47 feat(tests): Test emptying stanza queue on connect 2023-05-24 22:03:17 +02:00
PapaTutuWawa 4db0ef6b34 feat(core): Expose StanzaDetails 2023-05-24 20:41:02 +02:00
PapaTutuWawa b95e75329d feat(all): Remove StanzaAddFrom 2023-05-24 20:27:01 +02:00
PapaTutuWawa 3163101f82 feat(all): Migrate to the new StanzaDetails API 2023-05-24 14:28:42 +02:00
PapaTutuWawa bd4e1d28ea feat(core): Implement the send queue 2023-05-24 13:34:36 +02:00
PapaTutuWawa b1da6e5a53 chore(xep): Move DiscoManager from String to JID 2023-05-23 17:28:20 +02:00
PapaTutuWawa c6552968d5 feat(core): Remove resumed from connection state change events 2023-05-23 15:56:38 +02:00
PapaTutuWawa 1d87c0ce95 feat(xep): Separate XEP-0030 and XEP-0115 support
Also, we now validate whatever we get in terms of disco#info
and capability hashes before caching.
2023-05-23 15:52:48 +02:00
PapaTutuWawa da591a552d fix(xep): Fix discovery of XEP-0191 and XEP-0280 2023-05-16 19:06:50 +02:00
PapaTutuWawa 47b679d168 fix(xep): Do not set C2S counter to 0 after connecting 2023-05-16 13:45:52 +02:00
PapaTutuWawa 320f4a8d4c fix(xep): Fix issues with enhanced enums 2023-05-16 00:59:50 +02:00
PapaTutuWawa 1fdefacd52 feat(xep): Improve API using enhanced enums 2023-05-15 20:40:39 +02:00
PapaTutuWawa 09b8613c80 fix(style): Style fixes 2023-05-07 00:15:37 +02:00
PapaTutuWawa f3d906e69b feat(core): Re-add xmlns for StanzaHandler 2023-05-07 00:13:25 +02:00
PapaTutuWawa 483cb0d7f1 fix(core): Fix stream parsing breaking after some time 2023-05-07 00:09:35 +02:00
PapaTutuWawa f73daf4d1c fix(core): Fix getting stuck on invalid stream ends
Whenever the stream ends in a weird state, for example with
`<some-tag`, initiating a new stream will confuse the XML parser
and lead errors causing the connection to get stuck.

To fix this, we had to work around xml's extension methods and implement
the extensions in the new "stream parser" where we can reset the parser
(and by reset I mean replace) and thus continue with a fresh parsing state
whenever we reconnect (or connect).
2023-05-06 20:58:34 +02:00
PapaTutuWawa a8693da262 chore(xep): Formatting 2023-04-09 13:17:21 +02:00
PapaTutuWawa 0fb66f6aca fix(xep,core): Fix some reconnection issues
- Use handleError instead of directly invoking onFailure
- Stop the ack timer only when we receive ack responses
- NoConnectionPossibleErrors are not irrecoverable
2023-04-09 13:14:53 +02:00
PapaTutuWawa c9173c49bd feat(tests): Add a MUC component for testing 2023-04-09 13:14:30 +02:00
PapaTutuWawa 2de1126fa9 fix(example): Remove useDirectTLS 2023-04-09 13:14:06 +02:00
PapaTutuWawa 4d312b2100 chore(docs): Update changelog 2023-04-07 15:28:43 +02:00
PapaTutuWawa c1ad646905 fix(core,xep): Fix multiple issues
- Fix a deadlock in the RandomBackoffReconnectionPolicy on failure
- Fix enablement of stream management happening too early
2023-04-07 15:26:49 +02:00
PapaTutuWawa c88ab940c4 release: Version 0.3.1 2023-04-05 13:20:16 +02:00
PapaTutuWawa 916be1c927 fix(core): Fix components' stanza matching 2023-04-05 13:17:18 +02:00
PapaTutuWawa 5c47c35a46 chore(docs): Bump version of derivation 2023-04-04 16:03:42 +02:00
PapaTutuWawa 7f3538875b feat(core): Make all managers optional 2023-04-04 15:59:07 +02:00
PapaTutuWawa f6efa20ff4 chore(meta): Bump versions 2023-04-04 15:55:52 +02:00
PapaTutuWawa 8443411f07 fix(docs): XEP-0144 -> XEP-0114 2023-04-04 15:53:57 +02:00
PapaTutuWawa dc24b3c48a chore(core): Remove useDirectTLS 2023-04-04 15:52:56 +02:00
PapaTutuWawa f6abf3d5b5 feat(xep): Implement XEP-0114 2023-04-04 15:48:26 +02:00
PapaTutuWawa 63c84d9479 feat(core): Allow tracking the stream id 2023-04-03 23:18:10 +02:00
PapaTutuWawa 3e43ac22d7 feat(core): Remove getter and setter for connectionSettings 2023-04-03 17:56:31 +02:00
PapaTutuWawa 47d821c02e docs(core): Add comments to NegotiationsHandler 2023-04-03 16:17:09 +02:00
PapaTutuWawa 355d580a9a fix(tests): Fix negotiator tests 2023-04-03 16:15:46 +02:00
PapaTutuWawa 03328bdf7a feat(core): Allow implementing different negotiation strategies
Fixes #27.
2023-04-03 16:05:20 +02:00
PapaTutuWawa 275d6e0346 feat(core): Attempt to improve the ReconnectionPolicy 2023-04-03 13:40:13 +02:00
PapaTutuWawa 0d9afd546c feat(core): Remove ignoreLock 2023-04-03 12:47:38 +02:00
PapaTutuWawa 3da334b5cf feat(core): Remove the connection lock 2023-04-03 12:46:15 +02:00
PapaTutuWawa 2947e2c539 Merge pull request 'SASL2 and friends' (#34) from feat/sasl2 into master
Reviewed-on: https://codeberg.org/moxxy/moxxmpp/pulls/34
2023-04-02 21:36:02 +00:00
PapaTutuWawa ac8433f51f chore(core): Refactor RFC6120 implementations 2023-04-02 23:33:53 +02:00
PapaTutuWawa 808371b271 chore(tests): Fix tests 2023-04-02 23:23:50 +02:00
PapaTutuWawa 7fdd83ea69 chore(xep): Clean the SASL2 implementation 2023-04-02 23:06:02 +02:00
PapaTutuWawa 68e2a65dcf docs(tests): Mention that we need prosody-trunk 2023-04-02 19:49:00 +02:00
PapaTutuWawa d977a74446 feat(tests): Add an integration test for SASL2 2023-04-02 17:20:14 +02:00
PapaTutuWawa 29f0419154 feat(meta): Remove log redaction 2023-04-02 14:38:32 +02:00
PapaTutuWawa b354ca8d0a feat(xep): Improve the ergonomics of Bind2 negotiators 2023-04-02 13:39:43 +02:00
PapaTutuWawa ec6b5ab753 feat(xep): Allow inline enablement of carbons 2023-04-02 12:44:09 +02:00
PapaTutuWawa ce1815d1f3 fix(tests): Fix namespace of <bound /> 2023-04-02 12:43:28 +02:00
PapaTutuWawa fbb495dc2f feat(xep): Allow inlining CSI 2023-04-01 23:16:37 +02:00
PapaTutuWawa 4a6aa79e56 fix(xep): When using FAST, fallback to other SASL mechanisms on failure 2023-04-01 21:42:52 +02:00
PapaTutuWawa 0033d0eb6e feat(xep): Implement FAST 2023-04-01 21:10:46 +02:00
PapaTutuWawa 24cb05f91b feat(xep): Handle inline stream enablement with Bind2 2023-04-01 17:38:40 +02:00
PapaTutuWawa 91f763ac26 feat(xep): Allow negotiating SM enabling inline with Bind2 2023-04-01 17:16:29 +02:00
PapaTutuWawa 51edb61443 feat(xep): Implement SASL2 inline stream resumption 2023-04-01 15:50:13 +02:00
PapaTutuWawa 4e01d32e90 feat(xep): Allow setting a tag when using Bind2 2023-04-01 13:15:46 +02:00
PapaTutuWawa f2fe06104c fix(core): Fix formatting 2023-04-01 13:13:19 +02:00
PapaTutuWawa 89fe8f0a9c feat(core): Make the PresenceManager optional 2023-04-01 13:09:43 +02:00
PapaTutuWawa 9358175925 feat(xep): Inline resource binding with Bind2 2023-04-01 13:00:35 +02:00
PapaTutuWawa 564a237986 feat(xep): Set the resource if SASL2 resulted in a resource 2023-04-01 12:51:26 +02:00
PapaTutuWawa cf425917cf feat(core): Reset the resource if lastResource is null 2023-04-01 12:39:15 +02:00
PapaTutuWawa 63b7abd6f9 fix(core): Prevent resource binding if we already have a resource 2023-04-01 12:38:18 +02:00
PapaTutuWawa f460e5ebe9 feat(core): Handle less resource binding in the core connection class 2023-04-01 12:28:11 +02:00
PapaTutuWawa af8bc606d6 feat(xep): Guard against random data in the SASL2 result 2023-04-01 00:51:51 +02:00
PapaTutuWawa 30482c86f0 feat(xep): Implement inline negotiation 2023-04-01 00:47:45 +02:00
PapaTutuWawa f86dbe6af8 feat(core): Verify the server signature with SASL2 2023-03-31 23:52:48 +02:00
PapaTutuWawa 478b5b8770 feat(core): Make SCRAM SASL2 aware 2023-03-31 21:09:16 +02:00
PapaTutuWawa 7ab3f4f0d9 feat(xep): Implement negotiating PLAIN via SASL2 2023-03-31 20:53:06 +02:00
PapaTutuWawa 2e60e9841e feat(xep): Begin work on SASL2 2023-03-31 19:02:57 +02:00
PapaTutuWawa 52ad9a7ddb fix(core): Reset the connection tracker when timing out 2023-03-31 15:53:11 +02:00
PapaTutuWawa ac5e0c13b7 fix(xep): Do not subscribe to the data node 2023-03-31 15:52:50 +02:00
PapaTutuWawa b49658784b fix(example): Adjust example to changes 2023-03-30 16:18:28 +02:00
PapaTutuWawa d4a972e073 feat(core): Close the socket on an error 2023-03-30 16:17:42 +02:00
PapaTutuWawa 1009a2f967 feat(core): Fix typing and remove logging parameter 2023-03-30 16:17:12 +02:00
PapaTutuWawa f355f01fc8 fix(tests): Fix integration tests 2023-03-30 16:15:44 +02:00
PapaTutuWawa 85995d51e4 feat(core): Remove SendPingEvent 2023-03-29 17:18:03 +02:00
PapaTutuWawa 2557a2fe5b feat(core): Make the ping manager optional 2023-03-29 15:25:17 +02:00
PapaTutuWawa 4321573dfb fix(core): Fix reconnections not working properly 2023-03-21 12:01:22 +01:00
PapaTutuWawa 70d4d6c56f feat(core): Use _testAndSetIsConnectionRunning 2023-03-18 18:41:58 +01:00
PapaTutuWawa e1e492832e chore(tests): Format and lint tests 2023-03-18 16:13:45 +01:00
PapaTutuWawa 1950394f7d fix(meta): Add 'example' as a 'commit target' 2023-03-18 15:00:54 +01:00
PapaTutuWawa 308f7d93f5 chore(example): Update the example 2023-03-18 14:59:47 +01:00
PapaTutuWawa 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
PapaTutuWawa 7a6bf468bc test(xep): Add a test for parsing sticker packs 2023-03-16 22:04:25 +01:00
PapaTutuWawa 9cb6346c4d fix(style): Format and lint test helpers 2023-03-12 19:19:53 +01:00
PapaTutuWawa 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
PapaTutuWawa 324ef9ca29 Merge pull request 'Merge connect and connectAwaitable' (#32) from refactor/connect into master
Reviewed-on: https://codeberg.org/moxxy/moxxmpp/pulls/32
2023-03-12 16:31:21 +00:00
PapaTutuWawa 5b4dcc67b2 refactor(core): Remove XmppConnectionResult 2023-03-11 19:07:03 +01:00