aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@bunny.garden>2024-12-04 19:57:56 +0000
committerLibravatar cel 🌸 <cel@bunny.garden>2024-12-04 19:57:56 +0000
commitaaf34b5bcad1a897bb6fb704aab6b9cd6f6c4620 (patch)
treed8f89042cbf8b5fb0e6384de47bfcf5f8441a7f9 /README.md
parent1b91ff690488b65b552c90bd5392b9a300c8c981 (diff)
downloadluz-aaf34b5bcad1a897bb6fb704aab6b9cd6f6c4620.tar.gz
luz-aaf34b5bcad1a897bb6fb704aab6b9cd6f6c4620.tar.bz2
luz-aaf34b5bcad1a897bb6fb704aab6b9cd6f6c4620.zip
add specs to implement to readme
Diffstat (limited to 'README.md')
-rw-r--r--README.md109
1 files changed, 108 insertions, 1 deletions
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