diff options
| author | Guillaume Horel <guillaume.horel@gmail.com> | 2011-05-04 21:27:50 -0400 |
|---|---|---|
| committer | Guillaume Horel <guillaume.horel@gmail.com> | 2011-05-04 21:27:50 -0400 |
| commit | 9901679f2bc1e6972b6ec5d354a54814fba097eb (patch) | |
| tree | 4e6e125d16512b835c5edcebbd2ddbe41df89863 | |
| parent | e85fffabbb61ca964f35561e00c382a180166f64 (diff) | |
| download | alias-9901679f2bc1e6972b6ec5d354a54814fba097eb.tar.gz | |
Various fixes.
- store the registration object using base64 encoding of the
jid instead of hash, so that it's reversible
- fix the namespace of the registration form
| -rw-r--r-- | server/component.py | 1 | ||||
| -rw-r--r-- | server/user.py | 14 | ||||
| -rw-r--r-- | server/xep_0077.py | 2 |
3 files changed, 12 insertions, 5 deletions
diff --git a/server/component.py b/server/component.py index f7fbb25..0163c7b 100644 --- a/server/component.py +++ b/server/component.py @@ -11,7 +11,6 @@ class ObjectComponent(ComponentXMPP): ComponentXMPP.__init__(self, jid, secret, server, port) self.register_plugin('xep_0030') self.register_plugin('xep_0077', module="xep_0077") - self.plugin['xep_0077'] self.register_plugin("AliasPlugin", module = "alias_plugin", pconfig = {'root': root}) self.add_event_handler("session_start", self.start) self.add_event_handler("presence_probe", self.presence_probe) diff --git a/server/user.py b/server/user.py index a818005..d63e659 100644 --- a/server/user.py +++ b/server/user.py @@ -5,13 +5,14 @@ import hashlib import logging logger = logging.getLogger(__name__) from object import * - +import base64 class User: def __init__(self, jid): self.jid = jid - self.hash = hashlib.sha1(jid).hexdigest() + #self.hash = hashlib.sha1(jid).hexdigest() + self.hash = base64.encodestring(jid) def register(self, registration): ObjectWriter(self.hash).create_root_object(self.jid, registration) @@ -33,4 +34,11 @@ class UserHandler: self.root = root def get_user_list(self): - return os.listdir(self.root) + result = [] + for stem in os.listdir(self.root): + for leaf in os.listdir(os.path.join(self.root, stem)): + result.append(base64.decodestring(stem + leaf)) + return result + +if __name__ == '__main__': + print UserHandler('/var/lib/alias').get_user_list()
\ No newline at end of file diff --git a/server/xep_0077.py b/server/xep_0077.py index fa5ddfe..51122eb 100644 --- a/server/xep_0077.py +++ b/server/xep_0077.py @@ -48,7 +48,7 @@ class Registration(ElementBase): def add_form(self): aliasform = Form(None, self) - aliasform.addField(ftype="hidden",var="FORM_TYPE",value=self.namespace) + aliasform.addField(ftype="hidden",var="FORM_TYPE",value="alias:register") aliasform.addField(var="pubkey",ftype="text-single", label="Public Key", required=True) aliasform.addField(var="privkey",ftype="text-single", label="Private Key", required=True) aliasform.addField(var="salt",ftype="text-single", label="Salt", required=True) |
