Filter unprintable ASCII during enumeration
When enumerating DCIM_ControllerView, the DriverVersion field may have unprintable ASCII characters in it if the server has a BOSS card. In the past, it was observed that this field could contain unprintable non-ASCII characters, but unprintable ASCII characters have been found in it as well. This fix changes the filtering so that only printable ASCII characters and the tab character pass the filter. Closes-Bug: 1816194 Change-Id: If7274fed19fb763aa7c2e4adc3676a4e3c26aee0
This commit is contained in:
parent
45569a427f
commit
95440920fd
@ -163,8 +163,11 @@ class Client(object):
|
|||||||
resp_xml = ElementTree.fromstring(resp.content)
|
resp_xml = ElementTree.fromstring(resp.content)
|
||||||
except ElementTree.XMLSyntaxError:
|
except ElementTree.XMLSyntaxError:
|
||||||
LOG.warning('Received invalid content from iDRAC. Filtering out '
|
LOG.warning('Received invalid content from iDRAC. Filtering out '
|
||||||
'non-ASCII characters: ' + repr(resp.content))
|
'unprintable characters: ' + repr(resp.content))
|
||||||
resp_xml = ElementTree.fromstring(re.sub(six.b('[^\x00-\x7f]'),
|
|
||||||
|
# Filter out everything except for printable ASCII characters and
|
||||||
|
# tab
|
||||||
|
resp_xml = ElementTree.fromstring(re.sub(six.b('[^\x20-\x7e\t]'),
|
||||||
six.b(''),
|
six.b(''),
|
||||||
resp.content))
|
resp.content))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user