1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-03 12:58:35 +03:00

fixed srvsvc DiskEnum call

strangely, the output doesn't seem to contain an info level. Some
programmer stuffed up the IDL :)
(This used to be commit a39ee5d00341e1dbde0b38474ba4d5e980e74538)
This commit is contained in:
Andrew Tridgell 2003-12-15 10:21:09 +00:00
parent 0a61036257
commit 5b03596529
2 changed files with 19 additions and 17 deletions

View File

@ -379,24 +379,24 @@
} srvsvc_NetDisk0;
typedef struct {
uint32 unknown;
uint32 count;
uint32 unknown1;
uint32 unknown2;
srvsvc_NetDisk0 array[count];
[size_is(count)] srvsvc_NetDisk0 array[];
} srvsvc_NetDiskCtr0;
typedef struct {
uint32 num1;
srvsvc_NetDiskCtr0 *ctr0;
typedef union {
[case(0)] srvsvc_NetDiskCtr0 *ctr0;
} srvsvc_NetDiskCtr;
WERROR srvsvc_NetDiskEnum(
[in] unistr *server_unc,
[in] uint32 level,
[in,out] srvsvc_NetDiskCtr ctr,
[in] uint32 preferred_len,
[out] uint32 total,
[in,out] uint32 *resume_handle
[in] unistr *server_unc,
[in] uint32 level,
[out] uint32 num_entries,
[in,switch_is(level)] srvsvc_NetDiskCtr ctr,
[out] srvsvc_NetDiskCtr0 *disks,
[in] uint32 unknown,
[out] uint32 max_entries,
[in,out] uint32 *resume_handle
);
/******************/

View File

@ -159,10 +159,12 @@ static BOOL test_NetDiskEnum(struct dcerpc_pipe *p,
uint32 levels[] = {0};
int i;
BOOL ret = True;
uint32 resume_handle=0;
r.in.server_unc = talloc_asprintf(mem_ctx,"\\\\%s",dcerpc_server_name(p));
r.in.preferred_len = (uint32)-1;
r.in.resume_handle = NULL;
r.in.server_unc = NULL;
r.in.unknown = 0;
r.in.resume_handle = &resume_handle;
r.in.ctr.ctr0 = NULL;
for (i=0;i<ARRAY_SIZE(levels);i++) {
r.in.level = levels[i];
@ -273,11 +275,11 @@ BOOL torture_rpc_srvsvc(int dummy)
if (!test_NetShareEnumAll(p, mem_ctx)) {
ret = False;
}
#if 0
if (!test_NetDiskEnum(p, mem_ctx)) {
ret = False;
}
#endif
if (!test_NetTransportEnum(p, mem_ctx)) {
ret = False;
}