From a688e696b84df69214a1be363969e89d98f76d4b Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Mon, 17 Dec 2012 07:51:40 -0600 Subject: Properties: fix edge case where value is decrypted with the wrong key to produce gibberish cf. 735b66606e25b20089b653977c23115e30170a1f --- src/lib/Bcfg2/Server/Plugins/Properties.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/lib') diff --git a/src/lib/Bcfg2/Server/Plugins/Properties.py b/src/lib/Bcfg2/Server/Plugins/Properties.py index 2b4196ad6..e9653a212 100644 --- a/src/lib/Bcfg2/Server/Plugins/Properties.py +++ b/src/lib/Bcfg2/Server/Plugins/Properties.py @@ -216,10 +216,14 @@ class XMLPropertyFile(Bcfg2.Server.Plugin.StructFile, PropertyFile): default="strict")) == "strict" for el in self.xdata.xpath("//*[@encrypted]"): try: - el.text = self._decrypt(el) + el.text = self._decrypt(el).encode('ascii', + 'xmlcharrefreplace') + except UnicodeDecodeError: + LOGGER.info("Properties: Decrypted %s to gibberish, " + "skipping" % el.tag) except EVPError: - msg = "Failed to decrypt %s element in %s" % (el.tag, - self.name) + msg = "Properties: Failed to decrypt %s element in %s" % \ + (el.tag, self.name) if strict: raise PluginExecutionError(msg) else: -- cgit v1.2.3-1-g7c22