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 |
| 0 |
980 | ) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
981 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
982 | ) { | - |
983 | free(opt); | - |
984 | *errstrp = "memory allocation failed"; | - |
985 | return never executed: return -1; -1;never executed: return -1; | 0 |
986 | } | - |
987 | cp = tmp; | - |
988 | | - |
989 | host = hpdelim(&cp); | - |
990 | if (host == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
991 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
992 | || strlen(host) >= TRUE | never evaluated | FALSE | never evaluated |
| 0 |
993 | 1025TRUE | never evaluated | FALSE | never evaluated |
| 0 |
994 | ) { | - |
995 | free(tmp); | - |
996 | free(opt); | - |
997 | *errstrp = "invalid permission hostname"; | - |
998 | return never executed: return -1; -1;never executed: return -1; | 0 |
999 | } | - |
1000 | | - |
1001 | | - |
1002 | | - |
1003 | | - |
1004 | if (cp == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1005 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1006 | || | - |
1007 | ( | - |
1008 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1009 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1010 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1011 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1012 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1013 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1014 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1015 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1016 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1017 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1018 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1019 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1020 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1021 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1022 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1023 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1024 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1025 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1026 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1027 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1028 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1029 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1030 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1031 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1032 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1033 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1034 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1035 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1036 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1037 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1038 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1039 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1040 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1041 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1042 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1043 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1044 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1045 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1046 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1047 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1048 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1049 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1050 | ))[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 |
1051 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1052 | ))[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 |
1053 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1054 | ))[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 *) ( cp ))[3] - __s2[3]); | 0 |
1055 | cpTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( cp ))[3] - __s2[3]); | 0 |
1056 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1057 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1058 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1059 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1060 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1061 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1062 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1063 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1064 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1065 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1066 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1067 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1068 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1069 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1070 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1071 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1072 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1073 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1074 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1075 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1076 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1077 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1078 | ))[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 |
1079 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1080 | ))[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 |
1081 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1082 | ))[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 *) ( "*" ))[3] - __s2[3]); | 0 |
1083 | "*"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "*" ))[3] - __s2[3]); | 0 |
1084 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1085 | cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1086 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1087 | "*"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1088 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1089 | != 0TRUE | never evaluated | FALSE | never evaluated |
&& a2port(cp) <= 0TRUE | never evaluated | FALSE | never evaluated |
)) { | 0 |
1090 | free(tmp); | - |
1091 | free(opt); | - |
1092 | *errstrp = "invalid permission port"; | - |
1093 | return never executed: return -1; -1;never executed: return -1; | 0 |
1094 | } | - |
1095 | | - |
1096 | free(tmp); | - |
1097 | | - |
1098 | if ((TRUE | never evaluated | FALSE | never evaluated |
permits = recallocarray(permits, npermits, npermits + 1,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1099 | sizeof(*permits))) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1100 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1101 | ) { | - |
1102 | free(opt); | - |
1103 | | - |
1104 | *errstrp = "memory allocation failed"; | - |
1105 | return never executed: return -1; -1;never executed: return -1; | 0 |
1106 | } | - |
1107 | permits[npermits++] = opt; | - |
1108 | *permitsp = permits; | - |
1109 | *npermitsp = npermits; | - |
1110 | return never executed: return 0; 0;never executed: return 0; | 0 |
1111 | } | - |
1112 | | - |
1113 | struct sshauthopt * | - |
1114 | sshauthopt_parse(const char *opts, const char **errstrp) | - |
1115 | { | - |
1116 | char **oarray, *opt, *cp, *tmp; | - |
1117 | int r; | - |
1118 | struct sshauthopt *ret = | - |
1119 | ((void *)0) | - |
1120 | ; | - |
1121 | const char *errstr = "unknown error"; | - |
1122 | uint64_t valid_before; | - |
1123 | | - |
1124 | if (errstrp != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1125 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1126 | ) | - |
1127 | * never executed: *errstrp = ((void *)0) ; errstrp = never executed: *errstrp = ((void *)0) ; | 0 |
1128 | ((void *)0) never executed: *errstrp = ((void *)0) ; | 0 |
1129 | ; never executed: *errstrp = ((void *)0) ; | 0 |
1130 | if ((TRUE | never evaluated | FALSE | never evaluated |
ret = sshauthopt_new_with_keys_defaults()) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1131 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1132 | ) | - |
1133 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1134 | | - |
1135 | if (opts == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1136 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1137 | ) | - |
1138 | return never executed: return ret; ret;never executed: return ret; | 0 |
1139 | | - |
1140 | while (*TRUE | never evaluated | FALSE | never evaluated |
optsTRUE | never evaluated | FALSE | never evaluated |
&& *TRUE | never evaluated | FALSE | never evaluated |
opts != ' 'TRUE | never evaluated | FALSE | never evaluated |
&& *TRUE | never evaluated | FALSE | never evaluated |
opts != '\t'TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1141 | | - |
1142 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = opt_flag("restrict", 0, &opts)) != -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1143 | ret->restricted = 1; | - |
1144 | ret->permit_port_forwarding_flag = 0; | - |
1145 | ret->permit_agent_forwarding_flag = 0; | - |
1146 | ret->permit_x11_forwarding_flag = 0; | - |
1147 | ret->permit_pty_flag = 0; | - |
1148 | ret->permit_user_rc = 0; | - |
1149 | } never executed: end of block else if ((TRUE | never evaluated | FALSE | never evaluated |
r = opt_flag("cert-authority", 0, &opts)) != -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1150 | ret->cert_authority = r; | - |
1151 | } never executed: end of block else if ((TRUE | never evaluated | FALSE | never evaluated |
r = opt_flag("port-forwarding", 1, &opts)) != -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1152 | ret->permit_port_forwarding_flag = r == 1; | - |
1153 | } never executed: end of block else if ((TRUE | never evaluated | FALSE | never evaluated |
r = opt_flag("agent-forwarding", 1, &opts)) != -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1154 | ret->permit_agent_forwarding_flag = r == 1; | - |
1155 | } never executed: end of block else if ((TRUE | never evaluated | FALSE | never evaluated |
r = opt_flag("x11-forwarding", 1, &opts)) != -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1156 | ret->permit_x11_forwarding_flag = r == 1; | - |
1157 | } never executed: end of block else if ((TRUE | never evaluated | FALSE | never evaluated |
r = opt_flag("pty", 1, &opts)) != -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1158 | ret->permit_pty_flag = r == 1; | - |
1159 | } never executed: end of block else if ((TRUE | never evaluated | FALSE | never evaluated |
r = opt_flag("user-rc", 1, &opts)) != -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1160 | ret->permit_user_rc = r == 1; | - |
1161 | } never executed: end of block else if (opt_match(&opts, "command")TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1162 | if (ret->force_command != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1163 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1164 | ) { | - |
1165 | errstr = "multiple \"command\" clauses"; | - |
1166 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1167 | } | - |
1168 | ret->force_command = opt_dequote(&opts, &errstr); | - |
1169 | if (ret->force_command == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1170 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1171 | ) | - |
1172 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1173 | } never executed: end of block else if (opt_match(&opts, "principals")TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1174 | if (ret->cert_principals != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1175 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1176 | ) { | - |
1177 | errstr = "multiple \"principals\" clauses"; | - |
1178 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1179 | } | - |
1180 | ret->cert_principals = opt_dequote(&opts, &errstr); | - |
1181 | if (ret->cert_principals == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1182 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1183 | ) | - |
1184 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1185 | } never executed: end of block else if (opt_match(&opts, "from")TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1186 | if (ret->required_from_host_keys != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1187 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1188 | ) { | - |
1189 | errstr = "multiple \"from\" clauses"; | - |
1190 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1191 | } | - |
1192 | ret->required_from_host_keys = opt_dequote(&opts, | - |
1193 | &errstr); | - |
1194 | if (ret->required_from_host_keys == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1195 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1196 | ) | - |
1197 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1198 | } never executed: end of block else if (opt_match(&opts, "expiry-time")TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1199 | if ((TRUE | never evaluated | FALSE | never evaluated |
opt = opt_dequote(&opts, &errstr)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1200 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1201 | ) | - |
1202 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1203 | if (parse_absolute_time(opt, &valid_before) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1204 | valid_before == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1205 | free(opt); | - |
1206 | errstr = "invalid expires time"; | - |
1207 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1208 | } | - |
1209 | free(opt); | - |
1210 | if (ret->valid_before == 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1211 | valid_before < ret->valid_beforeTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1212 | ret->valid_before = valid_before; never executed: ret->valid_before = valid_before; | 0 |
1213 | } never executed: end of block else if (opt_match(&opts, "environment")TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1214 | if (ret->nenv > 0x7fffffffTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1215 | errstr = "too many environment strings"; | - |
1216 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1217 | } | - |
1218 | if ((TRUE | never evaluated | FALSE | never evaluated |
opt = opt_dequote(&opts, &errstr)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1219 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1220 | ) | - |
1221 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1222 | | - |
1223 | if ((TRUE | never evaluated | FALSE | never evaluated |
tmp = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1224 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1225 | '='TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1226 | )TRUE | never evaluated | FALSE | never evaluated |
&& !__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1227 | optTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1228 | )TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1229 | '='TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1230 | ) == '\0'TRUE | never evaluated | FALSE | never evaluated |
? (char *) __rawmemchr (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1231 | optTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1232 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1233 | '='TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1234 | ) : __builtin_strchr (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1235 | optTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1236 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1237 | '='TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1238 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1239 | ) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1240 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1241 | ) { | - |
1242 | free(opt); | - |
1243 | errstr = "invalid environment string"; | - |
1244 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1245 | } | - |
1246 | for (cp = opt; cp < tmpTRUE | never evaluated | FALSE | never evaluated |
; cp++) { | 0 |
1247 | if (!TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1248 | ((*__ctype_b_loc ())[(int) ((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1249 | (u_char)*cpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1250 | ))] & (unsigned short int) _ISalnum)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1251 | && *TRUE | never evaluated | FALSE | never evaluated |
cp != '_'TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1252 | free(opt); | - |
1253 | errstr = "invalid environment string"; | - |
1254 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1255 | } | - |
1256 | } never executed: end of block | 0 |
1257 | | - |
1258 | oarray = ret->env; | - |
1259 | if ((TRUE | never evaluated | FALSE | never evaluated |
ret->env = recallocarray(ret->env, ret->nenv,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1260 | ret->nenv + 1, sizeof(*ret->env))) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1261 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1262 | ) { | - |
1263 | free(opt); | - |
1264 | ret->env = oarray; | - |
1265 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1266 | } | - |
1267 | ret->env[ret->nenv++] = opt; | - |
1268 | } never executed: end of block else if (opt_match(&opts, "permitopen")TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1269 | if (handle_permit(&opts, 0, &ret->permitopen,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1270 | &ret->npermitopen, &errstr) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1271 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1272 | } never executed: end of block else if (opt_match(&opts, "permitlisten")TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1273 | if (handle_permit(&opts, 1, &ret->permitlisten,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1274 | &ret->npermitlisten, &errstr) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1275 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1276 | } never executed: end of block else if (opt_match(&opts, "tunnel")TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1277 | if ((TRUE | never evaluated | FALSE | never evaluated |
opt = opt_dequote(&opts, &errstr)) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1278 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1279 | ) | - |
1280 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1281 | ret->force_tun_device = a2tun(opt, | - |
1282 | ((void *)0) | - |
1283 | ); | - |
1284 | free(opt); | - |
1285 | if (ret->force_tun_device == (0x7fffffff - 1)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1286 | errstr = "invalid tun device"; | - |
1287 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1288 | } | - |
1289 | } never executed: end of block | 0 |
1290 | | - |
1291 | | - |
1292 | | - |
1293 | | - |
1294 | if (*TRUE | never evaluated | FALSE | never evaluated |
opts == '\0'TRUE | never evaluated | FALSE | never evaluated |
|| *TRUE | never evaluated | FALSE | never evaluated |
opts == ' 'TRUE | never evaluated | FALSE | never evaluated |
|| *TRUE | never evaluated | FALSE | never evaluated |
opts == '\t'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1295 | break; never executed: break; | 0 |
1296 | | - |
1297 | if (*TRUE | never evaluated | FALSE | never evaluated |
opts != ','TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1298 | errstr = "unknown key option"; | - |
1299 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1300 | } | - |
1301 | opts++; | - |
1302 | if (*TRUE | never evaluated | FALSE | never evaluated |
opts == '\0'TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1303 | errstr = "unexpected end-of-options"; | - |
1304 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1305 | } | - |
1306 | } never executed: end of block | 0 |
1307 | | - |
1308 | | - |
1309 | if (errstrp != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1310 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1311 | ) | - |
1312 | * never executed: *errstrp = ((void *)0) ; errstrp = never executed: *errstrp = ((void *)0) ; | 0 |
1313 | ((void *)0) never executed: *errstrp = ((void *)0) ; | 0 |
1314 | ; never executed: *errstrp = ((void *)0) ; | 0 |
1315 | return never executed: return ret; ret;never executed: return ret; | 0 |
1316 | | - |
1317 | alloc_fail: | - |
1318 | errstr = "memory allocation failed"; | - |
1319 | fail: code before this statement never executed: fail: | 0 |
1320 | sshauthopt_free(ret); | - |
1321 | if (errstrp != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1322 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1323 | ) | - |
1324 | * never executed: *errstrp = errstr; errstrp = errstr;never executed: *errstrp = errstr; | 0 |
1325 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1326 | ((void *)0) never executed: return ((void *)0) ; | 0 |
1327 | ; never executed: return ((void *)0) ; | 0 |
1328 | } | - |
1329 | | - |
1330 | struct sshauthopt * | - |
1331 | sshauthopt_from_cert(struct sshkey *k) | - |
1332 | { | - |
1333 | struct sshauthopt *ret; | - |
1334 | | - |
1335 | if (k == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1336 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1337 | || !sshkey_type_is_cert(k->type)TRUE | never evaluated | FALSE | never evaluated |
|| k->cert == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1338 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1339 | || | - |
1340 | k->cert->type != 1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1341 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1342 | ((void *)0) never executed: return ((void *)0) ; | 0 |
1343 | ; never executed: return ((void *)0) ; | 0 |
1344 | | - |
1345 | if ((TRUE | never evaluated | FALSE | never evaluated |
ret = sshauthopt_new()) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1346 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1347 | ) | - |
1348 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1349 | ((void *)0) never executed: return ((void *)0) ; | 0 |
1350 | ; never executed: return ((void *)0) ; | 0 |
1351 | | - |
1352 | | - |
1353 | if (cert_option_list(ret, k->cert->critical,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1354 | 1, 1) == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1355 | sshauthopt_free(ret); | - |
1356 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1357 | ((void *)0) never executed: return ((void *)0) ; | 0 |
1358 | ; never executed: return ((void *)0) ; | 0 |
1359 | } | - |
1360 | if (cert_option_list(ret, k->cert->extensions,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1361 | 2, 0) == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1362 | sshauthopt_free(ret); | - |
1363 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1364 | ((void *)0) never executed: return ((void *)0) ; | 0 |
1365 | ; never executed: return ((void *)0) ; | 0 |
1366 | } | - |
1367 | | - |
1368 | return never executed: return ret; ret;never executed: return ret; | 0 |
1369 | } | - |
1370 | | - |
1371 | | - |
1372 | | - |
1373 | | - |
1374 | | - |
1375 | struct sshauthopt * | - |
1376 | sshauthopt_merge(const struct sshauthopt *primary, | - |
1377 | const struct sshauthopt *additional, const char **errstrp) | - |
1378 | { | - |
1379 | struct sshauthopt *ret; | - |
1380 | const char *errstr = "internal error"; | - |
1381 | const char *tmp; | - |
1382 | | - |
1383 | if (errstrp != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1384 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1385 | ) | - |
1386 | * never executed: *errstrp = ((void *)0) ; errstrp = never executed: *errstrp = ((void *)0) ; | 0 |
1387 | ((void *)0) never executed: *errstrp = ((void *)0) ; | 0 |
1388 | ; never executed: *errstrp = ((void *)0) ; | 0 |
1389 | | - |
1390 | if ((TRUE | never evaluated | FALSE | never evaluated |
ret = sshauthopt_new()) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1391 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1392 | ) | - |
1393 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1394 | | - |
1395 | | - |
1396 | | - |
1397 | | - |
1398 | | - |
1399 | tmp = primary->required_from_host_cert; | - |
1400 | if (tmp == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1401 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1402 | ) | - |
1403 | tmp = additional->required_from_host_cert; never executed: tmp = additional->required_from_host_cert; | 0 |
1404 | if (tmp != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1405 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1406 | && (TRUE | never evaluated | FALSE | never evaluated |
ret->required_from_host_cert = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1407 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1408 | tmpTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1409 | )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 |
1410 | tmpTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1411 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1412 | tmpTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1413 | ) == 1)TRUE | never evaluated | FALSE | never evaluated |
? (((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1414 | tmpTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1415 | ))[0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1416 | tmpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1417 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, tmp , __len); | 0 |
1418 | tmpTRUE | never evaluated | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, tmp , __len); | 0 |
1419 | , __len); __retval; })) : __strdup (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1420 | tmpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1421 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1422 | ) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1423 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1424 | ) | - |
1425 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1426 | tmp = primary->required_from_host_keys; | - |
1427 | if (tmp == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1428 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1429 | ) | - |
1430 | tmp = additional->required_from_host_keys; never executed: tmp = additional->required_from_host_keys; | 0 |
1431 | if (tmp != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1432 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1433 | && (TRUE | never evaluated | FALSE | never evaluated |
ret->required_from_host_keys = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1434 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1435 | tmpTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1436 | )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 |
1437 | tmpTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1438 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1439 | tmpTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1440 | ) == 1)TRUE | never evaluated | FALSE | never evaluated |
? (((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1441 | tmpTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1442 | ))[0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1443 | tmpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1444 | ) + 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, tmp , __len); | 0 |
1445 | tmpTRUE | never evaluated | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, tmp , __len); | 0 |
1446 | , __len); __retval; })) : __strdup (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1447 | tmpTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1448 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1449 | ) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1450 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1451 | ) | - |
1452 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1453 | | - |
1454 | | - |
1455 | | - |
1456 | | - |
1457 | | - |
1458 | ret->force_tun_device = primary->force_tun_device; | - |
1459 | if (ret->force_tun_device == -1TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1460 | ret->force_tun_device = additional->force_tun_device; never executed: ret->force_tun_device = additional->force_tun_device; | 0 |
1461 | if (primary->nenv > 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1462 | if (dup_strings(&ret->env, &ret->nenv,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1463 | primary->env, primary->nenv) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1464 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1465 | } never executed: end of block else if (additional->nenvTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1466 | if (dup_strings(&ret->env, &ret->nenv,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1467 | additional->env, additional->nenv) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1468 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1469 | } never executed: end of block | 0 |
1470 | if (primary->npermitopen > 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1471 | if (dup_strings(&ret->permitopen, &ret->npermitopen,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1472 | primary->permitopen, primary->npermitopen) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1473 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1474 | } never executed: end of block else if (additional->npermitopen > 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1475 | if (dup_strings(&ret->permitopen, &ret->npermitopen,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1476 | additional->permitopen, additional->npermitopen) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1477 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1478 | } never executed: end of block | 0 |
1479 | | - |
1480 | if (primary->npermitlisten > 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1481 | if (dup_strings(&ret->permitlisten, &ret->npermitlisten,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1482 | primary->permitlisten, primary->npermitlisten) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1483 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1484 | } never executed: end of block else if (additional->npermitlisten > 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1485 | if (dup_strings(&ret->permitlisten, &ret->npermitlisten,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1486 | additional->permitlisten, additional->npermitlisten) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1487 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1488 | } never executed: end of block | 0 |
1489 | | - |
1490 | | - |
1491 | | - |
1492 | ret->permit_port_forwarding_flag = (TRUE | never evaluated | FALSE | never evaluated |
primary->permit_port_forwarding_flag == 1)TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
additional->permit_port_forwarding_flag == 1)TRUE | never evaluated | FALSE | never evaluated |
; | 0 |
1493 | ret->permit_agent_forwarding_flag = (TRUE | never evaluated | FALSE | never evaluated |
primary->permit_agent_forwarding_flag == 1)TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
additional->permit_agent_forwarding_flag == 1)TRUE | never evaluated | FALSE | never evaluated |
; | 0 |
1494 | ret->permit_x11_forwarding_flag = (TRUE | never evaluated | FALSE | never evaluated |
primary->permit_x11_forwarding_flag == 1)TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
additional->permit_x11_forwarding_flag == 1)TRUE | never evaluated | FALSE | never evaluated |
; | 0 |
1495 | ret->permit_pty_flag = (TRUE | never evaluated | FALSE | never evaluated |
primary->permit_pty_flag == 1)TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
additional->permit_pty_flag == 1)TRUE | never evaluated | FALSE | never evaluated |
; | 0 |
1496 | ret->permit_user_rc = (TRUE | never evaluated | FALSE | never evaluated |
primary->permit_user_rc == 1)TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
additional->permit_user_rc == 1)TRUE | never evaluated | FALSE | never evaluated |
; | 0 |
1497 | | - |
1498 | | - |
1499 | | - |
1500 | if (primary->valid_before != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1501 | ret->valid_before = primary->valid_before; never executed: ret->valid_before = primary->valid_before; | 0 |
1502 | if (additional->valid_before != 0TRUE | never evaluated | FALSE | never evaluated |
&& | 0 |
1503 | additional->valid_before < ret->valid_beforeTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1504 | ret->valid_before = additional->valid_before; never executed: ret->valid_before = additional->valid_before; | 0 |
1505 | | - |
1506 | | - |
1507 | | - |
1508 | | - |
1509 | | - |
1510 | if (primary->force_command != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1511 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1512 | && | - |
1513 | additional->force_command != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1514 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1515 | ) { | - |
1516 | if ( | - |
1517 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1518 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1519 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1520 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1521 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1522 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1523 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1524 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1525 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1526 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1527 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1528 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1529 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1530 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1531 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1532 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1533 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1534 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1535 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1536 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1537 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1538 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1539 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1540 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1541 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1542 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1543 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1544 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1545 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1546 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1547 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1548 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1549 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1550 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1551 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1552 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1553 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1554 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1555 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1556 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1557 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1558 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1559 | ))[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 |
1560 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1561 | ))[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 |
1562 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1563 | ))[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 *) ( primary->force_command ))[3] - __s2[3]); | 0 |
1564 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( primary->force_command ))[3] - __s2[3]); | 0 |
1565 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1566 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1567 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1568 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1569 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1570 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1571 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1572 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1573 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1574 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1575 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1576 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1577 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1578 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1579 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1580 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1581 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1582 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1583 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1584 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1585 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1586 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1587 | ))[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 |
1588 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1589 | ))[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 |
1590 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1591 | ))[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 *) ( additional->force_command ))[3] - __s2[3]); | 0 |
1592 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( additional->force_command ))[3] - __s2[3]); | 0 |
1593 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1594 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1595 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1596 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1597 | )))); })TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1598 | TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1599 | == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1600 | | - |
1601 | ret->force_command = | - |
1602 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1603 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1604 | )TRUE | never evaluated | FALSE | never evaluated |
&& ((TRUE | never evaluated | FALSE | never evaluated |
size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1605 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1606 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1607 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1608 | ) == 1)TRUE | never evaluated | FALSE | never evaluated |
? (((constTRUE | never evaluated | FALSE | never evaluated |
char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1609 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1610 | ))[0] == '\0'TRUE | never evaluated | FALSE | never evaluated |
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen ( | 0 |
1611 | primary->force_command | - |
1612 | ) + 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, primary->force_command , __len); | 0 |
1613 | primary->force_command never executed: __retval = (char *) memcpy (__retval, primary->force_command , __len); | 0 |
1614 | , __len); never executed: __retval = (char *) memcpy (__retval, primary->force_command , __len); __retval; })) : __strdup ( | 0 |
1615 | primary->force_command | - |
1616 | ))) | - |
1617 | ; | - |
1618 | if (ret->force_command == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1619 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1620 | ) | - |
1621 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1622 | } never executed: end of block else { | 0 |
1623 | errstr = "forced command options do not match"; | - |
1624 | goto never executed: goto fail; fail;never executed: goto fail; | 0 |
1625 | } | - |
1626 | } else if (primary->force_command != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1627 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1628 | ) { | - |
1629 | if ((TRUE | never evaluated | FALSE | never evaluated |
ret->force_command = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1630 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1631 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1632 | )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 |
1633 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1634 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1635 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1636 | ) == 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 |
1637 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1638 | ))[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 |
1639 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1640 | ) + 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, primary->force_command , __len); | 0 |
1641 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, primary->force_command , __len); | 0 |
1642 | , __len); __retval; })) : __strdup (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1643 | primary->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1644 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1645 | TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1646 | ) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1647 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1648 | ) | - |
1649 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1650 | } never executed: end of block else if (additional->force_command != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1651 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1652 | ) { | - |
1653 | if ((TRUE | never evaluated | FALSE | never evaluated |
ret->force_command = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1654 | (__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1655 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1656 | )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 |
1657 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1658 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1659 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1660 | ) == 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 |
1661 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1662 | ))[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 |
1663 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1664 | ) + 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, additional->force_command , __len); | 0 |
1665 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, additional->force_command , __len); | 0 |
1666 | , __len); __retval; })) : __strdup (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1667 | additional->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1668 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1669 | TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1670 | ) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1671 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1672 | ) | - |
1673 | goto never executed: goto alloc_fail; alloc_fail;never executed: goto alloc_fail; | 0 |
1674 | } never executed: end of block | 0 |
1675 | | - |
1676 | if (errstrp != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1677 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1678 | ) | - |
1679 | * never executed: *errstrp = ((void *)0) ; errstrp = never executed: *errstrp = ((void *)0) ; | 0 |
1680 | ((void *)0) never executed: *errstrp = ((void *)0) ; | 0 |
1681 | ; never executed: *errstrp = ((void *)0) ; | 0 |
1682 | return never executed: return ret; ret;never executed: return ret; | 0 |
1683 | | - |
1684 | alloc_fail: | - |
1685 | errstr = "memory allocation failed"; | - |
1686 | fail: code before this statement never executed: fail: | 0 |
1687 | if (errstrp != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1688 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1689 | ) | - |
1690 | * never executed: *errstrp = errstr; errstrp = errstr;never executed: *errstrp = errstr; | 0 |
1691 | sshauthopt_free(ret); | - |
1692 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1693 | ((void *)0) never executed: return ((void *)0) ; | 0 |
1694 | ; never executed: return ((void *)0) ; | 0 |
1695 | } | - |
1696 | | - |
1697 | | - |
1698 | | - |
1699 | | - |
1700 | struct sshauthopt * | - |
1701 | sshauthopt_copy(const struct sshauthopt *orig) | - |
1702 | { | - |
1703 | struct sshauthopt *ret; | - |
1704 | | - |
1705 | if ((TRUE | never evaluated | FALSE | never evaluated |
ret = sshauthopt_new()) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1706 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1707 | ) | - |
1708 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1709 | ((void *)0) never executed: return ((void *)0) ; | 0 |
1710 | ; never executed: return ((void *)0) ; | 0 |
1711 | | - |
1712 | | - |
1713 | ret->permit_port_forwarding_flag = orig->permit_port_forwarding_flag; | - |
1714 | ret->permit_agent_forwarding_flag = orig->permit_agent_forwarding_flag; | - |
1715 | ret->permit_x11_forwarding_flag = orig->permit_x11_forwarding_flag; | - |
1716 | ret->permit_pty_flag = orig->permit_pty_flag; | - |
1717 | ret->permit_user_rc = orig->permit_user_rc; | - |
1718 | ret->restricted = orig->restricted; | - |
1719 | ret->cert_authority = orig->cert_authority; | - |
1720 | ret->force_tun_device = orig->force_tun_device; | - |
1721 | ret->valid_before = orig->valid_before; | - |
1722 | do { if (orig->cert_principals != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1723 | ((TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1724 | && (TRUE | never evaluated | FALSE | never evaluated |
ret->cert_principals = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1725 | (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1726 | orig->cert_principalsTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1727 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
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 |
1728 | orig->cert_principalsTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1729 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+ 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1730 | orig->cert_principalsTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1731 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
== 1)TRUE | never evaluated | FALSE | never evaluated |
? (((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1732 | orig->cert_principalsTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1733 | ))[TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1734 | orig->cert_principalsTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1735 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+ 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, orig->cert_principals , __len); | 0 |
1736 | orig->cert_principalsTRUE | never evaluated | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, orig->cert_principals , __len); | 0 |
1737 | ,TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
__len); __retval; })) : __strdup (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1738 | orig->cert_principalsTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1739 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1740 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
== TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1741 | ((TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1742 | ) { sshauthopt_free(ret); return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1743 | (( never executed: return ((void *)0) ; never executed: return ((void *)0) ; void *)0)never executed: return ((void *)0) ; | 0 |
1744 | ; never executed: return ((void *)0) ; } } while (0); | 0 |
1745 | do { if (orig->force_command != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1746 | ((TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1747 | && (TRUE | never evaluated | FALSE | never evaluated |
ret->force_command = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1748 | (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1749 | orig->force_commandTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1750 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
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 |
1751 | orig->force_commandTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1752 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+ 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1753 | orig->force_commandTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1754 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
== 1)TRUE | never evaluated | FALSE | never evaluated |
? (((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1755 | orig->force_commandTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1756 | ))[TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1757 | orig->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1758 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+ 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, orig->force_command , __len); | 0 |
1759 | orig->force_commandTRUE | never evaluated | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, orig->force_command , __len); | 0 |
1760 | ,TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
__len); __retval; })) : __strdup (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1761 | orig->force_commandTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1762 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1763 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
== TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1764 | ((TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1765 | ) { sshauthopt_free(ret); return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1766 | (( never executed: return ((void *)0) ; never executed: return ((void *)0) ; void *)0)never executed: return ((void *)0) ; | 0 |
1767 | ; never executed: return ((void *)0) ; } } while (0); | 0 |
1768 | do { if (orig->required_from_host_cert != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1769 | ((TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1770 | && (TRUE | never evaluated | FALSE | never evaluated |
ret->required_from_host_cert = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1771 | (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1772 | orig->required_from_host_certTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1773 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
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 |
1774 | orig->required_from_host_certTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1775 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+ 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1776 | orig->required_from_host_certTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1777 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
== 1)TRUE | never evaluated | FALSE | never evaluated |
? (((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1778 | orig->required_from_host_certTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1779 | ))[TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1780 | orig->required_from_host_certTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1781 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+ 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, orig->required_from_host_cert , __len); | 0 |
1782 | orig->required_from_host_certTRUE | never evaluated | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, orig->required_from_host_cert , __len); | 0 |
1783 | ,TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
__len); __retval; })) : __strdup (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1784 | orig->required_from_host_certTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1785 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1786 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
== TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1787 | ((TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1788 | ) { sshauthopt_free(ret); return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1789 | (( never executed: return ((void *)0) ; never executed: return ((void *)0) ; void *)0)never executed: return ((void *)0) ; | 0 |
1790 | ; never executed: return ((void *)0) ; } } while (0); | 0 |
1791 | do { if (orig->required_from_host_keys != TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1792 | ((TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1793 | && (TRUE | never evaluated | FALSE | never evaluated |
ret->required_from_host_keys = TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1794 | (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
__extension__ (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1795 | orig->required_from_host_keysTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1796 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
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 |
1797 | orig->required_from_host_keysTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1798 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+ 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1799 | orig->required_from_host_keysTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1800 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
== 1)TRUE | never evaluated | FALSE | never evaluated |
? (((const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1801 | orig->required_from_host_keysTRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1802 | ))[TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
0] == '\0' ? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1803 | orig->required_from_host_keysTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1804 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
+ 1; char *__retval = (char *) malloc (__len); if (__retval != ((void *)0)) __retval = (char *) memcpy (__retval, never executed: __retval = (char *) memcpy (__retval, orig->required_from_host_keys , __len); | 0 |
1805 | orig->required_from_host_keysTRUE | never evaluated | FALSE | never evaluated |
never executed: __retval = (char *) memcpy (__retval, orig->required_from_host_keys , __len); | 0 |
1806 | ,TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
__len); __retval; })) : __strdup (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1807 | orig->required_from_host_keysTRUE | never evaluated | FALSE | never evaluated |
| 0 |
1808 | )))TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1809 | )TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
== TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1810 | ((TRUE | never evaluated | FALSE | never evaluated |
TRUE | never evaluated | FALSE | never evaluated |
void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1811 | ) { sshauthopt_free(ret); return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1812 | (( never executed: return ((void *)0) ; never executed: return ((void *)0) ; void *)0)never executed: return ((void *)0) ; | 0 |
1813 | ; never executed: return ((void *)0) ; } } while (0); | 0 |
1814 | | - |
1815 | | - |
1816 | if (dup_strings(&ret->env, &ret->nenv, orig->env, orig->nenv) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1817 | dup_strings(&ret->permitopen, &ret->npermitopen,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1818 | orig->permitopen, orig->npermitopen) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1819 | dup_strings(&ret->permitlisten, &ret->npermitlisten,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1820 | orig->permitlisten, orig->npermitlisten) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1821 | sshauthopt_free(ret); | - |
1822 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
1823 | ((void *)0) never executed: return ((void *)0) ; | 0 |
1824 | ; never executed: return ((void *)0) ; | 0 |
1825 | } | - |
1826 | return never executed: return ret; ret;never executed: return ret; | 0 |
1827 | } | - |
1828 | | - |
1829 | static int | - |
1830 | serialise_array(struct sshbuf *m, char **a, size_t n) | - |
1831 | { | - |
1832 | struct sshbuf *b; | - |
1833 | size_t i; | - |
1834 | int r; | - |
1835 | | - |
1836 | if (n > 0x7fffffffTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1837 | return never executed: return -1; -1;never executed: return -1; | 0 |
1838 | | - |
1839 | if ((TRUE | never evaluated | FALSE | never evaluated |
b = sshbuf_new()) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1840 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1841 | ) { | - |
1842 | return never executed: return -2; -2;never executed: return -2; | 0 |
1843 | } | - |
1844 | for (i = 0; i < nTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
1845 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_cstring(b, a[i])) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1846 | sshbuf_free(b); | - |
1847 | return never executed: return r; r;never executed: return r; | 0 |
1848 | } | - |
1849 | } never executed: end of block | 0 |
1850 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_u32(m, n)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1851 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_stringb(m, b)) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1852 | sshbuf_free(b); | - |
1853 | return never executed: return r; r;never executed: return r; | 0 |
1854 | } | - |
1855 | | - |
1856 | return never executed: return 0; 0;never executed: return 0; | 0 |
1857 | } | - |
1858 | | - |
1859 | static int | - |
1860 | deserialise_array(struct sshbuf *m, char ***ap, size_t *np) | - |
1861 | { | - |
1862 | char **a = | - |
1863 | ((void *)0) | - |
1864 | ; | - |
1865 | size_t i, n = 0; | - |
1866 | struct sshbuf *b = | - |
1867 | ((void *)0) | - |
1868 | ; | - |
1869 | u_int tmp; | - |
1870 | int r = -1; | - |
1871 | | - |
1872 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_u32(m, &tmp)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1873 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_froms(m, &b)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1874 | goto never executed: goto out; out;never executed: goto out; | 0 |
1875 | if (tmp > 0x7fffffffTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
1876 | r = -4; | - |
1877 | goto never executed: goto out; out;never executed: goto out; | 0 |
1878 | } | - |
1879 | n = tmp; | - |
1880 | if (n > 0TRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
a = calloc(n, sizeof(*a))) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1881 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1882 | ) { | - |
1883 | r = -2; | - |
1884 | goto never executed: goto out; out;never executed: goto out; | 0 |
1885 | } | - |
1886 | for (i = 0; i < nTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
1887 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_cstring(b, &a[i], TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1888 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1889 | )) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1890 | goto never executed: goto out; out;never executed: goto out; | 0 |
1891 | } never executed: end of block | 0 |
1892 | | - |
1893 | r = 0; | - |
1894 | *ap = a; | - |
1895 | a = | - |
1896 | ((void *)0) | - |
1897 | ; | - |
1898 | *np = n; | - |
1899 | n = 0; | - |
1900 | out: code before this statement never executed: out: | 0 |
1901 | for (i = 0; i < nTRUE | never evaluated | FALSE | never evaluated |
; i++) | 0 |
1902 | free(a[i]); never executed: free(a[i]); | 0 |
1903 | free(a); | - |
1904 | sshbuf_free(b); | - |
1905 | return never executed: return r; r;never executed: return r; | 0 |
1906 | } | - |
1907 | | - |
1908 | static int | - |
1909 | serialise_nullable_string(struct sshbuf *m, const char *s) | - |
1910 | { | - |
1911 | int r; | - |
1912 | | - |
1913 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_u8(m, s == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1914 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1915 | )) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1916 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_cstring(m, s)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1917 | return never executed: return r; r;never executed: return r; | 0 |
1918 | return never executed: return 0; 0;never executed: return 0; | 0 |
1919 | } | - |
1920 | | - |
1921 | static int | - |
1922 | deserialise_nullable_string(struct sshbuf *m, char **sp) | - |
1923 | { | - |
1924 | int r; | - |
1925 | u_char flag; | - |
1926 | | - |
1927 | *sp = | - |
1928 | ((void *)0) | - |
1929 | ; | - |
1930 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_u8(m, &flag)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1931 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_cstring(m, flag ? TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1932 | ((void *)0) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1933 | : sp, TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1934 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1935 | )) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1936 | return never executed: return r; r;never executed: return r; | 0 |
1937 | return never executed: return 0; 0;never executed: return 0; | 0 |
1938 | } | - |
1939 | | - |
1940 | int | - |
1941 | sshauthopt_serialise(const struct sshauthopt *opts, struct sshbuf *m, | - |
1942 | int untrusted) | - |
1943 | { | - |
1944 | int r = -1; | - |
1945 | | - |
1946 | | - |
1947 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->permit_port_forwarding_flag)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1948 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->permit_agent_forwarding_flag)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1949 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->permit_x11_forwarding_flag)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1950 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->permit_pty_flag)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1951 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->permit_user_rc)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1952 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->restricted)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1953 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->cert_authority)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1954 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_u64(m, opts->valid_before)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1955 | return never executed: return r; r;never executed: return r; | 0 |
1956 | | - |
1957 | | - |
1958 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_u8(m, opts->force_tun_device == -1)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1959 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_put_u32(m, (opts->force_tun_device < 0) ?TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1960 | 0 : (u_int)opts->force_tun_device)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1961 | return never executed: return r; r;never executed: return r; | 0 |
1962 | | - |
1963 | | - |
1964 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = serialise_nullable_string(m,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1965 | untrusted ? "yes" : opts->cert_principals)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1966 | (TRUE | never evaluated | FALSE | never evaluated |
r = serialise_nullable_string(m,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1967 | untrusted ? "true" : opts->force_command)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1968 | (TRUE | never evaluated | FALSE | never evaluated |
r = serialise_nullable_string(m,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1969 | untrusted ? TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1970 | ((void *)0) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1971 | : opts->required_from_host_cert)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1972 | (TRUE | never evaluated | FALSE | never evaluated |
r = serialise_nullable_string(m,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1973 | untrusted ? TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1974 | ((void *)0) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1975 | : opts->required_from_host_keys)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1976 | return never executed: return r; r;never executed: return r; | 0 |
1977 | | - |
1978 | | - |
1979 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = serialise_array(m, opts->env,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1980 | untrusted ? 0 : opts->nenv)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1981 | (TRUE | never evaluated | FALSE | never evaluated |
r = serialise_array(m, opts->permitopen,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1982 | untrusted ? 0 : opts->npermitopen)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
1983 | (TRUE | never evaluated | FALSE | never evaluated |
r = serialise_array(m, opts->permitlisten,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
1984 | untrusted ? 0 : opts->npermitlisten)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
1985 | return never executed: return r; r;never executed: return r; | 0 |
1986 | | - |
1987 | | - |
1988 | return never executed: return 0; 0;never executed: return 0; | 0 |
1989 | } | - |
1990 | | - |
1991 | int | - |
1992 | sshauthopt_deserialise(struct sshbuf *m, struct sshauthopt **optsp) | - |
1993 | { | - |
1994 | struct sshauthopt *opts = | - |
1995 | ((void *)0) | - |
1996 | ; | - |
1997 | int r = -1; | - |
1998 | u_char f; | - |
1999 | u_int tmp; | - |
2000 | | - |
2001 | if ((TRUE | never evaluated | FALSE | never evaluated |
opts = calloc(1, sizeof(*opts))) == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2002 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2003 | ) | - |
2004 | return never executed: return -2; -2;never executed: return -2; | 0 |
2005 | | - |
2006 | | - |
2007 | | - |
2008 | | - |
2009 | | - |
2010 | | - |
2011 | | - |
2012 | do { if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0TRUE | never evaluated | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->permit_port_forwarding_flag = f; } while (0); | 0 |
2013 | do { if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0TRUE | never evaluated | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->permit_agent_forwarding_flag = f; } while (0); | 0 |
2014 | do { if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0TRUE | never evaluated | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->permit_x11_forwarding_flag = f; } while (0); | 0 |
2015 | do { if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0TRUE | never evaluated | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->permit_pty_flag = f; } while (0); | 0 |
2016 | do { if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0TRUE | never evaluated | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->permit_user_rc = f; } while (0); | 0 |
2017 | do { if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0TRUE | never evaluated | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->restricted = f; } while (0); | 0 |
2018 | do { if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0TRUE | never evaluated | FALSE | never evaluated |
) gotonever executed: goto out; out;never executed: goto out; opts->cert_authority = f; } while (0); | 0 |
2019 | | - |
2020 | | - |
2021 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_u64(m, &opts->valid_before)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2022 | goto never executed: goto out; out;never executed: goto out; | 0 |
2023 | | - |
2024 | | - |
2025 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_u8(m, &f)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
2026 | (TRUE | never evaluated | FALSE | never evaluated |
r = sshbuf_get_u32(m, &tmp)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2027 | goto never executed: goto out; out;never executed: goto out; | 0 |
2028 | opts->force_tun_device = fTRUE | never evaluated | FALSE | never evaluated |
? -1 : (int)tmp; | 0 |
2029 | | - |
2030 | | - |
2031 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = deserialise_nullable_string(m, &opts->cert_principals)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
2032 | (TRUE | never evaluated | FALSE | never evaluated |
r = deserialise_nullable_string(m, &opts->force_command)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
2033 | (TRUE | never evaluated | FALSE | never evaluated |
r = deserialise_nullable_string(m,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2034 | &opts->required_from_host_cert)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
2035 | (TRUE | never evaluated | FALSE | never evaluated |
r = deserialise_nullable_string(m,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2036 | &opts->required_from_host_keys)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2037 | goto never executed: goto out; out;never executed: goto out; | 0 |
2038 | | - |
2039 | | - |
2040 | if ((TRUE | never evaluated | FALSE | never evaluated |
r = deserialise_array(m, &opts->env, &opts->nenv)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
2041 | (TRUE | never evaluated | FALSE | never evaluated |
r = deserialise_array(m,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2042 | &opts->permitopen, &opts->npermitopen)) != 0TRUE | never evaluated | FALSE | never evaluated |
|| | 0 |
2043 | (TRUE | never evaluated | FALSE | never evaluated |
r = deserialise_array(m,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
2044 | &opts->permitlisten, &opts->npermitlisten)) != 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
2045 | goto never executed: goto out; out;never executed: goto out; | 0 |
2046 | | - |
2047 | | - |
2048 | r = 0; | - |
2049 | *optsp = opts; | - |
2050 | opts = | - |
2051 | ((void *)0) | - |
2052 | ; | - |
2053 | out: code before this statement never executed: out: | 0 |
2054 | sshauthopt_free(opts); | - |
2055 | return never executed: return r; r;never executed: return r; | 0 |
2056 | } | - |
| | |