From 44b3fa6ff86a328ffcd2d98312c81aebaeacdbb1 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 20 Jun 2014 01:03:08 +0200 Subject: [PATCH] s3:libsmb: add 'cli_state_client_guid' This can be used by tests to use the same client guid for multiple connections. Signed-off-by: Stefan Metzmacher Reviewed-by: Michael Adam --- source3/libsmb/clientgen.c | 10 +++++++++- source3/libsmb/proto.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c index 8a3881018ea..71ec1dcc99a 100644 --- a/source3/libsmb/clientgen.c +++ b/source3/libsmb/clientgen.c @@ -131,6 +131,8 @@ NTSTATUS cli_init_creds(struct cli_state *cli, const char *username, const char Set the signing state (used from the command line). ****************************************************************************/ +struct GUID cli_state_client_guid; + struct cli_state *cli_state_create(TALLOC_CTX *mem_ctx, int fd, const char *remote_name, @@ -144,7 +146,13 @@ struct cli_state *cli_state_create(TALLOC_CTX *mem_ctx, bool use_level_II_oplocks = false; uint32_t smb1_capabilities = 0; uint32_t smb2_capabilities = 0; - struct GUID client_guid = GUID_random(); + struct GUID client_guid; + + if (!GUID_all_zero(&cli_state_client_guid)) { + client_guid = cli_state_client_guid; + } else { + client_guid = GUID_random(); + } /* Check the effective uid - make sure we are not setuid */ if (is_setuid_root()) { diff --git a/source3/libsmb/proto.h b/source3/libsmb/proto.h index 63d2df4a37c..2efb2083982 100644 --- a/source3/libsmb/proto.h +++ b/source3/libsmb/proto.h @@ -165,6 +165,7 @@ NTSTATUS cli_set_domain(struct cli_state *cli, const char *domain); NTSTATUS cli_set_username(struct cli_state *cli, const char *username); NTSTATUS cli_set_password(struct cli_state *cli, const char *password); NTSTATUS cli_init_creds(struct cli_state *cli, const char *username, const char *domain, const char *password); +extern struct GUID cli_state_client_guid; struct cli_state *cli_state_create(TALLOC_CTX *mem_ctx, int fd, const char *remote_name, -- 2.34.1