Difference between revisions of "Interop"

From XMPP WIKI
Jump to navigation Jump to search
(Makint the main interop testing page a jumppage to the several interop testing sessions.)
Line 1: Line 1:
=== XMPP Interop ===
=== XMPP Interop ===
Plan: to make this the main page for all Interop information, a work-in-progress
Plan: to make this the main page for all Interop information, a work-in-progress


=== 2010 Interop ===
=== [[Interop 2010]] ===
 
From Monday 6th December through to Saturday 11th December, the XSF conducted an online interop event. See [Interop 2010] for details and results.
From Monday 6th December through to Saturday 11th December, the XSF will be conducting an online interop event to test and demonstrate XMPP interoperability based on the latest core standards. Client and Server implementers are encouraged to participate.
 
There is a XEP-0045 chatroom hosted at [xmpp:interop@muc.xmpp.org interop@muc.xmpp.org] - if anyone has interop problems connecting to it, this is known to be reachable from jabber.org accounts.
 
There is also a mailing list [mailto:interop@xmpp.org interop@xmpp.org] - joining it can be done by sending email to [mailto:interop@xmpp.org?subject=subscribe interop-request@xmpp.org] with a subject line of "subscribe", or alternately by using the [http://mail.jabber.org/mailman/listinfo/interop Web Interface].
 
=== 2010 Interop CA ===
The CA certificate (DER-encoded) and CRL are available from http://ca.xmpptest.com/
 
To install the CA certificate, copy it to /etc/ssl/certs/ and create a symlink called $HASH.0 like this:
* cp ca_certificate.pem /etc/ssl/certs/xmpptest_CA.pem
* openssl x509 -hash -in ca_certificate.pem
* ln -s /etc/ssl/certs/xmpptest_CA.pem /etc/ssl/certs/fd0022dd.0
 
===== How to obtain a signed certificate =====
# Generate a certificate request:
#* git clone https://github.com/bjc/prosody.git
#* cd prosody/certs
#* DOMAIN=yourhost.xmpptest.com
#* make $DOMAIN.cnf
#* make $DOMAIN.key
#* make $DOMAIN.csr
# Send the CSR to MattJ (mwild1 ON gmail com)
# You will receive an email from MattJ with the file $DOMAIN.pem; you can append to it the private key with:
#* cat $DOMAIN.key >> $DOMAIN.pem
 
== 2010 Server Interop Participation ==
 
Each participating server has one IM domain, and a chatroom subdomain. These are setup with only SRV records, no A/AAAA records and ports other than the default 5269.
 
=== [http://www.isode.com/products/m-link.html Isode] ===
* Contacts
** Dave Cridland [mailto:dave.cridland@isode.com Mail] [xmpp:dave.cridland@isode.com IM]
* Servers
** '''mlinkrelease.xmpptest.com''': R14.6 M-Link
** '''mlinktrunk.xmpptest.com''': R15.0 M-Link (trunk)
*** IPv4 and IPv6 dual-stack
 
=== [http://prosody.im/ Prosody] ===
* Contacts
** Matthew Wild  [mailto:matthew@prosody.im Mail] [xmpp:me@matthewwild.co.uk IM]
** Waqas Hussain  [mailto:waqas@prosody.im Mail] [xmpp:waqas@jaim.at IM]
* Servers
** '''prosody8.xmpptest.com''': Prosody 0.8-hg
 
=== [http://www.ejabberd.im/ ejabberd] ===
* Contacts
** Badlop [mailto:badlop@process-one.net Mail] = [xmpp:badlop@process-one.net IM]
** Nicolas Vérité [mailto:nverite@process-one.net Mail] = [xmpp:nverite@process-one.net IM]
* Servers
** '''ejabberd21.xmpptest.com''': ejabberd 2.1.x + EJAB-495 + EJAB-464; dev2.process-one.net ; ports 5222 (c2s) 5269 (s2s) 5280 (BOSH); IBR with CAPTCHA
** ejabberd master; just planned
 
=== [http://www.psyced.org/ psyced] ===
* Contacts
** Philipp Hancke [mailto:fippo@mail.symlynx.com Mail] [xmpp:fippo@ve.symlynx.com IM]
* Servers
** psyced - s2s only with XEP-0288 and D-W-D support in several configurations (xep-0178-enabled, standard dialback, dwd, bidi)
** '''psyced-db.xmpptest.com''' - dialback only, does not enforce TLS
** '''psyced-sasl.xmpptest.com''' - enforces TLS, will offer sasl
** '''psyced-dwd.xmpptest.com''' - dialback with d-w-d, bidi
 
=== [http://www.tigase.org Tigase] ===
* Contacts
** Florian Jensen [mailto:admin@flosoft.biz Mail] [xmpp:admin@im.flosoft.biz IM]
* Servers
** '''tigasetrunk.xmpptest.com''': Tigase (trunk)
 
== 2010 Client Interop Participation ==
 
Client developers are requested to ask server admins for usernames and passwords as required, to reduce the possibility of spamming (although it seems unlikely, it'd be a pest if it happened).
 
=== [http://www.boldonjames.com BoldonJames] ===
* Contacts
** Bob Taylor [mailto:robert.taylor@boldonjames.com Mail]
** Tony Richardson  [mailto:tony.richardson@boldonjames.com Mail]
* Clients
** SAFEchat V2.3
 
=== [http://swift.im Swift] ===
* Contacts
** Kevin Smith [xmpp:kevin@doomsong.co.uk XMPP]
** Remko Tronçon [http://el-tramo.be/about#xmpp XMPP+EMail]
* Clients
** Swift
 
=== [http://gajim.org Gajim] ===
* Contacts
** Yann Leboulanger [xmpp:asterix@jabber.lagaule.org XMPP]
* Clients
** Gajim
 
=== [http://collabora.co.uk Collabora] ===
* Contacts
** Sjoerd Simons [xmpp:sjoerd.simons@collabora.co.uk XMPP]
** [[User:Wjt|Will Thompson]] [xmpp:will.thompson@collabora.co.uk XMPP]
** (Emilio Pozuelo Monfort [xmpp:emilio.pozuelo@collabora.co.uk XMPP] ? not actively working on the XMPP backend, but is writing a search UI which should be able to drive the XEP-0055 code in Gabble)
* Clients
** [http://telepathy.freedesktop.org Telepathy-Gabble], as used by [http://live.gnome.org/Empathy Empathy]
* Particularly interested in testing (based on a quick show of hands on the developer channel):
** XEP-0055
** XEP-0186 Invisible Command (deferred! how upsetting)
** Non-Google implementations of google:queue
** SOCKS5 bytestream proxies
** Server PEP behaviour when we turn +notify on and off on the fly. Specifically: do updates that occur while we do not have +notify set get pushed to us when we turn it back on?
 
=== [https://oneteam.im/ OneTeam] ===
* Contacts
** Pawe? Chmielowski [mailto:pchmielowski@process-one.net Mail] = [xmpp:pchmielowski@process-one.net IM]
** Nicolas Vérité [mailto:nverite@process-one.net Mail] = [xmpp:nverite@process-one.net IM]
* Clients
** OneTeam
 
=== [https://oneteam.im/ OneTeam for iPhone] ===
* Contacts
** Nicolas Vérité [mailto:nverite@process-one.net Mail] = [xmpp:nverite@process-one.net IM]
* Clients
** OneTeam for iPhone
 
== Testing ==
==== Current Server Config ====
Working through these during the week, as they need people to change their server configs. For the current config, please allow dialback, allow non-TLS s2s, and don't do cert checking if offered TLS. For C2S, please allow non-TLS (and TLS) connections.
 
 
=== Server Tests ===
* Test 1 (Wednesday). With no requirements on TLS, SASL or cert checking, ensure that a user connected to the server sending a XEP-0199 ping to each other test server receives the correct reply (meaning s2s worked).
 
* Test 2 (Thursday). Requiring TLS on all s2s connections on all servers, ensure that a user connected to the server sending a XEP-0199 ping to each other server gets the reply. Ensure that the servers don't s2s (i.e. the user receives an error from their own server when sending the ping) to notls.xmpptest.com (not yet set up). Failure against tigasetrunk is also required, as it doesn't support TLS.
 
* Test 3 (Friday). Requiring TLS on all s2s connections, with identity verification, ensure that the user's ping works to all test servers. Ensure it doesn't work to (notls|expiredcert|mismatchcert|revokedcert|selfcert).xmpptest.com (not yet set up). Failure against tigasetrunk is also required, as it doesn't support TLS.
 
=== Server Results ===
* Test 1
** mlinktrunk Works against: mlinkrelease, tigasetrunk, ejabberd21, prosody8, psyced-db, psyced-dwd, psyced-sasl. Fails against: none.
** mlinkrelease Works against: mlinktrunk, tigasetrunk, ejabberd21, prosody8, psyced-db, psyced-dwd, psyced-sasl. Fails against: none.
** tigasetrunk Didn't participate.
** ejabberd21 Works against: mlinkrelease, mlinktrunk, prosody8, psyced-dwd, psyced-sasl, tigasetrunk. Fails against: none.
** prosody8 Works against: mlinkrelease, mlinktrunk, ejabberd21, psyced-db, psyced-sasl, psyced-dwd, tigasetrunk. Fails against: none.
** psyced-db Works against: mlinkrelease, mlinktrunk, ejabberd21, psyced-dwd, psyced-sasl, tigasetrunk. Fails against: none.
** psyced-dwd (not actively participating, requires TLS)
** psyced-sasl (not actively participating, requires TLS)


* Test 2
The following servers participated:
** mlinktrunk Works against: mlinkrelease, ejabberd21, prosody8, psyced-db, psyced-dwd, psyced-sasl. Fails against: tigasetrunk (Expected).
* [http://www.isode.com/products/m-link.html M-link]
** mlinkrelease Not participating - can only require valid certs, or not require - can't require a cert but not care if it's valid.
* [http://www.ejabberd.im/ ejabberd]
** tigasetrunk Not participating - doesn't support TLS on s2s.
* [http://www.psyced.org/ psyced]
** ejabberd21 Works against: mlinkrelease, mlinktrunk, prosody8, psyced-db, psyced-dwd, psyced-sasl. Fails against: tigasetrunk (Expected).
* [http://www.tigase.org Tigase]
** prosody8 Works against: mlinktrunk, mlinkrelease, ejabberd21, psyced-db, psyced-sasl, psyced-dwd. Fails against: tigasetrunk (Expected).
** psyced-db Works against: . mlinkrelease, mlinktrunk, ejabberd21, prosody8, psyced-dwd, psyced-sasl. Fails against: tigasetrunk (expected).
** psyced-dwd Works against: mlinkrelease, mlinktrunk, ejabberd21, prosody8, psyced-db, psyced-sasl Fails against: tigasetrunk (expected).
** psyced-sasl Works against: mlinkrelease, mlinktrunk, ejabberd21, prosody8, psyced-db, psyced-dwd . Fails against: tigasetrunk (expected).


* Test 3
The following clients participated:
** mlinktrunk Works against: mlinkrelease, ejabberd21, prosody8, psyced-db, psyced-sasl. Fails against: expiredcert (Expected), revokedcert (Expected), mismatchcert (Expected), selfcert (Expected), tigasetrunk (Expected), psyced-dwd (Server down).
* [http://www.boldonjames.com BoldonJames]
** mlinkrelease Not participating
* [http://swift.im Swift]
** tigasetrunk Not participating - doesn't support TLS on s2s.
* [http://gajim.org Gajim]
** ejabberd21. Works against: mlinkrelease, mlinktrunk, prosody8, revokedcert (oooh). Fails against: psyced-db (Server down), psyced-sasl (Server down), psyced-dwd (Server down), expiredcert (Expected), mismatchcert (Expected), selfcert (Expected), tigasetrunk (Expected).
* [http://collabora.co.uk Collabora]
** prosody8 Works against: mlinktrunk, mlinkrelease, ejabberd21, psyced-sasl, psyced-dwd. Failed against: psyced-db (Server down), tigasetrunk (Expected), expiredcert (Expected), revokedcert (Expected), selfcert (Expected), mismatchcert (Expected).
* [http://telepathy.freedesktop.org Telepathy-Gabble]
** psyced-db Not participating
* [http://live.gnome.org/Empathy Empathy]
** psyced-dwd Not participating
* [https://oneteam.im/ OneTeam]
** psyced-sasl Works against: mlinkrelease, mlinktrunk, prosody8, ejabberd21. Fails against: expiredcert (Expected), revokedcert (Expected), mismatchcert (Expected), selfcert (Expected), tigasetrunk (Expected)
* [https://oneteam.im/ OneTeam for iPhone]


=== Client Tests ===
Tests run:
* Test 1 (Wednesday). Check that each client can connect to each test server.
* XEP-0199 ping from client to each other test, meaning s2s worked.
* Test 2 (Thursday). Check that the clients will not login to notls.xmpptest.com, as it will only offer PLAIN without TLS.
* Test if XEP-0199 ping to server with TLS succeeds and without TLS fails.
* Test 3 (Friday). Check that the clients will login to all test servers, but not to the invalid TLS domains (see the s2s test list), or will warn the user before doing so.
* Test if XEP-0199 ping to server with incorrect TLS fails.


=== Client Results ===
=== [[Interop summit10]] ===
* Test 1
At the 2011 [http://xmpp.org/participate/the-xmpp-summit/xmpp-summit-10/ Summit 10] there was a round of BOSH interop testing. To Do: The results need to be added here: [[Interop summit10]].
** Swift: <font color='green'>Passed</font>: mlinktrunk, mlinkrelease, ejabberd21, prosody8, tigasetrunk. <font color='orange'>Skipped</font>: psyced-* (No XMPP C2S)
* Test 2
** Swift: <font color='green'>Passed</font>
* Test 3
** Swift: <font color='green'>Passed</font>: mlinkrelease, ejabberd21, prosody8, expiredcert, mismatchcert, selfcert. <font color='orange'>Skipped</font>: revokedcert (Swift doesn't support CRL), psyced-* (No XMPP C2S), tigasetrunk (Not set up with correct certificates)


=== Other results ===
=== [[Interop summit11]] ===
* Gajim and OneTeam worked well with voice over Jingle, with acceptable sound quality
On on Friday, February 3, at the XMPP hackfest of [[Summit 11]] in Brussel, the XSF will be conducting a live interop event. It is our goal to set up an infrastructure suited to accommodate a lot of different tests. During the day this infrastructure can be used for interop testing and debugging issues found. Details and how to participate can be found here: [[Interop summit11]].
* The N900 client and OneTeam worked well with voice over Jingle, when the phone was on wifi, did not work the phone was on 3G
* Modern versions of telepathy-gabble happily interoperate with M-Link Trunk's implementation of [http://mail.jabber.org/pipermail/summit/2010-February/000528.html google:queue]. Sadly, the version on the N900 does not detect M-Link's support for google:queue (because it only checks for the google:roster stream feature. Google doesn't actually advertise google:queue).
* Swift authenticates with SCRAM-SHA-1-PLUS against mlinktrunk
* Swift logs in succesfully with IPv6 to mlinktrunk
* Servers don't like SSLv2 on s2s links.
* mlinktrunk and prosody8 communicated using XEP-0198 on both S2S streams. A conversation was achieved between Matthew Wild and Dave Cridland using Swift at both ends, with XEP-0198 over every link.
* mlinktrunk and Psyced communicated bidirectionally using XEP-0288 over S2S.
* Isode's implementation of SCRAM-SHA1-PLUS was interop-tested against GNU SASL's (actually using IMAP rather than XMPP).

Revision as of 21:10, 30 January 2012

XMPP Interop

Plan: to make this the main page for all Interop information, a work-in-progress

Interop 2010

From Monday 6th December through to Saturday 11th December, the XSF conducted an online interop event. See [Interop 2010] for details and results.

The following servers participated:

The following clients participated:

Tests run:

  • XEP-0199 ping from client to each other test, meaning s2s worked.
  • Test if XEP-0199 ping to server with TLS succeeds and without TLS fails.
  • Test if XEP-0199 ping to server with incorrect TLS fails.

Interop summit10

At the 2011 Summit 10 there was a round of BOSH interop testing. To Do: The results need to be added here: Interop summit10.

Interop summit11

On on Friday, February 3, at the XMPP hackfest of Summit 11 in Brussel, the XSF will be conducting a live interop event. It is our goal to set up an infrastructure suited to accommodate a lot of different tests. During the day this infrastructure can be used for interop testing and debugging issues found. Details and how to participate can be found here: Interop summit11.