telepathy-gabble 0.18 does not work with jabberd2

Bug #1223436 reported by Jamie Strandboge on 2013-09-10
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
telepathy-gabble
Confirmed
Medium
telepathy-gabble (Ubuntu)
High
Unassigned
Saucy
High
Unassigned

Bug Description

If I upgrade to telepathy-gabble 0.18.0-1 or 0.18.1-1, I can no longer connect to a jabberd2 server. The jabberd2 c2s.log simply has:
Tue Sep 10 11:13:14 2013 [notice] [12] [xxx, port=43155] connect
Tue Sep 10 11:13:14 2013 [notice] [12] [xxx, port=43155] disconnect jid=unbound, packets: 0

If I downgrade to 0.16.6-1ubuntu1, it starts working again:
Tue Sep 10 11:14:01 2013 [notice] [13] [xxx, port=37786] connect
Tue Sep 10 11:14:01 2013 [notice] [13] [xxx, port=37786] disconnect jid=unbound, packets: 0
Tue Sep 10 11:14:01 2013 [notice] [12] SASL authentication succeeded: mechanism=DIGEST-MD5; authzid=xxx, TLS negotiated
Tue Sep 10 11:14:01 2013 [notice] [12] bound: jid=xxx/xxx

I can see this by trying to connect with empathy.

tags: added: rls-s-incoming
Sebastien Bacher (seb128) wrote :

Thank you for your bug report, could you get empathy-debugger and copy the log file (cleaned from private infos)/the errors to the bug?

Changed in telepathy-gabble (Ubuntu Saucy):
importance: Undecided → High
status: New → Incomplete
Jamie Strandboge (jdstrand) wrote :

