Improved plugins/Xmpp/README

Added the relevant section in INSTALL about queues and daemons to get
the plugin runnig.

Made resource required, as otherwise XMPPHP will send invalid from JIDs
in it's stanzas. For example when my configuration didn't had the
resource part, outbound stanzas looked like this:

<message
	from="gnusocial@example.de/"
	to="flow@example.de"
	type='chat'>
	<body>
	User &quot;flow&quot; on GNU Social has said that your
	XMPP/Jabber/GTalk screenname belongs to them.
	…
	</body>
</message>

Note the '/' at the end of the from attribute, without an actual
XMPP resource. But according to RFC6122 2.1 "every allowable portion of
a JID MUST NOT be zero bytes in length". Causing a jid-malformed
response from the server.

Also, it's nice to know that debug=true will print out all sent and
received stanzas, which helped me to debug the problem.

Furthermore I add a note that if the XMPP services uses DNS SRV records,
'host' has to be configured (in cases where service host != xmpp domain).
This commit is contained in:
Florian Schmaus 2013-10-19 12:19:00 +02:00 committed by Mikael Nordfeldth
parent 53b8412aae
commit b7d45e176b

View File

@ -9,27 +9,34 @@ to the bottom of your config.php
The daemon included with this plugin must be running. It will be The daemon included with this plugin must be running. It will be
started by the plugin along with their other daemons when you run started by the plugin along with their other daemons when you run
scripts/startdaemons.sh. See the StatusNet README for more about queuing and scripts/startdaemons.sh. See the section "Queues and daemons" in
daemons. INSTALL for more about queuing and daemons.
Settings Settings
======== ========
user*: user part of the jid user*: user part of the jid
server*: server part of the jid server*: server part of the jid
resource: resource part of the jid resource*: resource part of the jid
port (5222): port on which to connect to the server port (5222): port on which to connect to the server
encryption (true): use encryption on the connection encryption (true): use encryption on the connection
host (same as server): host to connect to. Usually, you won't set this. host (same as server): host to connect to. Usually, you won't set this.
debug (false): log extra debug info debug (false): log extra debug info (e.g. sent/recv XMPP stanzas)
public: list of jid's that should get the public feed (firehose) public: list of jid's that should get the public feed (firehose)
* required * required
default values are in (parenthesis) default values are in (parenthesis)
Note that setting 'host' is required if the XMPP service is configured
with DNS SRV records, since the XMPPHP does currently not support SRV
lookups.
Example Example
======= =======
addPlugin('xmpp', array( addPlugin('xmpp', array(
'user'=>'update', 'user'=>'update',
'resource'=>'social,
'server'=>'identi.ca', 'server'=>'identi.ca',
'password'=>'...', 'password'=>'...',
'public'=>array('bob@aol.com', 'sue@google.com') 'public'=>array('bob@aol.com', 'sue@google.com')