[jdev] xmppd.py first release

Алексей Нежданов snake at penza-gsm.ru
Fri Sep 24 00:07:53 CDT 2004


В сообщении от 24 Сентябрь 2004 08:12 Byron Ellacott написал(a):
> I grabbed xmppd, and tried to get it working.  There's a handful of
> changes I needed to make to get my Gaim client able to sign on:
>
> 1) In modules/stream.py, a test "session.xmlns <> NS_CLIENT" was being
> made; however session.xmlns is a list.  This test was made twice, I
> changed both instances to "NS_CLIENT not in session.xmlns" and, well, it
> works, but I don't know if it's strictly right. :)
>
> 2) Sending a message fails, but in the 0.1 release tarball it fails by
> crashing the server.  In modules/router.py, the error
> ERR_FEATURE_UNAVAILABLE was being used, when there is no such error, and
> it probably should have been ERR_FEATURE_NOT_AVAILABLE or
> ERR_SERVICE_UNAVAILABLE.  I went with the former, and Gaim now
> (expectedly) whines at me when I try to send a message, but the server
> doesn't crash. :)
>
> Also, the server crashes whenever a client disconnects; apparently the
> unregistersession() method is being called twice, but I cannot say why
> without much deeper digging.
I'll look through these issues today. The main idea was not even to make it 
work [good] but to show what I am trying to develop.
I'm awainting comments from interested parties to be able re-think the design 
concepts and to make fixes before project will continue to develop. 
> There's definitely potential here, though.
In particular the goals is (cite):
    *  Modular -- designed so that people can contribute to it without having 
to grok the entire codebase.
    * Hackable -- written in a language that lots of developers understand and 
can productively code in.
    * Well-documented -- including a complete architectural description, 
user/admin guide, and in-depth comments in the code (see hackability above).
    * Cross-platform -- works on Linux/Unix, Windows, and Mac OS X.
    * Easy-to-use -- no more difficult configuration or installation, good 
user interfaces, and lots of help files.
    * Protocol-compliant -- wouldn't it be cool if you could actually make use 
of protocols like pubsub, XHTML, and file transfer?

Comments on existing code:
(*Modular) - quite modular already. New modules included automatically you are 
to specify only the classes that you need.
(*Hackable) - a python project. Do not know though is it really the common 
language.
(*Well-documented) None for now. But fixable.
(*Cross-platform) Yep
(*Easy-to-use) This is all about architecture and configuration interface. 
Achievable but unknown for now.
(*Protocol-compliant) Trying to. XMPP-Core and XMPP-IM is my working documents 
10 days already.
-- 
Respectfully
Alexey Nezhdanov




More information about the JDev mailing list