From 1e6e63671b78fa5522d0bdccd291b45a97f01de5 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Fri, 23 Oct 2009 00:07:06 +0000 Subject: [PATCH] explicitly call get_self_credential with the cliet cert as in argument instead of get_credential with None as an arguemnt when getting a user is getting their own credential --- sfa/client/sfi.py | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index 84e77209..8721f115 100755 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -159,23 +159,24 @@ class Sfi: return gid def get_user_cred(self): - file = os.path.join(self.options.sfi_dir, self.get_leaf(self.user) + ".cred") - if (os.path.isfile(file)): - user_cred = Credential(filename=file) - return user_cred - else: - # bootstrap user credential - request_hash = self.key.compute_hash([None, "user", self.user]) - user_cred = self.registry.get_credential(None, "user", self.user, request_hash) - if user_cred: - cred = Credential(string=user_cred) - cred.save_to_file(file, save_parents=True) - if self.options.verbose: - print "Writing user credential to", file - return cred - else: - print "Failed to get user credential" - sys.exit(-1) + file = os.path.join(self.options.sfi_dir, self.get_leaf(self.user) + ".cred") + if (os.path.isfile(file)): + user_cred = Credential(filename=file) + return user_cred + else: + # bootstrap user credential + cert_string = self.cert.save_to_string(save_parents=True) + request_hash = self.key.compute_hash([cert_string, "user", self.user]) + user_cred = self.registry.get_self_credential(cert_string, "user", self.user, request_hash) + if user_cred: + cred = Credential(string=user_cred) + cred.save_to_file(file, save_parents=True) + if self.options.verbose: + print "Writing user credential to", file + return cred + else: + print "Failed to get user credential" + sys.exit(-1) def get_auth_cred(self): -- 2.43.0