diff options
author | Damien Miller <djm@cvs.openbsd.org> | 2023-10-11 22:42:27 +0000 |
---|---|---|
committer | Damien Miller <djm@cvs.openbsd.org> | 2023-10-11 22:42:27 +0000 |
commit | 5421edd9e436557ec42a71a55b1b995fd1a9e19f (patch) | |
tree | edd2265cd96e133981f389dc644905cb8b27c7c8 /usr.bin/ssh/ssh.c | |
parent | 1d4230bb66ff2a0537ee9811a62bd493e860c79c (diff) |
add ChannelTimeout support to the client, mirroring the same option
in the server. ok markus@
Diffstat (limited to 'usr.bin/ssh/ssh.c')
-rw-r--r-- | usr.bin/ssh/ssh.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/usr.bin/ssh/ssh.c b/usr.bin/ssh/ssh.c index f21587240cf..bebeada88f2 100644 --- a/usr.bin/ssh/ssh.c +++ b/usr.bin/ssh/ssh.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh.c,v 1.594 2023/09/03 23:59:32 djm Exp $ */ +/* $OpenBSD: ssh.c,v 1.595 2023/10/11 22:42:26 djm Exp $ */ /* * Author: Tatu Ylonen <ylo@cs.hut.fi> * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland @@ -1552,6 +1552,20 @@ main(int ac, char **av) else timeout_ms = options.connection_timeout * 1000; + /* Apply channels timeouts, if set */ + channel_clear_timeouts(ssh); + for (j = 0; j < options.num_channel_timeouts; j++) { + debug3("applying channel timeout %s", + options.channel_timeouts[j]); + if (parse_pattern_interval(options.channel_timeouts[j], + &cp, &i) != 0) { + fatal_f("internal error: bad timeout %s", + options.channel_timeouts[j]); + } + channel_add_timeout(ssh, cp, i); + free(cp); + } + /* Open a connection to the remote host. */ if (ssh_connect(ssh, host, options.host_arg, addrs, &hostaddr, options.port, options.connection_attempts, |