summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2019-07-18 14:50:57 +1200
committerGary Lockyer <gary@samba.org>2019-07-19 02:20:47 +0000
commit0bcfc550b1a902e3a6a766b06603ac9285d0ff63 (patch)
tree1bd27fba1890801306983f056d297dc194b11011 /python
parentb0fc1ca65abd49d5391ea1213c78c2bc22641c36 (diff)
downloadsamba-0bcfc550b1a902e3a6a766b06603ac9285d0ff63.tar.gz
gp_inf: Read/write files with a UTF-16LE BOM in GptTmpl.inf
Regression caused by 16596842a62bec0a9d974c48d64000e3c079254e [MS-GPSB] 2.2 Message Syntax says that you have to write a BOM which I didn't do up until this patch. UTF-16 as input encoding was marked much higher up in the inheritance tree, which got overriden with the Python 3 fixes. I've now marked the encoding much more obviously for this file. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14004 Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Gary Lockyer <gary@catalyst.net.nz> Autobuild-User(master): Gary Lockyer <gary@samba.org> Autobuild-Date(master): Fri Jul 19 02:20:47 UTC 2019 on sn-devel-184
Diffstat (limited to 'python')
-rw-r--r--python/samba/gp_parse/gp_inf.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/python/samba/gp_parse/gp_inf.py b/python/samba/gp_parse/gp_inf.py
index 79e28159f1f..a3c828fa82d 100644
--- a/python/samba/gp_parse/gp_inf.py
+++ b/python/samba/gp_parse/gp_inf.py
@@ -29,11 +29,11 @@ from samba.gp_parse import GPParser
# [MS-GPSB] Security Protocol Extension
class GptTmplInfParser(GPParser):
sections = None
- encoding = 'utf-16le'
+ encoding = 'utf-16'
+ output_encoding = 'utf-16le'
class AbstractParam:
__metaclass__ = ABCMeta
- encoding = 'utf-16le'
def __init__(self):
self.param_list = []
@@ -333,7 +333,10 @@ class GptTmplInfParser(GPParser):
def write_binary(self, filename):
with codecs.open(filename, 'wb+',
- self.encoding) as f:
+ self.output_encoding) as f:
+ # Write the byte-order mark
+ f.write(u'\ufeff')
+
for s in self.sections:
self.sections[s].write_section(s, f)