external components cannot reconnect

oliver oli oliver.oli at gmail.com
Fri Nov 17 20:17:21 UTC 2006

Martin Atkins wrote:
> oliver oli wrote:
>> an external component can only connect once to djabberd. when it tries 
>> to reconnect doesn't accept the connection.
>> # ./component.rb
>> 16:17:12 Debugging mode enabled.
>> 16:17:12 CONNECTING:
>>     localhost:5290
>> 16:17:12 SENDING:
>>     <stream:stream xmlns:stream='http://etherx.jabber.org/streams' 
>> xmlns='jabber:component:accept' to='component.localhost' xml:lang='en' 
>> version='1.0' >
>> stuck
> Is your component using TLS in this case?
> I ask because when I was testing some changes yesterday I was frequently 
> disconnecting and reconnecting pyMSNt with no ill effect, but I wonder 
> if perhaps the socket is somehow getting "stuck" in TLS mode. I don't 
> really see how that could happen, but then I must admit to not really 
> understanding a great deal about how the TLS code works... I just tried 
> to copy what ClientIn connections were doing. :)

No, xmpp4r doesn't connect to DJabberd with TLS. I had to disable TLS.

> Also, do you notice anything in the DJabberd log? Component::External 
> generates some DEBUG log noise when accepting connections and stanzas 
> and when the component disconnects.

Do you mean stdout or should there be a special logfile? The only 
message I can see on the console is "Use of uninitialized value in 
concatenation (.) or string at lib/DJabberd/Connection.pm line 131." 
when the component connects.

More information about the Djabberd mailing list