undo woraround before we try something else
[sfa.git] / sfa / trust / auth.py
index 0b4d337..2e9ada0 100644 (file)
@@ -36,8 +36,11 @@ class Auth:
         self.trusted_cert_list = TrustedRoots(self.config.get_trustedroots_dir()).get_list()
         self.trusted_cert_file_list = TrustedRoots(self.config.get_trustedroots_dir()).get_file_list()
 
-    def checkCredentials(self, creds, operation, xrns=[], check_sliver_callback=None, speaking_for_hrn=None):
-
+    # do not use mutable as default argument 
+    # http://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-arguments
+    def checkCredentials(self, creds, operation, xrns=None, 
+                         check_sliver_callback=None, speaking_for_hrn=None):
+        if xrns is None: xrns=[]
         def log_invalid_cred(cred):
             cred_obj=Credential(string=cred)
             logger.debug("failed to validate credential - dump=%s"%cred_obj.dump_string(dump_parents=True))
@@ -71,9 +74,6 @@ class Auth:
 
         # if speaks for gid matches caller cert then we've found a valid
         # speaks for credential
-        ### Thierry : we have no options to pass determine_speaks_for in this context
-        # so only as a workaround here:
-        options={}
         speaks_for_gid = determine_speaks_for(logger, creds, self.peer_cert, \
                                               options, self.trusted_cert_list)