OpenCoverage

clientloop.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssh/src/clientloop.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11-
12-
13-
14-
15extern Options options;-
16-
17-
18extern int stdin_null_flag;-
19-
20-
21extern int no_shell_flag;-
22-
23-
24extern int fork_after_authentication_flag;-
25-
26-
27extern int muxserver_sock;-
28-
29-
30-
31-
32-
33-
34extern char *host;-
35-
36-
37-
38-
39-
40-
41-
42static volatile sig_atomic_t received_window_change_signal = 0;-
43static volatile sig_atomic_t received_signal = 0;-
44-
45-
46static int in_non_blocking_mode = 0;-
47-
48-
49static time_t control_persist_exit_time = 0;-
50-
51-
52volatile sig_atomic_t quit_pending;-
53static int last_was_cr;-
54static int exit_status;-
55static struct sshbuf *stderr_buffer;-
56static int connection_in;-
57static int connection_out;-
58static int need_rekeying;-
59static int session_closed;-
60static u_int x11_refuse_time;-
61-
62static void client_init_dispatch(void);-
63int session_ident = -1;-
64-
65-
66struct escape_filter_ctx {-
67 int escape_pending;-
68 int escape_char;-
69};-
70-
71-
72struct channel_reply_ctx {-
73 const char *request_type;-
74 int id;-
75 enum confirm_action action;-
76};-
77-
78-
79-
80struct global_confirm {-
81 struct { struct global_confirm *tqe_next; struct global_confirm **tqe_prev; } entry;-
82 global_confirm_cb *cb;-
83 void *ctx;-
84 int ref_count;-
85};-
86struct global_confirms { struct global_confirm *tqh_first; struct global_confirm **tqh_last; };-
87static struct global_confirms global_confirms =-
88 { -
89 ((void *)0)-
90 , &(global_confirms).tqh_first };-
91-
92void ssh_process_session2_setup(int, int, int, struct sshbuf *);-
93-
94-
95-
96static void-
97leave_non_blocking(void)-
98{-
99 if (in_non_blocking_mode
in_non_blocking_modeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
100 unset_nonblock(fileno(-
101 stdin-
102 ));-
103 in_non_blocking_mode = 0;-
104 }
never executed: end of block
0
105}
never executed: end of block
0
106-
107-
108-
109-
110-
111-
112static void-
113window_change_handler(int sig)-
114{-
115 received_window_change_signal = 1;-
116}
never executed: end of block
0
117-
118-
119-
120-
121-
122-
123static void-
124signal_handler(int sig)-
125{-
126 received_signal = sig;-
127 quit_pending = 1;-
128}
never executed: end of block
0
129-
130-
131-
132-
133-
134-
135-
136static void-
137set_control_persist_exit_time(struct ssh *ssh)-
138{-
139 if (muxserver_sock == -1
muxserver_sock == -1Description
TRUEnever evaluated
FALSEnever evaluated
|| !options.control_persist
!options.control_persistDescription
TRUEnever evaluated
FALSEnever evaluated
0
140 || options.control_persist_timeout == 0
options.contro...t_timeout == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
141-
142 control_persist_exit_time = 0;-
143 }
never executed: end of block
else if (channel_still_open(ssh)
channel_still_open(ssh)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
144-
145 if (control_persist_exit_time > 0
control_persist_exit_time > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
146 debug2("%s: cancel scheduled exit", __func__);
never executed: debug2("%s: cancel scheduled exit", __func__);
0
147 control_persist_exit_time = 0;-
148 }
never executed: end of block
else if (control_persist_exit_time <= 0
control_persist_exit_time <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
149-
150 control_persist_exit_time = monotime() +-
151 (time_t)options.control_persist_timeout;-
152 debug2("%s: schedule exit in %d seconds", __func__,-
153 options.control_persist_timeout);-
154 }
never executed: end of block
0
155-
156}
never executed: end of block
0
157-
158-
159static int-
160client_x11_display_valid(const char *display)-
161{-
162 size_t i, dlen;-
163-
164 if (display ==
display == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
165 ((void *)0)
display == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
166 )-
167 return
never executed: return 0;
0;
never executed: return 0;
0
168-
169 dlen = strlen(display);-
170 for (i = 0; i < dlen
i < dlenDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
171 if (!
! ((*__ctype_b...int) _ISalnum)Description
TRUEnever evaluated
FALSEnever evaluated
0
172 ((*__ctype_b_loc ())[(int) ((
! ((*__ctype_b...int) _ISalnum)Description
TRUEnever evaluated
FALSEnever evaluated
0
173 (u_char)display[i]
! ((*__ctype_b...int) _ISalnum)Description
TRUEnever evaluated
FALSEnever evaluated
0
174 ))] & (unsigned short int) _ISalnum)
! ((*__ctype_b...int) _ISalnum)Description
TRUEnever evaluated
FALSEnever evaluated
0
175 &&-
176 -
177 (
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
__extension__ (__builtin_constant_p (
__builtin_cons...( display[i] )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
178 display[i]
__builtin_cons...( display[i] )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
179 )
__builtin_cons...( display[i] )Description
TRUEnever evaluated
FALSEnever evaluated
&& !__builtin_constant_p (
!__builtin_con..._p ( ":/.-_" )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
180 ":/.-_"
!__builtin_con..._p ( ":/.-_" )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
181 )
!__builtin_con..._p ( ":/.-_" )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
( display[i] ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
182 display[i]
( display[i] ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
183 ) == '\0'
( display[i] ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) __rawmemchr (
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
184 ":/.-_"
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
185 ,
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
186 display[i]
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
187 ) : __builtin_strchr (
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
188 ":/.-_"
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
189 ,
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
190 display[i]
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
191 )))
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
192 ==
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
193 ((void *)0)
(__extension__...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
194 ) {-
195 debug("Invalid character '%c' in DISPLAY", display[i]);-
196 return
never executed: return 0;
0;
never executed: return 0;
0
197 }-
198 }
never executed: end of block
0
199 return
never executed: return 1;
1;
never executed: return 1;
0
200}-
201-
202-
203-
204int-
205client_x11_get_proto(struct ssh *ssh, const char *display,-
206 const char *xauth_path, u_int trusted, u_int timeout,-
207 char **_proto, char **_data)-
208{-
209 char *cmd, line[512], xdisplay[512];-
210 char xauthfile[-
211 4096-
212 ], xauthdir[-
213 4096-
214 ];-
215 static char proto[512], data[512];-
216 FILE *f;-
217 int got_data = 0, generated = 0, do_unlink = 0, r;-
218 struct stat st;-
219 u_int now, x11_timeout_real;-
220-
221 *_proto = proto;-
222 *_data = data;-
223 proto[0] = data[0] = xauthfile[0] = xauthdir[0] = '\0';-
224-
225 if (!client_x11_display_valid(display)
!client_x11_di...valid(display)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
226 if (display !=
display != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
227 ((void *)0)
display != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
228 )-
229 logit("DISPLAY \"%s\" invalid; disabling X11 forwarding",
never executed: logit("DISPLAY \"%s\" invalid; disabling X11 forwarding", display);
0
230 display);
never executed: logit("DISPLAY \"%s\" invalid; disabling X11 forwarding", display);
0
231 return
never executed: return -1;
-1;
never executed: return -1;
0
232 }-
233 if (xauth_path !=
xauth_path != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
234 ((void *)0)
xauth_path != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
235 && stat(xauth_path, &st) == -1
stat(xauth_path, &st) == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
236 debug("No xauth program.");-
237 xauth_path = -
238 ((void *)0)-
239 ;-
240 }
never executed: end of block
0
241-
242 if (xauth_path !=
xauth_path != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
243 ((void *)0)
xauth_path != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
244 ) {-
245-
246-
247-
248-
249-
250-
251-
252 if (-
253 (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__extension__ (__builtin_constant_p (
__builtin_constant_p ( 10 )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
254 10
__builtin_constant_p ( 10 )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
255 )
__builtin_constant_p ( 10 )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((__builtin_constant_p (
__builtin_cons..._p ( display )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
256 display
__builtin_cons..._p ( display )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
257 )
__builtin_cons..._p ( display )Description
TRUEnever evaluated
FALSEnever evaluated
&& strlen (
strlen ( displ...ize_t) ( 10 ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
258 display
strlen ( displ...ize_t) ( 10 ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
259 ) < ((size_t) (
strlen ( displ...ize_t) ( 10 ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
260 10
strlen ( displ...ize_t) ( 10 ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
261 ))
strlen ( displ...ize_t) ( 10 ))Description
TRUEnever evaluated
FALSEnever evaluated
) || (__builtin_constant_p (
__builtin_cons..."localhost:" )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
262 "localhost:"
__builtin_cons..."localhost:" )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
263 )
__builtin_cons..."localhost:" )Description
TRUEnever evaluated
FALSEnever evaluated
&& strlen (
strlen ( "loca...ize_t) ( 10 ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
264 "localhost:"
strlen ( "loca...ize_t) ( 10 ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
265 ) < ((size_t) (
strlen ( "loca...ize_t) ( 10 ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
266 10
strlen ( "loca...ize_t) ( 10 ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
267 ))
strlen ( "loca...ize_t) ( 10 ))Description
TRUEnever evaluated
FALSEnever evaluated
)) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
268 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
269 ) && __builtin_constant_p (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
270 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
271 ) && (__s1_len = __builtin_strlen (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
272 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
273 ), __s2_len = __builtin_strlen (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
274 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
275 ), (!((size_t)(const void *)((
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
276 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
277 ) + 1) - (size_t)(const void *)(
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
278 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
279 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
280 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
281 ) + 1) - (size_t)(const void *)(
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
282 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
283 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
284 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
285 ,
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
286 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
287 ) : (__builtin_constant_p (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
288 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
289 ) && ((size_t)(const void *)((
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
290 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
291 ) + 1) - (size_t)(const void *)(
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
292 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
293 ) == 1) && (__s1_len = __builtin_strlen (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
294 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
295 ), __s1_len < 4) ? (__builtin_constant_p (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
296 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
297 ) && ((size_t)(const void *)((
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
298 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
299 ) + 1) - (size_t)(const void *)(
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
300 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
301 ) == 1) ? __builtin_strcmp (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
302 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
303 ,
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
304 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
305 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
306 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
307 ); int __result = (((const unsigned char *) (const char *) (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
308 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
309 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
310 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
311 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
312 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
313 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( display ))[3] - __s2[3]);
0
314 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( display ))[3] - __s2[3]);
0
315 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
316 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
317 ) && ((size_t)(const void *)((
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
318 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
319 ) + 1) - (size_t)(const void *)(
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
320 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
321 ) == 1) && (__s2_len = __builtin_strlen (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
322 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
323 ), __s2_len < 4) ? (__builtin_constant_p (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
324 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
325 ) && ((size_t)(const void *)((
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
326 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
327 ) + 1) - (size_t)(const void *)(
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
328 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
329 ) == 1) ? __builtin_strcmp (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
330 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
331 ,
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
332 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
333 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
334 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
335 ); int __result = (((const unsigned char *) (const char *) (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
336 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
337 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
338 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
339 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
340 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
341 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( "localhost:" ))[3] - __s2[3]);
0
342 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( "localhost:" ))[3] - __s2[3]);
0
343 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
344 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
345 ,
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
346 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
347 )))); }) : strncmp (
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
348 display
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
349 ,
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
350 "localhost:"
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
351 ,
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
352 10
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
353 )))
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
354 == 0
(__extension__... , 10 ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
355 if ((
(r = snprintf(...lay + 10)) < 0Description
TRUEnever evaluated
FALSEnever evaluated
r = snprintf(xdisplay, sizeof(xdisplay), "unix:%s",
(r = snprintf(...lay + 10)) < 0Description
TRUEnever evaluated
FALSEnever evaluated
0
356 display + 10)) < 0
(r = snprintf(...lay + 10)) < 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
357 (
(size_t)r >= sizeof(xdisplay)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)r >= sizeof(xdisplay)
(size_t)r >= sizeof(xdisplay)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
358 error("%s: display name too long", __func__);-
359 return
never executed: return -1;
-1;
never executed: return -1;
0
360 }-
361 display = xdisplay;-
362 }
never executed: end of block
0
363 if (trusted == 0
trusted == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
364-
365-
366-
367-
368-
369-
370-
371 mktemp_proto(xauthdir, sizeof(xauthdir));-
372 if (mkdtemp(xauthdir) ==
mkdtemp(xauthd...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
373 ((void *)0)
mkdtemp(xauthd...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
374 ) {-
375 error("%s: mkdtemp: %s",-
376 __func__, strerror(-
377 (*__errno_location ())-
378 ));-
379 return
never executed: return -1;
-1;
never executed: return -1;
0
380 }-
381 do_unlink = 1;-
382 if ((
(r = snprintf(...xauthdir)) < 0Description
TRUEnever evaluated
FALSEnever evaluated
r = snprintf(xauthfile, sizeof(xauthfile),
(r = snprintf(...xauthdir)) < 0Description
TRUEnever evaluated
FALSEnever evaluated
0
383 "%s/xauthfile", xauthdir)) < 0
(r = snprintf(...xauthdir)) < 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
384 (
(size_t)r >= sizeof(xauthfile)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)r >= sizeof(xauthfile)
(size_t)r >= sizeof(xauthfile)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
385 error("%s: xauthfile path too long", __func__);-
386 unlink(xauthfile);-
387 rmdir(xauthdir);-
388 return
never executed: return -1;
-1;
never executed: return -1;
0
389 }-
390-
391 if (timeout == 0
timeout == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
392-
393 xasprintf(&cmd, "%s -f %s generate %s %s "-
394 "untrusted 2>%s",-
395 xauth_path, xauthfile, display,-
396 "MIT-MAGIC-COOKIE-1", -
397 "/dev/null"-
398 );-
399 }
never executed: end of block
else {
0
400-
401 if (timeout <
timeout < (0x7... 2U + 1U) - 60Description
TRUEnever evaluated
FALSEnever evaluated
0
402 (0x7fffffff * 2U + 1U)
timeout < (0x7... 2U + 1U) - 60Description
TRUEnever evaluated
FALSEnever evaluated
0
403 - 60
timeout < (0x7... 2U + 1U) - 60Description
TRUEnever evaluated
FALSEnever evaluated
)
0
404 x11_timeout_real = timeout +
never executed: x11_timeout_real = timeout + 60;
0
405 60;
never executed: x11_timeout_real = timeout + 60;
0
406 else {-
407-
408 x11_timeout_real = -
409 (0x7fffffff * 2U + 1U)-
410 ;-
411 }
never executed: end of block
0
412 xasprintf(&cmd, "%s -f %s generate %s %s "-
413 "untrusted timeout %u 2>%s",-
414 xauth_path, xauthfile, display,-
415 "MIT-MAGIC-COOKIE-1", x11_timeout_real,-
416 -
417 "/dev/null"-
418 );-
419 }
never executed: end of block
0
420 debug2("%s: %s", __func__, cmd);-
421-
422 if (timeout != 0
timeout != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& x11_refuse_time == 0
x11_refuse_time == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
423 now = monotime() + 1;-
424 if (-
425 (
(0x7fffffff * ... timeout < nowDescription
TRUEnever evaluated
FALSEnever evaluated
0x7fffffff * 2U + 1U)
(0x7fffffff * ... timeout < nowDescription
TRUEnever evaluated
FALSEnever evaluated
0
426 - timeout < now
(0x7fffffff * ... timeout < nowDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
427 x11_refuse_time =
never executed: x11_refuse_time = (0x7fffffff * 2U + 1U) ;
0
428 (0x7fffffff * 2U + 1U)
never executed: x11_refuse_time = (0x7fffffff * 2U + 1U) ;
0
429 ;
never executed: x11_refuse_time = (0x7fffffff * 2U + 1U) ;
0
430 else-
431 x11_refuse_time = now + timeout;
never executed: x11_refuse_time = now + timeout;
0
432 channel_set_x11_refuse_time(ssh,-
433 x11_refuse_time);-
434 }
never executed: end of block
0
435 if (system(cmd) == 0
system(cmd) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
436 generated = 1;
never executed: generated = 1;
0
437 free(cmd);-
438 }
never executed: end of block
0
439-
440-
441-
442-
443-
444-
445 if (trusted
trustedDescription
TRUEnever evaluated
FALSEnever evaluated
|| generated
generatedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
446 xasprintf(&cmd,-
447 "%s %s%s list %s 2>" -
448 "/dev/null"-
449 ,-
450 xauth_path,-
451 generated ? "-f " : "" ,-
452 generated ? xauthfile : "",-
453 display);-
454 debug2("x11_get_proto: %s", cmd);-
455 f = popen(cmd, "r");-
456 if (f
fDescription
TRUEnever evaluated
FALSEnever evaluated
&& fgets(line, sizeof(line), f)
fgets(line, sizeof(line), f)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
457 sscanf(line, "%*s %511s %511s", proto, data) == 2
sscanf(line, "...to, data) == 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
458 got_data = 1;
never executed: got_data = 1;
0
459 if (f
fDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
460 pclose(f);
never executed: pclose(f);
0
461 free(cmd);-
462 }
never executed: end of block
0
463 }
never executed: end of block
0
464-
465 if (do_unlink
do_unlinkDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
466 unlink(xauthfile);-
467 rmdir(xauthdir);-
468 }
never executed: end of block
0
469-
470-
471 if (!trusted
!trustedDescription
TRUEnever evaluated
FALSEnever evaluated
&& !got_data
!got_dataDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
472 error("Warning: untrusted X11 forwarding setup failed: "-
473 "xauth key data not generated");-
474 return
never executed: return -1;
-1;
never executed: return -1;
0
475 }-
476 if (!got_data
!got_dataDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
477 u_int8_t rnd[16];-
478 u_int i;-
479-
480 logit("Warning: No xauth data; "-
481 "using fake authentication data for X11 forwarding.");-
482 strlcpy(proto, "MIT-MAGIC-COOKIE-1", sizeof proto);-
483 arc4random_buf(rnd, sizeof(rnd));-
484 for (i = 0; i < sizeof(rnd)
i < sizeof(rnd)Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
485 snprintf(data + 2 * i, sizeof data - 2 * i, "%02x",-
486 rnd[i]);-
487 }
never executed: end of block
0
488 }
never executed: end of block
0
489-
490 return
never executed: return 0;
0;
never executed: return 0;
0
491}-
492static void-
493client_check_window_change(struct ssh *ssh)-
494{-
495 if (!received_window_change_signal
!received_window_change_signalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
496 return;
never executed: return;
0
497-
498 received_window_change_signal = 0;-
499-
500 debug2("%s: changed", __func__);-
501-
502 channel_send_window_changes(ssh);-
503}
never executed: end of block
0
504-
505static int-
506client_global_request_reply(int type, u_int32_t seq, struct ssh *ssh)-
507{-
508 struct global_confirm *gc;-
509-
510 if ((
(gc = ((&globa...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
gc = ((&global_confirms)->tqh_first)) ==
(gc = ((&globa...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
511 ((void *)0)
(gc = ((&globa...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
512 )-
513 return
never executed: return 0;
0;
never executed: return 0;
0
514 if (gc->cb !=
gc->cb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
515 ((void *)0)
gc->cb != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
516 )-
517 gc->cb(ssh, type, seq, gc->ctx);
never executed: gc->cb(ssh, type, seq, gc->ctx);
0
518 if (--
--gc->ref_count <= 0Description
TRUEnever evaluated
FALSEnever evaluated
gc->ref_count <= 0
--gc->ref_count <= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
519 do { if (((
((gc)->entry.t...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
gc)->entry.tqe_next) !=
((gc)->entry.t...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
520 ((void *)0)
((gc)->entry.t...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
521 ) (
never executed: (gc)->entry.tqe_next->entry.tqe_prev = (gc)->entry.tqe_prev;
gc)->entry.tqe_next->entry.tqe_prev = (gc)->entry.tqe_prev;
never executed: (gc)->entry.tqe_next->entry.tqe_prev = (gc)->entry.tqe_prev;
else (
never executed: (&global_confirms)->tqh_last = (gc)->entry.tqe_prev;
&global_confirms)->tqh_last = (gc)->entry.tqe_prev;
never executed: (&global_confirms)->tqh_last = (gc)->entry.tqe_prev;
*(gc)->entry.tqe_prev = (gc)->entry.tqe_next; ; ; } while (0);
0
522 explicit_bzero(gc, sizeof(*gc));-
523 free(gc);-
524 }
never executed: end of block
0
525-
526 ssh_packet_set_alive_timeouts(active_state, (0));-
527 return
never executed: return 0;
0;
never executed: return 0;
0
528}-
529-
530static void-
531server_alive_check(void)-
532{-
533 if (ssh_packet_inc_alive_timeouts(active_state) > options.server_alive_count_max
ssh_packet_inc...live_count_maxDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
534 logit("Timeout, server %s not responding.", host);-
535 cleanup_exit(255);-
536 }
never executed: end of block
0
537 ssh_packet_start(active_state, (80));-
538 ssh_packet_put_cstring(active_state, ("keepalive@openssh.com"));-
539 ssh_packet_put_char(active_state, (1));-
540 ssh_packet_send(active_state);-
541-
542 client_register_global_confirm(-
543 ((void *)0)-
544 , -
545 ((void *)0)-
546 );-
547}
never executed: end of block
0
548-
549-
550-
551-
552-
553static void-
554client_wait_until_can_do_something(struct ssh *ssh,-
555 fd_set **readsetp, fd_set **writesetp,-
556 int *maxfdp, u_int *nallocp, int rekeying)-
557{-
558 struct timeval tv, *tvp;-
559 int timeout_secs;-
560 time_t minwait_secs = 0, server_alive_time = 0, now = monotime();-
561 int r, ret;-
562-
563-
564 channel_prepare_select(active_state, readsetp, writesetp, maxfdp,-
565 nallocp, &minwait_secs);-
566-
567-
568 if (session_closed
session_closedDescription
TRUEnever evaluated
FALSEnever evaluated
&& !channel_still_open(ssh)
!channel_still_open(ssh)Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
569 !ssh_packet_have_data_to_write(active_state)
!ssh_packet_ha...(active_state)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
570-
571 memset(*readsetp, 0, *nallocp);-
572 memset(*writesetp, 0, *nallocp);-
573 return;
never executed: return;
0
574 }-
575-
576 kludge_FD_SET(connection_in, *readsetp);-
577-
578-
579 if (ssh_packet_have_data_to_write(active_state)
ssh_packet_hav...(active_state)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
580 kludge_FD_SET(connection_out, *writesetp);
never executed: kludge_FD_SET(connection_out, *writesetp);
0
581-
582-
583-
584-
585-
586-
587-
588 timeout_secs = 0x7fffffff;-
589 if (options.server_alive_interval > 0
options.server...e_interval > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
590 timeout_secs = options.server_alive_interval;-
591 server_alive_time = now + options.server_alive_interval;-
592 }
never executed: end of block
0
593 if (options.rekey_interval > 0
options.rekey_interval > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& !rekeying
!rekeyingDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
594 timeout_secs = (((
((timeout_secs...ctive_state)))Description
TRUEnever evaluated
FALSEnever evaluated
timeout_secs) < (ssh_packet_get_rekey_timeout(active_state)))
((timeout_secs...ctive_state)))Description
TRUEnever evaluated
FALSEnever evaluated
? (timeout_secs) : (ssh_packet_get_rekey_timeout(active_state)));
never executed: timeout_secs = (((timeout_secs) < (ssh_packet_get_rekey_timeout(active_state))) ? (timeout_secs) : (ssh_packet_get_rekey_timeout(active_state)));
0
595 set_control_persist_exit_time(ssh);-
596 if (control_persist_exit_time > 0
control_persist_exit_time > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
597 timeout_secs = (((
((timeout_secs...t_time - now))Description
TRUEnever evaluated
FALSEnever evaluated
timeout_secs) < (control_persist_exit_time - now))
((timeout_secs...t_time - now))Description
TRUEnever evaluated
FALSEnever evaluated
? (timeout_secs) : (control_persist_exit_time - now))
0
598 ;-
599 if (timeout_secs < 0
timeout_secs < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
600 timeout_secs = 0;
never executed: timeout_secs = 0;
0
601 }
never executed: end of block
0
602 if (minwait_secs != 0
minwait_secs != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
603 timeout_secs = (((
((timeout_secs...minwait_secs))Description
TRUEnever evaluated
FALSEnever evaluated
timeout_secs) < ((int)minwait_secs))
((timeout_secs...minwait_secs))Description
TRUEnever evaluated
FALSEnever evaluated
? (timeout_secs) : ((int)minwait_secs));
never executed: timeout_secs = (((timeout_secs) < ((int)minwait_secs)) ? (timeout_secs) : ((int)minwait_secs));
0
604 if (timeout_secs == 0x7fffffff
timeout_secs == 0x7fffffffDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
605 tvp =
never executed: tvp = ((void *)0) ;
0
606 ((void *)0)
never executed: tvp = ((void *)0) ;
0
607 ;
never executed: tvp = ((void *)0) ;
0
608 else {-
609 tv.tv_sec = timeout_secs;-
610 tv.tv_usec = 0;-
611 tvp = &tv;-
612 }
never executed: end of block
0
613-
614 ret = select((*maxfdp)+1, *readsetp, *writesetp, -
615 ((void *)0)-
616 , tvp);-
617 if (ret < 0
ret < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
618-
619-
620-
621-
622-
623 memset(*readsetp, 0, *nallocp);-
624 memset(*writesetp, 0, *nallocp);-
625-
626 if (-
627 (*
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
__errno_location ())
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
628 ==
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
629 4
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
630 )-
631 return;
never executed: return;
0
632-
633 if ((
(r = sshbuf_pu...n ()) ))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(stderr_buffer,
(r = sshbuf_pu...n ()) ))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
634 "select: %s\r\n", strerror(
(r = sshbuf_pu...n ()) ))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
635 (*__errno_location ())
(r = sshbuf_pu...n ()) ))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
636 ))) != 0
(r = sshbuf_pu...n ()) ))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
637 fatal("%s: buffer error: %s", __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
638 quit_pending = 1;-
639 }
never executed: end of block
else if (ret == 0
ret == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
640-
641-
642-
643-
644 if (server_alive_time != 0
server_alive_time != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& server_alive_time <= monotime()
server_alive_t... <= monotime()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
645 server_alive_check();
never executed: server_alive_check();
0
646 }
never executed: end of block
0
647-
648}
never executed: end of block
0
649-
650static void-
651client_suspend_self(struct sshbuf *bin, struct sshbuf *bout, struct sshbuf *berr)-
652{-
653-
654 if (sshbuf_len(bout) > 0
sshbuf_len(bout) > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
655 atomicio((ssize_t (*)(int, void *, size_t))write, fileno(
never executed: atomicio((ssize_t (*)(int, void *, size_t))write, fileno( stdout ), sshbuf_mutable_ptr(bout), sshbuf_len(bout));
0
656 stdout
never executed: atomicio((ssize_t (*)(int, void *, size_t))write, fileno( stdout ), sshbuf_mutable_ptr(bout), sshbuf_len(bout));
0
657 ), sshbuf_mutable_ptr(bout),
never executed: atomicio((ssize_t (*)(int, void *, size_t))write, fileno( stdout ), sshbuf_mutable_ptr(bout), sshbuf_len(bout));
0
658 sshbuf_len(bout));
never executed: atomicio((ssize_t (*)(int, void *, size_t))write, fileno( stdout ), sshbuf_mutable_ptr(bout), sshbuf_len(bout));
0
659 if (sshbuf_len(berr) > 0
sshbuf_len(berr) > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
660 atomicio((ssize_t (*)(int, void *, size_t))write, fileno(
never executed: atomicio((ssize_t (*)(int, void *, size_t))write, fileno( stderr ), sshbuf_mutable_ptr(berr), sshbuf_len(berr));
0
661 stderr
never executed: atomicio((ssize_t (*)(int, void *, size_t))write, fileno( stderr ), sshbuf_mutable_ptr(berr), sshbuf_len(berr));
0
662 ), sshbuf_mutable_ptr(berr),
never executed: atomicio((ssize_t (*)(int, void *, size_t))write, fileno( stderr ), sshbuf_mutable_ptr(berr), sshbuf_len(berr));
0
663 sshbuf_len(berr));
never executed: atomicio((ssize_t (*)(int, void *, size_t))write, fileno( stderr ), sshbuf_mutable_ptr(berr), sshbuf_len(berr));
0
664-
665 leave_raw_mode(options.request_tty == 3);-
666-
667 sshbuf_reset(bin);-
668 sshbuf_reset(bout);-
669 sshbuf_reset(berr);-
670-
671-
672 kill(getpid(), -
673 20-
674 );-
675-
676-
677 received_window_change_signal = 1;-
678-
679 enter_raw_mode(options.request_tty == 3);-
680}
never executed: end of block
0
681-
682static void-
683client_process_net_input(fd_set *readset)-
684{-
685 char buf[8192];-
686 int r, len;-
687-
688-
689-
690-
691-
692 if (kludge_FD_ISSET(connection_in, readset)
kludge_FD_ISSE...n_in, readset)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
693-
694 len = read(connection_in, buf, sizeof(buf));-
695 if (len == 0
len == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
696-
697-
698-
699-
700 if ((
(r = sshbuf_pu...", host)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(stderr_buffer,
(r = sshbuf_pu...", host)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
701 "Connection to %.300s closed by remote host.\r\n",
(r = sshbuf_pu...", host)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
702 host)) != 0
(r = sshbuf_pu...", host)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
703 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
704 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
705 quit_pending = 1;-
706 return;
never executed: return;
0
707 }-
708-
709-
710-
711-
712 if (len < 0
len < 0Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
713 (-
714 (*
(*__errno_location ()) == 11Description
TRUEnever evaluated
FALSEnever evaluated
__errno_location ())
(*__errno_location ()) == 11Description
TRUEnever evaluated
FALSEnever evaluated
0
715 ==
(*__errno_location ()) == 11Description
TRUEnever evaluated
FALSEnever evaluated
0
716 11
(*__errno_location ()) == 11Description
TRUEnever evaluated
FALSEnever evaluated
0
717 || -
718 (*
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
__errno_location ())
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
719 ==
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
720 4
(*__errno_location ()) == 4Description
TRUEnever evaluated
FALSEnever evaluated
0
721 || -
722 (*
(*__errno_location ()) == 11Description
TRUEnever evaluated
FALSEnever evaluated
__errno_location ())
(*__errno_location ()) == 11Description
TRUEnever evaluated
FALSEnever evaluated
0
723 ==
(*__errno_location ()) == 11Description
TRUEnever evaluated
FALSEnever evaluated
0
724 11
(*__errno_location ()) == 11Description
TRUEnever evaluated
FALSEnever evaluated
0
725 ))-
726 len = 0;
never executed: len = 0;
0
727-
728 if (len < 0
len < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
729-
730-
731-
732-
733 if ((
(r = sshbuf_pu...n ()) ))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(stderr_buffer,
(r = sshbuf_pu...n ()) ))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
734 "Read from remote host %.300s: %.100s\r\n",
(r = sshbuf_pu...n ()) ))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
735 host, strerror(
(r = sshbuf_pu...n ()) ))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
736 (*__errno_location ())
(r = sshbuf_pu...n ()) ))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
737 ))) != 0
(r = sshbuf_pu...n ()) ))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
738 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
739 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
740 quit_pending = 1;-
741 return;
never executed: return;
0
742 }-
743 packet_process_incoming(buf, len);-
744 }
never executed: end of block
0
745}
never executed: end of block
0
746-
747static void-
748client_status_confirm(struct ssh *ssh, int type, Channel *c, void *ctx)-
749{-
750 struct channel_reply_ctx *cr = (struct channel_reply_ctx *)ctx;-
751 char errmsg[256];-
752 int r, tochan;-
753-
754-
755-
756-
757-
758 if (cr->action == CONFIRM_TTY
cr->action == CONFIRM_TTYDescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
759 (options.request_tty == 3
options.request_tty == 3Description
TRUEnever evaluated
FALSEnever evaluated
||
0
760 options.request_tty == 2
options.request_tty == 2Description
TRUEnever evaluated
FALSEnever evaluated
))
0
761 cr->action = CONFIRM_CLOSE;
never executed: cr->action = CONFIRM_CLOSE;
0
762-
763-
764 tochan = options.log_level >= SYSLOG_LEVEL_ERROR
options.log_le...OG_LEVEL_ERRORDescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
765 c->ctl_chan != -1
c->ctl_chan != -1Description
TRUEnever evaluated
FALSEnever evaluated
&& c->extended_usage == 2
c->extended_usage == 2Description
TRUEnever evaluated
FALSEnever evaluated
;
0
766-
767 if (type == 99
type == 99Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
768 debug2("%s request accepted on channel %d",-
769 cr->request_type, c->self);-
770 }
never executed: end of block
else if (type == 100
type == 100Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
771 if (tochan
tochanDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
772 snprintf(errmsg, sizeof(errmsg),-
773 "%s request failed\r\n", cr->request_type);-
774 }
never executed: end of block
else {
0
775 snprintf(errmsg, sizeof(errmsg),-
776 "%s request failed on channel %d",-
777 cr->request_type, c->self);-
778 }
never executed: end of block
0
779-
780 if (cr->action == CONFIRM_CLOSE
cr->action == CONFIRM_CLOSEDescription
TRUEnever evaluated
FALSEnever evaluated
&& c->self == session_ident
c->self == session_identDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
781 fatal("%s", errmsg);
never executed: fatal("%s", errmsg);
0
782-
783-
784-
785-
786 if (tochan
tochanDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
787 if ((
(r = sshbuf_pu...errmsg))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put(c->extended, errmsg,
(r = sshbuf_pu...errmsg))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
788 strlen(errmsg))) != 0
(r = sshbuf_pu...errmsg))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
789 fatal("%s: buffer error %s", __func__,
never executed: fatal("%s: buffer error %s", __func__, ssh_err(r));
0
790 ssh_err(r));
never executed: fatal("%s: buffer error %s", __func__, ssh_err(r));
0
791 }
never executed: end of block
else
0
792 error("%s", errmsg);
never executed: error("%s", errmsg);
0
793 if (cr->action == CONFIRM_TTY
cr->action == CONFIRM_TTYDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
794-
795-
796-
797-
798 if (c->self == session_ident
c->self == session_identDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
799 leave_raw_mode(0);
never executed: leave_raw_mode(0);
0
800 else-
801 mux_tty_alloc_failed(ssh, c);
never executed: mux_tty_alloc_failed(ssh, c);
0
802 } else if (cr->action == CONFIRM_CLOSE
cr->action == CONFIRM_CLOSEDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
803 chan_read_failed(ssh, c);-
804 chan_write_failed(ssh, c);-
805 }
never executed: end of block
0
806 }
never executed: end of block
0
807 free(cr);-
808}
never executed: end of block
0
809-
810static void-
811client_abandon_status_confirm(struct ssh *ssh, Channel *c, void *ctx)-
812{-
813 free(ctx);-
814}
never executed: end of block
0
815-
816void-
817client_expect_confirm(struct ssh *ssh, int id, const char *request,-
818 enum confirm_action action)-
819{-
820 struct channel_reply_ctx *cr = xcalloc(1, sizeof(*cr));-
821-
822 cr->request_type = request;-
823 cr->action = action;-
824-
825 channel_register_status_confirm(ssh, id, client_status_confirm,-
826 client_abandon_status_confirm, cr);-
827}
never executed: end of block
0
828-
829void-
830client_register_global_confirm(global_confirm_cb *cb, void *ctx)-
831{-
832 struct global_confirm *gc, *last_gc;-
833-
834-
835 last_gc = (*(((struct global_confirms *)((&global_confirms)->tqh_last))->tqh_last));-
836 if (last_gc
last_gcDescription
TRUEnever evaluated
FALSEnever evaluated
&& last_gc->cb == cb
last_gc->cb == cbDescription
TRUEnever evaluated
FALSEnever evaluated
&& last_gc->ctx == ctx
last_gc->ctx == ctxDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
837 if (++
++last_gc->ref... >= 0x7fffffffDescription
TRUEnever evaluated
FALSEnever evaluated
last_gc->ref_count >= 0x7fffffff
++last_gc->ref... >= 0x7fffffffDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
838 fatal("%s: last_gc->ref_count = %d",
never executed: fatal("%s: last_gc->ref_count = %d", __func__, last_gc->ref_count);
0
839 __func__, last_gc->ref_count);
never executed: fatal("%s: last_gc->ref_count = %d", __func__, last_gc->ref_count);
0
840 return;
never executed: return;
0
841 }-
842-
843 gc = xcalloc(1, sizeof(*gc));-
844 gc->cb = cb;-
845 gc->ctx = ctx;-
846 gc->ref_count = 1;-
847 do { (gc)->entry.tqe_next = -
848((void *)0)-
849; (gc)->entry.tqe_prev = (&global_confirms)->tqh_last; *(&global_confirms)->tqh_last = (gc); (&global_confirms)->tqh_last = &(gc)->entry.tqe_next; } while (0);-
850}
never executed: end of block
0
851-
852static void-
853process_cmdline(struct ssh *ssh)-
854{-
855 void (*handler)(int);-
856 char *s, *cmd;-
857 int ok, delete = 0, local = 0, remote = 0, dynamic = 0;-
858 struct Forward fwd;-
859-
860 memset(&fwd, 0, sizeof(fwd));-
861-
862 leave_raw_mode(options.request_tty == 3);-
863 handler = mysignal(-
864 2-
865 ,-
866 ((__sighandler_t) 1)-
867 );-
868 cmd = s = read_passphrase("\r\nssh> ", 0x0001);-
869 if (s ==
s == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
870 ((void *)0)
s == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
871 )-
872 goto
never executed: goto out;
out;
never executed: goto out;
0
873 while (-
874 ((*
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
__ctype_b_loc ())[(int) ((
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
0
875 (u_char)*s
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
0
876 ))] & (unsigned short int) _ISspace)
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
0
877 )-
878 s++;
never executed: s++;
0
879 if (*
*s == '-'Description
TRUEnever evaluated
FALSEnever evaluated
s == '-'
*s == '-'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
880 s++;
never executed: s++;
0
881 if (*
*s == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
s == '\0'
*s == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
882 goto
never executed: goto out;
out;
never executed: goto out;
0
883-
884 if (*
*s == 'h'Description
TRUEnever evaluated
FALSEnever evaluated
s == 'h'
*s == 'h'Description
TRUEnever evaluated
FALSEnever evaluated
|| *
*s == 'H'Description
TRUEnever evaluated
FALSEnever evaluated
s == 'H'
*s == 'H'Description
TRUEnever evaluated
FALSEnever evaluated
|| *
*s == '?'Description
TRUEnever evaluated
FALSEnever evaluated
s == '?'
*s == '?'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
885 logit("Commands:");-
886 logit(" -L[bind_address:]port:host:hostport "-
887 "Request local forward");-
888 logit(" -R[bind_address:]port:host:hostport "-
889 "Request remote forward");-
890 logit(" -D[bind_address:]port "-
891 "Request dynamic forward");-
892 logit(" -KL[bind_address:]port "-
893 "Cancel local forward");-
894 logit(" -KR[bind_address:]port "-
895 "Cancel remote forward");-
896 logit(" -KD[bind_address:]port "-
897 "Cancel dynamic forward");-
898 if (!options.permit_local_command
!options.permit_local_commandDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
899 goto
never executed: goto out;
out;
never executed: goto out;
0
900 logit(" !args "-
901 "Execute local command");-
902 goto
never executed: goto out;
out;
never executed: goto out;
0
903 }-
904-
905 if (*
*s == '!'Description
TRUEnever evaluated
FALSEnever evaluated
s == '!'
*s == '!'Description
TRUEnever evaluated
FALSEnever evaluated
&& options.permit_local_command
options.permit_local_commandDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
906 s++;-
907 ssh_local_cmd(s);-
908 goto
never executed: goto out;
out;
never executed: goto out;
0
909 }-
910-
911 if (*
*s == 'K'Description
TRUEnever evaluated
FALSEnever evaluated
s == 'K'
*s == 'K'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
912 delete = 1;-
913 s++;-
914 }
never executed: end of block
0
915 if (*
*s == 'L'Description
TRUEnever evaluated
FALSEnever evaluated
s == 'L'
*s == 'L'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
916 local = 1;
never executed: local = 1;
0
917 else if (*
*s == 'R'Description
TRUEnever evaluated
FALSEnever evaluated
s == 'R'
*s == 'R'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
918 remote = 1;
never executed: remote = 1;
0
919 else if (*
*s == 'D'Description
TRUEnever evaluated
FALSEnever evaluated
s == 'D'
*s == 'D'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
920 dynamic = 1;
never executed: dynamic = 1;
0
921 else {-
922 logit("Invalid command.");-
923 goto
never executed: goto out;
out;
never executed: goto out;
0
924 }-
925-
926 while (-
927 ((*
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
__ctype_b_loc ())[(int) ((
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
0
928 (u_char)*++s
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
0
929 ))] & (unsigned short int) _ISspace)
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
0
930 )-
931 ;
never executed: ;
0
932-
933-
934 if (delete
deleteDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
935-
936 if (!parse_forward(&fwd, s, 1, 0)
!parse_forward(&fwd, s, 1, 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
937 logit("Bad forwarding close specification.");-
938 goto
never executed: goto out;
out;
never executed: goto out;
0
939 }-
940 if (remote
remoteDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
941 ok = channel_request_rforward_cancel(ssh, &fwd) == 0;
never executed: ok = channel_request_rforward_cancel(ssh, &fwd) == 0;
0
942 else if (dynamic
dynamicDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
943 ok = channel_cancel_lport_listener(ssh, &fwd,
never executed: ok = channel_cancel_lport_listener(ssh, &fwd, 0, &options.fwd_opts) > 0;
0
944 0, &options.fwd_opts) > 0;
never executed: ok = channel_cancel_lport_listener(ssh, &fwd, 0, &options.fwd_opts) > 0;
0
945 else-
946 ok = channel_cancel_lport_listener(ssh, &fwd,
never executed: ok = channel_cancel_lport_listener(ssh, &fwd, -1, &options.fwd_opts) > 0;
0
947 -1,
never executed: ok = channel_cancel_lport_listener(ssh, &fwd, -1, &options.fwd_opts) > 0;
0
948 &options.fwd_opts) > 0;
never executed: ok = channel_cancel_lport_listener(ssh, &fwd, -1, &options.fwd_opts) > 0;
0
949 if (!ok
!okDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
950 logit("Unknown port forwarding.");-
951 goto
never executed: goto out;
out;
never executed: goto out;
0
952 }-
953 logit("Canceled forwarding.");-
954 }
never executed: end of block
else {
0
955 if (!parse_forward(&fwd, s, dynamic, remote)
!parse_forward...namic, remote)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
956 logit("Bad forwarding specification.");-
957 goto
never executed: goto out;
out;
never executed: goto out;
0
958 }-
959 if (local
localDescription
TRUEnever evaluated
FALSEnever evaluated
|| dynamic
dynamicDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
960 if (!channel_setup_local_fwd_listener(ssh, &fwd,
!channel_setup...ions.fwd_opts)Description
TRUEnever evaluated
FALSEnever evaluated
0
961 &options.fwd_opts)
!channel_setup...ions.fwd_opts)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
962 logit("Port forwarding failed.");-
963 goto
never executed: goto out;
out;
never executed: goto out;
0
964 }-
965 }
never executed: end of block
else {
0
966 if (channel_request_remote_forwarding(ssh, &fwd) < 0
channel_reques...ssh, &fwd) < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
967 logit("Port forwarding failed.");-
968 goto
never executed: goto out;
out;
never executed: goto out;
0
969 }-
970 }
never executed: end of block
0
971 logit("Forwarding port.");-
972 }
never executed: end of block
0
973-
974out:
code before this statement never executed: out:
0
975 mysignal(-
9762-
977,handler);-
978 enter_raw_mode(options.request_tty == 3);-
979 free(cmd);-
980 free(fwd.listen_host);-
981 free(fwd.listen_path);-
982 free(fwd.connect_host);-
983 free(fwd.connect_path);-
984}
never executed: end of block
0
985-
986-
987-
988-
989-
990-
991struct escape_help_text {-
992 const char *cmd;-
993 const char *text;-
994 unsigned int flags;-
995};-
996static struct escape_help_text esc_txt[] = {-
997 {".", "terminate session", 2},-
998 {".", "terminate connection (and any multiplexed sessions)",-
999 1},-
1000 {"B", "send a BREAK to the remote system", 0},-
1001 {"C", "open a command line", 1},-
1002 {"R", "request rekey", 0},-
1003 {"V/v", "decrease/increase verbosity (LogLevel)", 1},-
1004 {"^Z", "suspend ssh", 1},-
1005 {"#", "list forwarded connections", 0},-
1006 {"&", "background ssh (when waiting for connections to terminate)",-
1007 1},-
1008 {"?", "this message", 0},-
1009};-
1010-
1011static void-
1012print_escape_help(struct sshbuf *b, int escape_char, int mux_client,-
1013 int using_stderr)-
1014{-
1015 unsigned int i, suppress_flags;-
1016 int r;-
1017-
1018 if ((
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(b,
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1019 "%c?\r\nSupported escape sequences:\r\n", escape_char)) != 0
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1020 fatal("%s: buffer error: %s", __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1021-
1022 suppress_flags =-
1023 (mux_client
mux_clientDescription
TRUEnever evaluated
FALSEnever evaluated
? 1 : 0) |
0
1024 (mux_client ? 0 : 2) |-
1025 (using_stderr ? 0 : 4);-
1026-
1027 for (i = 0; i < sizeof(esc_txt)/sizeof(esc_txt[0])
i < sizeof(esc...of(esc_txt[0])Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
1028 if (esc_txt[i].flags & suppress_flags
esc_txt[i].fla...suppress_flagsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1029 continue;
never executed: continue;
0
1030 if ((
(r = sshbuf_pu...i].text)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(b, " %c%-3s - %s\r\n",
(r = sshbuf_pu...i].text)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1031 escape_char, esc_txt[i].cmd, esc_txt[i].text)) != 0
(r = sshbuf_pu...i].text)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1032 fatal("%s: buffer error: %s", __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1033 }
never executed: end of block
0
1034-
1035 if ((
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(b,
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1036 " %c%c - send the escape character by typing it twice\r\n"
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1037 "(Note that escapes are only recognized immediately after "
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1038 "newline.)\r\n", escape_char, escape_char)) != 0
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1039 fatal("%s: buffer error: %s", __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1040}
never executed: end of block
0
1041-
1042-
1043-
1044-
1045static int-
1046process_escapes(struct ssh *ssh, Channel *c,-
1047 struct sshbuf *bin, struct sshbuf *bout, struct sshbuf *berr,-
1048 char *buf, int len)-
1049{-
1050 pid_t pid;-
1051 int r, bytes = 0;-
1052 u_int i;-
1053 u_char ch;-
1054 char *s;-
1055 struct escape_filter_ctx *efc = c->filter_ctx ==
c->filter_ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1056 ((void *)0)
c->filter_ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1057 ?-
1058 -
1059 ((void *)0) -
1060 : (struct escape_filter_ctx *)c->filter_ctx;-
1061-
1062 if (c->filter_ctx ==
c->filter_ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1063 ((void *)0)
c->filter_ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1064 )-
1065 return
never executed: return 0;
0;
never executed: return 0;
0
1066-
1067 if (len <= 0
len <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1068 return
never executed: return (0);
(0);
never executed: return (0);
0
1069-
1070 for (i = 0; i < (u_int)len
i < (u_int)lenDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
1071-
1072 ch = buf[i];-
1073-
1074 if (efc->escape_pending
efc->escape_pendingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1075-
1076-
1077 efc->escape_pending = 0;-
1078-
1079-
1080 switch (ch) {-
1081 case
never executed: case '.':
'.':
never executed: case '.':
0
1082-
1083 if ((
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(berr, "%c.\r\n",
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1084 efc->escape_char)) != 0
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1085 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1086 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1087 if (c
cDescription
TRUEnever evaluated
FALSEnever evaluated
&& c->ctl_chan != -1
c->ctl_chan != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1088 chan_read_failed(ssh, c);-
1089 chan_write_failed(ssh, c);-
1090 if (c->detach_user
c->detach_userDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1091 c->detach_user(ssh,-
1092 c->self, -
1093 ((void *)0)-
1094 );-
1095 }
never executed: end of block
0
1096 c->type = 17;-
1097 sshbuf_reset(c->input);-
1098 chan_ibuf_empty(ssh, c);-
1099 return
never executed: return 0;
0;
never executed: return 0;
0
1100 } else-
1101 quit_pending = 1;
never executed: quit_pending = 1;
0
1102 return
never executed: return -1;
-1;
never executed: return -1;
0
1103-
1104 case
never executed: case 'Z' - 64:
'Z' - 64:
never executed: case 'Z' - 64:
0
1105-
1106 if (c
cDescription
TRUEnever evaluated
FALSEnever evaluated
&& c->ctl_chan != -1
c->ctl_chan != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1107 char b[16];-
1108 noescape:
code before this statement never executed: noescape:
0
1109 if (ch == 'Z' - 64
ch == 'Z' - 64Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1110 snprintf(b, sizeof b, "^Z");
never executed: snprintf(b, sizeof b, "^Z");
0
1111 else-
1112 snprintf(b, sizeof b, "%c", ch);
never executed: snprintf(b, sizeof b, "%c", ch);
0
1113 if ((
(r = sshbuf_pu...char, b)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(berr,
(r = sshbuf_pu...char, b)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1114 "%c%s escape not available to "
(r = sshbuf_pu...char, b)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1115 "multiplexed sessions\r\n",
(r = sshbuf_pu...char, b)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1116 efc->escape_char, b)) != 0
(r = sshbuf_pu...char, b)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1117 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1118 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1119 continue;
never executed: continue;
0
1120 }-
1121-
1122 if ((
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(berr,
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1123 "%c^Z [suspend ssh]\r\n",
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1124 efc->escape_char)) != 0
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1125 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1126 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1127-
1128-
1129 client_suspend_self(bin, bout, berr);-
1130-
1131-
1132 continue;
never executed: continue;
0
1133-
1134 case
never executed: case 'B':
'B':
never executed: case 'B':
0
1135 if ((
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(berr,
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1136 "%cB\r\n", efc->escape_char)) != 0
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1137 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1138 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1139 channel_request_start(ssh, c->self, "break", 0);-
1140 if ((
(r = sshpkt_pu...h, 1000)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshpkt_put_u32(ssh, 1000)) != 0
(r = sshpkt_pu...h, 1000)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1141 (
(r = sshpkt_send(ssh)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshpkt_send(ssh)) != 0
(r = sshpkt_send(ssh)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1142 fatal("%s: %s", __func__,
never executed: fatal("%s: %s", __func__, ssh_err(r));
0
1143 ssh_err(r));
never executed: fatal("%s: %s", __func__, ssh_err(r));
0
1144 continue;
never executed: continue;
0
1145-
1146 case
never executed: case 'R':
'R':
never executed: case 'R':
0
1147 if (datafellows & 0x00008000
datafellows & 0x00008000Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1148 logit("Server does not "
never executed: logit("Server does not " "support re-keying");
0
1149 "support re-keying");
never executed: logit("Server does not " "support re-keying");
0
1150 else-
1151 need_rekeying = 1;
never executed: need_rekeying = 1;
0
1152 continue;
never executed: continue;
0
1153-
1154 case
never executed: case 'V':
'V':
never executed: case 'V':
0
1155-
1156 case
never executed: case 'v':
'v':
never executed: case 'v':
0
1157 if (c
cDescription
TRUEnever evaluated
FALSEnever evaluated
&& c->ctl_chan != -1
c->ctl_chan != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1158 goto
never executed: goto noescape;
noescape;
never executed: goto noescape;
0
1159 if (!log_is_on_stderr()
!log_is_on_stderr()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1160 if ((
(r = sshbuf_pu...har, ch)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(berr,
(r = sshbuf_pu...har, ch)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1161 "%c%c [Logging to syslog]\r\n",
(r = sshbuf_pu...har, ch)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1162 efc->escape_char, ch)) != 0
(r = sshbuf_pu...har, ch)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1163 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1164 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1165 continue;
never executed: continue;
0
1166 }-
1167 if (ch == 'V'
ch == 'V'Description
TRUEnever evaluated
FALSEnever evaluated
&& options.log_level >
options.log_le...OG_LEVEL_QUIETDescription
TRUEnever evaluated
FALSEnever evaluated
0
1168 SYSLOG_LEVEL_QUIET
options.log_le...OG_LEVEL_QUIETDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1169 log_change_level(--options.log_level);
never executed: log_change_level(--options.log_level);
0
1170 if (ch == 'v'
ch == 'v'Description
TRUEnever evaluated
FALSEnever evaluated
&& options.log_level <
options.log_le...G_LEVEL_DEBUG3Description
TRUEnever evaluated
FALSEnever evaluated
0
1171 SYSLOG_LEVEL_DEBUG3
options.log_le...G_LEVEL_DEBUG3Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1172 log_change_level(++options.log_level);
never executed: log_change_level(++options.log_level);
0
1173 if ((
(r = sshbuf_pu..._level))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(berr,
(r = sshbuf_pu..._level))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1174 "%c%c [LogLevel %s]\r\n",
(r = sshbuf_pu..._level))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1175 efc->escape_char, ch,
(r = sshbuf_pu..._level))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1176 log_level_name(options.log_level))) != 0
(r = sshbuf_pu..._level))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1177 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1178 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1179 continue;
never executed: continue;
0
1180-
1181 case
never executed: case '&':
'&':
never executed: case '&':
0
1182 if (c
cDescription
TRUEnever evaluated
FALSEnever evaluated
&& c->ctl_chan != -1
c->ctl_chan != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1183 goto
never executed: goto noescape;
noescape;
never executed: goto noescape;
0
1184-
1185-
1186-
1187-
1188-
1189-
1190 leave_raw_mode(-
1191 options.request_tty == 3);-
1192-
1193-
1194 channel_stop_listening(ssh);-
1195-
1196 if ((
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(berr,
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1197 "%c& [backgrounded]\n", efc->escape_char))
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1198 != 0
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1199 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1200 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1201-
1202-
1203 pid = fork();-
1204 if (pid < 0
pid < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1205 error("fork: %.100s", strerror(-
1206 (*__errno_location ())-
1207 ));-
1208 continue;
never executed: continue;
0
1209 }-
1210 if (pid != 0
pid != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1211-
1212 exit(0);
never executed: exit(0);
0
1213 }-
1214-
1215-
1216 if ((
(r = sshbuf_pu...(bin, 4)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(bin, 4)) != 0
(r = sshbuf_pu...(bin, 4)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1217 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1218 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1219 return
never executed: return -1;
-1;
never executed: return -1;
0
1220 case
never executed: case '?':
'?':
never executed: case '?':
0
1221 print_escape_help(berr, efc->escape_char,-
1222 (c && c->ctl_chan != -1),-
1223 log_is_on_stderr());-
1224 continue;
never executed: continue;
0
1225-
1226 case
never executed: case '#':
'#':
never executed: case '#':
0
1227 if ((
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(berr, "%c#\r\n",
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1228 efc->escape_char)) != 0
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1229 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1230 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1231 s = channel_open_message(ssh);-
1232 if ((
(r = sshbuf_pu...rlen(s))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put(berr, s, strlen(s))) != 0
(r = sshbuf_pu...rlen(s))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1233 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1234 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1235 free(s);-
1236 continue;
never executed: continue;
0
1237-
1238 case
never executed: case 'C':
'C':
never executed: case 'C':
0
1239 if (c
cDescription
TRUEnever evaluated
FALSEnever evaluated
&& c->ctl_chan != -1
c->ctl_chan != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1240 goto
never executed: goto noescape;
noescape;
never executed: goto noescape;
0
1241 process_cmdline(ssh);-
1242 continue;
never executed: continue;
0
1243-
1244 default
never executed: default:
:
never executed: default:
0
1245 if (ch != efc->escape_char
ch != efc->escape_charDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1246 if ((
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(bin,
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1247 efc->escape_char)) != 0
(r = sshbuf_pu...pe_char)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1248 fatal("%s: buffer error: %s",
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1249 __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1250 bytes++;-
1251 }
never executed: end of block
0
1252-
1253 break;
never executed: break;
0
1254 }-
1255 } else {-
1256-
1257-
1258-
1259-
1260 if (last_was_cr
last_was_crDescription
TRUEnever evaluated
FALSEnever evaluated
&& ch == efc->escape_char
ch == efc->escape_charDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1261-
1262-
1263-
1264-
1265 efc->escape_pending = 1;-
1266 continue;
never executed: continue;
0
1267 }-
1268 }
never executed: end of block
0
1269-
1270-
1271-
1272-
1273-
1274 last_was_cr = (ch == '\r'
ch == '\r'Description
TRUEnever evaluated
FALSEnever evaluated
|| ch == '\n'
ch == '\n'Description
TRUEnever evaluated
FALSEnever evaluated
);
0
1275 if ((
(r = sshbuf_pu...bin, ch)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(bin, ch)) != 0
(r = sshbuf_pu...bin, ch)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1276 fatal("%s: buffer error: %s", __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1277 bytes++;-
1278 }
never executed: end of block
0
1279 return
never executed: return bytes;
bytes;
never executed: return bytes;
0
1280}-
1281static void-
1282client_process_buffered_input_packets(void)-
1283{-
1284 ssh_dispatch_run_fatal(active_state, DISPATCH_NONBLOCK, &quit_pending);-
1285}
never executed: end of block
0
1286-
1287-
1288-
1289-
1290void *-
1291client_new_escape_filter_ctx(int escape_char)-
1292{-
1293 struct escape_filter_ctx *ret;-
1294-
1295 ret = xcalloc(1, sizeof(*ret));-
1296 ret->escape_pending = 0;-
1297 ret->escape_char = escape_char;-
1298 return
never executed: return (void *)ret;
(void *)ret;
never executed: return (void *)ret;
0
1299}-
1300-
1301-
1302void-
1303client_filter_cleanup(struct ssh *ssh, int cid, void *ctx)-
1304{-
1305 free(ctx);-
1306}
never executed: end of block
0
1307-
1308int-
1309client_simple_escape_filter(struct ssh *ssh, Channel *c, char *buf, int len)-
1310{-
1311 if (c->extended_usage != 2
c->extended_usage != 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1312 return
never executed: return 0;
0;
never executed: return 0;
0
1313-
1314 return
never executed: return process_escapes(ssh, c, c->input, c->output, c->extended, buf, len);
process_escapes(ssh, c, c->input, c->output, c->extended,
never executed: return process_escapes(ssh, c, c->input, c->output, c->extended, buf, len);
0
1315 buf, len);
never executed: return process_escapes(ssh, c, c->input, c->output, c->extended, buf, len);
0
1316}-
1317-
1318static void-
1319client_channel_closed(struct ssh *ssh, int id, void *arg)-
1320{-
1321 channel_cancel_cleanup(ssh, id);-
1322 session_closed = 1;-
1323 leave_raw_mode(options.request_tty == 3);-
1324}
never executed: end of block
0
1325-
1326-
1327-
1328-
1329-
1330-
1331-
1332int-
1333client_loop(struct ssh *ssh, int have_pty, int escape_char_arg,-
1334 int ssh2_chan_id)-
1335{-
1336 fd_set *readset = -
1337 ((void *)0)-
1338 , *writeset = -
1339 ((void *)0)-
1340 ;-
1341 double start_time, total_time;-
1342 int r, max_fd = 0, max_fd2 = 0, len;-
1343 u_int64_t ibytes, obytes;-
1344 u_int nalloc = 0;-
1345 char buf[100];-
1346-
1347 debug("Entering interactive session.");-
1348-
1349 if (options.control_master
options.control_masterDescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
1350 !option_clear_or_none(options.control_path)
!option_clear_....control_path)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1351 debug("pledge: id");-
1352 if (pledge("stdio rpath wpath cpath unix inet dns recvfd proc exec id tty",
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1353
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1354 ((void *)0)
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1355 ) == -1
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1356 fatal("%s pledge(): %s", __func__, strerror(
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1357 (*__errno_location ())
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1358 ));
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1359-
1360 }
never executed: end of block
else if (options.forward_x11
options.forward_x11Description
TRUEnever evaluated
FALSEnever evaluated
|| options.permit_local_command
options.permit_local_commandDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1361 debug("pledge: exec");-
1362 if (pledge("stdio rpath wpath cpath unix inet dns proc exec tty",
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1363
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1364 ((void *)0)
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1365 ) == -1
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1366 fatal("%s pledge(): %s", __func__, strerror(
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1367 (*__errno_location ())
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1368 ));
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1369-
1370 }
never executed: end of block
else if (options.update_hostkeys
options.update_hostkeysDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1371 debug("pledge: filesystem full");-
1372 if (pledge("stdio rpath wpath cpath unix inet dns proc tty",
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1373
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1374 ((void *)0)
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1375 ) == -1
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1376 fatal("%s pledge(): %s", __func__, strerror(
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1377 (*__errno_location ())
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1378 ));
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1379-
1380 }
never executed: end of block
else if (!option_clear_or_none(options.proxy_command)
!option_clear_...proxy_command)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1381 fork_after_authentication_flag
fork_after_authentication_flagDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1382 debug("pledge: proc");-
1383 if (pledge("stdio cpath unix inet dns proc tty",
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1384 ((void *)0)
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1385 ) == -1
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1386 fatal("%s pledge(): %s", __func__, strerror(
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1387 (*__errno_location ())
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1388 ));
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1389-
1390 }
never executed: end of block
else {
0
1391 debug("pledge: network");-
1392 if (pledge("stdio unix inet dns proc tty",
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1393 ((void *)0)
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
1394 ) == -1
pledge("stdio ...d *)0) ) == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1395 fatal("%s pledge(): %s", __func__, strerror(
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1396 (*__errno_location ())
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1397 ));
never executed: fatal("%s pledge(): %s", __func__, strerror( (*__errno_location ()) ));
0
1398 }
never executed: end of block
0
1399-
1400 start_time = monotime_double();-
1401-
1402-
1403 last_was_cr = 1;-
1404 exit_status = -1;-
1405 connection_in = ssh_packet_get_connection_in(active_state);-
1406 connection_out = ssh_packet_get_connection_out(active_state);-
1407 max_fd = (((
((connection_i...nnection_out))Description
TRUEnever evaluated
FALSEnever evaluated
connection_in) > (connection_out))
((connection_i...nnection_out))Description
TRUEnever evaluated
FALSEnever evaluated
? (connection_in) : (connection_out));
0
1408-
1409 quit_pending = 0;-
1410-
1411-
1412 if ((
(stderr_buffer...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
stderr_buffer = sshbuf_new()) ==
(stderr_buffer...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1413 ((void *)0)
(stderr_buffer...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1414 )-
1415 fatal("%s: sshbuf_new failed", __func__);
never executed: fatal("%s: sshbuf_new failed", __func__);
0
1416-
1417 client_init_dispatch();-
1418-
1419-
1420-
1421-
1422-
1423 if (mysignal(
mysignal( 1 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1424 1
mysignal( 1 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1425 ,
mysignal( 1 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1426 ((__sighandler_t) 1)
mysignal( 1 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1427 ) !=
mysignal( 1 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1428 ((__sighandler_t) 1)
mysignal( 1 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1429 )-
1430 mysignal(
never executed: mysignal( 1 ,signal_handler);
0
1431 1
never executed: mysignal( 1 ,signal_handler);
0
1432 ,signal_handler);
never executed: mysignal( 1 ,signal_handler);
0
1433 if (mysignal(
mysignal( 2 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1434 2
mysignal( 2 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1435 ,
mysignal( 2 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1436 ((__sighandler_t) 1)
mysignal( 2 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1437 ) !=
mysignal( 2 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1438 ((__sighandler_t) 1)
mysignal( 2 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1439 )-
1440 mysignal(
never executed: mysignal( 2 ,signal_handler);
0
1441 2
never executed: mysignal( 2 ,signal_handler);
0
1442 ,signal_handler);
never executed: mysignal( 2 ,signal_handler);
0
1443 if (mysignal(
mysignal( 3 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1444 3
mysignal( 3 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1445 ,
mysignal( 3 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1446 ((__sighandler_t) 1)
mysignal( 3 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1447 ) !=
mysignal( 3 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1448 ((__sighandler_t) 1)
mysignal( 3 , ...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1449 )-
1450 mysignal(
never executed: mysignal( 3 ,signal_handler);
0
1451 3
never executed: mysignal( 3 ,signal_handler);
0
1452 ,signal_handler);
never executed: mysignal( 3 ,signal_handler);
0
1453 if (mysignal(
mysignal( 15 ,...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1454 15
mysignal( 15 ,...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1455 ,
mysignal( 15 ,...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1456 ((__sighandler_t) 1)
mysignal( 15 ,...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1457 ) !=
mysignal( 15 ,...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1458 ((__sighandler_t) 1)
mysignal( 15 ,...ghandler_t) 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
1459 )-
1460 mysignal(
never executed: mysignal( 15 ,signal_handler);
0
1461 15
never executed: mysignal( 15 ,signal_handler);
0
1462 ,signal_handler);
never executed: mysignal( 15 ,signal_handler);
0
1463 mysignal(-
146428-
1465,window_change_handler);-
1466-
1467 if (have_pty
have_ptyDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1468 enter_raw_mode(options.request_tty == 3);
never executed: enter_raw_mode(options.request_tty == 3);
0
1469-
1470 session_ident = ssh2_chan_id;-
1471 if (session_ident != -1
session_ident != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1472 if (escape_char_arg != -2
escape_char_arg != -2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1473 channel_register_filter(ssh, session_ident,-
1474 client_simple_escape_filter, -
1475 ((void *)0)-
1476 ,-
1477 client_filter_cleanup,-
1478 client_new_escape_filter_ctx(-
1479 escape_char_arg));-
1480 }
never executed: end of block
0
1481 channel_register_cleanup(ssh, session_ident,-
1482 client_channel_closed, 0);-
1483 }
never executed: end of block
0
1484-
1485-
1486 while (!quit_pending
!quit_pendingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1487-
1488-
1489 client_process_buffered_input_packets();-
1490-
1491 if (session_closed
session_closedDescription
TRUEnever evaluated
FALSEnever evaluated
&& !channel_still_open(ssh)
!channel_still_open(ssh)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1492 break;
never executed: break;
0
1493-
1494 if (ssh_packet_is_rekeying(ssh)
ssh_packet_is_rekeying(ssh)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1495 debug("rekeying in progress");-
1496 }
never executed: end of block
else if (need_rekeying
need_rekeyingDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1497-
1498 debug("need rekeying");-
1499 if ((
(r = kex_start...kex(ssh)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = kex_start_rekex(ssh)) != 0
(r = kex_start...kex(ssh)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1500 fatal("%s: kex_start_rekex: %s", __func__,
never executed: fatal("%s: kex_start_rekex: %s", __func__, ssh_err(r));
0
1501 ssh_err(r));
never executed: fatal("%s: kex_start_rekex: %s", __func__, ssh_err(r));
0
1502 need_rekeying = 0;-
1503 }
never executed: end of block
else {
0
1504-
1505-
1506-
1507-
1508 if (ssh_packet_not_very_much_data_to_write(active_state)
ssh_packet_not...(active_state)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1509 channel_output_poll(ssh);
never executed: channel_output_poll(ssh);
0
1510-
1511-
1512-
1513-
1514-
1515 client_check_window_change(ssh);-
1516-
1517 if (quit_pending
quit_pendingDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1518 break;
never executed: break;
0
1519 }
never executed: end of block
0
1520-
1521-
1522-
1523-
1524 max_fd2 = max_fd;-
1525 client_wait_until_can_do_something(ssh, &readset, &writeset,-
1526 &max_fd2, &nalloc, ssh_packet_is_rekeying(ssh));-
1527-
1528 if (quit_pending
quit_pendingDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1529 break;
never executed: break;
0
1530-
1531-
1532 if (!ssh_packet_is_rekeying(ssh)
!ssh_packet_is_rekeying(ssh)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1533 channel_after_select(ssh, readset, writeset);
never executed: channel_after_select(ssh, readset, writeset);
0
1534-
1535-
1536 client_process_net_input(readset);-
1537-
1538 if (quit_pending
quit_pendingDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1539 break;
never executed: break;
0
1540-
1541-
1542-
1543-
1544-
1545 if (kludge_FD_ISSET(connection_out, writeset)
kludge_FD_ISSE...out, writeset)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1546 packet_write_poll();
never executed: packet_write_poll();
0
1547-
1548-
1549-
1550-
1551-
1552-
1553 if (control_persist_exit_time > 0
control_persist_exit_time > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1554 if (monotime() >= control_persist_exit_time
monotime() >= ...sist_exit_timeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1555 debug("ControlPersist timeout expired");-
1556 break;
never executed: break;
0
1557 }-
1558 }
never executed: end of block
0
1559 }
never executed: end of block
0
1560 free(readset);-
1561 free(writeset);-
1562-
1563-
1564-
1565-
1566 mysignal(-
156728-
1568,-
1569((__sighandler_t) 0)-
1570);-
1571-
1572 ssh_packet_start(active_state, (1));-
1573 ssh_packet_put_int(active_state, (11));-
1574 ssh_packet_put_cstring(active_state, ("disconnected by user"));-
1575 ssh_packet_put_cstring(active_state, (""));-
1576 ssh_packet_send(active_state);-
1577 packet_write_wait();-
1578-
1579 channel_free_all(ssh);-
1580-
1581 if (have_pty
have_ptyDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1582 leave_raw_mode(options.request_tty == 3);
never executed: leave_raw_mode(options.request_tty == 3);
0
1583-
1584-
1585 if (!isatty(fileno(
!isatty(fileno( stdin ))Description
TRUEnever evaluated
FALSEnever evaluated
0
1586 stdin
!isatty(fileno( stdin ))Description
TRUEnever evaluated
FALSEnever evaluated
0
1587 ))
!isatty(fileno( stdin ))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1588 unset_nonblock(fileno(
never executed: unset_nonblock(fileno( stdin ));
0
1589 stdin
never executed: unset_nonblock(fileno( stdin ));
0
1590 ));
never executed: unset_nonblock(fileno( stdin ));
0
1591 if (!isatty(fileno(
!isatty(fileno( stdout ))Description
TRUEnever evaluated
FALSEnever evaluated
0
1592 stdout
!isatty(fileno( stdout ))Description
TRUEnever evaluated
FALSEnever evaluated
0
1593 ))
!isatty(fileno( stdout ))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1594 unset_nonblock(fileno(
never executed: unset_nonblock(fileno( stdout ));
0
1595 stdout
never executed: unset_nonblock(fileno( stdout ));
0
1596 ));
never executed: unset_nonblock(fileno( stdout ));
0
1597 if (!isatty(fileno(
!isatty(fileno( stderr ))Description
TRUEnever evaluated
FALSEnever evaluated
0
1598 stderr
!isatty(fileno( stderr ))Description
TRUEnever evaluated
FALSEnever evaluated
0
1599 ))
!isatty(fileno( stderr ))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1600 unset_nonblock(fileno(
never executed: unset_nonblock(fileno( stderr ));
0
1601 stderr
never executed: unset_nonblock(fileno( stderr ));
0
1602 ));
never executed: unset_nonblock(fileno( stderr ));
0
1603-
1604-
1605-
1606-
1607-
1608-
1609 if (no_shell_flag
no_shell_flagDescription
TRUEnever evaluated
FALSEnever evaluated
&& received_signal ==
received_signal == 15Description
TRUEnever evaluated
FALSEnever evaluated
0
1610 15
received_signal == 15Description
TRUEnever evaluated
FALSEnever evaluated
0
1611 ) {-
1612 received_signal = 0;-
1613 exit_status = 0;-
1614 }
never executed: end of block
0
1615-
1616 if (received_signal
received_signalDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1617 verbose("Killed by signal %d.", (int) received_signal);-
1618 cleanup_exit(0);-
1619 }
never executed: end of block
0
1620-
1621-
1622-
1623-
1624-
1625 if (have_pty
have_ptyDescription
TRUEnever evaluated
FALSEnever evaluated
&& options.log_level != SYSLOG_LEVEL_QUIET
options.log_le...OG_LEVEL_QUIETDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1626 if ((
(r = sshbuf_pu...", host)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_putf(stderr_buffer,
(r = sshbuf_pu...", host)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1627 "Connection to %.64s closed.\r\n", host)) != 0
(r = sshbuf_pu...", host)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1628 fatal("%s: buffer error: %s", __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1629 }
never executed: end of block
0
1630-
1631-
1632 if (sshbuf_len(stderr_buffer) > 0
sshbuf_len(stderr_buffer) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1633 len = atomicio((ssize_t (*)(int, void *, size_t))write, fileno(-
1634 stderr-
1635 ),-
1636 (u_char *)sshbuf_ptr(stderr_buffer),-
1637 sshbuf_len(stderr_buffer));-
1638 if (len < 0
len < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(u_int)len != ...stderr_buffer)Description
TRUEnever evaluated
FALSEnever evaluated
u_int)len != sshbuf_len(stderr_buffer)
(u_int)len != ...stderr_buffer)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1639 error("Write failed flushing stderr buffer.");
never executed: error("Write failed flushing stderr buffer.");
0
1640 else if ((
(r = sshbuf_co...er, len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_consume(stderr_buffer, len)) != 0
(r = sshbuf_co...er, len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1641 fatal("%s: buffer error: %s", __func__, ssh_err(r));
never executed: fatal("%s: buffer error: %s", __func__, ssh_err(r));
0
1642 }
never executed: end of block
0
1643-
1644-
1645 explicit_bzero(buf, sizeof(buf));-
1646 sshbuf_free(stderr_buffer);-
1647-
1648-
1649 total_time = monotime_double() - start_time;-
1650 ssh_packet_get_bytes(active_state, &ibytes, &obytes);-
1651 verbose("Transferred: sent %llu, received %llu bytes, in %.1f seconds",-
1652 (unsigned long long)obytes, (unsigned long long)ibytes, total_time);-
1653 if (total_time > 0
total_time > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1654 verbose("Bytes per second: sent %.1f, received %.1f",
never executed: verbose("Bytes per second: sent %.1f, received %.1f", obytes / total_time, ibytes / total_time);
0
1655 obytes / total_time, ibytes / total_time);
never executed: verbose("Bytes per second: sent %.1f, received %.1f", obytes / total_time, ibytes / total_time);
0
1656-
1657 debug("Exit status %d", exit_status);-
1658 return
never executed: return exit_status;
exit_status;
never executed: return exit_status;
0
1659}-
1660-
1661-
1662-
1663static Channel *-
1664client_request_forwarded_tcpip(struct ssh *ssh, const char *request_type,-
1665 int rchan, u_int rwindow, u_int rmaxpack)-
1666{-
1667 Channel *c = -
1668 ((void *)0)-
1669 ;-
1670 struct sshbuf *b = -
1671 ((void *)0)-
1672 ;-
1673 char *listen_address, *originator_address;-
1674 u_short listen_port, originator_port;-
1675 int r;-
1676-
1677-
1678 listen_address = ssh_packet_get_string(active_state, (-
1679 ((void *)0)-
1680 ));-
1681 listen_port = packet_get_int();-
1682 originator_address = ssh_packet_get_string(active_state, (-
1683 ((void *)0)-
1684 ));-
1685 originator_port = packet_get_int();-
1686 do { int _len = ssh_packet_remaining(active_state); if (_len > 0
_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
) { logit("Packet integrity error (%d bytes remaining) at %s:%d", _len ,__FILE__, 1499); ssh_packet_disconnect(active_state, "Packet integrity error."); }
never executed: end of block
} while (0);
0
1687-
1688 debug("%s: listen %s port %d, originator %s port %d", __func__,-
1689 listen_address, listen_port, originator_address, originator_port);-
1690-
1691 c = channel_connect_by_listen_address(ssh, listen_address, listen_port,-
1692 "forwarded-tcpip", originator_address);-
1693-
1694 if (c !=
c != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1695 ((void *)0)
c != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1696 && c->type == 16
c->type == 16Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1697 if ((
(b = sshbuf_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
b = sshbuf_new()) ==
(b = sshbuf_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1698 ((void *)0)
(b = sshbuf_ne...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1699 ) {-
1700 error("%s: alloc reply", __func__);-
1701 goto
never executed: goto out;
out;
never executed: goto out;
0
1702 }-
1703-
1704 if ((
(r = sshbuf_put_u8(b, 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(b, 0)) != 0
(r = sshbuf_put_u8(b, 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1705 (
(r = sshbuf_pu...8(b, 90)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u8(b, 90)) != 0
(r = sshbuf_pu...8(b, 90)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1706 (
(r = sshbuf_pu...st_type)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_cstring(b, request_type)) != 0
(r = sshbuf_pu...st_type)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1707 (
(r = sshbuf_pu..., rchan)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u32(b, rchan)) != 0
(r = sshbuf_pu..., rchan)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1708 (
(r = sshbuf_pu...rwindow)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u32(b, rwindow)) != 0
(r = sshbuf_pu...rwindow)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1709 (
(r = sshbuf_pu...maxpack)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u32(b, rmaxpack)) != 0
(r = sshbuf_pu...maxpack)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1710 (
(r = sshbuf_pu...address)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_cstring(b, listen_address)) != 0
(r = sshbuf_pu...address)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1711 (
(r = sshbuf_pu...en_port)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u32(b, listen_port)) != 0
(r = sshbuf_pu...en_port)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1712 (
(r = sshbuf_pu...address)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_cstring(b, originator_address)) != 0
(r = sshbuf_pu...address)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1713 (
(r = sshbuf_pu...or_port)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_u32(b, originator_port)) != 0
(r = sshbuf_pu...or_port)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
1714 (
(r = sshbuf_pu...tput, b)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_stringb(c->output, b)) != 0
(r = sshbuf_pu...tput, b)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1715 error("%s: compose for muxclient %s", __func__,-
1716 ssh_err(r));-
1717 goto
never executed: goto out;
out;
never executed: goto out;
0
1718 }-
1719 }
never executed: end of block
0
1720-
1721 out:
code before this statement never executed: out:
0
1722 sshbuf_free(b);-
1723 free(originator_address);-
1724 free(listen_address);-
1725 return
never executed: return c;
c;
never executed: return c;
0
1726}-
1727-
1728static Channel *-
1729client_request_forwarded_streamlocal(struct ssh *ssh,-
1730 const char *request_type, int rchan)-
1731{-
1732 Channel *c = -
1733 ((void *)0)-
1734 ;-
1735 char *listen_path;-
1736-
1737-
1738 listen_path = ssh_packet_get_string(active_state, (-
1739 ((void *)0)-
1740 ));-
1741-
1742 if (ssh_packet_get_string_ptr(active_state, (
ssh_packet_get...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1743 ((void *)0)
ssh_packet_get...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1744 )) ==
ssh_packet_get...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1745 ((void *)0)
ssh_packet_get...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
1746 )-
1747 fatal("%s: packet_get_string_ptr failed", __func__);
never executed: fatal("%s: packet_get_string_ptr failed", __func__);
0
1748 do { int _len = ssh_packet_remaining(active_state); if (_len > 0
_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
) { logit("Packet integrity error (%d bytes remaining) at %s:%d", _len ,__FILE__, 1549); ssh_packet_disconnect(active_state, "Packet integrity error."); }
never executed: end of block
} while (0);
0
1749-
1750 debug("%s: %s", __func__, listen_path);-
1751-
1752 c = channel_connect_by_listen_path(ssh, listen_path,-
1753 "forwarded-streamlocal@openssh.com", "forwarded-streamlocal");-
1754 free(listen_path);-
1755 return
never executed: return c;
c;
never executed: return c;
0
1756}-
1757-
1758static Channel *-
1759client_request_x11(struct ssh *ssh, const char *request_type, int rchan)-
1760{-
1761 Channel *c = -
1762 ((void *)0)-
1763 ;-
1764 char *originator;-
1765 u_short originator_port;-
1766 int sock;-
1767-
1768 if (!options.forward_x11
!options.forward_x11Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1769 error("Warning: ssh server tried X11 forwarding.");-
1770 error("Warning: this is probably a break-in attempt by a "-
1771 "malicious server.");-
1772 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1773 ((void *)0)
never executed: return ((void *)0) ;
0
1774 ;
never executed: return ((void *)0) ;
0
1775 }-
1776 if (x11_refuse_time != 0
x11_refuse_time != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(u_int)monotim...11_refuse_timeDescription
TRUEnever evaluated
FALSEnever evaluated
u_int)monotime() >= x11_refuse_time
(u_int)monotim...11_refuse_timeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1777 verbose("Rejected X11 connection after ForwardX11Timeout "-
1778 "expired");-
1779 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1780 ((void *)0)
never executed: return ((void *)0) ;
0
1781 ;
never executed: return ((void *)0) ;
0
1782 }-
1783 originator = ssh_packet_get_string(active_state, (-
1784 ((void *)0)-
1785 ));-
1786 originator_port = packet_get_int();-
1787 do { int _len = ssh_packet_remaining(active_state); if (_len > 0
_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
) { logit("Packet integrity error (%d bytes remaining) at %s:%d", _len ,__FILE__, 1580); ssh_packet_disconnect(active_state, "Packet integrity error."); }
never executed: end of block
} while (0);
0
1788-
1789 debug("client_request_x11: request from %s %d", originator,-
1790 originator_port);-
1791 free(originator);-
1792 sock = x11_connect_display(ssh);-
1793 if (sock < 0
sock < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1794 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1795 ((void *)0)
never executed: return ((void *)0) ;
0
1796 ;
never executed: return ((void *)0) ;
0
1797 c = channel_new(ssh, "x11",-
1798 7, sock, sock, -1,-
1799 (64*(32*1024)), (16*1024), 0, "x11", 1);-
1800 c->force_drain = 1;-
1801 return
never executed: return c;
c;
never executed: return c;
0
1802}-
1803-
1804static Channel *-
1805client_request_agent(struct ssh *ssh, const char *request_type, int rchan)-
1806{-
1807 Channel *c = -
1808 ((void *)0)-
1809 ;-
1810 int r, sock;-
1811-
1812 if (!options.forward_agent
!options.forward_agentDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1813 error("Warning: ssh server tried agent forwarding.");-
1814 error("Warning: this is probably a break-in attempt by a "-
1815 "malicious server.");-
1816 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1817 ((void *)0)
never executed: return ((void *)0) ;
0
1818 ;
never executed: return ((void *)0) ;
0
1819 }-
1820 if ((
(r = ssh_get_a...t(&sock)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = ssh_get_authentication_socket(&sock)) != 0
(r = ssh_get_a...t(&sock)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1821 if (r != -47
r != -47Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1822 debug("%s: ssh_get_authentication_socket: %s",
never executed: debug("%s: ssh_get_authentication_socket: %s", __func__, ssh_err(r));
0
1823 __func__, ssh_err(r));
never executed: debug("%s: ssh_get_authentication_socket: %s", __func__, ssh_err(r));
0
1824 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1825 ((void *)0)
never executed: return ((void *)0) ;
0
1826 ;
never executed: return ((void *)0) ;
0
1827 }-
1828 c = channel_new(ssh, "authentication agent connection",-
1829 4, sock, sock, -1,-
1830 (4*(16*1024)), (32*1024), 0,-
1831 "authentication agent connection", 1);-
1832 c->force_drain = 1;-
1833 return
never executed: return c;
c;
never executed: return c;
0
1834}-
1835-
1836char *-
1837client_request_tun_fwd(struct ssh *ssh, int tun_mode,-
1838 int local_tun, int remote_tun)-
1839{-
1840 Channel *c;-
1841 int fd;-
1842 char *ifname = -
1843 ((void *)0)-
1844 ;-
1845-
1846 if (tun_mode == 0x00
tun_mode == 0x00Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1847 return
never executed: return 0;
0;
never executed: return 0;
0
1848-
1849 debug("Requesting tun unit %d in mode %d", local_tun, tun_mode);-
1850-
1851-
1852 if ((
(fd = tun_open...ifname)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
fd = tun_open(local_tun, tun_mode, &ifname)) == -1
(fd = tun_open...ifname)) == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1853 error("Tunnel device open failed.");-
1854 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
1855 ((void *)0)
never executed: return ((void *)0) ;
0
1856 ;
never executed: return ((void *)0) ;
0
1857 }-
1858 debug("Tunnel forwarding using interface %s", ifname);-
1859-
1860 c = channel_new(ssh, "tun", 3, fd, fd, -1,-
1861 (64*(32*1024)), (32*1024), 0, "tun", 1);-
1862 c->datagram = 1;-
1863-
1864-
1865 if (options.tun_open == 0x01
options.tun_open == 0x01Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1866 channel_register_filter(ssh, c->self, sys_tun_infilter,
never executed: channel_register_filter(ssh, c->self, sys_tun_infilter, sys_tun_outfilter, ((void *)0) , ((void *)0) );
0
1867 sys_tun_outfilter,
never executed: channel_register_filter(ssh, c->self, sys_tun_infilter, sys_tun_outfilter, ((void *)0) , ((void *)0) );
0
1868 ((void *)0)
never executed: channel_register_filter(ssh, c->self, sys_tun_infilter, sys_tun_outfilter, ((void *)0) , ((void *)0) );
0
1869 ,
never executed: channel_register_filter(ssh, c->self, sys_tun_infilter, sys_tun_outfilter, ((void *)0) , ((void *)0) );
0
1870 ((void *)0)
never executed: channel_register_filter(ssh, c->self, sys_tun_infilter, sys_tun_outfilter, ((void *)0) , ((void *)0) );
0
1871 );
never executed: channel_register_filter(ssh, c->self, sys_tun_infilter, sys_tun_outfilter, ((void *)0) , ((void *)0) );
0
1872-
1873-
1874 ssh_packet_start(active_state, (90));-
1875 ssh_packet_put_cstring(active_state, ("tun@openssh.com"));-
1876 ssh_packet_put_int(active_state, (c->self));-
1877 ssh_packet_put_int(active_state, (c->local_window_max));-
1878 ssh_packet_put_int(active_state, (c->local_maxpacket));-
1879 ssh_packet_put_int(active_state, (tun_mode));-
1880 ssh_packet_put_int(active_state, (remote_tun));-
1881 ssh_packet_send(active_state);-
1882-
1883 return
never executed: return ifname;
ifname;
never executed: return ifname;
0
1884}-
1885-
1886-
1887static int-
1888client_input_channel_open(int type, u_int32_t seq, struct ssh *ssh)-
1889{-
1890 Channel *c = -
1891 ((void *)0)-
1892 ;-
1893 char *ctype;-
1894 int rchan;-
1895 u_int rmaxpack, rwindow, len;-
1896-
1897 ctype = ssh_packet_get_string(active_state, (&len));-
1898 rchan = packet_get_int();-
1899 rwindow = packet_get_int();-
1900 rmaxpack = packet_get_int();-
1901-
1902 debug("client_input_channel_open: ctype %s rchan %d win %d max %d",-
1903 ctype, rchan, rwindow, rmaxpack);-
1904-
1905 if (-
1906 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1907 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1908 ) && __builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1909 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1910 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1911 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1912 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1913 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1914 ), (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1915 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1916 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1917 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1918 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1919 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1920 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1921 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1922 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1923 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1924 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1925 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1926 ) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1927 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1928 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1929 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1930 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1931 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1932 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1933 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1934 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1935 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1936 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1937 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1938 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1939 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1940 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1941 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1942 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1943 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1944 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1945 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1946 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1947 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1948 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1949 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1950 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1951 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1952 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( ctype ))[3] - __s2[3]);
0
1953 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( ctype ))[3] - __s2[3]);
0
1954 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1955 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1956 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1957 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1958 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1959 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1960 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1961 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1962 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1963 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1964 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1965 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1966 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1967 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1968 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1969 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1970 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1971 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1972 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1973 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1974 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1975 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1976 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1977 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1978 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1979 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1980 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( "forwarded-tcpip" ))[3] - __s2[3]);
0
1981 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( "forwarded-tcpip" ))[3] - __s2[3]);
0
1982 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1983 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1984 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1985 "forwarded-tcpip"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1986 )))); })
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1987 == 0
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1988 c = client_request_forwarded_tcpip(ssh, ctype, rchan, rwindow,-
1989 rmaxpack);-
1990 }
never executed: end of block
else if (
0
1991 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1992 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1993 ) && __builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1994 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1995 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1996 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1997 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1998 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
1999 ), (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2000 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2001 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2002 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2003 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2004 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2005 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2006 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2007 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2008 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2009 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2010 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2011 ) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2012 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2013 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2014 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2015 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2016 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2017 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2018 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2019 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2020 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2021 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2022 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2023 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2024 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2025 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2026 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2027 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2028 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2029 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2030 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2031 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2032 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2033 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2034 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2035 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2036 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2037 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( ctype ))[3] - __s2[3]);
0
2038 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( ctype ))[3] - __s2[3]);
0
2039 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2040 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2041 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2042 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2043 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2044 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2045 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2046 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2047 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2048 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2049 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2050 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2051 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2052 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2053 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2054 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2055 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2056 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2057 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2058 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2059 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2060 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2061 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2062 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2063 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2064 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2065 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( "forwarded-streamlocal@openssh.com" ))[3] - __s2[3]);
0
2066 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( "forwarded-streamlocal@openssh.com" ))[3] - __s2[3]);
0
2067 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2068 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2069 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2070 "forwarded-streamlocal@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2071 )))); })
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2072 == 0
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2073 c = client_request_forwarded_streamlocal(ssh, ctype, rchan);-
2074 }
never executed: end of block
else if (
0
2075 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2076 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2077 ) && __builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2078 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2079 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2080 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2081 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2082 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2083 ), (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2084 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2085 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2086 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2087 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2088 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2089 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2090 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2091 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2092 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2093 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2094 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2095 ) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2096 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2097 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2098 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2099 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2100 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2101 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2102 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2103 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2104 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2105 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2106 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2107 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2108 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2109 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2110 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2111 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2112 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2113 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2114 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2115 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2116 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2117 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2118 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2119 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2120 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2121 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( ctype ))[3] - __s2[3]);
0
2122 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( ctype ))[3] - __s2[3]);
0
2123 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2124 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2125 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2126 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2127 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2128 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2129 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2130 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2131 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2132 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2133 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2134 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2135 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2136 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2137 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2138 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2139 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2140 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2141 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2142 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2143 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2144 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2145 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2146 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2147 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2148 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2149 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( "x11" ))[3] - __s2[3]);
0
2150 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( "x11" ))[3] - __s2[3]);
0
2151 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2152 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2153 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2154 "x11"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2155 )))); })
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2156 == 0
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2157 c = client_request_x11(ssh, ctype, rchan);-
2158 }
never executed: end of block
else if (
0
2159 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2160 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2161 ) && __builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2162 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2163 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2164 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2165 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2166 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2167 ), (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2168 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2169 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2170 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2171 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2172 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2173 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2174 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2175 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2176 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2177 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2178 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2179 ) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2180 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2181 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2182 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2183 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2184 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2185 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2186 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2187 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2188 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2189 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2190 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2191 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2192 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2193 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2194 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2195 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2196 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2197 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2198 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2199 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2200 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2201 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2202 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2203 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2204 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2205 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( ctype ))[3] - __s2[3]);
0
2206 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( ctype ))[3] - __s2[3]);
0
2207 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2208 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2209 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2210 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2211 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2212 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2213 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2214 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2215 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2216 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2217 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2218 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2219 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2220 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2221 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2222 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2223 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2224 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2225 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2226 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2227 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2228 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2229 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2230 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2231 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2232 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2233 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( "auth-agent@openssh.com" ))[3] - __s2[3]);
0
2234 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( "auth-agent@openssh.com" ))[3] - __s2[3]);
0
2235 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2236 ctype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2237 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2238 "auth-agent@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2239 )))); })
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2240 == 0
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2241 c = client_request_agent(ssh, ctype, rchan);-
2242 }
never executed: end of block
0
2243 if (c !=
c != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2244 ((void *)0)
c != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2245 && c->type == 16
c->type == 16Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2246 debug3("proxied to downstream: %s", ctype);-
2247 }
never executed: end of block
else if (c !=
c != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2248 ((void *)0)
c != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2249 ) {-
2250 debug("confirm %s", ctype);-
2251 c->remote_id = rchan;-
2252 c->have_remote_id = 1;-
2253 c->remote_window = rwindow;-
2254 c->remote_maxpacket = rmaxpack;-
2255 if (c->type != 12
c->type != 12Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2256 ssh_packet_start(active_state, (91));-
2257 ssh_packet_put_int(active_state, (c->remote_id));-
2258 ssh_packet_put_int(active_state, (c->self));-
2259 ssh_packet_put_int(active_state, (c->local_window));-
2260 ssh_packet_put_int(active_state, (c->local_maxpacket));-
2261 ssh_packet_send(active_state);-
2262 }
never executed: end of block
0
2263 }
never executed: end of block
else {
0
2264 debug("failure %s", ctype);-
2265 ssh_packet_start(active_state, (92));-
2266 ssh_packet_put_int(active_state, (rchan));-
2267 ssh_packet_put_int(active_state, (1));-
2268 ssh_packet_put_cstring(active_state, ("open failed"));-
2269 ssh_packet_put_cstring(active_state, (""));-
2270 ssh_packet_send(active_state);-
2271 }
never executed: end of block
0
2272 free(ctype);-
2273 return
never executed: return 0;
0;
never executed: return 0;
0
2274}-
2275-
2276static int-
2277client_input_channel_req(int type, u_int32_t seq, struct ssh *ssh)-
2278{-
2279 Channel *c = -
2280 ((void *)0)-
2281 ;-
2282 int exitval, id, reply, success = 0;-
2283 char *rtype;-
2284-
2285 id = packet_get_int();-
2286 c = channel_lookup(ssh, id);-
2287 if (channel_proxy_upstream(c, type, seq, ssh)
channel_proxy_...ype, seq, ssh)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2288 return
never executed: return 0;
0;
never executed: return 0;
0
2289 rtype = ssh_packet_get_string(active_state, (-
2290 ((void *)0)-
2291 ));-
2292 reply = packet_get_char();-
2293-
2294 debug("client_input_channel_req: channel %d rtype %s reply %d",-
2295 id, rtype, reply);-
2296-
2297 if (id == -1
id == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2298 error("client_input_channel_req: request for channel -1");-
2299 }
never executed: end of block
else if (c ==
c == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2300 ((void *)0)
c == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2301 ) {-
2302 error("client_input_channel_req: channel %d: "-
2303 "unknown channel", id);-
2304 }
never executed: end of block
else if (
0
2305 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2306 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2307 ) && __builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2308 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2309 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2310 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2311 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2312 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2313 ), (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2314 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2315 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2316 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2317 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2318 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2319 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2320 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2321 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2322 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2323 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2324 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2325 ) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2326 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2327 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2328 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2329 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2330 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2331 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2332 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2333 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2334 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2335 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2336 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2337 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2338 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2339 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2340 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2341 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2342 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2343 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2344 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2345 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2346 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2347 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2348 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2349 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2350 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2351 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( rtype ))[3] - __s2[3]);
0
2352 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( rtype ))[3] - __s2[3]);
0
2353 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2354 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2355 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2356 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2357 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2358 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2359 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2360 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2361 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2362 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2363 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2364 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2365 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2366 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2367 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2368 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2369 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2370 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2371 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2372 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2373 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2374 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2375 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2376 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2377 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2378 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2379 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( "eow@openssh.com" ))[3] - __s2[3]);
0
2380 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( "eow@openssh.com" ))[3] - __s2[3]);
0
2381 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2382 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2383 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2384 "eow@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2385 )))); })
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2386 == 0
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2387 do { int _len = ssh_packet_remaining(active_state); if (_len > 0
_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
) { logit("Packet integrity error (%d bytes remaining) at %s:%d", _len ,__FILE__, 1742); ssh_packet_disconnect(active_state, "Packet integrity error."); }
never executed: end of block
} while (0);
0
2388 chan_rcvd_eow(ssh, c);-
2389 }
never executed: end of block
else if (
0
2390 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2391 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2392 ) && __builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2393 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2394 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2395 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2396 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2397 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2398 ), (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2399 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2400 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2401 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2402 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2403 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2404 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2405 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2406 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2407 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2408 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2409 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2410 ) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2411 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2412 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2413 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2414 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2415 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2416 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2417 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2418 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2419 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2420 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2421 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2422 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2423 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2424 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2425 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2426 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2427 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2428 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2429 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2430 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2431 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2432 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2433 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2434 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2435 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2436 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( rtype ))[3] - __s2[3]);
0
2437 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( rtype ))[3] - __s2[3]);
0
2438 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2439 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2440 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2441 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2442 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2443 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2444 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2445 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2446 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2447 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2448 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2449 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2450 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2451 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2452 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2453 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2454 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2455 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2456 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2457 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2458 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2459 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2460 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2461 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2462 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2463 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2464 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( "exit-status" ))[3] - __s2[3]);
0
2465 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( "exit-status" ))[3] - __s2[3]);
0
2466 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2467 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2468 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2469 "exit-status"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2470 )))); })
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2471 == 0
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2472 exitval = packet_get_int();-
2473 if (c->ctl_chan != -1
c->ctl_chan != -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2474 mux_exit_message(ssh, c, exitval);-
2475 success = 1;-
2476 }
never executed: end of block
else if (id == session_ident
id == session_identDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
2477-
2478 success = 1;-
2479 exit_status = exitval;-
2480 }
never executed: end of block
else {
0
2481-
2482 debug("%s: no sink for exit-status on channel %d",-
2483 __func__, id);-
2484 }
never executed: end of block
0
2485 do { int _len = ssh_packet_remaining(active_state); if (_len > 0
_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
) { logit("Packet integrity error (%d bytes remaining) at %s:%d", _len ,__FILE__, 1758); ssh_packet_disconnect(active_state, "Packet integrity error."); }
never executed: end of block
} while (0);
0
2486 }
never executed: end of block
0
2487 if (reply
replyDescription
TRUEnever evaluated
FALSEnever evaluated
&& c !=
c != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2488 ((void *)0)
c != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2489 && !(c->flags & 0x01)
!(c->flags & 0x01)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2490 if (!c->have_remote_id
!c->have_remote_idDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2491 fatal("%s: channel %d: no remote_id",
never executed: fatal("%s: channel %d: no remote_id", __func__, c->self);
0
2492 __func__, c->self);
never executed: fatal("%s: channel %d: no remote_id", __func__, c->self);
0
2493 ssh_packet_start(active_state, (success ? 99 : 100))-
2494 ;-
2495 ssh_packet_put_int(active_state, (c->remote_id));-
2496 ssh_packet_send(active_state);-
2497 }
never executed: end of block
0
2498 free(rtype);-
2499 return
never executed: return 0;
0;
never executed: return 0;
0
2500}-
2501-
2502struct hostkeys_update_ctx {-
2503-
2504 char *host_str, *ip_str;-
2505-
2506-
2507-
2508-
2509-
2510-
2511-
2512 struct sshkey **keys;-
2513 int *keys_seen;-
2514 size_t nkeys, nnew;-
2515-
2516-
2517-
2518-
2519-
2520-
2521 struct sshkey **old_keys;-
2522 size_t nold;-
2523};-
2524-
2525static void-
2526hostkeys_update_ctx_free(struct hostkeys_update_ctx *ctx)-
2527{-
2528 size_t i;-
2529-
2530 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2531 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2532 )-
2533 return;
never executed: return;
0
2534 for (i = 0; i < ctx->nkeys
i < ctx->nkeysDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
2535 sshkey_free(ctx->keys[i]);
never executed: sshkey_free(ctx->keys[i]);
0
2536 free(ctx->keys);-
2537 free(ctx->keys_seen);-
2538 for (i = 0; i < ctx->nold
i < ctx->noldDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
2539 sshkey_free(ctx->old_keys[i]);
never executed: sshkey_free(ctx->old_keys[i]);
0
2540 free(ctx->old_keys);-
2541 free(ctx->host_str);-
2542 free(ctx->ip_str);-
2543 free(ctx);-
2544}
never executed: end of block
0
2545-
2546static int-
2547hostkeys_find(struct hostkey_foreach_line *l, void *_ctx)-
2548{-
2549 struct hostkeys_update_ctx *ctx = (struct hostkeys_update_ctx *)_ctx;-
2550 size_t i;-
2551 struct sshkey **tmp;-
2552-
2553 if (l->status != 3
l->status != 3Description
TRUEnever evaluated
FALSEnever evaluated
|| l->key ==
l->key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2554 ((void *)0)
l->key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2555 )-
2556 return
never executed: return 0;
0;
never executed: return 0;
0
2557-
2558-
2559 for (i = 0; i < ctx->nkeys
i < ctx->nkeysDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
2560 if (sshkey_equal(l->key, ctx->keys[i])
sshkey_equal(l... ctx->keys[i])Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2561 debug3("%s: found %s key at %s:%ld", __func__,-
2562 sshkey_ssh_name(ctx->keys[i]), l->path, l->linenum);-
2563 ctx->keys_seen[i] = 1;-
2564 return
never executed: return 0;
0;
never executed: return 0;
0
2565 }-
2566 }
never executed: end of block
0
2567-
2568 debug3("%s: deprecated %s key at %s:%ld", __func__,-
2569 sshkey_ssh_name(l->key), l->path, l->linenum);-
2570 if ((
(tmp = recallo...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp = recallocarray(ctx->old_keys, ctx->nold, ctx->nold + 1,
(tmp = recallo...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2571 sizeof(*ctx->old_keys))) ==
(tmp = recallo...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2572 ((void *)0)
(tmp = recallo...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2573 )-
2574 fatal("%s: recallocarray failed nold = %zu",
never executed: fatal("%s: recallocarray failed nold = %zu", __func__, ctx->nold);
0
2575 __func__, ctx->nold);
never executed: fatal("%s: recallocarray failed nold = %zu", __func__, ctx->nold);
0
2576 ctx->old_keys = tmp;-
2577 ctx->old_keys[ctx->nold++] = l->key;-
2578 l->key = -
2579 ((void *)0)-
2580 ;-
2581-
2582 return
never executed: return 0;
0;
never executed: return 0;
0
2583}-
2584-
2585static void-
2586update_known_hosts(struct hostkeys_update_ctx *ctx)-
2587{-
2588 int r, was_raw = 0;-
2589 int loglevel = options.update_hostkeys == 2
options.update_hostkeys == 2Description
TRUEnever evaluated
FALSEnever evaluated
?
0
2590 SYSLOG_LEVEL_INFO : SYSLOG_LEVEL_VERBOSE;-
2591 char *fp, *response;-
2592 size_t i;-
2593-
2594 for (i = 0; i < ctx->nkeys
i < ctx->nkeysDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
2595 if (ctx->keys_seen[i] != 2
ctx->keys_seen[i] != 2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2596 continue;
never executed: continue;
0
2597 if ((
(fp = sshkey_f...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
fp = sshkey_fingerprint(ctx->keys[i],
(fp = sshkey_f...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2598 options.fingerprint_hash, SSH_FP_DEFAULT)) ==
(fp = sshkey_f...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2599 ((void *)0)
(fp = sshkey_f...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2600 )-
2601 fatal("%s: sshkey_fingerprint failed", __func__);
never executed: fatal("%s: sshkey_fingerprint failed", __func__);
0
2602 do_log2(loglevel, "Learned new hostkey: %s %s",-
2603 sshkey_type(ctx->keys[i]), fp);-
2604 free(fp);-
2605 }
never executed: end of block
0
2606 for (i = 0; i < ctx->nold
i < ctx->noldDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
2607 if ((
(fp = sshkey_f...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
fp = sshkey_fingerprint(ctx->old_keys[i],
(fp = sshkey_f...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2608 options.fingerprint_hash, SSH_FP_DEFAULT)) ==
(fp = sshkey_f...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2609 ((void *)0)
(fp = sshkey_f...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2610 )-
2611 fatal("%s: sshkey_fingerprint failed", __func__);
never executed: fatal("%s: sshkey_fingerprint failed", __func__);
0
2612 do_log2(loglevel, "Deprecating obsolete hostkey: %s %s",-
2613 sshkey_type(ctx->old_keys[i]), fp);-
2614 free(fp);-
2615 }
never executed: end of block
0
2616 if (options.update_hostkeys == 2
options.update_hostkeys == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2617 if (get_saved_tio() !=
get_saved_tio() != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2618 ((void *)0)
get_saved_tio() != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2619 ) {-
2620 leave_raw_mode(1);-
2621 was_raw = 1;-
2622 }
never executed: end of block
0
2623 response = -
2624 ((void *)0)-
2625 ;-
2626 for (i = 0; !quit_pending
!quit_pendingDescription
TRUEnever evaluated
FALSEnever evaluated
&& i < 3
i < 3Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
2627 free(response);-
2628 response = read_passphrase("Accept updated hostkeys? "-
2629 "(yes/no): ", 0x0001);-
2630 if (strcasecmp(response, "yes") == 0
strcasecmp(res...e, "yes") == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2631 break;
never executed: break;
0
2632 else if (quit_pending
quit_pendingDescription
TRUEnever evaluated
FALSEnever evaluated
|| response ==
response == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2633 ((void *)0)
response == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2634 ||-
2635 strcasecmp(response, "no") == 0
strcasecmp(res...se, "no") == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2636 options.update_hostkeys = 0;-
2637 break;
never executed: break;
0
2638 } else {-
2639 do_log2(loglevel, "Please enter "-
2640 "\"yes\" or \"no\"");-
2641 }
never executed: end of block
0
2642 }-
2643 if (quit_pending
quit_pendingDescription
TRUEnever evaluated
FALSEnever evaluated
|| i >= 3
i >= 3Description
TRUEnever evaluated
FALSEnever evaluated
|| response ==
response == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2644 ((void *)0)
response == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2645 )-
2646 options.update_hostkeys = 0;
never executed: options.update_hostkeys = 0;
0
2647 free(response);-
2648 if (was_raw
was_rawDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2649 enter_raw_mode(1);
never executed: enter_raw_mode(1);
0
2650 }
never executed: end of block
0
2651-
2652-
2653-
2654-
2655-
2656-
2657 if (options.update_hostkeys != 0
options.update_hostkeys != 0Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
2658 (
(r = hostfile_...nt_hash)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = hostfile_replace_entries(options.user_hostfiles[0],
(r = hostfile_...nt_hash)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2659 ctx->host_str, ctx->ip_str, ctx->keys, ctx->nkeys,
(r = hostfile_...nt_hash)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2660 options.hash_known_hosts, 0,
(r = hostfile_...nt_hash)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2661 options.fingerprint_hash)) != 0
(r = hostfile_...nt_hash)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2662 error("%s: hostfile_replace_entries failed: %s",
never executed: error("%s: hostfile_replace_entries failed: %s", __func__, ssh_err(r));
0
2663 __func__, ssh_err(r));
never executed: error("%s: hostfile_replace_entries failed: %s", __func__, ssh_err(r));
0
2664}
never executed: end of block
0
2665-
2666static void-
2667client_global_hostkeys_private_confirm(struct ssh *ssh, int type,-
2668 u_int32_t seq, void *_ctx)-
2669{-
2670 struct hostkeys_update_ctx *ctx = (struct hostkeys_update_ctx *)_ctx;-
2671 size_t i, ndone;-
2672 struct sshbuf *signdata;-
2673 int r, kexsigtype, use_kexsigtype;-
2674 const u_char *sig;-
2675 size_t siglen;-
2676-
2677 if (ctx->nnew == 0
ctx->nnew == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2678 fatal("%s: ctx->nnew == 0", __func__);
never executed: fatal("%s: ctx->nnew == 0", __func__);
0
2679 if (type != 81
type != 81Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2680 error("Server failed to confirm ownership of "-
2681 "private host keys");-
2682 hostkeys_update_ctx_free(ctx);-
2683 return;
never executed: return;
0
2684 }-
2685 kexsigtype = sshkey_type_plain(-
2686 sshkey_type_from_name(ssh->kex->hostkey_alg));-
2687-
2688 if ((
(signdata = ss...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
signdata = sshbuf_new()) ==
(signdata = ss...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2689 ((void *)0)
(signdata = ss...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2690 )-
2691 fatal("%s: sshbuf_new failed", __func__);
never executed: fatal("%s: sshbuf_new failed", __func__);
0
2692-
2693 if (ssh->kex->session_id_len == 0
ssh->kex->session_id_len == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2694 fatal("%s: ssh->kex->session_id_len == 0", __func__);
never executed: fatal("%s: ssh->kex->session_id_len == 0", __func__);
0
2695-
2696-
2697-
2698-
2699-
2700 for (ndone = i = 0; i < ctx->nkeys
i < ctx->nkeysDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
2701 if (ctx->keys_seen[i]
ctx->keys_seen[i]Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2702 continue;
never executed: continue;
0
2703-
2704 sshbuf_reset(signdata);-
2705 if ( (
(r = sshbuf_pu...sh.com")) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_cstring(signdata,
(r = sshbuf_pu...sh.com")) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2706 "hostkeys-prove-00@openssh.com")) != 0
(r = sshbuf_pu...sh.com")) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2707 (
(r = sshbuf_pu..._id_len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshbuf_put_string(signdata, ssh->kex->session_id,
(r = sshbuf_pu..._id_len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2708 ssh->kex->session_id_len)) != 0
(r = sshbuf_pu..._id_len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2709 (
(r = sshkey_pu...igndata)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_puts(ctx->keys[i], signdata)) != 0
(r = sshkey_pu...igndata)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2710 fatal("%s: failed to prepare signature: %s",
never executed: fatal("%s: failed to prepare signature: %s", __func__, ssh_err(r));
0
2711 __func__, ssh_err(r));
never executed: fatal("%s: failed to prepare signature: %s", __func__, ssh_err(r));
0
2712-
2713 if ((
(r = sshpkt_ge...&siglen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshpkt_get_string_direct(ssh, &sig, &siglen)) != 0
(r = sshpkt_ge...&siglen)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2714 error("%s: couldn't parse message: %s",-
2715 __func__, ssh_err(r));-
2716 goto
never executed: goto out;
out;
never executed: goto out;
0
2717 }-
2718-
2719-
2720-
2721-
2722 use_kexsigtype = kexsigtype == KEY_RSA
kexsigtype == KEY_RSADescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
2723 sshkey_type_plain(ctx->keys[i]->type) == KEY_RSA
sshkey_type_pl...pe) == KEY_RSADescription
TRUEnever evaluated
FALSEnever evaluated
;
0
2724 if ((
(r = sshkey_ve...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_verify(ctx->keys[i], sig, siglen,
(r = sshkey_ve...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2725 sshbuf_ptr(signdata), sshbuf_len(signdata),
(r = sshkey_ve...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2726 use_kexsigtype ? ssh->kex->hostkey_alg :
(r = sshkey_ve...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2727 ((void *)0)
(r = sshkey_ve...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2728 , 0)) != 0
(r = sshkey_ve...)0) , 0)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2729 error("%s: server gave bad signature for %s key %zu",-
2730 __func__, sshkey_type(ctx->keys[i]), i);-
2731 goto
never executed: goto out;
out;
never executed: goto out;
0
2732 }-
2733-
2734 ctx->keys_seen[i] = 2;-
2735 ndone++;-
2736 }
never executed: end of block
0
2737 if (ndone != ctx->nnew
ndone != ctx->nnewDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2738 fatal("%s: ndone != ctx->nnew (%zu / %zu)", __func__,
never executed: fatal("%s: ndone != ctx->nnew (%zu / %zu)", __func__, ndone, ctx->nnew);
0
2739 ndone, ctx->nnew);
never executed: fatal("%s: ndone != ctx->nnew (%zu / %zu)", __func__, ndone, ctx->nnew);
0
2740 do { int _len = ssh_packet_remaining(ssh); if (_len > 0
_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
) { logit("Packet integrity error (%d bytes remaining) at %s:%d", _len ,__FILE__, 1987); ssh_packet_disconnect(ssh, "Packet integrity error."); }
never executed: end of block
} while (0);
0
2741-
2742-
2743 update_known_hosts(ctx);-
2744 out:
code before this statement never executed: out:
0
2745 hostkeys_update_ctx_free(ctx);-
2746}
never executed: end of block
0
2747-
2748-
2749-
2750-
2751-
2752static int-
2753key_accepted_by_hostkeyalgs(const struct sshkey *key)-
2754{-
2755 const char *ktype = sshkey_ssh_name(key);-
2756 const char *hostkeyalgs = options.hostkeyalgorithms !=
options.hostke...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2757 ((void *)0)
options.hostke...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2758 ?-
2759 options.hostkeyalgorithms : "ecdsa-sha2-nistp256-cert-v01@openssh.com," "ecdsa-sha2-nistp384-cert-v01@openssh.com," "ecdsa-sha2-nistp521-cert-v01@openssh.com," "ssh-ed25519-cert-v01@openssh.com," "rsa-sha2-512-cert-v01@openssh.com," "rsa-sha2-256-cert-v01@openssh.com," "ssh-rsa-cert-v01@openssh.com," "ecdsa-sha2-nistp256," "ecdsa-sha2-nistp384," "ecdsa-sha2-nistp521," "ssh-ed25519," "rsa-sha2-512," "rsa-sha2-256," "ssh-rsa";-
2760-
2761 if (key ==
key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2762 ((void *)0)
key == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2763 || key->type == KEY_UNSPEC
key->type == KEY_UNSPECDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2764 return
never executed: return 0;
0;
never executed: return 0;
0
2765 if (key->type == KEY_RSA
key->type == KEY_RSADescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
2766 (match_pattern_list("rsa-sha2-256", hostkeyalgs, 0) == 1
match_pattern_...yalgs, 0) == 1Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2767 match_pattern_list("rsa-sha2-512", hostkeyalgs, 0) == 1
match_pattern_...yalgs, 0) == 1Description
TRUEnever evaluated
FALSEnever evaluated
))
0
2768 return
never executed: return 1;
1;
never executed: return 1;
0
2769 return
never executed: return match_pattern_list(ktype, hostkeyalgs, 0) == 1;
match_pattern_list(ktype, hostkeyalgs, 0) == 1;
never executed: return match_pattern_list(ktype, hostkeyalgs, 0) == 1;
0
2770}-
2771-
2772-
2773-
2774-
2775-
2776-
2777static int-
2778client_input_hostkeys(void)-
2779{-
2780 struct ssh *ssh = active_state;-
2781 const u_char *blob = -
2782 ((void *)0)-
2783 ;-
2784 size_t i, len = 0;-
2785 struct sshbuf *buf = -
2786 ((void *)0)-
2787 ;-
2788 struct sshkey *key = -
2789 ((void *)0)-
2790 , **tmp;-
2791 int r;-
2792 char *fp;-
2793 static int hostkeys_seen = 0;-
2794 extern struct sockaddr_storage hostaddr;-
2795 struct hostkeys_update_ctx *ctx = -
2796 ((void *)0)-
2797 ;-
2798-
2799 if (hostkeys_seen
hostkeys_seenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2800 fatal("%s: server already sent hostkeys", __func__);
never executed: fatal("%s: server already sent hostkeys", __func__);
0
2801 if (options.update_hostkeys == 2
options.update_hostkeys == 2Description
TRUEnever evaluated
FALSEnever evaluated
&&
0
2802 options.batch_mode
options.batch_modeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2803 return
never executed: return 1;
1;
never executed: return 1;
0
2804 if (!options.update_hostkeys
!options.update_hostkeysDescription
TRUEnever evaluated
FALSEnever evaluated
|| options.num_user_hostfiles <= 0
options.num_us...hostfiles <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2805 return
never executed: return 1;
1;
never executed: return 1;
0
2806-
2807 ctx = xcalloc(1, sizeof(*ctx));-
2808 while (ssh_packet_remaining(ssh) > 0
ssh_packet_remaining(ssh) > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2809 sshkey_free(key);-
2810 key = -
2811 ((void *)0)-
2812 ;-
2813 if ((
(r = sshpkt_ge...b, &len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshpkt_get_string_direct(ssh, &blob, &len)) != 0
(r = sshpkt_ge...b, &len)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2814 error("%s: couldn't parse message: %s",-
2815 __func__, ssh_err(r));-
2816 goto
never executed: goto out;
out;
never executed: goto out;
0
2817 }-
2818 if ((
(r = sshkey_fr...n, &key)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_from_blob(blob, len, &key)) != 0
(r = sshkey_fr...n, &key)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2819 error("%s: parse key: %s", __func__, ssh_err(r));-
2820 goto
never executed: goto out;
out;
never executed: goto out;
0
2821 }-
2822 fp = sshkey_fingerprint(key, options.fingerprint_hash,-
2823 SSH_FP_DEFAULT);-
2824 debug3("%s: received %s key %s", __func__,-
2825 sshkey_type(key), fp);-
2826 free(fp);-
2827-
2828 if (!key_accepted_by_hostkeyalgs(key)
!key_accepted_...stkeyalgs(key)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2829 debug3("%s: %s key not permitted by HostkeyAlgorithms",-
2830 __func__, sshkey_ssh_name(key));-
2831 continue;
never executed: continue;
0
2832 }-
2833-
2834 if (sshkey_is_cert(key)
sshkey_is_cert(key)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2835 debug3("%s: %s key is a certificate; skipping",-
2836 __func__, sshkey_ssh_name(key));-
2837 continue;
never executed: continue;
0
2838 }-
2839-
2840 for (i = 0; i < ctx->nkeys
i < ctx->nkeysDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
2841 if (sshkey_equal(key, ctx->keys[i])
sshkey_equal(k... ctx->keys[i])Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2842 error("%s: received duplicated %s host key",-
2843 __func__, sshkey_ssh_name(key));-
2844 goto
never executed: goto out;
out;
never executed: goto out;
0
2845 }-
2846 }
never executed: end of block
0
2847-
2848 if ((
(tmp = recallo...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
tmp = recallocarray(ctx->keys, ctx->nkeys, ctx->nkeys + 1,
(tmp = recallo...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2849 sizeof(*ctx->keys))) ==
(tmp = recallo...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2850 ((void *)0)
(tmp = recallo...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2851 )-
2852 fatal("%s: recallocarray failed nkeys = %zu",
never executed: fatal("%s: recallocarray failed nkeys = %zu", __func__, ctx->nkeys);
0
2853 __func__, ctx->nkeys);
never executed: fatal("%s: recallocarray failed nkeys = %zu", __func__, ctx->nkeys);
0
2854 ctx->keys = tmp;-
2855 ctx->keys[ctx->nkeys++] = key;-
2856 key = -
2857 ((void *)0)-
2858 ;-
2859 }
never executed: end of block
0
2860-
2861 if (ctx->nkeys == 0
ctx->nkeys == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2862 debug("%s: server sent no hostkeys", __func__);-
2863 goto
never executed: goto out;
out;
never executed: goto out;
0
2864 }-
2865-
2866 if ((
(ctx->keys_see...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ctx->keys_seen = calloc(ctx->nkeys,
(ctx->keys_see...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2867 sizeof(*ctx->keys_seen))) ==
(ctx->keys_see...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2868 ((void *)0)
(ctx->keys_see...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2869 )-
2870 fatal("%s: calloc failed", __func__);
never executed: fatal("%s: calloc failed", __func__);
0
2871-
2872 get_hostfile_hostname_ipaddr(host,-
2873 options.check_host_ip ? (struct sockaddr *)&hostaddr : -
2874 ((void *)0)-
2875 ,-
2876 options.port, &ctx->host_str,-
2877 options.check_host_ip ? &ctx->ip_str : -
2878 ((void *)0)-
2879 );-
2880-
2881-
2882 if ((
(r = hostkeys_...<1)|(1))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = hostkeys_foreach(options.user_hostfiles[0], hostkeys_find,
(r = hostkeys_...<1)|(1))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2883 ctx, ctx->host_str, ctx->ip_str,
(r = hostkeys_...<1)|(1))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2884 (1<<1)|(1))) != 0
(r = hostkeys_...<1)|(1))) != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2885 error("%s: hostkeys_foreach failed: %s", __func__, ssh_err(r));-
2886 goto
never executed: goto out;
out;
never executed: goto out;
0
2887 }-
2888-
2889-
2890 ctx->nnew = 0;-
2891 for (i = 0; i < ctx->nkeys
i < ctx->nkeysDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
2892 if (!ctx->keys_seen[i]
!ctx->keys_seen[i]Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2893 ctx->nnew++;
never executed: ctx->nnew++;
0
2894 }
never executed: end of block
0
2895-
2896 debug3("%s: %zu keys from server: %zu new, %zu retained. %zu to remove",-
2897 __func__, ctx->nkeys, ctx->nnew, ctx->nkeys - ctx->nnew, ctx->nold);-
2898-
2899 if (ctx->nnew == 0
ctx->nnew == 0Description
TRUEnever evaluated
FALSEnever evaluated
&& ctx->nold != 0
ctx->nold != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2900-
2901 update_known_hosts(ctx);-
2902 }
never executed: end of block
else if (ctx->nnew != 0
ctx->nnew != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2903-
2904-
2905-
2906-
2907 debug3("%s: asking server to prove ownership for %zu keys",-
2908 __func__, ctx->nnew);-
2909 if ((
(r = sshpkt_st...ssh, 80)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshpkt_start(ssh, 80)) != 0
(r = sshpkt_st...ssh, 80)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2910 (
(r = sshpkt_pu...sh.com")) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshpkt_put_cstring(ssh,
(r = sshpkt_pu...sh.com")) != 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2911 "hostkeys-prove-00@openssh.com")) != 0
(r = sshpkt_pu...sh.com")) != 0Description
TRUEnever evaluated
FALSEnever evaluated
||
0
2912 (
(r = sshpkt_pu...(ssh, 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshpkt_put_u8(ssh, 1)) != 0
(r = sshpkt_pu...(ssh, 1)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2913 fatal("%s: cannot prepare packet: %s",
never executed: fatal("%s: cannot prepare packet: %s", __func__, ssh_err(r));
0
2914 __func__, ssh_err(r));
never executed: fatal("%s: cannot prepare packet: %s", __func__, ssh_err(r));
0
2915 if ((
(buf = sshbuf_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
buf = sshbuf_new()) ==
(buf = sshbuf_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2916 ((void *)0)
(buf = sshbuf_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
2917 )-
2918 fatal("%s: sshbuf_new", __func__);
never executed: fatal("%s: sshbuf_new", __func__);
0
2919 for (i = 0; i < ctx->nkeys
i < ctx->nkeysDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
2920 if (ctx->keys_seen[i]
ctx->keys_seen[i]Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2921 continue;
never executed: continue;
0
2922 sshbuf_reset(buf);-
2923 if ((
(r = sshkey_pu...i], buf)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshkey_putb(ctx->keys[i], buf)) != 0
(r = sshkey_pu...i], buf)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2924 fatal("%s: sshkey_putb: %s",
never executed: fatal("%s: sshkey_putb: %s", __func__, ssh_err(r));
0
2925 __func__, ssh_err(r));
never executed: fatal("%s: sshkey_putb: %s", __func__, ssh_err(r));
0
2926 if ((
(r = sshpkt_pu...sh, buf)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshpkt_put_stringb(ssh, buf)) != 0
(r = sshpkt_pu...sh, buf)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2927 fatal("%s: sshpkt_put_string: %s",
never executed: fatal("%s: sshpkt_put_string: %s", __func__, ssh_err(r));
0
2928 __func__, ssh_err(r));
never executed: fatal("%s: sshpkt_put_string: %s", __func__, ssh_err(r));
0
2929 }
never executed: end of block
0
2930 if ((
(r = sshpkt_send(ssh)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
r = sshpkt_send(ssh)) != 0
(r = sshpkt_send(ssh)) != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2931 fatal("%s: sshpkt_send: %s", __func__, ssh_err(r));
never executed: fatal("%s: sshpkt_send: %s", __func__, ssh_err(r));
0
2932 client_register_global_confirm(-
2933 client_global_hostkeys_private_confirm, ctx);-
2934 ctx = -
2935 ((void *)0)-
2936 ;-
2937 }
never executed: end of block
0
2938-
2939-
2940 out:
code before this statement never executed: out:
0
2941 hostkeys_update_ctx_free(ctx);-
2942 sshkey_free(key);-
2943 sshbuf_free(buf);-
2944-
2945-
2946-
2947-
2948 return
never executed: return 1;
1;
never executed: return 1;
0
2949}-
2950-
2951static int-
2952client_input_global_request(int type, u_int32_t seq, struct ssh *ssh)-
2953{-
2954 char *rtype;-
2955 int want_reply;-
2956 int success = 0;-
2957-
2958 rtype = ssh_packet_get_cstring(active_state, (-
2959 ((void *)0)-
2960 ));-
2961 want_reply = packet_get_char();-
2962 debug("client_input_global_request: rtype %s want_reply %d",-
2963 rtype, want_reply);-
2964 if (-
2965 __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2966 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2967 ) && __builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2968 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2969 ) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2970 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2971 ), __s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2972 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2973 ), (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2974 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2975 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2976 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2977 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2978 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2979 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2980 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2981 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2982 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2983 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2984 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2985 ) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2986 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2987 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2988 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2989 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2990 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2991 ) == 1) && (__s1_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2992 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2993 ), __s1_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2994 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2995 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2996 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2997 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2998 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
2999 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3000 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3001 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3002 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3003 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3004 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3005 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3006 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3007 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3008 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3009 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3010 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3011 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( rtype ))[3] - __s2[3]);
0
3012 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( rtype ))[3] - __s2[3]);
0
3013 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3014 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3015 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3016 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3017 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3018 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3019 ) == 1) && (__s2_len = __builtin_strlen (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3020 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3021 ), __s2_len < 4) ? (__builtin_constant_p (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3022 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3023 ) && ((size_t)(const void *)((
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3024 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3025 ) + 1) - (size_t)(const void *)(
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3026 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3027 ) == 1) ? __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3028 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3029 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3030 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3031 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3032 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3033 ); int __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3034 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3035 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3036 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3037 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3038 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3039 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( "hostkeys-00@openssh.com" ))[3] - __s2[3]);
0
3040 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( "hostkeys-00@openssh.com" ))[3] - __s2[3]);
0
3041 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3042 rtype
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3043 ,
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3044 "hostkeys-00@openssh.com"
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3045 )))); })
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3046 == 0
__extension__ ... )))); }) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3047 success = client_input_hostkeys();
never executed: success = client_input_hostkeys();
0
3048 if (want_reply
want_replyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3049 ssh_packet_start(active_state, (success ? 81 : 82))-
3050 ;-
3051 ssh_packet_send(active_state);-
3052 packet_write_wait();-
3053 }
never executed: end of block
0
3054 free(rtype);-
3055 return
never executed: return 0;
0;
never executed: return 0;
0
3056}-
3057-
3058void-
3059client_session2_setup(struct ssh *ssh, int id, int want_tty, int want_subsystem,-
3060 const char *term, struct termios *tiop, int in_fd, struct sshbuf *cmd,-
3061 char **env)-
3062{-
3063 int i, j, matched, len;-
3064 char *name, *val;-
3065 Channel *c = -
3066 ((void *)0)-
3067 ;-
3068-
3069 debug2("%s: id %d", __func__, id);-
3070-
3071 if ((
(c = channel_l...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
c = channel_lookup(ssh, id)) ==
(c = channel_l...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3072 ((void *)0)
(c = channel_l...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3073 )-
3074 fatal("%s: channel %d: unknown channel", __func__, id);
never executed: fatal("%s: channel %d: unknown channel", __func__, id);
0
3075-
3076 ssh_packet_set_interactive(active_state, (want_tty), (options.ip_qos_interactive), (options.ip_qos_bulk))-
3077 ;-
3078-
3079 if (want_tty
want_ttyDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3080 struct winsize ws;-
3081-
3082-
3083 if (ioctl(in_fd,
ioctl(in_fd, 0x5413 , &ws) < 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3084 0x5413
ioctl(in_fd, 0x5413 , &ws) < 0Description
TRUEnever evaluated
FALSEnever evaluated
0
3085 , &ws) < 0
ioctl(in_fd, 0x5413 , &ws) < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3086 memset(&ws, 0, sizeof(ws));
never executed: memset(&ws, 0, sizeof(ws));
0
3087-
3088 channel_request_start(ssh, id, "pty-req", 1);-
3089 client_expect_confirm(ssh, id, "PTY allocation", CONFIRM_TTY);-
3090 ssh_packet_put_cstring(active_state, (term != -
3091 ((void *)0) -
3092 ? term : ""));-
3093 ssh_packet_put_int(active_state, ((u_int)ws.ws_col));-
3094 ssh_packet_put_int(active_state, ((u_int)ws.ws_row));-
3095 ssh_packet_put_int(active_state, ((u_int)ws.ws_xpixel));-
3096 ssh_packet_put_int(active_state, ((u_int)ws.ws_ypixel));-
3097 if (tiop ==
tiop == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3098 ((void *)0)
tiop == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3099 )-
3100 tiop = get_saved_tio();
never executed: tiop = get_saved_tio();
0
3101 ssh_tty_make_modes(ssh, -1, tiop);-
3102 ssh_packet_send(active_state);-
3103-
3104 c->client_tty = 1;-
3105 }
never executed: end of block
0
3106-
3107-
3108 if (options.num_send_env != 0
options.num_send_env != 0Description
TRUEnever evaluated
FALSEnever evaluated
&& env !=
env != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3109 ((void *)0)
env != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3110 ) {-
3111 debug("Sending environment.");-
3112 for (i = 0; env[i] !=
env[i] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3113 ((void *)0)
env[i] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3114 ; i++) {-
3115-
3116 name = xstrdup(env[i]);-
3117 if ((
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
val =
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3118 (__extension__ (__builtin_constant_p (
__builtin_constant_p ( '=' )Description
TRUEnever evaluated
FALSEnever evaluated
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3119 '='
__builtin_constant_p ( '=' )Description
TRUEnever evaluated
FALSEnever evaluated
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3120 )
__builtin_constant_p ( '=' )Description
TRUEnever evaluated
FALSEnever evaluated
&& !__builtin_constant_p (
!__builtin_constant_p ( name )Description
TRUEnever evaluated
FALSEnever evaluated
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3121 name
!__builtin_constant_p ( name )Description
TRUEnever evaluated
FALSEnever evaluated
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3122 )
!__builtin_constant_p ( name )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
( '=' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3123 '='
( '=' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3124 ) == '\0'
( '=' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) __rawmemchr (
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3125 name
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3126 ,
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3127 '='
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3128 ) : __builtin_strchr (
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3129 name
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3130 ,
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3131 '='
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3132 )))
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3133 ) ==
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3134 ((void *)0)
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3135 ) {-
3136 free(name);-
3137 continue;
never executed: continue;
0
3138 }-
3139 *val++ = '\0';-
3140-
3141 matched = 0;-
3142 for (j = 0; j < options.num_send_env
j < options.num_send_envDescription
TRUEnever evaluated
FALSEnever evaluated
; j++) {
0
3143 if (match_pattern(name, options.send_env[j])
match_pattern(...s.send_env[j])Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3144 matched = 1;-
3145 break;
never executed: break;
0
3146 }-
3147 }
never executed: end of block
0
3148 if (!matched
!matchedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3149 debug3("Ignored env %s", name);-
3150 free(name);-
3151 continue;
never executed: continue;
0
3152 }-
3153-
3154 debug("Sending env %s = %s", name, val);-
3155 channel_request_start(ssh, id, "env", 0);-
3156 ssh_packet_put_cstring(active_state, (name));-
3157 ssh_packet_put_cstring(active_state, (val));-
3158 ssh_packet_send(active_state);-
3159 free(name);-
3160 }
never executed: end of block
0
3161 }
never executed: end of block
0
3162 for (i = 0; i < options.num_setenv
i < options.num_setenvDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
3163-
3164 name = xstrdup(options.setenv[i]);-
3165 if ((
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
val =
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3166 (__extension__ (__builtin_constant_p (
__builtin_constant_p ( '=' )Description
TRUEnever evaluated
FALSEnever evaluated
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3167 '='
__builtin_constant_p ( '=' )Description
TRUEnever evaluated
FALSEnever evaluated
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3168 )
__builtin_constant_p ( '=' )Description
TRUEnever evaluated
FALSEnever evaluated
&& !__builtin_constant_p (
!__builtin_constant_p ( name )Description
TRUEnever evaluated
FALSEnever evaluated
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3169 name
!__builtin_constant_p ( name )Description
TRUEnever evaluated
FALSEnever evaluated
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3170 )
!__builtin_constant_p ( name )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
( '=' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3171 '='
( '=' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3172 ) == '\0'
( '=' ) == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) __rawmemchr (
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3173 name
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3174 ,
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3175 '='
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3176 ) : __builtin_strchr (
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3177 name
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3178 ,
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3179 '='
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3180 )))
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3181 ) ==
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3182 ((void *)0)
(val = (__exte...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3183 ) {-
3184 free(name);-
3185 continue;
never executed: continue;
0
3186 }-
3187 *val++ = '\0';-
3188-
3189 debug("Setting env %s = %s", name, val);-
3190 channel_request_start(ssh, id, "env", 0);-
3191 ssh_packet_put_cstring(active_state, (name));-
3192 ssh_packet_put_cstring(active_state, (val));-
3193 ssh_packet_send(active_state);-
3194 free(name);-
3195 }
never executed: end of block
0
3196-
3197 len = sshbuf_len(cmd);-
3198 if (len > 0
len > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
3199 if (len > 900
len > 900Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3200 len = 900;
never executed: len = 900;
0
3201 if (want_subsystem
want_subsystemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3202 debug("Sending subsystem: %.*s",-
3203 len, (const u_char*)sshbuf_ptr(cmd));-
3204 channel_request_start(ssh, id, "subsystem", 1);-
3205 client_expect_confirm(ssh, id, "subsystem",-
3206 CONFIRM_CLOSE);-
3207 }
never executed: end of block
else {
0
3208 debug("Sending command: %.*s",-
3209 len, (const u_char*)sshbuf_ptr(cmd));-
3210 channel_request_start(ssh, id, "exec", 1);-
3211 client_expect_confirm(ssh, id, "exec", CONFIRM_CLOSE);-
3212 }
never executed: end of block
0
3213 ssh_packet_put_string(active_state, (sshbuf_ptr(cmd)), (sshbuf_len(cmd)));-
3214 ssh_packet_send(active_state);-
3215 }
never executed: end of block
else {
0
3216 channel_request_start(ssh, id, "shell", 1);-
3217 client_expect_confirm(ssh, id, "shell", CONFIRM_CLOSE);-
3218 ssh_packet_send(active_state);-
3219 }
never executed: end of block
0
3220}-
3221-
3222static void-
3223client_init_dispatch(void)-
3224{-
3225 ssh_dispatch_init(active_state, (&dispatch_protocol_error));-
3226-
3227 ssh_dispatch_set(active_state, (97), (&channel_input_oclose));-
3228 ssh_dispatch_set(active_state, (94), (&channel_input_data));-
3229 ssh_dispatch_set(active_state, (96), (&channel_input_ieof));-
3230 ssh_dispatch_set(active_state, (95), (&channel_input_extended_data));-
3231 ssh_dispatch_set(active_state, (90), (&client_input_channel_open));-
3232 ssh_dispatch_set(active_state, (91), (&channel_input_open_confirmation));-
3233 ssh_dispatch_set(active_state, (92), (&channel_input_open_failure));-
3234 ssh_dispatch_set(active_state, (98), (&client_input_channel_req));-
3235 ssh_dispatch_set(active_state, (93), (&channel_input_window_adjust));-
3236 ssh_dispatch_set(active_state, (99), (&channel_input_status_confirm));-
3237 ssh_dispatch_set(active_state, (100), (&channel_input_status_confirm));-
3238 ssh_dispatch_set(active_state, (80), (&client_input_global_request));-
3239-
3240-
3241 ssh_dispatch_set(active_state, (20), (&kex_input_kexinit));-
3242-
3243-
3244 ssh_dispatch_set(active_state, (82), (&client_global_request_reply));-
3245 ssh_dispatch_set(active_state, (81), (&client_global_request_reply));-
3246}
never executed: end of block
0
3247-
3248void-
3249client_stop_mux(void)-
3250{-
3251 if (options.control_path !=
options.contro...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3252 ((void *)0)
options.contro...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3253 && muxserver_sock != -1
muxserver_sock != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3254 unlink(options.control_path);
never executed: unlink(options.control_path);
0
3255-
3256-
3257-
3258-
3259 if (options.control_persist
options.control_persistDescription
TRUEnever evaluated
FALSEnever evaluated
|| no_shell_flag
no_shell_flagDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
3260 session_closed = 1;-
3261 setproctitle("[stopped mux]");-
3262 }
never executed: end of block
0
3263}
never executed: end of block
0
3264-
3265-
3266void-
3267cleanup_exit(int i)-
3268{-
3269 leave_raw_mode(options.request_tty == 3);-
3270 leave_non_blocking();-
3271 if (options.control_path !=
options.contro...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3272 ((void *)0)
options.contro...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
3273 && muxserver_sock != -1
muxserver_sock != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
3274 unlink(options.control_path);
never executed: unlink(options.control_path);
0
3275 ssh_kill_proxy_command();-
3276 _exit(i);-
3277}
never executed: end of block
0
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2