summaryrefslogtreecommitdiff
path: root/examples/systemtap
diff options
context:
space:
mode:
authorKarl Lenz <xorangekiller@gmail.com>2019-07-04 18:30:44 -0400
committerAndrew Bartlett <abartlet@samba.org>2019-07-05 03:33:19 +0000
commit17d267e9578299b9ccfd0227e522b79152b00a27 (patch)
tree4327d4a1577071981dc17f60adf6b7c4916089f4 /examples/systemtap
parent9d90ac352d409c6cda7598a4cfbb79c2b9f75754 (diff)
downloadsamba-17d267e9578299b9ccfd0227e522b79152b00a27.tar.gz
winexe: Fix translation of the winexesvc binaries to C
Two small Windows binaries that winexe uses to execute commands on a remote system, winexesvc32.exe and winexesvc64.exe, are compiled then translated into a C byte array as hex so that they can be embedded into the winexe binary. Although the winexesvc binaries were built properly, the Python method that does the translation to C tried to open them in text mode, which would have worked in Python 2 before the concept of bytearrays was introduced, but instead raises an exception in Python 3. The exception was unfortunately suppressed, so the build didn't stop, and the winexe binary that was produced was effectively useless because it didn't contain either winexesvc binary as expected. After winexe successfully authenticated with a Windows host, it showed the error message below rather than executing the given command on the remote system. $ ./bin/winexe -U karl%password1 -d 2 //192.168.56.3 cmd winexe_svc_install: dcerpc_svcctl_StartServiceW failed: WERR_BAD_EXE_FORMAT main: winexe_svc_install failed: NT_STATUS_BAD_INITIAL_PC This commit fixes that problem by opening the winexesvc binaries in binary mode rather than text mode when the winexe build script reads them to translate them to C. Furthermore it adds an additional sanity check that will cause the winexesvc binary generator commands to fail if the winexesvc binaries cannot be opened or read correctly to guarantee that the build does not silently "succeed" if something like this ever happens again. Signed-off-by: Karl Lenz <xorangekiller@gmail.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
Diffstat (limited to 'examples/systemtap')
0 files changed, 0 insertions, 0 deletions