Mercurial > dropbear
annotate cli-main.c @ 1902:4a6725ac957c
Revert "Don't include sk keys at all in KEX list"
This reverts git commit f972813ecdc7bb981d25b5a63638bd158f1c8e72.
The sk algorithms need to remain in the sigalgs list so that they
are included in the server-sig-algs ext-info message sent by
the server. RFC8308 for server-sig-algs requires that all algorithms are
listed (though OpenSSH client 8.4p1 tested doesn't require that)
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 24 Mar 2022 13:42:08 +0800 |
parents | 62e4baa059c3 |
children |
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 |
1894
62e4baa059c3
changed TRACE to DEBUG1 for dbclient
HansH111 <hans@atbas.org>
parents:
1859
diff
changeset
|
68 if (cli_opts.bind_address) { |
62e4baa059c3
changed TRACE to DEBUG1 for dbclient
HansH111 <hans@atbas.org>
parents:
1859
diff
changeset
|
69 DEBUG1(("connect to: user=%s host=%s/%s bind_address=%s:%s", cli_opts.username, |
62e4baa059c3
changed TRACE to DEBUG1 for dbclient
HansH111 <hans@atbas.org>
parents:
1859
diff
changeset
|
70 cli_opts.remotehost, cli_opts.remoteport, cli_opts.bind_address, cli_opts.bind_port)) |
62e4baa059c3
changed TRACE to DEBUG1 for dbclient
HansH111 <hans@atbas.org>
parents:
1859
diff
changeset
|
71 } else { |
62e4baa059c3
changed TRACE to DEBUG1 for dbclient
HansH111 <hans@atbas.org>
parents:
1859
diff
changeset
|
72 DEBUG1(("connect to: user=%s host=%s/%s",cli_opts.username,cli_opts.remotehost,cli_opts.remoteport)) |
62e4baa059c3
changed TRACE to DEBUG1 for dbclient
HansH111 <hans@atbas.org>
parents:
1859
diff
changeset
|
73 } |
33 | 74 |
109
2e9d1f29c50f
merge of 50be59810e462f9f44f55e421227d6aa0b31982b
Matt Johnston <matt@ucc.asn.au>
parents:
108
diff
changeset
|
75 if (signal(SIGPIPE, SIG_IGN) == SIG_ERR) { |
2e9d1f29c50f
merge of 50be59810e462f9f44f55e421227d6aa0b31982b
Matt Johnston <matt@ucc.asn.au>
parents:
108
diff
changeset
|
76 dropbear_exit("signal() error"); |
2e9d1f29c50f
merge of 50be59810e462f9f44f55e421227d6aa0b31982b
Matt Johnston <matt@ucc.asn.au>
parents:
108
diff
changeset
|
77 } |
2e9d1f29c50f
merge of 50be59810e462f9f44f55e421227d6aa0b31982b
Matt Johnston <matt@ucc.asn.au>
parents:
108
diff
changeset
|
78 |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
1221
diff
changeset
|
79 #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
|
80 if (cli_opts.proxycmd) { |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
81 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
|
82 m_free(cli_opts.proxycmd); |
1216
3daff2072bd0
rename killchild to kill_proxy_sighandler
Matt Johnston <matt@ucc.asn.au>
parents:
1215
diff
changeset
|
83 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
|
84 signal(SIGTERM, kill_proxy_sighandler) == SIG_ERR || |
3daff2072bd0
rename killchild to kill_proxy_sighandler
Matt Johnston <matt@ucc.asn.au>
parents:
1215
diff
changeset
|
85 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
|
86 dropbear_exit("signal() error"); |
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
87 } |
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
|
88 } 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
|
89 #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
|
90 { |
1859
1d86a58fb52d
Leave non-interactive at default QoS class
Matt Johnston <matt@ucc.asn.au>
parents:
1795
diff
changeset
|
91 progress = connect_remote(cli_opts.remotehost, cli_opts.remoteport, |
1d86a58fb52d
Leave non-interactive at default QoS class
Matt Johnston <matt@ucc.asn.au>
parents:
1795
diff
changeset
|
92 cli_connected, &ses, cli_opts.bind_address, cli_opts.bind_port, |
1d86a58fb52d
Leave non-interactive at default QoS class
Matt Johnston <matt@ucc.asn.au>
parents:
1795
diff
changeset
|
93 DROPBEAR_PRIO_LOWDELAY); |
1025 | 94 sock_in = sock_out = -1; |
26 | 95 } |
96 | |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
97 cli_session(sock_in, sock_out, progress, proxy_cmd_pid); |
26 | 98 |
99 /* not reached */ | |
100 return -1; | |
101 } | |
33 | 102 #endif /* DBMULTI stuff */ |
103 | |
1460
58a74cb829b8
Pointer parameter could be declared as pointing to const (callback)
Francois Perrad <francois.perrad@gadz.org>
parents:
1316
diff
changeset
|
104 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
|
105 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
|
106 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
|
107 |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
108 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
|
109 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
|
110 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
|
111 } |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
112 |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
1221
diff
changeset
|
113 #if DROPBEAR_CLI_PROXYCMD |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
114 static void cli_proxy_cmd(int *sock_in, int *sock_out, pid_t *pid_out) { |
1221 | 115 char * ex_cmd = NULL; |
116 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
|
117 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
|
118 |
1516
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
119 /* File descriptor "-j &3" */ |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
120 if (*cli_opts.proxycmd == '&') { |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
121 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
|
122 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
|
123 /* 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
|
124 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
|
125 *sock_in = sock; |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
126 *sock_out = sock; |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
127 return; |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
128 } |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
129 } |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
130 |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
131 /* Normal proxycommand */ |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
132 |
33b872649eb7
Add dbclient '-J &fd' option for a file descriptor
Matt Johnston <matt@ucc.asn.au>
parents:
1495
diff
changeset
|
133 /* 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
|
134 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
|
135 |
1221 | 136 ex_cmdlen = strlen(cli_opts.proxycmd) + 6; /* "exec " + command + '\0' */ |
137 ex_cmd = m_malloc(ex_cmdlen); | |
138 snprintf(ex_cmd, ex_cmdlen, "exec %s", cli_opts.proxycmd); | |
139 | |
140 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
|
141 sock_out, sock_in, NULL, pid_out); |
1894
62e4baa059c3
changed TRACE to DEBUG1 for dbclient
HansH111 <hans@atbas.org>
parents:
1859
diff
changeset
|
142 DEBUG1(("cmd: %s pid=%d", ex_cmd,*pid_out)) |
1221 | 143 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
|
144 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
|
145 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
|
146 *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
|
147 } |
738313e73b1c
- "-J 'nc localhost 22'" kind of works, needs fixing hostkeys, ptys etc.
Matt Johnston <matt@ucc.asn.au>
parents:
479
diff
changeset
|
148 } |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
149 |
1216
3daff2072bd0
rename killchild to kill_proxy_sighandler
Matt Johnston <matt@ucc.asn.au>
parents:
1215
diff
changeset
|
150 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
|
151 kill_proxy_command(); |
1216
3daff2072bd0
rename killchild to kill_proxy_sighandler
Matt Johnston <matt@ucc.asn.au>
parents:
1215
diff
changeset
|
152 _exit(1); |
1208
fb58cf341951
Client: kill proxy command when exiting application.
Konstantin Tokarev <ktokarev@smartlabs.tv>
parents:
1065
diff
changeset
|
153 } |
1741
d1b279aa5ed1
Get client fuzzer building and starting (fails straight away)
Matt Johnston <matt@ucc.asn.au>
parents:
1697
diff
changeset
|
154 |
1295
750ec4ec4cbe
Convert #ifdef to #if, other build changes
Matt Johnston <matt@ucc.asn.au>
parents:
1221
diff
changeset
|
155 #endif /* DROPBEAR_CLI_PROXYCMD */ |