Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | | - |
9 | static int | - |
10 | opt_flag(const char *opt, int allow_negate, const char **optsp) | - |
11 | { | - |
12 | size_t opt_len = strlen(opt); | - |
13 | const char *opts = *optsp; | - |
14 | int negate = 0; | - |
15 | | - |
16 | if (allow_negateTRUE | never evaluated | FALSE | never evaluated |
&& strncasecmp(opts, "no-", 3) == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
17 | opts += 3; | - |
18 | negate = 1; | - |
19 | } never executed: end of block | 0 |
20 | if (strncasecmp(opts, opt, opt_len) == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
21 | *optsp = opts + opt_len; | - |
22 | return never executed: return negate ? 0 : 1; negateTRUE | never evaluated | FALSE | never evaluated |
? 0 : 1;never executed: return negate ? 0 : 1; | 0 |
23 | } | - |
24 | return never executed: return -1; -1;never executed: return -1; | 0 |
25 | } | - |
26 | | - |
27 | static char * | - |
28 | opt_dequote(const char **sp, const char **errstrp) | - |
29 | { | - |
30 | const char *s = *sp; | - |
31 | char *ret; | - |
32 | size_t i; | - |
33 | | - |
34 | *errstrp = | - |
35 | ((void *)0) | - |
36 | ; | - |
37 | if (*TRUE | never evaluated | FALSE | never evaluated |
s != '"'TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
38 | *errstrp = "missing start quote"; | - |
39 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
40 | ((void *)0) never executed: return ((void *)0) ; | 0 |
41 | ; never executed: return ((void *)0) ; | 0 |
42 | } | - |
43 | s++; | - |
44 | if ((TRUE | never evaluated | FALSE | never evaluated |
ret = malloc(strlen((s)) + 1)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
45 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
46 | ) { | - |
47 | *errstrp = "memory allocation failed"; | - |
48 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
49 | ((void *)0) never executed: return ((void *)0) ; | 0 |
50 | ; never executed: return ((void *)0) ; | 0 |
51 | } | - |
52 | for (i = 0; *TRUE | never evaluated | FALSE | never evaluated |
s != '\0'TRUE | never evaluated | FALSE | never evaluated |
&& *TRUE | never evaluated | FALSE | never evaluated |
s != '"'TRUE | never evaluated | FALSE | never evaluated |
;) { | 0 |
53 | if (s[0] == '\\'TRUE | never evaluated | FALSE | never evaluated |
&& s[1] == '"'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
54 | s++; never executed: s++; | 0 |
55 | ret[i++] = *s++; | - |
56 | } never executed: end of block | 0 |
57 | if (*TRUE | never evaluated | FALSE | never evaluated |
s == '\0'TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
58 | *errstrp = "missing end quote"; | - |
59 | free(ret); | - |
60 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
61 | ((void *)0) never executed: return ((void *)0) ; | 0 |
62 | ; never executed: return ((void *)0) ; | 0 |
63 | } | - |
64 | ret[i] = '\0'; | - |
65 | s++; | - |
66 | *sp = s; | - |
67 | return never executed: return ret; ret;never executed: return ret; | 0 |
68 | } | - |
69 | | - |
70 | static int | - |
71 | opt_match(const char **opts, const char *term) | - |
72 | { | - |
73 | if (strncasecmp((*opts), term, strlen(term)) == 0TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
74 | (*TRUE | never evaluated | FALSE | never evaluated |
opts)[strlen(term)] == '='TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
75 | *opts += strlen(term) + 1; | - |
76 | return never executed: return 1; 1;never executed: return 1; | 0 |
77 | } | - |
78 | return never executed: return 0; 0;never executed: return 0; | 0 |
79 | } | - |
80 | | - |
81 | static int | - |
82 | dup_strings(char ***dstp, size_t *ndstp, char **src, size_t nsrc) | - |
83 | { | - |
84 | char **dst; | - |
85 | size_t i, j; | - |
86 | | - |
87 | *dstp = | - |
88 | ((void *)0) | - |
89 | ; | - |
90 | *ndstp = 0; | - |
91 | if (nsrc == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
92 | return never executed: return 0; 0;never executed: return 0; | 0 |
93 | | - |
94 | if ((TRUE | never evaluated | FALSE | never evaluated |
dst = calloc(nsrc, sizeof(*src))) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
95 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
96 | ) | - |
97 | return never executed: return -1; -1;never executed: return -1; | 0 |
98 | for (i = 0; i < nsrcTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
99 | if ((TRUE | never evaluated | FALSE | never evaluated |
dst[i] = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
100 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
101 | src[i]TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
102 | )TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
103 | src[i]TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
104 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
105 | src[i]TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
106 | ) == 1)TRUE | never evaluated | FALSE | never evaluated |
? (((constTRUE | never evaluated | FALSE | never evaluated |
char *) (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
107 | src[i]TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
108 | ))[0] == '\0'TRUE | never evaluated | FALSE | never evaluated |
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
109 | src[i]TRUE | never evaluated | FALSE | never evaluated |
| 0 |
110 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, src[i] , __len); | 0 |
111 | src[i]TRUE | never evaluated | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, src[i] , __len); | 0 |
112 | , __len); __retval; })) : __strdup (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
113 | src[i]TRUE | never evaluated | FALSE | never evaluated |
| 0 |
114 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
115 | ) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
116 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
117 | ) { | - |
118 | for (j = 0; j < iTRUE | never evaluated | FALSE | never evaluated |
; j++) | 0 |
119 | free(dst[j]); never executed: free(dst[j]); | 0 |
120 | free(dst); | - |
121 | return never executed: return -1; -1;never executed: return -1; | 0 |
122 | } | - |
123 | } never executed: end of block | 0 |
124 | | - |
125 | *dstp = dst; | - |
126 | *ndstp = nsrc; | - |
127 | return never executed: return 0; 0;never executed: return 0; | 0 |
128 | } | - |
129 | | - |
130 | | - |
131 | | - |
132 | static int | - |
133 | cert_option_list(struct sshauthopt *opts, struct sshbuf *oblob, | - |
134 | u_int which, int crit) | - |
135 | { | - |
136 | char *command, *allowed; | - |
137 | char *name = | - |
138 | ((void *)0) | - |
139 | ; | - |
140 | struct sshbuf *c = | - |
141 | ((void *)0) | - |
142 | , *data = | - |
143 | ((void *)0) | - |
144 | ; | - |
145 | int r, ret = -1, found; | - |
146 | | - |
147 | if ((TRUE | never evaluated | FALSE | never evaluated |
c = sshbuf_fromb(oblob)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
148 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
149 | ) { | - |
150 | error("%s: sshbuf_fromb failed", __func__); | - |
151 | goto never executed: goto out; out;never executed: goto out; | 0 |
152 | } | - |
153 | | - |
154 | while (sshbuf_len(c) > 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
155 | sshbuf_free(data); | - |
156 | data = | - |
157 | ((void *)0) | - |
158 | ; | - |
159 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_cstring(c, &name, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
160 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
161 | )) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
162 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_froms(c, &data)) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
163 | error("Unable to parse certificate options: %s", | - |
164 | ssh_err(r)); | - |
165 | goto never executed: goto out; out;never executed: goto out; | 0 |
166 | } | - |
167 | debug3("found certificate option \"%.100s\" len %zu", | - |
168 | name, sshbuf_len(data)); | - |
169 | found = 0; | - |
170 | if ((TRUE | never evaluated | FALSE | never evaluated |
which & 2) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
171 | if ( | - |
172 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
173 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
174 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
175 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
176 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
177 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
178 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
179 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
180 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
181 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
182 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
183 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
184 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
185 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
186 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
187 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
188 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
189 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
190 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
191 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
192 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
193 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
194 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
195 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
196 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
197 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
198 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
199 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
200 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
201 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
202 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
203 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
204 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
205 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
206 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
207 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
208 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
209 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
210 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
211 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
212 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
213 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
214 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
215 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
216 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
217 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
218 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
219 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
220 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
221 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
222 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
223 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
224 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
225 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
226 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
227 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
228 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
229 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
230 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
231 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
232 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
233 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
234 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
235 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
236 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
237 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
238 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
239 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
240 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
241 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
242 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
243 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
244 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
245 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
246 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "permit-X11-forwarding" ))[3] - __s2[3]); | 0 |
247 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-X11-forwarding" ))[3] - __s2[3]); | 0 |
248 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
249 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
250 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
251 | "permit-X11-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
252 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
253 | == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
254 | opts->permit_x11_forwarding_flag = 1; | - |
255 | found = 1; | - |
256 | } never executed: end of block else if ( | 0 |
257 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
258 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
259 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
260 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
261 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
262 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
263 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
264 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
265 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
266 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
267 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
268 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
269 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
270 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
271 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
272 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
273 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
274 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
275 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
276 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
277 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
278 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
279 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
280 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
281 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
282 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
283 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
284 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
285 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
286 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
287 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
288 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
289 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
290 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
291 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
292 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
293 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
294 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
295 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
296 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
297 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
298 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
299 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
300 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
301 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
302 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
303 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
304 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
305 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
306 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
307 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
308 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
309 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
310 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
311 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
312 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
313 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
314 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
315 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
316 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
317 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
318 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
319 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
320 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
321 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
322 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
323 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
324 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
325 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
326 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
327 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
328 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
329 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
330 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
331 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "permit-agent-forwarding" ))[3] - __s2[3]); | 0 |
332 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-agent-forwarding" ))[3] - __s2[3]); | 0 |
333 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
334 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
335 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
336 | "permit-agent-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
337 | )))); })TRUE | never evaluated | FALSE | never evaluated |
| 0 |
338 | TRUE | never evaluated | FALSE | never evaluated |
| 0 |
339 | == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
340 | opts->permit_agent_forwarding_flag = 1; | - |
341 | found = 1; | - |
342 | } never executed: end of block else if ( | 0 |
343 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
344 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
345 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
346 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
347 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
348 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
349 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
350 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
351 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
352 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
353 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
354 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
355 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
356 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
357 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
358 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
359 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
360 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
361 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
362 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
363 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
364 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
365 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
366 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
367 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
368 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
369 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
370 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
371 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
372 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
373 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
374 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
375 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
376 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
377 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
378 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
379 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
380 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
381 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
382 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
383 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
384 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
385 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
386 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
387 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
388 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
389 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
390 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
391 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
392 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
393 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
394 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
395 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
396 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
397 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
398 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
399 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
400 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
401 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
402 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
403 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
404 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
405 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
406 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
407 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
408 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
409 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
410 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
411 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
412 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
413 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
414 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
415 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
416 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
417 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "permit-port-forwarding" ))[3] - __s2[3]); | 0 |
418 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-port-forwarding" ))[3] - __s2[3]); | 0 |
419 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
420 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
421 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
422 | "permit-port-forwarding"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
423 | )))); })TRUE | never evaluated | FALSE | never evaluated |
| 0 |
424 | TRUE | never evaluated | FALSE | never evaluated |
| 0 |
425 | == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
426 | opts->permit_port_forwarding_flag = 1; | - |
427 | found = 1; | - |
428 | } never executed: end of block else if ( | 0 |
429 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
430 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
431 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
432 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
433 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
434 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
435 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
436 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
437 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
438 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
439 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
440 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
441 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
442 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
443 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
444 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
445 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
446 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
447 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
448 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
449 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
450 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
451 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
452 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
453 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
454 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
455 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
456 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
457 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
458 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
459 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
460 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
461 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
462 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
463 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
464 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
465 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
466 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
467 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
468 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
469 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
470 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
471 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
472 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
473 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
474 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
475 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
476 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
477 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
478 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
479 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
480 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
481 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
482 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
483 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
484 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
485 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
486 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
487 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
488 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
489 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
490 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
491 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
492 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
493 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
494 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
495 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
496 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
497 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
498 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
499 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
500 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
501 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
502 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
503 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "permit-pty" ))[3] - __s2[3]); | 0 |
504 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-pty" ))[3] - __s2[3]); | 0 |
505 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
506 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
507 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
508 | "permit-pty"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
509 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
510 | == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
511 | opts->permit_pty_flag = 1; | - |
512 | found = 1; | - |
513 | } never executed: end of block else if ( | 0 |
514 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
515 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
516 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
517 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
518 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
519 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
520 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
521 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
522 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
523 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
524 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
525 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
526 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
527 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
528 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
529 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
530 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
531 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
532 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
533 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
534 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
535 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
536 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
537 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
538 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
539 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
540 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
541 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
542 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
543 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
544 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
545 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
546 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
547 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
548 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
549 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
550 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
551 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
552 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
553 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
554 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
555 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
556 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
557 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
558 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
559 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
560 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
561 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
562 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
563 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
564 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
565 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
566 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
567 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
568 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
569 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
570 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
571 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
572 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
573 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
574 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
575 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
576 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
577 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
578 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
579 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
580 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
581 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
582 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
583 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
584 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
585 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
586 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
587 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
588 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "permit-user-rc" ))[3] - __s2[3]); | 0 |
589 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "permit-user-rc" ))[3] - __s2[3]); | 0 |
590 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
591 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
592 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
593 | "permit-user-rc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
594 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
595 | == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
596 | opts->permit_user_rc = 1; | - |
597 | found = 1; | - |
598 | } never executed: end of block | 0 |
599 | } never executed: end of block | 0 |
600 | if (!foundTRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
which & 1) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
601 | if ( | - |
602 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
603 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
604 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
605 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
606 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
607 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
608 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
609 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
610 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
611 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
612 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
613 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
614 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
615 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
616 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
617 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
618 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
619 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
620 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
621 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
622 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
623 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
624 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
625 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
626 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
627 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
628 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
629 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
630 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
631 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
632 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
633 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
634 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
635 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
636 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
637 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
638 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
639 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
640 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
641 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
642 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
643 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
644 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
645 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
646 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
647 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
648 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
649 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
650 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
651 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
652 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
653 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
654 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
655 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
656 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
657 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
658 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
659 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
660 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
661 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
662 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
663 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
664 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
665 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
666 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
667 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
668 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
669 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
670 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
671 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
672 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
673 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
674 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
675 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
676 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "force-command" ))[3] - __s2[3]); | 0 |
677 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "force-command" ))[3] - __s2[3]); | 0 |
678 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
679 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
680 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
681 | "force-command"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
682 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
683 | == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
684 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_cstring(data, &command,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
685 | TRUE | never evaluated | FALSE | never evaluated |
| 0 |
686 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
687 | )) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
688 | error("Unable to parse \"%s\" " | - |
689 | "section: %s", name, ssh_err(r)); | - |
690 | goto never executed: goto out; out;never executed: goto out; | 0 |
691 | } | - |
692 | if (opts->force_command != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
693 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
694 | ) { | - |
695 | error("Certificate has multiple " | - |
696 | "force-command options"); | - |
697 | free(command); | - |
698 | goto never executed: goto out; out;never executed: goto out; | 0 |
699 | } | - |
700 | opts->force_command = command; | - |
701 | found = 1; | - |
702 | } never executed: end of block | 0 |
703 | if ( | - |
704 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
705 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
706 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
707 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
708 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
709 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
710 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
711 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
712 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
713 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
714 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
715 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
716 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
717 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
718 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
719 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
720 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
721 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
722 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
723 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
724 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
725 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
726 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
727 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
728 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
729 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
730 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
731 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
732 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
733 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
734 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
735 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
736 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
737 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
738 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
739 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
740 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
741 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
742 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
743 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
744 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
745 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
746 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
747 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
748 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
749 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
750 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
751 | nameTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( name ))[3] - __s2[3]); | 0 |
752 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
753 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
754 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
755 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
756 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
757 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
758 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
759 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
760 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
761 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
762 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
763 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
764 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
765 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
766 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
767 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
768 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
769 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
770 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
771 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
772 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
773 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
774 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
775 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
776 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
777 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
778 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "source-address" ))[3] - __s2[3]); | 0 |
779 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "source-address" ))[3] - __s2[3]); | 0 |
780 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
781 | nameTRUE | never evaluated | FALSE | never evaluated |
| 0 |
782 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
783 | "source-address"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
784 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
785 | == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
786 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_cstring(data, &allowed,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
787 | TRUE | never evaluated | FALSE | never evaluated |
| 0 |
788 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
789 | )) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
790 | error("Unable to parse \"%s\" " | - |
791 | "section: %s", name, ssh_err(r)); | - |
792 | goto never executed: goto out; out;never executed: goto out; | 0 |
793 | } | - |
794 | if (opts->required_from_host_cert != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
795 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
796 | ) { | - |
797 | error("Certificate has multiple " | - |
798 | "source-address options"); | - |
799 | free(allowed); | - |
800 | goto never executed: goto out; out;never executed: goto out; | 0 |
801 | } | - |
802 | | - |
803 | if (addr_match_cidr_list(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
804 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
805 | , allowed) == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
806 | error("Certificate source-address " | - |
807 | "contents invalid"); | - |
808 | goto never executed: goto out; out;never executed: goto out; | 0 |
809 | } | - |
810 | opts->required_from_host_cert = allowed; | - |
811 | found = 1; | - |
812 | } never executed: end of block | 0 |
813 | } never executed: end of block | 0 |
814 | | - |
815 | if (!foundTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
816 | if (critTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
817 | error("Certificate critical option \"%s\" " | - |
818 | "is not supported", name); | - |
819 | goto never executed: goto out; out;never executed: goto out; | 0 |
820 | } else { | - |
821 | logit("Certificate extension \"%s\" " | - |
822 | "is not supported", name); | - |
823 | } never executed: end of block | 0 |
824 | } else if (sshbuf_len(data) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
825 | error("Certificate option \"%s\" corrupt " | - |
826 | "(extra data)", name); | - |
827 | goto never executed: goto out; out;never executed: goto out; | 0 |
828 | } | - |
829 | free(name); | - |
830 | name = | - |
831 | ((void *)0) | - |
832 | ; | - |
833 | } never executed: end of block | 0 |
834 | | - |
835 | ret = 0; | - |
836 | | - |
837 | out: code before this statement never executed: out: | 0 |
838 | free(name); | - |
839 | sshbuf_free(data); | - |
840 | sshbuf_free(c); | - |
841 | return never executed: return ret; ret;never executed: return ret; | 0 |
842 | } | - |
843 | | - |
844 | struct sshauthopt * | - |
845 | sshauthopt_new(void) | - |
846 | { | - |
847 | struct sshauthopt *ret; | - |
848 | | - |
849 | if ((TRUE | never evaluated | FALSE | never evaluated |
ret = calloc(1, sizeof(*ret))) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
850 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
851 | ) | - |
852 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
853 | ((void *)0) never executed: return ((void *)0) ; | 0 |
854 | ; never executed: return ((void *)0) ; | 0 |
855 | ret->force_tun_device = -1; | - |
856 | return never executed: return ret; ret;never executed: return ret; | 0 |
857 | } | - |
858 | | - |
859 | void | - |
860 | sshauthopt_free(struct sshauthopt *opts) | - |
861 | { | - |
862 | size_t i; | - |
863 | | - |
864 | if (opts == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
865 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
866 | ) | - |
867 | return; never executed: return; | 0 |
868 | | - |
869 | free(opts->cert_principals); | - |
870 | free(opts->force_command); | - |
871 | free(opts->required_from_host_cert); | - |
872 | free(opts->required_from_host_keys); | - |
873 | | - |
874 | for (i = 0; i < opts->nenvTRUE | never evaluated | FALSE | never evaluated |
; i++) | 0 |
875 | free(opts->env[i]); never executed: free(opts->env[i]); | 0 |
876 | free(opts->env); | - |
877 | | - |
878 | for (i = 0; i < opts->npermitopenTRUE | never evaluated | FALSE | never evaluated |
; i++) | 0 |
879 | free(opts->permitopen[i]); never executed: free(opts->permitopen[i]); | 0 |
880 | free(opts->permitopen); | - |
881 | | - |
882 | for (i = 0; i < opts->npermitlistenTRUE | never evaluated | FALSE | never evaluated |
; i++) | 0 |
883 | free(opts->permitlisten[i]); never executed: free(opts->permitlisten[i]); | 0 |
884 | free(opts->permitlisten); | - |
885 | | - |
886 | explicit_bzero(opts, sizeof(*opts)); | - |
887 | free(opts); | - |
888 | } never executed: end of block | 0 |
889 | | - |
890 | struct sshauthopt * | - |
891 | sshauthopt_new_with_keys_defaults(void) | - |
892 | { | - |
893 | struct sshauthopt *ret = | - |
894 | ((void *)0) | - |
895 | ; | - |
896 | | - |
897 | if ((TRUE | never evaluated | FALSE | never evaluated |
ret = sshauthopt_new()) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
898 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
899 | ) | - |
900 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
901 | ((void *)0) never executed: return ((void *)0) ; | 0 |
902 | ; never executed: return ((void *)0) ; | 0 |
903 | | - |
904 | | - |
905 | ret->permit_port_forwarding_flag = 1; | - |
906 | ret->permit_agent_forwarding_flag = 1; | - |
907 | ret->permit_x11_forwarding_flag = 1; | - |
908 | ret->permit_pty_flag = 1; | - |
909 | ret->permit_user_rc = 1; | - |
910 | return never executed: return ret; ret;never executed: return ret; | 0 |
911 | } | - |
912 | | - |
913 | | - |
914 | | - |
915 | | - |
916 | | - |
917 | static int | - |
918 | handle_permit(const char **optsp, int allow_bare_port, | - |
919 | char ***permitsp, size_t *npermitsp, const char **errstrp) | - |
920 | { | - |
921 | char *opt, *tmp, *cp, *host, **permits = *permitsp; | - |
922 | size_t npermits = *npermitsp; | - |
923 | const char *errstr = "unknown error"; | - |
924 | | - |
925 | if (npermits > 0x7fffffffTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
926 | *errstrp = "too many permission directives"; | - |
927 | return never executed: return -1; -1;never executed: return -1; | 0 |
928 | } | - |
929 | if ((TRUE | never evaluated | FALSE | never evaluated |
opt = opt_dequote(optsp, &errstr)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
930 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
931 | ) { | - |
932 | return never executed: return -1; -1;never executed: return -1; | 0 |
933 | } | - |
934 | if (allow_bare_portTRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
935 | (TRUE | never evaluated | FALSE | never evaluated |
__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
936 | ':'TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
937 | )TRUE | never evaluated | FALSE | never evaluated |
&& !__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
938 | optTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
939 | )TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
940 | ':'TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
941 | ) == '\0'TRUE | never evaluated | FALSE | never evaluated |
? (char *) __rawmemchr (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
942 | optTRUE | never evaluated | FALSE | never evaluated |
| 0 |
943 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
944 | ':'TRUE | never evaluated | FALSE | never evaluated |
| 0 |
945 | ) : __builtin_strchr (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
946 | optTRUE | never evaluated | FALSE | never evaluated |
| 0 |
947 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
948 | ':'TRUE | never evaluated | FALSE | never evaluated |
| 0 |
949 | ))) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
950 | == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
951 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
952 | ) { | - |
953 | | - |
954 | | - |
955 | | - |
956 | | - |
957 | if (asprintf(&tmp, "*:%s", opt) < 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
958 | *errstrp = "memory allocation failed"; | - |
959 | return never executed: return -1; -1;never executed: return -1; | 0 |
960 | } | - |
961 | free(opt); | - |
962 | opt = tmp; | - |
963 | } never executed: end of block | 0 |
964 | if ((TRUE | never evaluated | FALSE | never evaluated |
tmp = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
965 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
966 | optTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
967 | )TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
968 | optTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
969 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
970 | optTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
971 | ) == 1)TRUE | never evaluated | FALSE | never evaluated |
? (((constTRUE | never evaluated | FALSE | never evaluated |
char *) (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
972 | optTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
973 | ))[0] == '\0'TRUE | never evaluated | FALSE | never evaluated |
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
974 | optTRUE | never evaluated | FALSE | never evaluated |
| 0 |
975 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, opt , __len); | 0 |
976 | optTRUE | never evaluated | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, opt , __len); | 0 |
977 | , __len); __retval; })) : __strdup (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
978 | optTRUE | never evaluated | FALSE | never evaluated |
| 0 |
979 | )))TRUE | never evaluated | FALSE | never evaluated |
|