Bugzilla – Attachment 705 Details for
Bug 920
Enable client multiplexing to fall back to enhance transparency
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Implementation of the suggested TcpFallback flag. It is a diff against the current in-tree OpenSSH as of August 25th.
tcpfallback.diff3 (text/plain), 4.27 KB, created by
Michael Knudsen
on 2004-08-26 04:55:33 AEST
(
hide
)
Description:
Implementation of the suggested TcpFallback flag. It is a diff against the current in-tree OpenSSH as of August 25th.
Filename:
MIME Type:
Creator:
Michael Knudsen
Created:
2004-08-26 04:55:33 AEST
Size:
4.27 KB
patch
obsolete
>Index: readconf.c >=================================================================== >RCS file: /cvs/src/usr.bin/ssh/readconf.c,v >retrieving revision 1.134 >diff -u -r1.134 readconf.c >--- readconf.c 11 Jul 2004 17:48:47 -0000 1.134 >+++ readconf.c 25 Aug 2004 10:30:34 -0000 >@@ -106,7 +106,7 @@ > oEnableSSHKeysign, oRekeyLimit, oVerifyHostKeyDNS, oConnectTimeout, > oAddressFamily, oGssAuthentication, oGssDelegateCreds, > oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly, >- oSendEnv, oControlPath, oControlMaster, >+ oSendEnv, oControlPath, oControlMaster, oTCPFallback, > oDeprecated, oUnsupported > } OpCodes; > >@@ -197,6 +197,7 @@ > { "sendenv", oSendEnv }, > { "controlpath", oControlPath }, > { "controlmaster", oControlMaster }, >+ { "tcpfallback", oTCPFallback }, > { NULL, oBadOption } > }; > >@@ -772,6 +773,10 @@ > intptr = &options->control_master; > goto parse_yesnoask; > >+ case oTCPFallback: >+ intptr = &options->tcp_fallback; >+ goto parse_flag; >+ > case oDeprecated: > debug("%s line %d: Deprecated option \"%s\"", > filename, linenum, keyword); >@@ -915,6 +920,7 @@ > options->num_send_env = 0; > options->control_path = NULL; > options->control_master = -1; >+ options->tcp_fallback = -1; > } > > /* >@@ -1037,6 +1043,8 @@ > options->server_alive_count_max = 3; > if (options->control_master == -1) > options->control_master = 0; >+ if (options->tcp_fallback == -1) >+ options->tcp_fallback = 0; > /* options->proxy_command should not be set by default */ > /* options->user will be set in the main program if appropriate */ > /* options->hostname will be set in the main program if appropriate */ >Index: readconf.h >=================================================================== >RCS file: /cvs/src/usr.bin/ssh/readconf.h,v >retrieving revision 1.64 >diff -u -r1.64 readconf.h >--- readconf.h 11 Jul 2004 17:48:47 -0000 1.64 >+++ readconf.h 25 Aug 2004 10:30:34 -0000 >@@ -111,6 +111,7 @@ > > char *control_path; > int control_master; >+ int tcp_fallback; > } Options; > > >Index: ssh.c >=================================================================== >RCS file: /cvs/src/usr.bin/ssh/ssh.c,v >retrieving revision 1.225 >diff -u -r1.225 ssh.c >--- ssh.c 23 Aug 2004 14:26:38 -0000 1.225 >+++ ssh.c 25 Aug 2004 10:30:34 -0000 >@@ -580,8 +580,25 @@ > options.control_path = tilde_expand_filename( > options.control_path, original_real_uid); > } >- if (options.control_path != NULL && options.control_master == 0) >- control_client(options.control_path); /* This doesn't return */ >+ if (options.control_path != NULL && options.control_master == 0) { >+ control_client(options.control_path); >+ >+ /* >+ * If we return to here, socket could not be opened. >+ * Check for TCP fallback and abort if disabled. >+ */ >+ >+ if (options.tcp_fallback == 0) >+ fatal("Couldn't connect to %s: %s", >+ options.control_path, >+ strerror(errno)); >+ else { >+ debug("Couldn't connect to %s: %s.", >+ options.control_path, >+ strerror(errno)); >+ debug("Falling back to TCP."); >+ } >+ } > > /* Open a connection to the remote host. */ > if (ssh_connect(host, &hostaddr, options.port, >@@ -1255,7 +1272,7 @@ > fatal("%s socket(): %s", __func__, strerror(errno)); > > if (connect(sock, (struct sockaddr*)&addr, addr.sun_len) == -1) >- fatal("Couldn't connect to %s: %s", path, strerror(errno)); >+ return; > > if ((cp = getenv("TERM")) == NULL) > cp = ""; >Index: ssh_config.5 >=================================================================== >RCS file: /cvs/src/usr.bin/ssh/ssh_config.5,v >retrieving revision 1.38 >diff -u -r1.38 ssh_config.5 >--- ssh_config.5 26 Jun 2004 09:11:14 -0000 1.38 >+++ ssh_config.5 25 Aug 2004 10:30:34 -0000 >@@ -270,6 +270,11 @@ > program before they are accepted (see > .Xr ssh-add 1 > for details). >+.Cm TCPFallback >+(see below) can be used to fall back to regular TCP connections when >+there is no >+.Cm ControlMaster >+socket available. > .It Cm ControlPath > Specify the path to the control socket used for connection sharing. > See >@@ -712,6 +717,17 @@ > .Dq ask . > The default is > .Dq ask . >+.It Cm TCPFallback >+Specifies whether the client should fall back to using TCP if the >+control socket specified by the >+.Cm ControlPath >+argument. >+The argument must be either >+.Dq yes , >+or >+.Dq no , >+defaulting to >+.Dq no . > .It Cm TCPKeepAlive > Specifies whether the system should send TCP keepalive messages to the > other side.
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 920
:
705
|
926
|
928