summaryrefslogtreecommitdiff
path: root/source4/torture/util.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2006-06-28 22:09:03 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:09:36 -0500
commit414c47633d89d87011fda08c3c2b8dcbbfbcc2a8 (patch)
tree214053a5bee4f7da16c723e6b9e7b90a91678cfb /source4/torture/util.c
parentf8d845446114cd138b908de71c2b989a32ea1508 (diff)
downloadsamba-414c47633d89d87011fda08c3c2b8dcbbfbcc2a8.tar.gz
samba-414c47633d89d87011fda08c3c2b8dcbbfbcc2a8.tar.bz2
samba-414c47633d89d87011fda08c3c2b8dcbbfbcc2a8.zip
r16657: Test Jerry's iTunes bug, along with some more error conditions
Volker (This used to be commit 12aa900eb2ffde3711a30c7e063bfba95128e91d)
Diffstat (limited to 'source4/torture/util.c')
-rw-r--r--source4/torture/util.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/source4/torture/util.c b/source4/torture/util.c
index d59de9459f..fd2423ab67 100644
--- a/source4/torture/util.c
+++ b/source4/torture/util.c
@@ -22,6 +22,8 @@
#include "system/filesys.h"
#include "system/wait.h"
#include "torture/torture.h"
+#include "libcli/raw/interfaces.h"
+#include "libcli/raw/libcliraw.h"
/**
create a temporary directory.
@@ -115,3 +117,43 @@ NTSTATUS torture_setup_server(TALLOC_CTX *mem_ctx,
return NT_STATUS_OK;
}
+
+NTSTATUS torture_second_tcon(TALLOC_CTX *mem_ctx,
+ struct smbcli_session *session,
+ const char *sharename,
+ struct smbcli_tree **res)
+{
+ union smb_tcon tcon;
+ struct smbcli_tree *result;
+ TALLOC_CTX *tmp_ctx;
+ NTSTATUS status;
+
+ if ((tmp_ctx = talloc_new(mem_ctx)) == NULL) {
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ result = smbcli_tree_init(session, tmp_ctx, False);
+ if (result == NULL) {
+ talloc_free(tmp_ctx);
+ return NT_STATUS_NO_MEMORY;
+ }
+
+ tcon.generic.level = RAW_TCON_TCONX;
+ tcon.tconx.in.flags = 0;
+
+ /* Ignore share mode security here */
+ tcon.tconx.in.password = data_blob(NULL, 0);
+ tcon.tconx.in.path = sharename;
+ tcon.tconx.in.device = "?????";
+
+ status = smb_raw_tcon(result, tmp_ctx, &tcon);
+ if (!NT_STATUS_IS_OK(status)) {
+ talloc_free(tmp_ctx);
+ return status;
+ }
+
+ result->tid = tcon.tconx.out.tid;
+ *res = talloc_steal(mem_ctx, result);
+ talloc_free(tmp_ctx);
+ return NT_STATUS_OK;
+}