Help creating a new Authen driver

Brad Fitzpatrick brad at
Tue Jul 4 17:55:54 UTC 2006

Please, ignore the digest mode.  Don't implement 'check_digest'
yourself... it's Jabber's own digest format and DJabberd will do all the
hard work for you if you just provide it with either (or both) of:

   1)  get_password

   2)  check_password   (checking the cleartext password)

On Tue, 4 Jul 2006, Guillermo Roditi wrote:

> Hi, I am kind of in need of help creating a new authen driver. I'm using
> miranda IM on XP and I am trying to test a new jabber server,  I attached my
> configs below. Basically what is happeneing is that the client is sending a
> digest of the password and I dont know what type of digest it is, so I dont
> know how to check it, but it doesnt seem like the client gives me any
> options as to how it does the auth. I oculd use any information anyone can
> give me really, i am trying to create a DBIC authen driver that uses Digest
> to handle digest passwords, but im not having much luck here. I'm getting
> authentication denied back, but I dont know how my driver is supposed to
> know what kind of digest the client is sending since the client doesnt say.
> if it helps any the auth function being called is get_password() on
> ...Authen::DBIC  (the module I am working on)
> = Client
> = Server
> D...ClientIn             New connection '1' from
> D...XML.ClientIn         1 > <?xml version="1.0"
> encoding="UTF-8"?><stream:stream from=''
> id="88dec53f27fa006a5c3a6db34d5032f1d7309850"   xmlns:stream="
>" xmlns="jabber:client">
> D...XML.ClientIn         1 < <iq type='get' id='mir_47'><query
> xmlns='jabber:iq:auth'><username>wroditi</username></query></iq>
> I...XML.ClientIn         <iq  type='result' id='mir_47'><query
> xmlns='jabber:iq:auth'><username>wroditi</username><digest/><resource/></query></iq>
> D...XML.ClientIn         1 < <iq type='set' id='mir_48'><query
> xmlns='jabber:iq:auth'><username>wroditi</username><digest>8b114cdbf76bc004de45bac55107e97d21ceba83</digest><resource>Miranda</resource></query></iq>
> I...XML.ClientIn         <iq  type='error' id='mir_48'><error code='401'
> type='auth'><not-authorized
> xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
> D...ClientIn             DISCONNECT: 1
> <VHost>
>     <Plugin DJabberd::Authen::DBIC>
>         DBType            mysql
>         DBName            pk
>         DBHost  
>         DBUserName        mydbuser
>         DBPassword        mysecret
>         DBUsernameColumn  username
>         DBPasswordColumn  password
>         DBSchemaClass     Cantella::Schema
>         DBTableClass      Users
>         DigestAlgorithm   MD5
>         DigestEncoding    binary
>   </Plugin>
>   <Plugin DJabberd::RosterStorage::SQLite>
>      Database /home/wroditi/ctlajabber.sqlite
>   </Plugin>
> </VHost>

More information about the Djabberd mailing list