summaryrefslogtreecommitdiff
path: root/source3/libsmb
diff options
context:
space:
mode:
Diffstat (limited to 'source3/libsmb')
-rw-r--r--source3/libsmb/cliconnect.c4
-rw-r--r--source3/libsmb/clientgen.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
index dc8c7c2957..2dad0247b2 100644
--- a/source3/libsmb/cliconnect.c
+++ b/source3/libsmb/cliconnect.c
@@ -1087,6 +1087,10 @@ BOOL cli_establish_connection(struct cli_state *cli,
return False;
}
+ /* cli_establish_connection() can't handle spnego yet. Once we get rid of
+ pwd_cache and other horrors we can get rid of this */
+ cli->use_spnego = False;
+
if (cli->fd == -1)
{
if (!cli_connect(cli, dest_host, dest_ip))
diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c
index ed0bc6481e..ec8d2e2bfc 100644
--- a/source3/libsmb/clientgen.c
+++ b/source3/libsmb/clientgen.c
@@ -112,7 +112,9 @@ void cli_setup_packet(struct cli_state *cli)
if (cli->capabilities & CAP_STATUS32) {
flags2 |= FLAGS2_32_BIT_ERROR_CODES;
}
- flags2 |= FLAGS2_EXTENDED_SECURITY;
+ if (cli->use_spnego) {
+ flags2 |= FLAGS2_EXTENDED_SECURITY;
+ }
SSVAL(cli->outbuf,smb_flg2, flags2);
}
}
@@ -179,6 +181,7 @@ struct cli_state *cli_initialise(struct cli_state *cli)
cli->outbuf = (char *)malloc(cli->bufsize);
cli->inbuf = (char *)malloc(cli->bufsize);
cli->oplock_handler = cli_oplock_ack;
+ cli->use_spnego = True;
if (!cli->outbuf || !cli->inbuf)
goto error;