summaryrefslogtreecommitdiff
path: root/src/leap/mx
diff options
context:
space:
mode:
authorTomas Touceda <chiiph@leap.se>2013-04-23 17:02:55 -0300
committerTomas Touceda <chiiph@leap.se>2013-05-07 14:00:27 -0300
commitb322a390af83addcf9768ae59d31c31a3229b49d (patch)
tree070a8fbca258fa18a798f80afa164826c2b8553c /src/leap/mx
parent6b112dbaed2e778121f1512db1f78f0821ba2aeb (diff)
Add pubkey retrieving
Diffstat (limited to 'src/leap/mx')
-rw-r--r--src/leap/mx/alias_resolver.py4
-rw-r--r--src/leap/mx/couchdbhelper.py6
2 files changed, 8 insertions, 2 deletions
diff --git a/src/leap/mx/alias_resolver.py b/src/leap/mx/alias_resolver.py
index eb08c06..8155ff9 100644
--- a/src/leap/mx/alias_resolver.py
+++ b/src/leap/mx/alias_resolver.py
@@ -45,13 +45,17 @@ class AliasResolverFactory(postfix.PostfixTCPMapDeferringDictServerFactory):
def _to_str(self, result):
if isinstance(result, unicode):
result = result.encode("utf8")
+ if result is None:
+ logger.debug("Result not found")
return result
def get(self, key):
orig_key = key
try:
+ logger.debug("Processing key: %s" % (key,))
key = key.split("@")[0]
key = key.split("+")[0]
+ logger.debug("Final key to query: %s" % (key,))
except Exception as e:
key = orig_key
logger.exception("%s" % (e,))
diff --git a/src/leap/mx/couchdbhelper.py b/src/leap/mx/couchdbhelper.py
index cbb087d..4e76be3 100644
--- a/src/leap/mx/couchdbhelper.py
+++ b/src/leap/mx/couchdbhelper.py
@@ -114,7 +114,8 @@ class ConnectedCouchDB(client.CouchDB):
d = self.openView(docId="User",
viewId="by_login_or_alias/",
key=alias,
- reduce=False)
+ reduce=False,
+ include_docs=True)
d.addCallbacks(partial(self._get_uuid, alias), log.err)
@@ -135,7 +136,7 @@ class ConnectedCouchDB(client.CouchDB):
for row in result["rows"]:
if row["key"] == alias:
uuid = row["id"]
- self._cache[uuid] = row["value"]
+ self._cache[uuid] = row["doc"]["public_key"]
return uuid
return None
@@ -161,6 +162,7 @@ if __name__ == "__main__":
@d.addCallback
def right(result):
print "Should be an actual uuid:", result
+ print "Public Key:"
print cdb.getPubKey(result)
d2 = cdb.queryByLoginOrAlias("asdjaoisdjoiqwjeoi")