Here is the requested info. Looks like this is the problem:
wocky/-DEBUG: 10/21/2013 16:13:22.146378: auth_failed: wocky-sasl-auth.c:274: Authentication failed!: Server sent success before finishing authentication
wocky/-DEBUG: 10/21/2013 16:13:22.146378: auth_failed: wocky-sasl-auth.c:274: Authentication failed!: Server sent success before finishing authentication
gabbleauthentication-DEBUG: 10/21/2013 16:13:22.146493: gabble_server_sasl_channel_fail (server-sasl-channel.c:959): auth failed: WOCKY_AUTH_ERROR_INVALID_REPLY (#4): Server sent success before finishing authentication
gabbleauthentication-DEBUG: 10/21/2013 16:13:22.146493: gabble_server_sasl_channel_fail (server-sasl-channel.c:959): auth failed: WOCKY_AUTH_ERROR_INVALID_REPLY (#4): Server sent success before finishing authentication
gabbleconnection-DEBUG: 10/21/2013 16:13:22.146655: connector_error_disconnect (connection.c:1764): Interactive authentication error, reason 0, dbus error org.freedesktop.Telepathy.Error.ServiceConfused
gabbleconnection-DEBUG: 10/21/2013 16:13:22.146655: connector_error_disconnect (connection.c:1764): Interactive authentication error, reason 0, dbus error org.freedesktop.Telepathy.Error.ServiceConfused

Changed in telepathy-gabble (Ubuntu Saucy):
status: Incomplete → New
Changed in telepathy-gabble (Ubuntu):
status: Incomplete → New
Sebastien Bacher (seb128) wrote :

thanks, could you get a similar log for 0.16 to compare?

Changed in telepathy-gabble (Ubuntu):
status: New → Incomplete
Jamie Strandboge (jdstrand) wrote :
Changed in telepathy-gabble (Ubuntu):
status: Incomplete → New
Jamie Strandboge (jdstrand) wrote :

Attached is the log for 0.16. What I find interesting is that 0.18 is logging twice. Eg:
gabbleauthentication-DEBUG: 10/21/2013 16:13:21.904870: gabble_server_sasl_channel_start_auth_async (server-sasl-channel.c:836): Starting authentication
gabbleauthentication-DEBUG: 10/21/2013 16:13:21.904870: gabble_server_sasl_channel_start_auth_async (server-sasl-channel.c:836): Starting authentication
gabbleauthentication-DEBUG: 10/21/2013 16:13:22.139523: gabble_server_sasl_channel_start_mechanism_with_data (server-sasl-channel.c:548): Starting X-TELEPATHY-PASSWORD authentication with 16 bytes of initial data
gabbleauthentication-DEBUG: 10/21/2013 16:13:22.139523: gabble_server_sasl_channel_start_mechanism_with_data (server-sasl-channel.c:548): Starting X-TELEPATHY-PASSWORD authentication with 16 bytes of initial data

but 0.16 is only logging once:
gabbleauthentication-DEBUG: 10/24/2013 21:24:57.750232: gabble_server_sasl_channel_start_auth_async (server-sasl-channel.c:814): Starting authentication
gabbleauthentication-DEBUG: 10/24/2013 21:24:58.174243: gabble_server_sasl_channel_start_mechanism_with_data (server-sasl-channel.c:520): Starting X-TELEPATHY-PASSWORD authentication with 16 bytes of initial data

Don't know if this is related or not.

Download full text (3.5 KiB)

The bug has been opened on https://bugs.launchpad.net/ubuntu/+source/telepathy-gabble/+bug/1223436

"If I upgrade to telepathy-gabble 0.18.0-1 or 0.18.1-1, I can no longer connect to a jabberd2 server. The jabberd2 c2s.log simply has:
Tue Sep 10 11:13:14 2013 [notice] [12] [xxx, port=43155] connect
Tue Sep 10 11:13:14 2013 [notice] [12] [xxx, port=43155] disconnect jid=unbound, packets: 0

If I downgrade to 0.16.6-1ubuntu1, it starts working again:
Tue Sep 10 11:14:01 2013 [notice] [13] [xxx, port=37786] connect
Tue Sep 10 11:14:01 2013 [notice] [13] [xxx, port=37786] disconnect jid=unbound, packets: 0
Tue Sep 10 11:14:01 2013 [notice] [12] SASL authentication succeeded: mechanism=DIGEST-MD5; authzid=xxx, TLS negotiated
Tue Sep 10 11:14:01 2013 [notice] [12] bound: jid=xxx/xxx

I can see this by trying to connect with empathy.
...
https://bugs.launchpad.net/ubuntu/+source/telepathy-gabble/+bug/1223436/+attachment/3886371/+files/gabble%20%28jabber%29-21-10-13_11-13-12.log

Here is the requested info. Looks like this is the problem:
wocky/-DEBUG: 10/21/2013 16:13:22.146378: auth_failed: wocky-sasl-auth.c:274: Authentication failed!: Server sent success before finishing authentication
wocky/-DEBUG: 10/21/2013 16:13:22.146378: auth_failed: wocky-sasl-auth.c:274: Authentication failed!: Server sent success before finishing authentication
gabbleauthentication-DEBUG: 10/21/2013 16:13:22.146493: gabble_server_sasl_channel_fail (server-sasl-channel.c:959): auth failed: WOCKY_AUTH_ERROR_INVALID_REPLY (#4): Server sent success before finishing authentication
gabbleauthentication-DEBUG: 10/21/2013 16:13:22.146493: gabble_server_sasl_channel_fail (server-sasl-channel.c:959): auth failed: WOCKY_AUTH_ERROR_INVALID_REPLY (#4): Server sent success before finishing authentication
gabbleconnection-DEBUG: 10/21/2013 16:13:22.146655: connector_error_disconnect (connection.c:1764): Interactive authentication error, reason 0, dbus error org.freedesktop.Telepathy.Error.ServiceConfused
gabbleconnection-DEBUG: 10/21/2013 16:13:22.146655: connector_error_disconnect (connection.c:1764): Interactive authentication error, reason 0, dbus error org.freedesktop.Telepathy.Error.ServiceConfused
...
https://bugs.launchpad.net/ubuntu/+source/telepathy-gabble/+bug/1223436/+attachment/3890335/+files/gabble%20%28jabber%29-24-10-13_16-25-10.log

Attached is the log for 0.16. What I find interesting is that 0.18 is logging twice. Eg:
gabbleauthentication-DEBUG: 10/21/2013 16:13:21.904870: gabble_server_sasl_channel_start_auth_async (server-sasl-channel.c:836): Starting authentication
gabbleauthentication-DEBUG: 10/21/2013 16:13:21.904870: gabble_server_sasl_channel_start_auth_async (server-sasl-channel.c:836): Starting authentication
gabbleauthentication-DEBUG: 10/21/2013 16:13:22.139523: gabble_server_sasl_channel_start_mechanism_with_data (server-sasl-channel.c:548): Starting X-TELEPATHY-PASSWORD authentication with 16 bytes of initial data
gabbleauthentication-DEBUG: 10/21/2013 16:13:22.139523: gabble_server_sasl_channel_start_mechanism_with_data (server-sasl-channel.c:548): Starting X-TELEPATHY-PASSWORD authentication with 16 bytes of initial data

but 0.16 is only logging once...

Read more...

Changed in telepathy-gabble (Ubuntu Saucy):
status: New → Triaged
Changed in telepathy-gabble (Ubuntu):
status: New → Triaged
Changed in telepathy-gabble:
importance: Unknown → Medium
status: Unknown → Confirmed
Jamie Strandboge (jdstrand) wrote :

I had troubles connecting again. I ended up upgrading to 0.18.1-1ubuntu2, deleting the offending account and recreating it. I was then able to connect. I then tried to reproduce the error. The only thing that I could get to trigger was if I set the 'Resource' in advanced configuration to 'laptop'. If I removed 'Resource' or changed it to '/laptop', then it worked. I can't recall if I had the '/' before or not.... At this point, I'm probably not going to be able to reproduce the bug since I'm not sure what my previous configuration was. I can say that perhaps it would be reasonable for empathy/telepathy-gabble to prepend a '/' to the Resource if it isn't present.

I commented in the Ubuntu bug:

"I had troubles connecting again. I ended up upgrading to 0.18.1-1ubuntu2, deleting the offending account and recreating it. I was then able to connect. I then tried to reproduce the error. The only thing that I could get to trigger was if I set the 'Resource' in advanced configuration to 'laptop'. If I removed 'Resource' or changed it to '/laptop', then it worked. I can't recall if I had the '/' before or not.... At this point, I'm probably not going to be able to reproduce the bug since I'm not sure what my previous configuration was. I can say that perhaps it would be reasonable for empathy/telepathy-gabble to prepend a '/' to the Resource if it isn't present."

(In reply to comment #1)
> The only thing that I could
> get to trigger was if I set the 'Resource' in advanced configuration to
> 'laptop'. If I removed 'Resource' or changed it to '/laptop', then it
> worked. [...] I can say that perhaps it would be reasonable
> for empathy/telepathy-gabble to prepend a '/' to the Resource if it isn't
> present."

XMPP resourceparts (names of resources - the "resource" parameter in Telepathy) are not normally meant to start with "/". If you can only connect with resource omitted or set to start with "/", then something is wrong. Have you tried setting it to a string not starting with "/" but not equal to "laptop"?

If you set the resourcepart to "laptop", your full JID would be something like "<email address hidden>/laptop" - the / delimiter is part of the syntax, not part of the resourcepart. Similarly, if you set the resource to "/laptop", you would end up with the unconventional full JID "<email address hidden>//laptop" (I think - the second / might get escaped somehow, I can't remember what the syntactic restrictions are).

Do you have other XMPP clients connected to the same account? Might one of them have its resourcepart set to "laptop" too?

If you're able to create and delete disposable accounts on a jabberd2 server, it might be interesting to see the uncensored SASL handshake for an account with a known username, password and resourcepart, to be able to verify that the handshake is done correctly according to RFC6120 and RFC2831.

Rolf Leggewie (r0lf) wrote :

saucy has seen the end of its life and is no longer receiving any updates. Marking the saucy task for this ticket as "Won't Fix".

Changed in telepathy-gabble (Ubuntu Saucy):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.