]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s4:torture: add support for SMB_EXTENDED_SIGNATURES during SMBtconX
authorStefan Metzmacher <metze@samba.org>
Thu, 2 Aug 2012 06:51:13 +0000 (08:51 +0200)
committerStefan Metzmacher <metze@samba.org>
Sat, 4 Aug 2012 07:10:22 +0000 (09:10 +0200)
metze

source4/torture/rpc/samba3rpc.c
source4/torture/util_smb.c

index a71ae52aca90beeb5e74a96b8c1c9ed66572099d..e2c8b66182fb553917eab903a1946e9d7bcef2a5 100644 (file)
@@ -47,6 +47,7 @@
 #include "librpc/rpc/dcerpc.h"
 #include "librpc/rpc/dcerpc_proto.h"
 #include "../source3/libsmb/smb2cli.h"
+#include "libcli/smb/smbXcli_base.h"
 
 /*
  * This tests a RPC call using an invalid vuid
@@ -1728,6 +1729,7 @@ static NTSTATUS secondary_tcon(struct torture_context *tctx,
 
        tcon.generic.level = RAW_TCON_TCONX;
        tcon.tconx.in.flags = TCONX_FLAG_EXTENDED_RESPONSE;
+       tcon.tconx.in.flags |= TCONX_FLAG_EXTENDED_SIGNATURES;
        tcon.tconx.in.password = data_blob(NULL, 0);
        tcon.tconx.in.path = sharename;
        tcon.tconx.in.device = "?????";
@@ -1741,6 +1743,11 @@ static NTSTATUS secondary_tcon(struct torture_context *tctx,
        }
 
        result->tid = tcon.tconx.out.tid;
+
+       if (tcon.tconx.out.options & SMB_EXTENDED_SIGNATURES) {
+               smb1cli_session_protect_session_key(result->session->smbXcli);
+       }
+
        result = talloc_steal(mem_ctx, result);
        talloc_set_destructor(result, destroy_tree);
        talloc_free(tmp_ctx);
index 8f2af8c5deb57517404fd9f8d994910777290064..343c8a7f351142a07858a9202cc0c42df65e700f 100644 (file)
@@ -35,7 +35,7 @@
 #include "libcli/security/security.h"
 #include "libcli/util/clilsa.h"
 #include "torture/util.h"
-
+#include "libcli/smb/smbXcli_base.h"
 
 /**
   setup a directory ready for a test
@@ -869,6 +869,7 @@ NTSTATUS torture_second_tcon(TALLOC_CTX *mem_ctx,
 
        tcon.generic.level = RAW_TCON_TCONX;
        tcon.tconx.in.flags = TCONX_FLAG_EXTENDED_RESPONSE;
+       tcon.tconx.in.flags |= TCONX_FLAG_EXTENDED_SIGNATURES;
 
        /* Ignore share mode security here */
        tcon.tconx.in.password = data_blob(NULL, 0);
@@ -882,6 +883,11 @@ NTSTATUS torture_second_tcon(TALLOC_CTX *mem_ctx,
        }
 
        result->tid = tcon.tconx.out.tid;
+
+       if (tcon.tconx.out.options & SMB_EXTENDED_SIGNATURES) {
+               smb1cli_session_protect_session_key(result->session->smbXcli);
+       }
+
        *res = talloc_steal(mem_ctx, result);
        talloc_free(tmp_ctx);
        return NT_STATUS_OK;