Mercurial > dropbear
annotate cli-main.c @ 1857:6022df862942
Use DSCP for IP QoS traffic classes
The previous TOS values are deprecated and not used by modern traffic
classifiers. This sets AF21 for "interactive" traffic (with a tty).
Non-tty traffic sets AF11 - that indicates high throughput but is not
lowest priority (which would be CS1 or LE).
This differs from the CS1 used by OpenSSH, it lets interactive git over SSH
have higher priority than background least effort traffic. Dropbear's settings
here should be suitable with the diffservs used by CAKE qdisc.
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Tue, 25 Jan 2022 17:32:20 +0800 |
parents | f0a524208d97 |
children | 1d86a58fb52d |
rev | line source |
---|---|
74
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
1 /* |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
2 * Dropbear - a SSH2 server |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
3 * SSH client implementation |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
4 * |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
5 * Copyright (c) 2002,2003 Matt Johnston |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
6 * Copyright (c) 2004 by Mihnea Stoenescu |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
7 * All rights reserved. |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
8 * |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
9 * Permission is hereby granted, free of charge, to any person obtaining a copy |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
10 * of this software and associated documentation files (the "Software"), to deal |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
11 * in the Software without restriction, including without limitation the rights |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
12 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
13 * copies of the Software, and to permit persons to whom the Software is |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
14 * furnished to do so, subject to the following conditions: |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
15 * |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
16 * The above copyright notice and this permission notice shall be included in |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
17 * all copies or substantial portions of the Software. |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
18 * |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
20 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
21 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
22 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
23 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
24 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
25 * SOFTWARE. */ |
e3adf4cf5465
License boilerplate etc, add Mihnea as an author to some of the files
Matt Johnston <matt@ucc.asn.au>
parents:
40
diff
changeset
|
26 |
33 | 27 #include "includes.h" |
28 #include "dbutil.h" | |
29 #include "runopts.h" | |
30 #include "session.h" | |
858
220f55d540ae
rename random.h to dbrandom.h since some OSes have a system random.h
Matt Johnston <matt@ucc.asn.au>
parents:
857
diff
changeset
|
31 #include "dbrandom.h" |
795 | 32 #include "crypto_desc.h" |
1032
0da8ba489c23
Move generic network routines to netio.c
Matt Johnston <matt@ucc.asn.au>
parents:
1027
diff
changeset
|
33 #include "netio.h" |
1741
d1b279aa5ed1
Get client fuzzer building and starting (fails straight away)
Matt Johnston <matt@ucc.asn.au>
parents:
1697
diff
changeset
|
34 #include "fuzz.h" |
33 | 35 |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
1221
diff
changeset
|
36 #if DROPBEAR_CLI_PROXYCMD |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
37 static void cli_proxy_cmd(int *sock_in, int *sock_out, pid_t *pid_out); |
1216
3daff2072bd0
rename killchild to kill_proxy_sighandler
Matt Johnston <matt@ucc.asn.au>
parents:
1215
diff
changeset
|
38 static void kill_proxy_sighandler(int signo); |
542
c9128994a2d6
Wrap proxycmd function in ENABLE_CLI_PROXYCMD #ifdef
Matt Johnston <matt@ucc.asn.au>
parents:
484
diff
changeset
|
39 #endif |
483
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
40 |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
1221
diff
changeset
|
41 #if defined(DBMULTI_dbclient) || !DROPBEAR_MULTI |
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
1221
diff
changeset
|
42 #if defined(DBMULTI_dbclient) && DROPBEAR_MULTI |
33 | 43 int cli_main(int argc, char ** argv) { |
44 #else | |
26 | 45 int main(int argc, char ** argv) { |
33 | 46 #endif |
26 | 47 |
479
e3db1f7a2e43
- Split main socket var into ses.sock_in/ses.sock_out in preparation
Matt Johnston <matt@ucc.asn.au>
parents:
425
diff
changeset
|
48 int sock_in, sock_out; |
1027
daf21fd50abf
In theory TFO should work. Needs platform cleanup and testing
Matt Johnston <matt@ucc.asn.au>
parents:
1025
diff
changeset
|
49 struct dropbear_progress_connection *progress = NULL; |
1795
f0a524208d97
Update cli-main.c (#114)
Guillaume Picquet <guillaume.picquet@gls-france.com>
parents:
1741
diff
changeset
|
50 pid_t proxy_cmd_pid = 0; |
26 | 51 |
52 _dropbear_exit = cli_dropbear_exit; | |
53 _dropbear_log = cli_dropbear_log; | |
54 | |
425 | 55 disallow_core(); |
56 | |
795 | 57 seedrandom(); |
58 crypto_init(); | |
59 | |
26 | 60 cli_getopts(argc, argv); |
61 | |
1212
bf626d259eb1
Support syslog logging in dbclient.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1208
diff
changeset
|
62 #ifndef DISABLE_SYSLOG |
bf626d259eb1
Support syslog logging in dbclient.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1208
diff
changeset
|
63 if (opts.usingsyslog) { |
bf626d259eb1
Support syslog logging in dbclient.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1208
diff
changeset
|
64 startsyslog("dbclient"); |
bf626d259eb1
Support syslog logging in dbclient.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1208
diff
changeset
|
65 } |
bf626d259eb1
Support syslog logging in dbclient.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1208
diff
changeset
|
66 #endif |
bf626d259eb1
Support syslog logging in dbclient.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1208
diff
changeset
|
67 |
1466
f787f60f8e45
bind to port as well with -b
Matt Johnston <matt@ucc.asn.au>
parents:
1465
diff
changeset
|
68 TRACE(("user='%s' host='%s' port='%s' bind_address='%s' bind_port='%s'", cli_opts.username, |
f787f60f8e45
bind to port as well with -b
Matt Johnston <matt@ucc.asn.au>
parents:
1465
diff
changeset
|
69 cli_opts.remotehost, cli_opts.remoteport, cli_opts.bind_address, cli_opts.bind_port)) |
33 | 70 |
109
2e9d1f29c50f
merge of 50be59810e462f9f44f55e421227d6aa0b31982b
Matt Johnston <matt@ucc.asn.au>
parents:
108
diff
changeset
|
71 if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) { |
2e9d1f29c50f
merge of 50be59810e462f9f44f55e421227d6aa0b31982b
Matt Johnston <matt@ucc.asn.au>
parents:
108
diff
changeset
|
72 dropbear_exit("signal() error"); |
2e9d1f29c50f
merge of 50be59810e462f9f44f55e421227d6aa0b31982b
Matt Johnston <matt@ucc.asn.au>
parents:
108
diff
changeset
|
73 } |
2e9d1f29c50f
merge of 50be59810e462f9f44f55e421227d6aa0b31982b
Matt Johnston <matt@ucc.asn.au>
parents:
108
diff
changeset
|
74 |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
1221
diff
changeset
|
75 #if DROPBEAR_CLI_PROXYCMD |
483
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
76 if (cli_opts.proxycmd) { |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
77 cli_proxy_cmd(&sock_in, &sock_out, &proxy_cmd_pid); |
544
9e51707cd6f2
- Make -i and -W pass through multihop arguments
Matt Johnston <matt@ucc.asn.au>
parents:
542
diff
changeset
|
78 m_free(cli_opts.proxycmd); |
1216
3daff2072bd0
rename killchild to kill_proxy_sighandler
Matt Johnston <matt@ucc.asn.au>
parents:
1215
diff
changeset
|
79 if (signal(SIGINT, kill_proxy_sighandler) == SIG_ERR || |
3daff2072bd0
rename killchild to kill_proxy_sighandler
Matt Johnston <matt@ucc.asn.au>
parents:
1215
diff
changeset
|
80 signal(SIGTERM, kill_proxy_sighandler) == SIG_ERR || |
3daff2072bd0
rename killchild to kill_proxy_sighandler
Matt Johnston <matt@ucc.asn.au>
parents:
1215
diff
changeset
|
81 signal(SIGHUP, kill_proxy_sighandler) == SIG_ERR) { |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
82 dropbear_exit("signal() error"); |
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
83 } |
479
e3db1f7a2e43
- Split main socket var into ses.sock_in/ses.sock_out in preparation
Matt Johnston <matt@ucc.asn.au>
parents:
425
diff
changeset
|
84 } else |
e3db1f7a2e43
- Split main socket var into ses.sock_in/ses.sock_out in preparation
Matt Johnston <matt@ucc.asn.au>
parents:
425
diff
changeset
|
85 #endif |
e3db1f7a2e43
- Split main socket var into ses.sock_in/ses.sock_out in preparation
Matt Johnston <matt@ucc.asn.au>
parents:
425
diff
changeset
|
86 { |
1466
f787f60f8e45
bind to port as well with -b
Matt Johnston <matt@ucc.asn.au>
parents:
1465
diff
changeset
|
87 progress = connect_remote(cli_opts.remotehost, cli_opts.remoteport, |
f787f60f8e45
bind to port as well with -b
Matt Johnston <matt@ucc.asn.au>
parents:
1465
diff
changeset
|
88 cli_connected, &ses, cli_opts.bind_address, cli_opts.bind_port); |
1025 | 89 sock_in = sock_out = -1; |
26 | 90 } |
91 | |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
92 cli_session(sock_in, sock_out, progress, proxy_cmd_pid); |
26 | 93 |
94 /* not reached */ | |
95 return -1; | |
96 } | |
33 | 97 #endif /* DBMULTI stuff */ |
98 | |
1460
58a74cb829b8
Pointer parameter could be declared as pointing to const (callback)
Francois Perrad <francois.perrad@gadz.org>
parents:
1316
diff
changeset
|
99 static void exec_proxy_cmd(const void *user_data_cmd) { |
483
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
100 const char *cmd = user_data_cmd; |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
101 char *usershell; |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
102 |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
103 usershell = m_strdup(get_user_shell()); |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
104 run_shell_command(cmd, ses.maxfd, usershell); |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
105 dropbear_exit("Failed to run '%s'\n", cmd); |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
106 } |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
107 |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
1221
diff
changeset
|
108 #if DROPBEAR_CLI_PROXYCMD |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
109 static void cli_proxy_cmd(int *sock_in, int *sock_out, pid_t *pid_out) { |
1221 | 110 char * ex_cmd = NULL; |
111 size_t ex_cmdlen; | |
483
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
112 int ret; |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
113 |
1516
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
114 /* File descriptor "-j &3" */ |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
115 if (*cli_opts.proxycmd == '&') { |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
116 char *p = cli_opts.proxycmd + 1; |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
117 int sock = strtoul(p, &p, 10); |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
118 /* must be a single number, and not stdin/stdout/stderr */ |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
119 if (sock > 2 && sock < 1024 && *p == '\0') { |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
120 *sock_in = sock; |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
121 *sock_out = sock; |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
122 return; |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
123 } |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
124 } |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
125 |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
126 /* Normal proxycommand */ |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
127 |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
128 /* So that spawn_command knows which shell to run */ |
483
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
129 fill_passwd(cli_opts.own_user); |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
130 |
1221 | 131 ex_cmdlen = strlen(cli_opts.proxycmd) + 6; /* "exec " + command + '\0' */ |
132 ex_cmd = m_malloc(ex_cmdlen); | |
133 snprintf(ex_cmd, ex_cmdlen, "exec %s", cli_opts.proxycmd); | |
134 | |
135 ret = spawn_command(exec_proxy_cmd, ex_cmd, | |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
136 sock_out, sock_in, NULL, pid_out); |
1221 | 137 m_free(ex_cmd); |
483
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
138 if (ret == DROPBEAR_FAILURE) { |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
139 dropbear_exit("Failed running proxy command"); |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
140 *sock_in = *sock_out = -1; |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
141 } |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
142 } |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
143 |
1216
3daff2072bd0
rename killchild to kill_proxy_sighandler
Matt Johnston <matt@ucc.asn.au>
parents:
1215
diff
changeset
|
144 static void kill_proxy_sighandler(int UNUSED(signo)) { |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
145 kill_proxy_command(); |
1216
3daff2072bd0
rename killchild to kill_proxy_sighandler
Matt Johnston <matt@ucc.asn.au>
parents:
1215
diff
changeset
|
146 _exit(1); |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
147 } |
1741
d1b279aa5ed1
Get client fuzzer building and starting (fails straight away)
Matt Johnston <matt@ucc.asn.au>
parents:
1697
diff
changeset
|
148 |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
1221
diff
changeset
|
149 #endif /* DROPBEAR_CLI_PROXYCMD */ |