1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-06 13:18:07 +03:00
samba-mirror/source4/torture/ndr
Stefan Metzmacher 9be924f907 s4:torture/ndr: demonstrate the ndr_push_string(STR_NOTERM|REMAINING) of "" is wrong
convert_string_talloc() never returns a string with len=0 and always
implies zero termination byte(s).

For ndr_push_string this is unexpected as we need to be compatible on
the wire and push 0 bytes for an empty string.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14956

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
(cherry picked from commit 8da26cb672)
2022-01-30 10:57:11 +00:00
..
atsvc.c
backupkey.c s4-torture: cleanup torture_suite_add_ndr_pull_validate_test API. 2016-09-07 09:28:13 +02:00
cabinet.c ndr: Free memory in torture test to satisfy sanitizer 2019-08-08 10:08:32 +00:00
charset.c s4-torture: add some NDR tests for validating ndr_push_charset behavior. 2017-01-24 10:53:17 +01:00
clusapi.c ndr: Free memory in torture test to satisfy sanitizer 2019-08-08 10:08:32 +00:00
dfs.c
dfsblob.c
dnsp.c Fix clang 9 constant-conversion warnings 2020-05-08 09:31:31 +00:00
drsblobs.c s4-torture: cleanup torture_suite_add_ndr_pull_validate_test API. 2016-09-07 09:28:13 +02:00
drsuapi.c
epmap.c
krb5pac.c s4-torture: cleanup torture_suite_add_ndr_pull_validate_test API. 2016-09-07 09:28:13 +02:00
lsa.c torture/ndr: make check functions typesafe 2021-07-08 09:30:40 +00:00
nbt.c s4-torture: cleanup torture_suite_add_ndr_pull_validate_test API. 2016-09-07 09:28:13 +02:00
ndr.c s4-torture: add odj ndr testsuite 2021-07-14 16:49:29 +00:00
ndr.h torture/ndr: add more details to the test names 2021-07-08 09:30:40 +00:00
negoex.c s4-torture: cleanup torture_suite_add_ndr_pull_validate_test API. 2016-09-07 09:28:13 +02:00
netlogon.c s4-torture: add netr_LogonGetDomainInfo NDR(64) tests 2019-09-20 02:32:44 +00:00
ntlmssp.c s4-torture: cleanup torture_suite_add_ndr_pull_validate_test API. 2016-09-07 09:28:13 +02:00
ntprinting.c
odj.c s4-torture: add odj ndr testsuite 2021-07-14 16:49:29 +00:00
README
samr.c
spoolss.c s4-torture: add more NDR tests for GetCorePrinterDrivers 2017-01-24 14:42:34 +01:00
string.c s4:torture/ndr: demonstrate the ndr_push_string(STR_NOTERM|REMAINING) of "" is wrong 2022-01-30 10:57:11 +00:00
svcctl.c librpc: fix IDL for svcctl_ChangeServiceConfigW 2020-03-09 15:00:31 +00:00
winreg.c werror: replace WERR_INVALID_PARAM with WERR_INVALID_PARAMETER in source4/torture/ 2016-09-28 00:04:23 +02:00
winspool.c s4-torture: add IRemoteWinspool ndr testsuite. 2016-09-22 12:29:28 +02:00
witness.c witness.idl: fix length calculation for witness_IPaddrInfoList 2021-07-08 09:30:40 +00:00

use
	hexdump -v -e '12/1 "0x%02x, " "\n"' infile|outfile

to import ndr dumps


Or use gdb:

(gdb) b dump_printer
Breakpoint 1 at 0x49c92f: file ../source3/utils/net_printing.c, line 158.
(gdb) cond 1 strcmp(key_name, "s0bc") == 0
(gdb) run
Breakpoint 1, dump_printer (mem_ctx=0x700a20, key_name=0x11fb8f9 "s0bc", data=0x18f93d0 "H\032", length=1284, do_string_conversion=true) at ../source3/utils/net_printing.c:158
158             printf("found printer: %s\n", key_name);

-> Now use x/<length in byte>bx

(gdb) x/1284bx data

This prints data as hex values. 1284 is the length in byte (see the length
argument of the function). The b indicates byte.