diff options
author | Jeremy Allison <jra@samba.org> | 2002-10-17 17:10:24 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2002-10-17 17:10:24 +0000 |
commit | c53eb2ed540e79d6deae5f41e17febc5bf5dbf57 (patch) | |
tree | e8de6cd8f4ced70b70d6ca553c0b99b01cb0dfbb /source3/libsmb/cliconnect.c | |
parent | 788ca8b1185e3624ca623baade05e86f9114e69f (diff) | |
download | samba-c53eb2ed540e79d6deae5f41e17febc5bf5dbf57.tar.gz samba-c53eb2ed540e79d6deae5f41e17febc5bf5dbf57.tar.bz2 samba-c53eb2ed540e79d6deae5f41e17febc5bf5dbf57.zip |
Added new error codes. Fix up connection code to retry in the same way
that app-head does.
Jeremy.
(This used to be commit ec7953f20145799f6286a295472df4826bfdfb8f)
Diffstat (limited to 'source3/libsmb/cliconnect.c')
-rw-r--r-- | source3/libsmb/cliconnect.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c index f005ac21f3..6a21121f43 100644 --- a/source3/libsmb/cliconnect.c +++ b/source3/libsmb/cliconnect.c @@ -1153,6 +1153,7 @@ static void init_creds(struct ntuser_creds *creds, char* username, @param user Username, unix string @param domain User's domain @param password User's password, unencrypted unix string. + @param retry BOOL. Did this connection fail with a retryable error ? */ NTSTATUS cli_full_connection(struct cli_state **output_cli, @@ -1161,7 +1162,8 @@ NTSTATUS cli_full_connection(struct cli_state **output_cli, struct in_addr *dest_ip, int port, char *service, char *service_type, char *user, char *domain, - char *password, int flags) + char *password, int flags, + BOOL *retry) { struct ntuser_creds creds; NTSTATUS nt_status; @@ -1171,6 +1173,9 @@ NTSTATUS cli_full_connection(struct cli_state **output_cli, struct in_addr ip; extern pstring global_myname; + if (retry) + *retry = False; + if (!my_name) my_name = global_myname; @@ -1185,6 +1190,8 @@ NTSTATUS cli_full_connection(struct cli_state **output_cli, return NT_STATUS_UNSUCCESSFUL; } + cli_set_timeout(cli, 10000); /* 10 seconds. */ + if (dest_ip) ip = *dest_ip; else @@ -1201,6 +1208,9 @@ again: return NT_STATUS_UNSUCCESSFUL; } + if (retry) + *retry = True; + if (!cli_session_request(cli, &calling, &called)) { char *p; DEBUG(1,("session request to %s failed (%s)\n", |