From aaf34b5bcad1a897bb6fb704aab6b9cd6f6c4620 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?cel=20=F0=9F=8C=B8?= Date: Wed, 4 Dec 2024 19:57:56 +0000 Subject: [PATCH] add specs to implement to readme --- README.md | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 108 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b06278e..44632dd 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # jabber client library +- luz: the client. sends and receives messages. contains a message/user store. + ## TODO: - [ ] error states for all negotiation parts @@ -7,4 +9,109 @@ - [x] rename structs - [x] remove commented code - [ ] asynchronous connect (with take_mut?) -- [ ] split into separate crates: stanza, jabber, and luz +- [x] split into separate crates: stanza, jabber, and luz +- [ ] use nom for better jid parsing + +### specs: + +- [x] rfc 6120: core +- [ ] rfc 6121: im +- [x] rfc 7590: tls +- [x] xep-0368: srv records for xmpp over tls +- [ ] server side downgrade protection for sasl +- [ ] xep-0030: service discovery +- [ ] xep-0115: entity capabilities +- [ ] xep-0163: pep +- [ ] xep-0245: /me +- [ ] xep-0084: user avatar +- [ ] xep-0172: user nickname +- [ ] xep-0280: message carbons +- [ ] xep-0191: blocking +- [ ] xep-0222: public data via pubsub +- [ ] xep-0223: private data via pubsub +- [ ] xep-0313: mam +- [ ] xep-0198: stream management +- [ ] xep-0085: chat state notifications +- [ ] xep-0428: fallback indication +- [ ] xep-0359: unique and stable stanza ids +- [ ] xep-0424: message retraction +- [ ] xep-0352: client state indication +- [ ] xep-0166: jingle +- [ ] xep-0292: vcard4 +- [ ] xep-0184: message delivery receipts +- [ ] xep-0060: pubsub +- [ ] xep-0100: gateway interation + +calls: +- [ ] xep-0167: jingle rtp sessions +- [ ] xep-0353: jingle message initiation +- [ ] xep-0176: jingle ice-udp transport +- [ ] xep-0320: use of dtls-srtp in jingle sessions +- [ ] xep-0215: external service discovery (stun/turn) +- [ ] xep-0293: jingle rtp feedback negotiation +- [ ] xep-0294: jingle trp header extensions negotiation +- [ ] xep-0338: jingle grouping framework +- [ ] xep-0339: source-specific media attributes in jingle +- [ ] xep-0402: pep native bookmarks + +mix: +- [ ] xep-0369: mix + +e2ee: +- [ ] xep-0380: explicit message encryption +- [ ] xep-0420: stanza content encryption +- [ ] xep-0384: omemo +- [ ] xep-0396: jingle encrypted transports omemo + +file/media sharing (further research needed): +- [ ] xep-0363: http file upload +- [ ] xep-0385: stateless inline media sharing +- [ ] xep-0066: out of band data +- [ ] xep-0261: jingle in-band bytestreams +- [ ] xep-0234: jingle file transfer + +need more research: +- [ ] message editing + - [ ] xep-0308: last message correction (should not be used for older than last message according to spec) +- [ ] chat read markers + - [ ] xep-0333: displayed markers +- [ ] message styling + - [ ] xep-0393: message styling + +will prioritise new spec instead of: +- [ ] muc + - [ ] xep-0045: muc + - [ ] xep-0249: direct muc invitations + - [ ] xep-0410: muc self-ping +- [ ] vcard legacy + - [ ] xep-0398: user avatar compat + - [ ] xep-0153: vcard avatars + - [ ] xep-0054: vcard-temp +- [ ] legacy bookmarks + - [ ] xep-0048: legacy bookmarks + - [ ] xep-0049: private xml storage + +later (nice to have): +- [ ] xep-0077: in-band registration +- [ ] xep-0157: contact addresses +- [ ] xep-0455: service outage status +- [ ] web compliance: rfc 7395, xep-0206, xep-0124, xep-0156 +- [ ] mobile compliance + - [ ] xep-0357: push notifications + - [ ] xep-0286: mobile considerations +- [ ] client connection optimisations + - [ ] xep-0386: bind 2.0 + - [ ] xep-0409: im routing-ng + - [ ] xep-0397: instant stream resumption + - [ ] xep-0390: entity capabilities 2.0 +- [ ] improved on-boarding + - [ ] xep-0401: easy user onboarding + - [ ] xep-0379: pre-authenticated roster subscription + - [ ] xep-0445: pre-authenticated in-band registration +- [ ] portability + - [ ] xep-0227: portable import-export + - [ ] xep-0283: moved +- [ ] modern auth + - [ ] xep-0388: extensible sasl profile (sasl 2.0) + - [ ] xep-xxxx: oauth client login + - [ ] xep-xxxx: client access management