summaryrefslogtreecommitdiff
path: root/source3/libsmb/libsmb_server.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-09-07 20:35:51 +0200
committerStefan Metzmacher <metze@samba.org>2011-09-08 10:21:50 +0200
commit3e227d8544a020d1aea24c38c9ca45a75d14c3f1 (patch)
tree607d31b7e117519742db8c5ebfd90a67a21781d3 /source3/libsmb/libsmb_server.c
parentcdca1e0ac3c185856fbe2d061a30bfa8e71e4e1c (diff)
downloadsamba-3e227d8544a020d1aea24c38c9ca45a75d14c3f1.tar.gz
samba-3e227d8544a020d1aea24c38c9ca45a75d14c3f1.tar.bz2
samba-3e227d8544a020d1aea24c38c9ca45a75d14c3f1.zip
s3:libsmb: pass CLI_FULL_CONNECTION_* flags via cli_connect_nb()
metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Thu Sep 8 10:21:50 CEST 2011 on sn-devel-104
Diffstat (limited to 'source3/libsmb/libsmb_server.c')
-rw-r--r--source3/libsmb/libsmb_server.c29
1 files changed, 15 insertions, 14 deletions
diff --git a/source3/libsmb/libsmb_server.c b/source3/libsmb/libsmb_server.c
index 6446252022..005f2cdf8e 100644
--- a/source3/libsmb/libsmb_server.c
+++ b/source3/libsmb/libsmb_server.c
@@ -253,6 +253,7 @@ SMBC_server_internal(TALLOC_CTX *ctx,
const char *username_used;
NTSTATUS status;
char *newserver, *newshare;
+ int flags = 0;
ZERO_STRUCT(c);
*in_cache = false;
@@ -401,13 +402,25 @@ SMBC_server_internal(TALLOC_CTX *ctx,
status = NT_STATUS_UNSUCCESSFUL;
+ if (smbc_getOptionUseKerberos(context)) {
+ flags |= CLI_FULL_CONNECTION_USE_KERBEROS;
+ }
+
+ if (smbc_getOptionFallbackAfterKerberos(context)) {
+ flags |= CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS;
+ }
+
+ if (smbc_getOptionUseCCache(context)) {
+ flags |= CLI_FULL_CONNECTION_USE_CCACHE;
+ }
+
if (share == NULL || *share == '\0' || is_ipc) {
/*
* Try 139 first for IPC$
*/
status = cli_connect_nb(server_n, NULL, 139, 0x20,
smbc_getNetbiosName(context),
- Undefined, &c);
+ Undefined, flags, &c);
}
if (!NT_STATUS_IS_OK(status)) {
@@ -416,7 +429,7 @@ SMBC_server_internal(TALLOC_CTX *ctx,
*/
status = cli_connect_nb(server_n, NULL, 0, 0x20,
smbc_getNetbiosName(context),
- Undefined, &c);
+ Undefined, flags, &c);
}
if (!NT_STATUS_IS_OK(status)) {
@@ -424,18 +437,6 @@ SMBC_server_internal(TALLOC_CTX *ctx,
return NULL;
}
- if (smbc_getOptionUseKerberos(context)) {
- c->use_kerberos = True;
- }
-
- if (smbc_getOptionFallbackAfterKerberos(context)) {
- c->fallback_after_kerberos = True;
- }
-
- if (smbc_getOptionUseCCache(context)) {
- c->use_ccache = True;
- }
-
cli_set_timeout(c, smbc_getTimeout(context));
status = cli_negprot(c);