Date: Fri, 4 Aug 2006 09:24:36 +1200 (NZST) From: Andrew Thompson <thompsa@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: infofarmer@FreeBSD.org Subject: ports/101335: mcabber fails to connect Message-ID: <20060803212436.364381CC22@heff.fud.org.nz> Resent-Message-ID: <200608032130.k73LUFv8029767@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060803212436.364381CC22>