diff options
author | Jeremy Allison <jra@samba.org> | 2009-03-12 17:59:24 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-03-12 17:59:24 -0700 |
commit | e5136e984922570ce9992c642c340dd3e937fc4e (patch) | |
tree | 90acd50687e0adf2352eb1663b4934f01df0a9fc /source3/include | |
parent | bace42d586f2e4364e5b66ccc80a0b19749b5e1c (diff) | |
download | samba-e5136e984922570ce9992c642c340dd3e937fc4e.tar.gz samba-e5136e984922570ce9992c642c340dd3e937fc4e.tar.bz2 samba-e5136e984922570ce9992c642c340dd3e937fc4e.zip |
Remove the static "struct client_connection" mess which is part of
the problem that stops libsmbclient being thread safe. Subsidiary
DFS connections are now hung off a list inside the cli_state struct.
Much more to do in order to get libsmbclient to thread safety, but
this is a good start.
Jeremy.
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/client.h | 7 | ||||
-rw-r--r-- | source3/include/proto.h | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/source3/include/client.h b/source3/include/client.h index 646d54aa05..eae22fdbce 100644 --- a/source3/include/client.h +++ b/source3/include/client.h @@ -167,6 +167,10 @@ struct smb_trans_enc_state { }; struct cli_state { + /** + * A list of subsidiary connections for DFS. + */ + struct cli_state *prev, *next; int port; int fd; /* Last read or write error. */ @@ -276,6 +280,9 @@ struct cli_state { * chained async_req. */ struct cli_request *chain_accumulator; + + /* Where (if anywhere) this is mounted under DFS. */ + char *dfs_mountpoint; }; typedef struct file_info { diff --git a/source3/include/proto.h b/source3/include/proto.h index c8a066fa36..40024c5194 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -2355,7 +2355,6 @@ NTSTATUS cli_cm_force_encryption(struct cli_state *c, const char *password, const char *domain, const char *sharename); -const char *cli_cm_get_mntpoint(struct cli_state *c); struct cli_state *cli_cm_open(TALLOC_CTX *ctx, struct cli_state *referring_cli, const char *server, @@ -2365,8 +2364,7 @@ struct cli_state *cli_cm_open(TALLOC_CTX *ctx, int max_protocol, int port, int name_type); -void cli_cm_shutdown(void); -void cli_cm_display(void); +void cli_cm_display(const struct cli_state *c); void cli_cm_set_credentials(struct user_auth_info *auth_info); void cli_cm_set_port(int port_number); void cli_cm_set_dest_name_type(int type); |