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
2to3 -f except
[sfa.git]
/
sfa
/
trust
/
hierarchy.py
diff --git
a/sfa/trust/hierarchy.py
b/sfa/trust/hierarchy.py
index
598ba56
..
5e76dbf
100644
(file)
--- a/
sfa/trust/hierarchy.py
+++ b/
sfa/trust/hierarchy.py
@@
-111,7
+111,11
@@
class Hierarchy:
def get_auth_filenames(self, xrn):
hrn, type = urn_to_hrn(xrn)
def get_auth_filenames(self, xrn):
hrn, type = urn_to_hrn(xrn)
- leaf = get_leaf(hrn)
+ if '\\' in hrn:
+ hrn = hrn.replace('\\', '')
+ leaf = hrn
+ else:
+ leaf = get_leaf(hrn)
parent_hrn = get_authority(hrn)
directory = os.path.join(self.basedir, hrn.replace(".", "/"))
parent_hrn = get_authority(hrn)
directory = os.path.join(self.basedir, hrn.replace(".", "/"))
@@
-141,7
+145,7
@@
class Hierarchy:
# @param create_parents if true, also create the parents if they do not exist
def create_auth(self, xrn, create_parents=False):
# @param create_parents if true, also create the parents if they do not exist
def create_auth(self, xrn, create_parents=False):
- hrn, type = urn_to_hrn(
xrn
)
+ hrn, type = urn_to_hrn(
str(xrn)
)
logger.debug("Hierarchy: creating authority: %s"% hrn)
# create the parent authority if necessary
logger.debug("Hierarchy: creating authority: %s"% hrn)
# create the parent authority if necessary
@@
-156,7
+160,8
@@
class Hierarchy:
try:
os.makedirs(directory)
# if the path already exists then pass
try:
os.makedirs(directory)
# if the path already exists then pass
- except OSError, (errno, strerr):
+ except OSError as xxx_todo_changeme:
+ (errno, strerr) = xxx_todo_changeme.args
if errno == 17:
pass
if errno == 17:
pass
@@
-174,18
+179,9
@@
class Hierarchy:
"""
Create top level records (includes root and sub authorities (local/remote)
"""
"""
Create top level records (includes root and sub authorities (local/remote)
"""
- if not hrn:
- hrn = self.config.SFA_INTERFACE_HRN
- # make sure parent exists
- parent_hrn = get_authority(hrn)
- if not parent_hrn:
- parent_hrn = hrn
- if not parent_hrn == hrn:
- self.create_top_level_auth(parent_hrn)
-
# create the authority if it doesnt alrady exist
if not self.auth_exists(hrn):
# create the authority if it doesnt alrady exist
if not self.auth_exists(hrn):
- self.create_auth(hrn)
+ self.create_auth(hrn
, create_parents=True
)
def get_interface_auth_info(self, create=True):
def get_interface_auth_info(self, create=True):
@@
-231,16
+227,16
@@
class Hierarchy:
# @param uuid the unique identifier to store in the GID
# @param pkey the public key to store in the GID
# @param uuid the unique identifier to store in the GID
# @param pkey the public key to store in the GID
- def create_gid(self, xrn, uuid, pkey, CA=False):
+ def create_gid(self, xrn, uuid, pkey, CA=False
, email=None, force_parent=None
):
hrn, type = urn_to_hrn(xrn)
if not type:
type = 'authority'
hrn, type = urn_to_hrn(xrn)
if not type:
type = 'authority'
- parent_hrn = get_authority(hrn)
+ parent_hrn =
force_parent if force_parent else
get_authority(hrn)
# Using hrn_to_urn() here to make sure the urn is in the right format
# If xrn was a hrn instead of a urn, then the gid's urn will be
# of type None
urn = hrn_to_urn(hrn, type)
# Using hrn_to_urn() here to make sure the urn is in the right format
# If xrn was a hrn instead of a urn, then the gid's urn will be
# of type None
urn = hrn_to_urn(hrn, type)
- gid = GID(subject=hrn, uuid=uuid, hrn=hrn, urn=urn)
+ gid = GID(subject=hrn, uuid=uuid, hrn=hrn, urn=urn
, email=email
)
# is this a CA cert
if hrn == self.config.SFA_INTERFACE_HRN or not parent_hrn:
# root or sub authority
# is this a CA cert
if hrn == self.config.SFA_INTERFACE_HRN or not parent_hrn:
# root or sub authority