s4:libcli:smb2: add the client_guid to the smbcli_options
authorMichael Adam <obnox@samba.org>
Wed, 25 Sep 2013 04:46:47 +0000 (06:46 +0200)
committerStefan Metzmacher <metze@samba.org>
Sat, 5 Oct 2013 12:04:07 +0000 (14:04 +0200)
and initialize it in lpcfg_smbcli_options() instead of
in smb2_transport_init() as previously.

Having the client guid in the smbcli_options will allow
us to control them from callers later.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source4/libcli/raw/libcliraw.h
source4/libcli/smb2/transport.c
source4/param/loadparm.c

index a246ade7b6b95727301cf9d68a6e5cab0daaad68..d2ff90d0e48b06bd701f8304cc97e7894781e347 100644 (file)
@@ -100,6 +100,7 @@ struct smbcli_options {
        uint16_t max_mux;
        int request_timeout;
        enum smb_signing_setting signing;
+       struct GUID client_guid;
 };
 
 /* this is the context for the client transport layer */
index 2ad16a912315869470fdf94e6aa54c5531281866..380c9cd2d127d99f10cfd0fba9d91bb3b4a96b3f 100644 (file)
@@ -48,7 +48,6 @@ struct smb2_transport *smb2_transport_init(struct smbcli_socket *sock,
                                           struct smbcli_options *options)
 {
        struct smb2_transport *transport;
-       struct GUID client_guid;
        uint32_t smb2_capabilities = 0;
 
        transport = talloc_zero(parent_ctx, struct smb2_transport);
@@ -60,8 +59,6 @@ struct smb2_transport *smb2_transport_init(struct smbcli_socket *sock,
        TALLOC_FREE(sock->event.fde);
        TALLOC_FREE(sock->event.te);
 
-       client_guid = GUID_random();
-
        /* TODO: hand this in via the options? */
        smb2_capabilities = SMB2_CAP_ALL;
 
@@ -70,7 +67,7 @@ struct smb2_transport *smb2_transport_init(struct smbcli_socket *sock,
                                              sock->hostname,
                                              options->signing,
                                              0, /* smb1_capabilities */
-                                             &client_guid,
+                                             &options->client_guid,
                                              smb2_capabilities);
        if (transport->conn == NULL) {
                talloc_free(transport);
index 3fbf8528997af44457b652d90d7d43ebf766bdcb..900db7d40a7562744eb60e05bcb09def36b9d800 100644 (file)
@@ -29,6 +29,7 @@
 #include "includes.h"
 #include "lib/param/param.h"
 #include "libcli/raw/libcliraw.h"
+#include "librpc/ndr/libndr.h"
 
 void lpcfg_smbcli_options(struct loadparm_context *lp_ctx,
                         struct smbcli_options *options)
@@ -43,6 +44,7 @@ void lpcfg_smbcli_options(struct loadparm_context *lp_ctx,
        options->unicode = lpcfg_unicode(lp_ctx);
        options->use_oplocks = true;
        options->use_level2_oplocks = true;
+       options->client_guid = GUID_random();
 }
 
 void lpcfg_smbcli_session_options(struct loadparm_context *lp_ctx,