diff options
author | Stefan Metzmacher <metze@samba.org> | 2014-06-20 01:03:08 +0200 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2014-09-19 09:15:13 +0200 |
commit | 44b3fa6ff86a328ffcd2d98312c81aebaeacdbb1 (patch) | |
tree | cf10e64057f2899a76fd4afe8ba5b60d323ed1f2 | |
parent | 89c6d6712488c8258536756f0e60ae61d09c8565 (diff) | |
download | samba-44b3fa6ff86a328ffcd2d98312c81aebaeacdbb1.tar.gz samba-44b3fa6ff86a328ffcd2d98312c81aebaeacdbb1.tar.xz samba-44b3fa6ff86a328ffcd2d98312c81aebaeacdbb1.zip |
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 <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
-rw-r--r-- | source3/libsmb/clientgen.c | 10 | ||||
-rw-r--r-- | source3/libsmb/proto.h | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c index 8a3881018e..71ec1dcc99 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 63d2df4a37..2efb208398 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, |