File rtslib-disallow-upper-case-iqn-names.patch of Package python-rtslib.2496
diff -aurp rtslib-2.2.orig/rtslib/target.py rtslib-2.2/rtslib/target.py
--- rtslib-2.2.orig/rtslib/target.py 2016-04-27 15:43:36.324000000 -0700
+++ rtslib-2.2/rtslib/target.py 2016-04-27 15:44:20.900000000 -0700
@@ -1208,10 +1208,9 @@ class Target(CFSNode):
self.wwn = wwn
self._path = "%s/%s" % (self.fabric_module.path, self.wwn)
- if not self:
- if not self.fabric_module.is_valid_wwn(self.wwn):
- raise RTSLibError("Invalid %s wwn: %s"
- % (self.wwn_type, self.wwn))
+ if not self.fabric_module.is_valid_wwn(self.wwn):
+ raise RTSLibError("Invalid %s wwn: %s"
+ % (self.wwn_type, self.wwn))
self._create_in_cfs_ine(mode)
def _list_tpgs(self):
diff -aurp rtslib-2.2.orig/rtslib/utils.py rtslib-2.2/rtslib/utils.py
--- rtslib-2.2.orig/rtslib/utils.py 2016-04-27 15:43:36.380000000 -0700
+++ rtslib-2.2/rtslib/utils.py 2016-04-27 15:44:20.904000000 -0700
@@ -557,7 +557,8 @@ def is_valid_wwn(wwn_type, wwn, wwn_list
elif wwn_type == 'iqn' \
and re.match("iqn\.[0-9]{4}-[0-1][0-9]\..*\..*", wwn) \
and not re.search(' ', wwn) \
- and not re.search('_', wwn):
+ and not re.search('_', wwn) \
+ and not re.search('[A-Z]', wwn):
return True
elif wwn_type == 'naa' \
and re.match("naa\.[0-9A-Fa-f]{16}$", wwn):