s4-loadparm: 2nd half of lp_ to lpcfg_ conversion
[kamenim/samba.git] / source4 / torture / smb2 / scan.c
index 1ec67492bf03c1b8fa969fcd1bf4c56f6c3ffb36..3b132ab8a4f655c22af1f50a24e842d880f12b27 100644 (file)
@@ -23,9 +23,9 @@
 #include "libcli/smb2/smb2.h"
 #include "libcli/smb2/smb2_calls.h"
 #include "lib/cmdline/popt_common.h"
-#include "lib/events/events.h"
 #include "torture/torture.h"
 #include "param/param.h"
+#include "libcli/resolve/resolve.h"
 
 #include "torture/smb2/proto.h"
 
@@ -67,29 +67,30 @@ bool torture_smb2_getinfo_scan(struct torture_context *torture)
 
 
        ZERO_STRUCT(io);
-       io.in.max_response_size = 0xFFFF;
+       io.in.output_buffer_length = 0xFFFF;
 
        for (c=1;c<5;c++) {
                for (i=0;i<0x100;i++) {
-                       io.in.level = (i<<8) | c;
+                       io.in.info_type = c;
+                       io.in.info_class = i;
 
                        io.in.file.handle = fhandle;
                        status = smb2_getinfo(tree, torture, &io);
-                       if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS) &&
-                           !NT_STATUS_EQUAL(status, NT_STATUS_INVALID_PARAMETER) &&
-                           !NT_STATUS_EQUAL(status, NT_STATUS_NOT_SUPPORTED)) {
-                               printf("file level 0x%04x is %ld bytes - %s\n"
-                                      io.in.level, (long)io.out.blob.length, nt_errstr(status));
+                       if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS)) {
+                               printf("file level 0x%02x:%02x %u is %ld bytes - %s\n", 
+                                      io.in.info_type, io.in.info_class, 
+                                      (unsigned)io.in.info_class
+                                      (long)io.out.blob.length, nt_errstr(status));
                                dump_data(1, io.out.blob.data, io.out.blob.length);
                        }
 
                        io.in.file.handle = dhandle;
                        status = smb2_getinfo(tree, torture, &io);
-                       if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS) &&
-                           !NT_STATUS_EQUAL(status, NT_STATUS_INVALID_PARAMETER) &&
-                           !NT_STATUS_EQUAL(status, NT_STATUS_NOT_SUPPORTED)) {
-                               printf("dir  level 0x%04x is %ld bytes - %s\n"
-                                      io.in.level, (long)io.out.blob.length, nt_errstr(status));
+                       if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS)) {
+                               printf("dir  level 0x%02x:%02x %u is %ld bytes - %s\n", 
+                                      io.in.info_type, io.in.info_class,
+                                      (unsigned)io.in.info_class
+                                      (long)io.out.blob.length, nt_errstr(status));
                                dump_data(1, io.out.blob.data, io.out.blob.length);
                        }
                }
@@ -130,8 +131,7 @@ bool torture_smb2_setinfo_scan(struct torture_context *torture)
                        io.in.level = (i<<8) | c;
                        io.in.file.handle = handle;
                        status = smb2_setinfo(tree, &io);
-                       if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS) &&
-                           !NT_STATUS_EQUAL(status, NT_STATUS_NOT_SUPPORTED)) {
+                       if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_INFO_CLASS)) {
                                printf("file level 0x%04x - %s\n", 
                                       io.in.level, nt_errstr(status));
                        }
@@ -199,17 +199,23 @@ bool torture_smb2_scan(struct torture_context *torture)
        NTSTATUS status;
        int opcode;
        struct smb2_request *req;
+       struct smbcli_options options;
+
+       lpcfg_smbcli_options(torture->lp_ctx, &options);
 
-       status = smb2_connect(mem_ctx, host, share, 
-                             lp_name_resolve_order(torture->lp_ctx), 
-                             credentials, &tree, 
-                             event_context_find(mem_ctx));
+       status = smb2_connect(mem_ctx, host, 
+                                                 lpcfg_smb_ports(torture->lp_ctx),
+                                                 share, 
+                                                 lpcfg_resolve_context(torture->lp_ctx),
+                                                 credentials, &tree, torture->ev, &options,
+                                                 lpcfg_socket_options(torture->lp_ctx),
+                                                 lpcfg_gensec_settings(torture, torture->lp_ctx));
        if (!NT_STATUS_IS_OK(status)) {
                printf("Connection failed - %s\n", nt_errstr(status));
                return false;
        }
 
-       tree->session->transport->options.timeout = 3;
+       tree->session->transport->options.request_timeout = 3;
 
        for (opcode=0;opcode<1000;opcode++) {
                req = smb2_request_init_tree(tree, opcode, 2, false, 0);
@@ -217,15 +223,18 @@ bool torture_smb2_scan(struct torture_context *torture)
                smb2_transport_send(req);
                if (!smb2_request_receive(req)) {
                        talloc_free(tree);
-                       status = smb2_connect(mem_ctx, host, share, 
-                                             lp_name_resolve_order(torture->lp_ctx), 
-                                             credentials, &tree, 
-                                             event_context_find(mem_ctx));
+                       status = smb2_connect(mem_ctx, host, 
+                                                                 lpcfg_smb_ports(torture->lp_ctx),
+                                                                 share, 
+                                                                 lpcfg_resolve_context(torture->lp_ctx),
+                                                                 credentials, &tree, torture->ev, &options,
+                                                                 lpcfg_socket_options(torture->lp_ctx),
+                                                                 lpcfg_gensec_settings(mem_ctx, torture->lp_ctx));
                        if (!NT_STATUS_IS_OK(status)) {
                                printf("Connection failed - %s\n", nt_errstr(status));
                                return false;
                        }
-                       tree->session->transport->options.timeout = 3;
+                       tree->session->transport->options.request_timeout = 3;
                } else {
                        status = smb2_request_destroy(req);
                        printf("active opcode %4d gave status %s\n", opcode, nt_errstr(status));