From: Tony Mack Date: Mon, 29 Mar 2010 15:34:21 +0000 (+0000) Subject: fix bugs in delegate command X-Git-Tag: sfa-0.9-11~38 X-Git-Url: http://git.onelab.eu/?p=sfa.git;a=commitdiff_plain;h=1cd80ce6f4c1af508c1ad43bc7b393c2a157338c fix bugs in delegate command --- diff --git a/sfa/client/sfi.py b/sfa/client/sfi.py index b4bedf90..e4421aa4 100755 --- a/sfa/client/sfi.py +++ b/sfa/client/sfi.py @@ -602,7 +602,7 @@ class Sfi: print "Error: Object credential", object_hrn, "does not have delegate bit set" return - records = self.registry.resolve(user_cred, args[0]) + records = self.registry.resolve(user_cred.save_to_string(save_parents=True), args[0]) records = filter_records("user", records) if not records: @@ -610,14 +610,15 @@ class Sfi: return # the gid of the user who will be delegated too - delegee_gid = records[0].get_gid_object() + delegee_gid = GID(string=records[0]['gid']) delegee_hrn = delegee_gid.get_hrn() # the key and hrn of the user who will be delegating user_key = Keypair(filename = self.get_key_file()) user_hrn = user_cred.get_gid_caller().get_hrn() - - dcred = Credential(subject=object_hrn + " delegated to " + delegee_hrn) + + subject_string = "%s delegated to %s" % (object_hrn, delegee_hrn) + dcred = Credential(subject=subject_string) dcred.set_gid_caller(delegee_gid) dcred.set_gid_object(object_gid) dcred.set_privileges(object_cred.get_privileges())