aboutsummaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@gmail.com>2011-05-04 21:27:50 -0400
committerGuillaume Horel <guillaume.horel@gmail.com>2011-05-04 21:27:50 -0400
commit9901679f2bc1e6972b6ec5d354a54814fba097eb (patch)
tree4e6e125d16512b835c5edcebbd2ddbe41df89863 /server
parente85fffabbb61ca964f35561e00c382a180166f64 (diff)
downloadalias-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
Diffstat (limited to 'server')
-rw-r--r--server/component.py1
-rw-r--r--server/user.py14
-rw-r--r--server/xep_0077.py2
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)