[ssh.c]
delay signal handler setup until we have finished talking to the master.
allow interrupting of setup (e.g. if master is stuck); ok markus@
+ - markus@cvs.openbsd.org 2004/06/18 10:55:43
+ [ssh.1 ssh.c]
+ trim synopsis for -S, allow -S and -oControlMaster, -MM means 'ask';
+ ok djm
20040617
- (dtucker) [regress/scp.sh] diff -N is not portable (but needed for some
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" $OpenBSD: ssh.1,v 1.191 2004/06/17 23:56:57 djm Exp $
+.\" $OpenBSD: ssh.1,v 1.192 2004/06/18 10:55:43 markus Exp $
.Dd September 25, 1999
.Dt SSH 1
.Os
.Sm on
.Xc
.Oc
-.Op Fl S Ar ctl_path
+.Op Fl S Ar ctl
.Oo Ar user Ns @ Oc Ns Ar hostname
.Op Ar command
.Sh DESCRIPTION
.Ar hostport .
.Xc
.Sm on
-.It Fl S Ar ctl_path
+.It Fl S Ar ctl
Specifies the location of a control socket for for connection sharing.
Refer to the description of
.Cm ControlPath
*/
#include "includes.h"
-RCSID("$OpenBSD: ssh.c,v 1.218 2004/06/18 10:40:19 djm Exp $");
+RCSID("$OpenBSD: ssh.c,v 1.219 2004/06/18 10:55:43 markus Exp $");
#include <openssl/evp.h>
#include <openssl/err.h>
"usage: ssh [-1246AaCfghkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]\n"
" [-D port] [-e escape_char] [-F configfile] [-i identity_file]\n"
" [-L port:host:hostport] [-l login_name] [-m mac_spec] [-o option]\n"
-" [-p port] [-R port:host:hostport] [-S ctl_path]\n"
-" [user@]hostname [command]\n"
+" [-p port] [-R port:host:hostport] [-S ctl] [user@]hostname [command]\n"
);
exit(1);
}
}
break;
case 'M':
- options.control_master = 1;
+ options.control_master =
+ (options.control_master >= 1) ? 2 : 1;
break;
case 'p':
options.port = a2port(optarg);
if (options.control_path != NULL)
free(options.control_path);
options.control_path = xstrdup(optarg);
- if (options.control_master == -1)
- options.control_master = 0;
break;
case 'b':
options.bind_address = optarg;