diff options
author | Joey Hess <joey@kitenet.net> | 2012-11-05 15:40:56 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-11-05 15:40:56 -0400 |
commit | ffeb353813754e431ed3a6ae80c3d4422792db78 (patch) | |
tree | 8cd9a2044b0493a4e5c5f3648d50e518513190c0 /doc/design/assistant/xmpp.mdwn | |
parent | f3fe98b12f533ccdf34e07b7209cb6a4b329b300 (diff) |
switch to silent chat messages for XMPP pairing
Along the way, significantly cleaned up Assistant.XMPP, and made XMPP
message decoding more efficient.
Diffstat (limited to 'doc/design/assistant/xmpp.mdwn')
-rw-r--r-- | doc/design/assistant/xmpp.mdwn | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/doc/design/assistant/xmpp.mdwn b/doc/design/assistant/xmpp.mdwn index 570084dda..284e56fa3 100644 --- a/doc/design/assistant/xmpp.mdwn +++ b/doc/design/assistant/xmpp.mdwn @@ -29,26 +29,26 @@ who share a repository, that is stored in the [[cloud]]. ## protocol To avoid relying on XMPP extensions, git-annex communicates -using presence messages. These always mark it as extended away. -To this, it adds its own tag as [extended content](http://xmpp.org/rfcs/rfc6121.html#presence-extended). +using presence messages (which always mark it as extended away), +and chat messages (with empty body tags, so clients don't display them). + +To these messages, it adds its own tag as +[extended content](http://xmpp.org/rfcs/rfc6121.html#presence-extended). The xml namespace is "git-annex" (not an URL because I hate wasting bandwidth). -To indicate it's pushed changes to a git repo with a given UUID, a client uses: +To indicate it's pushed changes to a git repo with a given UUID, +a message that should be sent to all buddies and other clients using the account +(no explicit pairing needed), a client uses a broadcast presence message with: <git-annex xmlns='git-annex' push="uuid[,uuid...]" /> Multiple UUIDs can be listed when multiple clients were pushed. If the git repo does not have a git-annex UUID, an empty string is used. -For pairing, a directed presence message is sent, also using the git-annex tag: +For pairing, a chat message is sent, also using the git-annex tag: <git-annex xmlns='git-annex' pairing="PairReq uuid" /> -For pairing with other clients using the same XMPP account, git-annex uses -IQ messages, also containing a git-annex tag. The id attribute of the iq -tag contains the pairing information. This is done because self-directed -presence is not handled correctly by Google Talk. (Or is ill-specified.) - ### security Data git-annex sends over XMPP will be visible to the XMPP |