[PATCH] Don't include control characters in BufferIn trace output
Certain API calls, pwrite-device is an example, take a BufferIn as an argument which may contain arbitrary binary data. If trace output is on, we will attempt to print this to the terminal. As well as not working properly due to embedded NUL characters, this can cause problems on the output terminal, is unlikely to be useful, and can't be entered into guestfish in any case. This patch scans BufferIn arguments if trace output is on. If it finds any control characters it will replace the entire string with '<data>' in the trace output. --- generator/generator_c.ml | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-)
I think the attached patch is an improvement on the concept. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones New in Fedora 11: Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 70 libraries supprt'd http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw
On 26/10/10 13:56, Richard W.M. Jones wrote:
I think the attached patch is an improvement on the concept.
Rich.
-- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones New in Fedora 11: Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 70 libraries supprt'd http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw
0001-Don-t-include-control-characters-in-BufferIn-trace-o.patch
From 285afc5e03be92853e49f1eef34b8b6e8184614b Mon Sep 17 00:00:00 2001 From: Matthew Booth<mbooth@redhat.com> Date: Tue, 26 Oct 2010 13:54:17 +0100 Subject: [PATCH] Don't include control characters in BufferIn trace output (RHBZ#646822).
The example below shows what the output looks like for a large random buffer.
$ guestfish -N fs -m /dev/sda1 -x -- \ touch /test : \ pwrite /test "$(dd if=/dev/urandom bs=128k count=1)" 0 [...] pwrite "/test" "\x7f\xa0/\xb3\x80\xd3\xbc\xc3\xc3.\xb1\xe0\x1b\xafC\x06\xd5;\x0ajJ[o\xc1\xdd\xae\x1f\xce\xb2\x8d\xb3\xd0\x11\xcc$%\xe6<\xc7\xc7\xe7BU*\xc4l%\xaa\xea\xe9\x1an\xda]\xc6I\x0eC\xf9;\xec\x12a\x1f\xeaRH\xb2P\xd6+\xc4\xe6\xa5bW\x99\\x9d\xc8\x9bJ\xef\x99-\x16:h5\xe2\x0f\xa2\xa08\x9bU\x0b$\x138\xcf\xd4j\x9b\x83{%\xac0\xdaa1Xx\xbd`\x8e\xdd\x82\x87\x07\x98\xd2\x9ed\x8bq\xd0\x1f5\x8f\xab\xad4z1\xda\xc4b\xc1\xbc\x0f\xaa\xea\xc1\x15(\xfd1\xc2\x0bF\xe6\x9e\xb0+/g\\xab\xb0b\xde_\xca\xf9\xad\xe1?%\x17\xad\x98\xa4e\xc1\xe0f'\x89\xe9>\xff\xadhYi\xe7\x8c]%\xef\xe0\xa1R\xe5\xd5\x03K\xefI\xdf\xad\xd3\x82\xdb\x0f\xdd\xc3\x8f"\xf1G\xea\xf9r\xdd\xff\x88\x81\xb7\xf2\x0e\x0f\x1d;:\xf2F1\xdb\xb5D\xa1^\x928\xf5\x8e)\xab\xc4\xc3H(\xd0ol\xc6\xe4\xd6\xa3L\x1c\x06\xf4"<truncated, original size 130567 bytes> 0 [...] --- generator/generator_c.ml | 4 +++- src/guestfs-internal.h | 1 + src/guestfs.c | 29 +++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletions(-)
Looks good. ACK. Matt -- Matthew Booth, RHCA, RHCSS Red Hat Engineering, Virtualisation Team GPG ID: D33C3490 GPG FPR: 3733 612D 2D05 5458 8A8A 1600 3441 EA19 D33C 3490
participants (2)
-
Matthew Booth -
Richard W.M. Jones