[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Thu Sep 8 11:24:03 MDT 2011
The branch, master has been updated
via fe11e9b s3:torture: make use of CLI_FULL_CONNECTION_DONT_SPNEGO
via 173e323 s3:torture: make use of CLI_FULL_CONNECTION_FORCE_DOS_ERRORS
via a7e418d s3:libsmb: add CLI_FULL_CONNECTION_FORCE_ASCII
via db79aa7 s3:libsmb: add CLI_FULL_CONNECTION_FORCE_DOS_ERRORS
via 189266d s3:libsmb: don't handle CLI_FULL_CONNECTION_* flags in cli_full_connection()
via 39ffa0b s3:libsmb: don't handle CLI_FULL_CONNECTION_* flags in cli_start_connection()
from 08e0627 s4-param void function cannot return value
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit fe11e9b2c6cd244dbd219de12fe83634ccd82705
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Sep 8 09:56:16 2011 +0200
s3:torture: make use of CLI_FULL_CONNECTION_DONT_SPNEGO
metze
Autobuild-User: Stefan Metzmacher <metze at samba.org>
Autobuild-Date: Thu Sep 8 19:23:32 CEST 2011 on sn-devel-104
commit 173e323cd9623d1da8db921a3b64f23c21314c54
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Sep 8 09:24:11 2011 +0200
s3:torture: make use of CLI_FULL_CONNECTION_FORCE_DOS_ERRORS
metze
commit a7e418dd45fe81af4ec4fbddfcfffb491487a8b7
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Sep 8 09:49:26 2011 +0200
s3:libsmb: add CLI_FULL_CONNECTION_FORCE_ASCII
metze
commit db79aa7260759c451e38e2df46562d01ce5514c6
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Sep 8 09:18:45 2011 +0200
s3:libsmb: add CLI_FULL_CONNECTION_FORCE_DOS_ERRORS
metze
commit 189266d8eedae1a1c78776fdbbd0883b7390107f
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Sep 8 17:26:30 2011 +0200
s3:libsmb: don't handle CLI_FULL_CONNECTION_* flags in cli_full_connection()
This is already done by cli_state_create().
metze
commit 39ffa0b789b9733bad77d524ba9df6ee5a9098f2
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Sep 8 17:26:30 2011 +0200
s3:libsmb: don't handle CLI_FULL_CONNECTION_* flags in cli_start_connection()
This is already done by cli_state_create().
metze
-----------------------------------------------------------------------
Summary of changes:
source3/include/client.h | 3 +++
source3/libsmb/cliconnect.c | 20 ++------------------
source3/libsmb/clientgen.c | 13 ++++++++++++-
source3/torture/torture.c | 24 +++++++++++++++++++-----
4 files changed, 36 insertions(+), 24 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/include/client.h b/source3/include/client.h
index 79ce709..9eae222 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -114,6 +114,7 @@ struct cli_state {
bool use_level_II_oplocks; /* should we use level II oplocks? */
bool force_dos_errors;
+ bool force_ascii;
bool case_sensitive; /* False by default. */
/* Where (if anywhere) this is mounted under DFS. */
@@ -193,5 +194,7 @@ struct file_info {
#define CLI_FULL_CONNECTION_OPLOCKS 0x0010
#define CLI_FULL_CONNECTION_LEVEL_II_OPLOCKS 0x0020
#define CLI_FULL_CONNECTION_USE_CCACHE 0x0040
+#define CLI_FULL_CONNECTION_FORCE_DOS_ERRORS 0x0080
+#define CLI_FULL_CONNECTION_FORCE_ASCII 0x0100
#endif /* _CLIENT_H */
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
index 58cf7a8..fd0536c 100644
--- a/source3/libsmb/cliconnect.c
+++ b/source3/libsmb/cliconnect.c
@@ -2723,8 +2723,9 @@ static void cli_negprot_done(struct tevent_req *subreq)
cli->max_xmit = MIN(cli->max_xmit, CLI_BUFFER_SIZE);
/* a way to force ascii SMB */
- if (getenv("CLI_FORCE_ASCII"))
+ if (cli->force_ascii) {
cli->capabilities &= ~CAP_UNICODE;
+ }
tevent_req_done(req);
}
@@ -2911,19 +2912,6 @@ NTSTATUS cli_start_connection(struct cli_state **output_cli,
return nt_status;
}
- if (flags & CLI_FULL_CONNECTION_DONT_SPNEGO)
- cli->use_spnego = False;
- else if (flags & CLI_FULL_CONNECTION_USE_KERBEROS)
- cli->use_kerberos = True;
-
- if ((flags & CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS) &&
- cli->use_kerberos) {
- cli->fallback_after_kerberos = true;
- }
- if (flags & CLI_FULL_CONNECTION_USE_CCACHE) {
- cli->use_ccache = true;
- }
-
nt_status = cli_negprot(cli);
if (!NT_STATUS_IS_OK(nt_status)) {
DEBUG(1, ("failed negprot: %s\n", nt_errstr(nt_status)));
@@ -2976,10 +2964,6 @@ 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/libsmb/clientgen.c b/source3/libsmb/clientgen.c
index 20b64b6..f274dc0 100644
--- a/source3/libsmb/clientgen.c
+++ b/source3/libsmb/clientgen.c
@@ -201,8 +201,19 @@ struct cli_state *cli_state_create(TALLOC_CTX *mem_ctx,
/* Set the CLI_FORCE_DOSERR environment variable to test
client routines using DOS errors instead of STATUS32
ones. This intended only as a temporary hack. */
- if (getenv("CLI_FORCE_DOSERR"))
+ if (getenv("CLI_FORCE_DOSERR")) {
cli->force_dos_errors = true;
+ }
+ if (flags & CLI_FULL_CONNECTION_FORCE_DOS_ERRORS) {
+ cli->force_dos_errors = true;
+ }
+
+ if (getenv("CLI_FORCE_ASCII")) {
+ cli->force_ascii = true;
+ }
+ if (flags & CLI_FULL_CONNECTION_FORCE_ASCII) {
+ cli->force_ascii = true;
+ }
if (flags & CLI_FULL_CONNECTION_DONT_SPNEGO) {
cli->use_spnego = false;
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index 495875b..886c58e 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -56,7 +56,9 @@ static fstring randomfname;
static bool use_oplocks;
static bool use_level_II_oplocks;
static const char *client_txt = "client_oplocks.txt";
+static bool disable_spnego;
static bool use_kerberos;
+static bool force_dos_errors;
static fstring multishare_conn_fname;
static bool use_multishare_conn = False;
static bool do_encrypt;
@@ -183,6 +185,10 @@ static struct cli_state *open_nbt_connection(void)
NTSTATUS status;
int flags = 0;
+ if (disable_spnego) {
+ flags |= CLI_FULL_CONNECTION_DONT_SPNEGO;
+ }
+
if (use_oplocks) {
flags |= CLI_FULL_CONNECTION_OPLOCKS;
}
@@ -195,6 +201,10 @@ static struct cli_state *open_nbt_connection(void)
flags |= CLI_FULL_CONNECTION_USE_KERBEROS;
}
+ if (force_dos_errors) {
+ flags |= CLI_FULL_CONNECTION_FORCE_DOS_ERRORS;
+ }
+
status = cli_connect_nb(host, NULL, port_to_use, 0x20, myname,
signing_state, flags, &c);
if (!NT_STATUS_IS_OK(status)) {
@@ -6287,11 +6297,12 @@ static bool run_error_map_extract(int dummy) {
/* NT-Error connection */
+ disable_spnego = true;
if (!(c_nt = open_nbt_connection())) {
+ disable_spnego = false;
return False;
}
-
- c_nt->use_spnego = False;
+ disable_spnego = false;
status = cli_negprot(c_nt);
@@ -6310,12 +6321,15 @@ static bool run_error_map_extract(int dummy) {
/* DOS-Error connection */
+ disable_spnego = true;
+ force_dos_errors = true;
if (!(c_dos = open_nbt_connection())) {
+ disable_spnego = false;
+ force_dos_errors = false;
return False;
}
-
- c_dos->use_spnego = False;
- c_dos->force_dos_errors = True;
+ disable_spnego = false;
+ force_dos_errors = false;
status = cli_negprot(c_dos);
if (!NT_STATUS_IS_OK(status)) {
--
Samba Shared Repository
More information about the samba-cvs
mailing list