summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-04-06 20:45:08 +0200
committerVolker Lendecke <vl@samba.org>2009-04-06 21:32:08 +0200
commit3084d49cc000dbfeb01d931d737c695dcd392e4a (patch)
treedf019add8d0a7a28a8a68017a18cd782f440bf82
parent0c353b57113b02bccaaa3ec09ff9fb1fd8542bd4 (diff)
downloadsamba-3084d49cc000dbfeb01d931d737c695dcd392e4a.tar.gz
samba-3084d49cc000dbfeb01d931d737c695dcd392e4a.tar.xz
samba-3084d49cc000dbfeb01d931d737c695dcd392e4a.zip
Add a bad hack to enable level 2 oplocks in torture_open_connection_share
-rw-r--r--source3/include/client.h2
-rw-r--r--source3/libsmb/cliconnect.c4
-rw-r--r--source3/torture/torture.c6
3 files changed, 10 insertions, 2 deletions
diff --git a/source3/include/client.h b/source3/include/client.h
index 3461dfa47ab..c314c9c6a98 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -289,5 +289,7 @@ typedef struct file_info {
#define CLI_FULL_CONNECTION_USE_KERBEROS 0x0002
#define CLI_FULL_CONNECTION_ANONYMOUS_FALLBACK 0x0004
#define CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS 0x0008
+#define CLI_FULL_CONNECTION_OPLOCKS 0x0010
+#define CLI_FULL_CONNECTION_LEVEL_II_OPLOCKS 0x0020
#endif /* _CLIENT_H */
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
index 34c0825c079..53a812d222f 100644
--- a/source3/libsmb/cliconnect.c
+++ b/source3/libsmb/cliconnect.c
@@ -2169,6 +2169,10 @@ NTSTATUS cli_full_connection(struct cli_state **output_cli,
return nt_status;
}
+ cli->use_oplocks = ((flags & CLI_FULL_CONNECTION_OPLOCKS) != 0);
+ cli->use_level_II_oplocks =
+ ((flags & CLI_FULL_CONNECTION_LEVEL_II_OPLOCKS) != 0);
+
nt_status = cli_session_setup(cli, user, password, pw_len, password,
pw_len, domain);
if (!NT_STATUS_IS_OK(nt_status)) {
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index 22e1104d79e..804e7725163 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -273,6 +273,10 @@ static bool torture_open_connection_share(struct cli_state **c,
if (use_kerberos)
flags |= CLI_FULL_CONNECTION_USE_KERBEROS;
+ if (use_oplocks)
+ flags |= CLI_FULL_CONNECTION_OPLOCKS;
+ if (use_level_II_oplocks)
+ flags |= CLI_FULL_CONNECTION_LEVEL_II_OPLOCKS;
status = cli_full_connection(c, myname,
hostname, NULL, port_to_use,
@@ -285,8 +289,6 @@ static bool torture_open_connection_share(struct cli_state **c,
return False;
}
- if (use_oplocks) (*c)->use_oplocks = True;
- if (use_level_II_oplocks) (*c)->use_level_II_oplocks = True;
(*c)->timeout = 120000; /* set a really long timeout (2 minutes) */
if (do_encrypt) {