ports/101335: mcabber fails to connect
Andrew Thompson
thompsa at FreeBSD.org
Thu Aug 3 21:30:19 UTC 2006
>Number: 101335
>Category: ports
>Synopsis: mcabber fails to connect
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu Aug 03 21:30:15 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Andrew Thompson
>Release: FreeBSD 6.1-STABLE i386
>Organization:
>Environment:
System: FreeBSD heff.fud.org.nz 6.1-STABLE FreeBSD 6.1-STABLE #0: Fri May 19 17:00:14 NZST 2006 thompsa at heff.fud.org.nz:/usr/obj/usr/src/sys/GENERIC i386
>Description:
On two seperate machines running 6.1-STABLE the mcabber client stops after "Communication with the server established" and then times out.
I have a workaround patch below that lets me connect, im am unsure if its a problem with the mcabber client or a race condition in the FreeBSD sockets code.
Here is an ascii packet dump for the unpatched binary, as you can see its missing the xml stream header.
---8<---8<---
.
.
<iq type='set' id='auth_2'><query xmlns='jabber:iq:auth'><username>xxx</username><resource>mcabber</resource><password>xxx</password></query></iq>
<?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' id='44D26555' xmlns='jabber:client'>
<stream:error>Invalid Namespace</stream:error></stream:stream>
---8<---8<---
And the ascii packet dump after the sleep was put in after the mcabber socket connect.
---8<---8<---
<?xml version='1.0'?>
<stream:stream xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' to='jabber.tbd.co.nz'><iq type='get' id='auth_1'><query xmlns='jabber:iq:auth'><username>xxx</username></query></iq>
<?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' id='44D2648D' xmlns='jabber:client' from='jabber.tbd.co.nz'>
<iq type='result' id='auth_1'><query xmlns='jabber:iq:auth'><username>xxx</username><digest/><password/><resource/></query></iq>
<iq type='set' id='auth_2'><query xmlns='jabber:iq:auth'><username>xxx</username><resource>mcabber</resource><digest>xxx</digest></query></iq>
<iq type='result' id='auth_2'/>
---8<---8<---
>How-To-Repeat:
>Fix:
This workaround gets it going for me
--- libjabber/jconn.c.orig Wed Jun 28 06:58:18 2006
+++ libjabber/jconn.c Fri Aug 4 08:36:00 2006
@@ -162,6 +162,9 @@
}
change_socket_to_blocking(j->fd);
+ /* XXX why do we need this?? */
+ sleep (1);
+
j->state = JCONN_STATE_CONNECTED;
STATE_EVT(JCONN_STATE_CONNECTED)
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list