[JDEV] Want to run local JUD

Dennis Noordsij dennis.noordsij at wiral.com
Thu Nov 30 16:59:55 CST 2000


On Friday 01 December 2000 00:35, Colin Madere wrote:

> > Dennis,
>
> The etherx package isn't required for 1.2.  I didn't install 1.0, but the
> 1.0 JUD code from CVS is asking for the "etherx-config script" that is
> "installed by the etherx package".
>
> You said it worked for you under the 1.2 server.. I'm guessing you already
> had etherx installed from the previous Jabber version (1.0) or etherx from
> the previous version specifically for the purpose of using the 1.0 JUD
> code?
>
> Also, at least while testing, I won't have a DNS entry for my server.  So
> far I've gotten around this by just using IP addresses.  Any reason why
> that wouldn't work here?
>
> Assuming all of the above gets worked out, I'm still wanting to use a DB
> rather than an XML file for JUD info storage, so if anyone has info to that
> end, PLEASE throw it at me!  (I'm already using postgreSQL for user 'files'
> using the xdb_sql files provided by David Le Corfec)
>
> Thanks Dennis,
>
> Colin

Hi Colin,

The transport connects to the jabber server via tcp/ip though, so (btw this 
is my humble opinion, jabber core people please correct me) the transport is 
free to use any libraries it wants, even if they are different from the ones 
the main jabber server uses, as long as it gets the protocol right. Most 
transports are heavily based on old jabber code I guess, and the source code 
patch I described is just a dirty thing to get things going. None of the IM 
transports has been stable for me in jabber 1.2.

Since the protocol is quite straightforward I suppose you could say screw all 
the current libraries and go straight for a pthreaded libexpat-based 
transport that simply talks to jabber via a network socket and knows the 
protocol (jabber:iq:whatever).  (jabber core people I am encouraging a 
discussion here :) what exactly is MIO, how would you like transports to be 
written, and what would be wrong with this kind of approach? also, I tried a 
quick test using perl (faster development :) but it acted very weird - see an 
earlier post).

Either way Colin, yes the jud code is based on the old jabber and old 
libraries. It will still work with a few hacks though because it talks to the 
new jabber through a network socket only and as long as it does the protocol 
that works, which libraries it uses has no relation with which libraries 
jabberd uses. The JUD has worked perfectly fine for me and is in fact the 
only jabber-1.0 era transport/agent that is stable :)

If you want to use a proper database you would have to write it yourself. It 
shouldn't take long to write something using Net::Jabber in Perl, I wrote a 
test LDAP user directory and spent most of the time figuring out the protocol 
rather than being stuck in other ways :)

Goodluck, and take care
Dennis






More information about the JDev mailing list