summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTomas Touceda <chiiph@leap.se>2013-04-23 17:02:55 -0300
committerTomas Touceda <chiiph@leap.se>2013-04-23 17:02:55 -0300
commit046ef8b23c04333007276b560670f69d9011fb40 (patch)
treea2d89bc7d5883c5591d75c2c20206772d2cbe17e /src
parentb216d5679680e1d7ed9c2cff7d15f43edff5c102 (diff)
Add pubkey retrieving
Diffstat (limited to 'src')
-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")