git://git.onelab.eu
/
sfa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge Master in geni-v3 conflict resolution
[sfa.git]
/
sfa
/
trust
/
credential.py
diff --git
a/sfa/trust/credential.py
b/sfa/trust/credential.py
index
34cc7e4
..
d9368c4
100644
(file)
--- a/
sfa/trust/credential.py
+++ b/
sfa/trust/credential.py
@@
-256,6
+256,8
@@
class Credential(object):
if cred:
if isinstance(cred, StringTypes):
string = cred
if cred:
if isinstance(cred, StringTypes):
string = cred
+ self.type = 'geni_sfa'
+ self.version = '1.0'
elif isinstance(cred, dict):
string = cred['geni_value']
self.type = cred['geni_type']
elif isinstance(cred, dict):
string = cred['geni_value']
self.type = cred['geni_type']
@@
-285,9
+287,12
@@
class Credential(object):
break
def get_subject(self):
break
def get_subject(self):
+ subject = ""
if not self.gidObject:
self.decode()
if not self.gidObject:
self.decode()
- return self.gidObject.get_printable_subject()
+ if self.gidObject:
+ subject = self.gidObject.get_printable_subject()
+ return subject
# sounds like this should be __repr__ instead ??
def get_summary_tostring(self):
# sounds like this should be __repr__ instead ??
def get_summary_tostring(self):
@@
-691,6
+696,12
@@
class Credential(object):
def decode(self):
if not self.xml:
return
def decode(self):
if not self.xml:
return
+
+ doc = None
+ try:
+ doc = parseString(self.xml)
+ except ExpatError,e:
+ raise CredentialNotVerifiable("Malformed credential")
doc = parseString(self.xml)
sigs = []
signed_cred = doc.getElementsByTagName("signed-credential")
doc = parseString(self.xml)
sigs = []
signed_cred = doc.getElementsByTagName("signed-credential")
@@
-1051,7
+1062,11
@@
class Credential(object):
result += "CREDENTIAL %s\n" % self.get_subject()
filename=self.get_filename()
if filename: result += "Filename %s\n"%filename
result += "CREDENTIAL %s\n" % self.get_subject()
filename=self.get_filename()
if filename: result += "Filename %s\n"%filename
- result += " privs: %s\n" % self.get_privileges().save_to_string()
+ privileges = self.get_privileges()
+ if privileges:
+ result += " privs: %s\n" % privileges.save_to_string()
+ else:
+ result += " privs: \n"
gidCaller = self.get_gid_caller()
if gidCaller:
result += " gidCaller:\n"
gidCaller = self.get_gid_caller()
if gidCaller:
result += " gidCaller:\n"
@@
-1061,6
+1076,9
@@
class Credential(object):
print " gidIssuer:"
self.get_signature().get_issuer_gid().dump(8, dump_parents)
print " gidIssuer:"
self.get_signature().get_issuer_gid().dump(8, dump_parents)
+ if self.expiration:
+ print " expiration:", self.expiration.isoformat()
+
gidObject = self.get_gid_object()
if gidObject:
result += " gidObject:\n"
gidObject = self.get_gid_object()
if gidObject:
result += " gidObject:\n"