- add 'print' to the DCERPC binding strings
[samba.git] / source4 / torture / rpc / srvsvc.c
index 45103b8188a9101d94c82e04c259c4d62f44227f..d7f9a7004b5b5fbb6d4248a248ebab69758a9ab8 100644 (file)
@@ -37,7 +37,7 @@ static BOOL test_NetConnEnum(struct dcerpc_pipe *p,
        r.in.ctr.ctr0 = &c0;
        r.in.ctr.ctr0->count = 0;
        r.in.ctr.ctr0->array = NULL;
-       r.in.preferred_len = (uint32)-1;
+       r.in.max_buffer = (uint32)-1;
        r.in.resume_handle = NULL;
 
        for (i=0;i<ARRAY_SIZE(levels);i++) {
@@ -69,7 +69,7 @@ static BOOL test_NetFileEnum(struct dcerpc_pipe *p,
        r.in.ctr.ctr3 = &c3;
        r.in.ctr.ctr3->count = 0;
        r.in.ctr.ctr3->array = NULL;
-       r.in.preferred_len = (uint32)4096;
+       r.in.max_buffer = (uint32)4096;
        r.in.resume_handle = NULL;
 
        for (i=0;i<ARRAY_SIZE(levels);i++) {
@@ -101,7 +101,7 @@ static BOOL test_NetSessEnum(struct dcerpc_pipe *p,
        r.in.ctr.ctr0 = &c0;
        r.in.ctr.ctr0->count = 0;
        r.in.ctr.ctr0->array = NULL;
-       r.in.preferred_len = (uint32)-1;
+       r.in.max_buffer = (uint32)-1;
        r.in.resume_handle = NULL;
 
        for (i=0;i<ARRAY_SIZE(levels);i++) {
@@ -118,23 +118,26 @@ static BOOL test_NetSessEnum(struct dcerpc_pipe *p,
 }
 
 static BOOL test_NetShareEnumAll(struct dcerpc_pipe *p, 
-                          TALLOC_CTX *mem_ctx)
+                                TALLOC_CTX *mem_ctx)
 {
        NTSTATUS status;
        struct srvsvc_NetShareEnumAll r;
        struct srvsvc_NetShareCtr0 c0;
-       uint32 levels[] = {0, 1, 2, 501, 502};
+       uint32 levels[] = {0, 1, 2, 501, 502, 1004};
        int i;
        BOOL ret = True;
+       uint32 resume_handle;
+
+       ZERO_STRUCT(c0);
 
        r.in.server_unc = talloc_asprintf(mem_ctx,"\\\\%s",dcerpc_server_name(p));
        r.in.ctr.ctr0 = &c0;
-       r.in.ctr.ctr0->count = 0;
-       r.in.ctr.ctr0->array = NULL;
-       r.in.preferred_len = (uint32)-1;
-       r.in.resume_handle = NULL;
+       r.in.max_buffer = (uint32)-1;
+       r.in.resume_handle = &resume_handle;
+       r.out.resume_handle = &resume_handle;
 
        for (i=0;i<ARRAY_SIZE(levels);i++) {
+               resume_handle = 0;
                r.in.level = levels[i];
                printf("testing NetShareEnumAll level %u\n", r.in.level);
                status = dcerpc_srvsvc_NetShareEnumAll(p, mem_ctx, &r);
@@ -147,20 +150,21 @@ static BOOL test_NetShareEnumAll(struct dcerpc_pipe *p,
        return True;
 }
 
-#if 0
+
 static BOOL test_NetDiskEnum(struct dcerpc_pipe *p, 
                           TALLOC_CTX *mem_ctx)
 {
        NTSTATUS status;
        struct srvsvc_NetDiskEnum r;
-       struct srvsvc_NetDiskCtr0 c0;
-       uint32 levels[] = {0, 1, 2, 3};
+       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];
@@ -191,7 +195,7 @@ static BOOL test_NetTransportEnum(struct dcerpc_pipe *p,
        r.in.ctr.ctr0 = &c0;
        r.in.ctr.ctr0->count = 0;
        r.in.ctr.ctr0->array = NULL;
-       r.in.preferred_len = (uint32)-1;
+       r.in.max_buffer = (uint32)-1;
        r.in.resume_handle = NULL;
 
        for (i=0;i<ARRAY_SIZE(levels);i++) {
@@ -206,7 +210,7 @@ static BOOL test_NetTransportEnum(struct dcerpc_pipe *p,
 
        return True;
 }
-#endif
+
 static BOOL test_NetShareEnum(struct dcerpc_pipe *p, 
                           TALLOC_CTX *mem_ctx)
 {
@@ -221,7 +225,7 @@ static BOOL test_NetShareEnum(struct dcerpc_pipe *p,
        r.in.ctr.ctr0 = &c0;
        r.in.ctr.ctr0->count = 0;
        r.in.ctr.ctr0->array = NULL;
-       r.in.preferred_len = (uint32)-1;
+       r.in.max_buffer = (uint32)-1;
        r.in.resume_handle = NULL;
 
        for (i=0;i<ARRAY_SIZE(levels);i++) {
@@ -254,8 +258,6 @@ BOOL torture_rpc_srvsvc(int dummy)
                return False;
        }
 
-       p->flags |= DCERPC_DEBUG_PRINT_BOTH;
-
        if (!test_NetConnEnum(p, mem_ctx)) {
                ret = False;
        }
@@ -271,7 +273,7 @@ BOOL torture_rpc_srvsvc(int dummy)
        if (!test_NetShareEnumAll(p, mem_ctx)) {
                ret = False;
        }
-#if 0
+
        if (!test_NetDiskEnum(p, mem_ctx)) {
                ret = False;
        }
@@ -279,11 +281,13 @@ BOOL torture_rpc_srvsvc(int dummy)
        if (!test_NetTransportEnum(p, mem_ctx)) {
                ret = False;
        }
-#endif
+
        if (!test_NetShareEnum(p, mem_ctx)) {
                ret = False;
        }
 
+       talloc_destroy(mem_ctx);
+
         torture_rpc_close(p);
 
        return ret;