summaryrefslogtreecommitdiff
path: root/source4/libcli/raw
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-01-03 17:21:58 -0600
committerStefan Metzmacher <metze@samba.org>2008-01-03 12:33:36 -0600
commit425732f688865ebe2bfe568c8278edec50cbdedf (patch)
tree6b8a847c85af4edc38b4e58cd3e82a9baeb8ed18 /source4/libcli/raw
parent5d0e4f2147d4d1d0104d55756e91ffc13d25c1f3 (diff)
downloadsamba-425732f688865ebe2bfe568c8278edec50cbdedf.tar.gz
samba-425732f688865ebe2bfe568c8278edec50cbdedf.tar.bz2
samba-425732f688865ebe2bfe568c8278edec50cbdedf.zip
r26651: libsmb: Allow specifying signing policy from higher up.
The number of arguments is getting a bit excessive now, so it probably makes sense to pass in the smbcli_options struct rather than all members individually and add a convenience function for obtaining a smbcli_options struct from a loadparm context. (This used to be commit 9f64213463b5bf3bcbf36913139e9a5042e967a2)
Diffstat (limited to 'source4/libcli/raw')
-rw-r--r--source4/libcli/raw/clitransport.c4
-rw-r--r--source4/libcli/raw/clitree.c3
-rw-r--r--source4/libcli/raw/libcliraw.h1
-rw-r--r--source4/libcli/raw/smb_signing.c2
4 files changed, 6 insertions, 4 deletions
diff --git a/source4/libcli/raw/clitransport.c b/source4/libcli/raw/clitransport.c
index bdaeaeb58a..3ca828d46b 100644
--- a/source4/libcli/raw/clitransport.c
+++ b/source4/libcli/raw/clitransport.c
@@ -76,7 +76,8 @@ struct smbcli_transport *smbcli_transport_init(struct smbcli_socket *sock,
bool primary,
int max_xmit,
int max_mux,
- bool use_spnego)
+ bool use_spnego,
+ enum smb_signing_state signing)
{
struct smbcli_transport *transport;
@@ -93,6 +94,7 @@ struct smbcli_transport *smbcli_transport_init(struct smbcli_socket *sock,
transport->options.max_xmit = max_xmit;
transport->options.max_mux = max_mux;
transport->options.request_timeout = SMB_REQUEST_TIMEOUT;
+ transport->options.signing = signing;
transport->negotiate.max_xmit = transport->options.max_xmit;
diff --git a/source4/libcli/raw/clitree.c b/source4/libcli/raw/clitree.c
index 94fa37383b..3d8a6760a1 100644
--- a/source4/libcli/raw/clitree.c
+++ b/source4/libcli/raw/clitree.c
@@ -198,8 +198,7 @@ NTSTATUS smbcli_tree_full_connection(TALLOC_CTX *parent_ctx,
io.in.max_protocol = lp_cli_maxprotocol(global_loadparm);
io.in.unicode = lp_unicode(global_loadparm);
io.in.use_spnego = lp_use_spnego(global_loadparm) && lp_nt_status_support(global_loadparm);
-
-
+ io.in.signing = lp_client_signing(global_loadparm);
status = smb_composite_connect(&io, parent_ctx, resolve_ctx, ev);
if (NT_STATUS_IS_OK(status)) {
diff --git a/source4/libcli/raw/libcliraw.h b/source4/libcli/raw/libcliraw.h
index 6c97e61f04..dd6904dec2 100644
--- a/source4/libcli/raw/libcliraw.h
+++ b/source4/libcli/raw/libcliraw.h
@@ -97,6 +97,7 @@ struct smbcli_options {
uint32_t max_xmit;
uint16_t max_mux;
int request_timeout;
+ enum smb_signing_state signing;
};
/* this is the context for the client transport layer */
diff --git a/source4/libcli/raw/smb_signing.c b/source4/libcli/raw/smb_signing.c
index e19e81af7e..0053710aaf 100644
--- a/source4/libcli/raw/smb_signing.c
+++ b/source4/libcli/raw/smb_signing.c
@@ -383,7 +383,7 @@ bool smbcli_init_signing(struct smbcli_transport *transport)
return false;
}
- switch (lp_client_signing(global_loadparm)) {
+ switch (transport->options.signing) {
case SMB_SIGNING_OFF:
transport->negotiate.sign_info.allow_smb_signing = false;
break;