diff options
-rw-r--r-- | source4/torture/rpc/srvsvc.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/source4/torture/rpc/srvsvc.c b/source4/torture/rpc/srvsvc.c index 78bde03ded..492f21e9bf 100644 --- a/source4/torture/rpc/srvsvc.c +++ b/source4/torture/rpc/srvsvc.c @@ -786,6 +786,7 @@ static BOOL test_NetNameValidate(struct dcerpc_pipe *p, /* valid path types only between 1 and 13 */ for (i = 1; i < 14; i++) { +again: /* Find maximum length accepted by this type */ r.in.name_type = i; r.in.name = talloc_strdup(mem_ctx, "A"); @@ -809,7 +810,7 @@ static BOOL test_NetNameValidate(struct dcerpc_pipe *p, talloc_free(r.in.name); - printf("Maximum length for type %d: %d\n", i, n); + printf("Maximum length for type %2d, flags %08x: %d\n", i, r.in.flags, n); /* find invalid chars for this type check only ASCII between 0x20 and 0x7e */ @@ -832,7 +833,15 @@ static BOOL test_NetNameValidate(struct dcerpc_pipe *p, talloc_free(r.in.name); } - printf("Invalid chars for type %d: %s\n", i, invalidc); + printf(" Invalid chars for type %2d, flags %08x: \"%s\"\n", i, r.in.flags, invalidc); + + /* only two values are accepted for flags: 0x0 and 0x80000000 */ + if (r.in.flags == 0x0) { + r.in.flags = 0x80000000; + goto again; + } + + r.in.flags = 0x0; } return True; |