diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/client.h | 1 | ||||
-rw-r--r-- | source3/libsmb/cliconnect.c | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/source3/include/client.h b/source3/include/client.h index 0787712efb..0e73745edb 100644 --- a/source3/include/client.h +++ b/source3/include/client.h @@ -242,5 +242,6 @@ typedef struct file_info { #define CLI_FULL_CONNECTION_DONT_SPNEGO 0x0001 #define CLI_FULL_CONNECTION_USE_KERBEROS 0x0002 #define CLI_FULL_CONNECTION_ANONYMOUS_FALLBACK 0x0004 +#define CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS 0x0008 #endif /* _CLIENT_H */ diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c index b76814e45f..949bca747d 100644 --- a/source3/libsmb/cliconnect.c +++ b/source3/libsmb/cliconnect.c @@ -1652,6 +1652,11 @@ again: 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 (!cli_negprot(cli)) { DEBUG(1,("failed negprot\n")); nt_status = cli_nt_error(cli); |