From a560082c60e618de327170dbcb8107ab988913fb Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 3 Sep 2004 05:16:25 +0000 Subject: r2199: the unknown 16 bit number in lsa_LookupPrivDisplayName() is a language ID, so the client can choose what language they get the privilege description in. this is the first time I've seen a language ID on the wire in CIFS. (This used to be commit e99d88915fbfcfb50b04330cd1a32b90222fbca3) --- source4/torture/rpc/lsa.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'source4/torture') diff --git a/source4/torture/rpc/lsa.c b/source4/torture/rpc/lsa.c index 5a306fef4d..135e50fb5a 100644 --- a/source4/torture/rpc/lsa.c +++ b/source4/torture/rpc/lsa.c @@ -642,19 +642,26 @@ static BOOL test_LookupPrivDisplayName(struct dcerpc_pipe *p, { struct lsa_LookupPrivDisplayName r; NTSTATUS status; + /* produce a reasonable range of language output without screwing up + terminals */ + uint16 language_id = (random() % 4) + 0x409; printf("testing LookupPrivDisplayName(%s)\n", priv_name->name); r.in.handle = handle; r.in.name = priv_name; + r.in.language_id = &language_id; + r.out.language_id = &language_id; r.in.unknown = 0; - r.in.unknown2 = 0; status = dcerpc_lsa_LookupPrivDisplayName(p, mem_ctx, &r); if (!NT_STATUS_IS_OK(status)) { printf("LookupPrivDisplayName failed - %s\n", nt_errstr(status)); return False; } + printf("%s -> \"%s\" (language 0x%x/0x%x)\n", + priv_name->name, r.out.disp_name->name, + *r.in.language_id, *r.out.language_id); return True; } -- cgit