Home | Trees | Indices | Help |
|
---|
|
1 #!/usr/bin/python 2 # Distributed under the terms of GPL version 2 or any later 3 # Copyright (C) Alexey Nezhdanov 2004 4 # In-band-registration for xmppd.py 5 6 # $Id: jep0077.py,v 1.2 2004/09/19 20:20:05 snakeru Exp $ 7 8 from xmpp import * 911 NS=NS_REGISTER6213 server.Dispatcher.RegisterHandler('iq',self.getRegInfoHandler,'get',NS_REGISTER) 14 server.Dispatcher.RegisterHandler('iq',self.setRegInfoHandler,'set',NS_REGISTER)1517 name=stanza['to'] 18 if name and name not in self._owner.servernames: 19 sess.send(Error(stanza,ERR_ITEM_NOT_FOUND)) 20 else: 21 iq=stanza.buildReply('result') 22 iq.T.query.NT.username 23 iq.T.query.NT.password 24 iq.T.query.NT.name 25 iq.T.query.NT.instructions='Please specify name and password to register with' 26 sess.send(iq) 27 raise NodeProcessed2830 domain_name=stanza['to'] 31 if domain_name and domain_name not in self._owner.servernames: 32 sess.send(Error(stanza,ERR_ITEM_NOT_FOUND)) 33 else: 34 #username=stanza.T.query.T.username 35 #password=stanza.T.query.T.password 36 try: 37 name=stanza.T.query.T.name.getData() 38 except: 39 name = "" # Turbo-Hack!!! 40 try: 41 servername=domain_name.getDomain() 42 except: 43 servername = self._owner.servernames[0] 44 try: 45 username=stanza.T.query.T.username.getData().lower() 46 password=stanza.T.query.T.password.getData() 47 except: 48 # TODO: Implement de-registration from server 49 sess.send(Error(stanza,ERR_NOT_ACCEPTABLE)) 50 raise NodeProcessed 51 52 if not(self._owner.AUTH.isuser(username, servername)): 53 if self._owner.DB.register_user(servername, username, password, name): 54 iq=stanza.buildReply('result') 55 sess.send(iq) 56 #self.DEBUG(str(self._owner.DB.printdb()),'info') 57 else: 58 sess.send(Error(stanza,ERR_CONFLICT)) 59 else: 60 sess.send(Error(stanza,ERR_CONFLICT)) 61 raise NodeProcessed
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Wed Aug 1 18:45:05 2012 | http://epydoc.sourceforge.net |