diff options
Diffstat (limited to 'src/regress')
-rw-r--r-- | src/regress/lib/libssl/handshake/handshake_table.c | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/src/regress/lib/libssl/handshake/handshake_table.c b/src/regress/lib/libssl/handshake/handshake_table.c index 8432586b72..23b1db3216 100644 --- a/src/regress/lib/libssl/handshake/handshake_table.c +++ b/src/regress/lib/libssl/handshake/handshake_table.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: handshake_table.c,v 1.6 2019/01/24 16:32:29 tb Exp $ */ | 1 | /* $OpenBSD: handshake_table.c,v 1.7 2019/01/25 01:21:44 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2019 Theo Buehler <tb@openbsd.org> | 3 | * Copyright (c) 2019 Theo Buehler <tb@openbsd.org> |
4 | * | 4 | * |
@@ -137,10 +137,10 @@ void build_table(enum tls13_message_type | |||
137 | size_t count_handshakes(void); | 137 | size_t count_handshakes(void); |
138 | const char *flag2str(uint8_t flag); | 138 | const char *flag2str(uint8_t flag); |
139 | int generate_graphics(void); | 139 | int generate_graphics(void); |
140 | void fprint_entry(FILE *stream, | ||
141 | enum tls13_message_type path[TLS13_NUM_MESSAGE_TYPES], uint8_t flags); | ||
142 | void fprint_flags(FILE *stream, uint8_t flags); | ||
140 | const char *mt2str(enum tls13_message_type mt); | 143 | const char *mt2str(enum tls13_message_type mt); |
141 | void print_entry(enum tls13_message_type path[TLS13_NUM_MESSAGE_TYPES], | ||
142 | uint8_t flags); | ||
143 | void print_flags(uint8_t flags); | ||
144 | __dead void usage(void); | 144 | __dead void usage(void); |
145 | int verify_table(enum tls13_message_type | 145 | int verify_table(enum tls13_message_type |
146 | table[UINT8_MAX][TLS13_NUM_MESSAGE_TYPES], int print); | 146 | table[UINT8_MAX][TLS13_NUM_MESSAGE_TYPES], int print); |
@@ -248,12 +248,12 @@ mt2str(enum tls13_message_type mt) | |||
248 | } | 248 | } |
249 | 249 | ||
250 | void | 250 | void |
251 | print_flags(uint8_t flags) | 251 | fprint_flags(FILE *stream, uint8_t flags) |
252 | { | 252 | { |
253 | int first = 1, i; | 253 | int first = 1, i; |
254 | 254 | ||
255 | if (flags == 0) { | 255 | if (flags == 0) { |
256 | printf("%s", flag2str(flags)); | 256 | fprintf(stream, "%s", flag2str(flags)); |
257 | return; | 257 | return; |
258 | } | 258 | } |
259 | 259 | ||
@@ -261,28 +261,29 @@ print_flags(uint8_t flags) | |||
261 | uint8_t set = flags & (1U << i); | 261 | uint8_t set = flags & (1U << i); |
262 | 262 | ||
263 | if (set) { | 263 | if (set) { |
264 | printf("%s%s", first ? "" : " | ", flag2str(set)); | 264 | fprintf(stream, "%s%s", first ? "" : " | ", |
265 | flag2str(set)); | ||
265 | first = 0; | 266 | first = 0; |
266 | } | 267 | } |
267 | } | 268 | } |
268 | } | 269 | } |
269 | 270 | ||
270 | void | 271 | void |
271 | print_entry(enum tls13_message_type path[TLS13_NUM_MESSAGE_TYPES], | 272 | fprint_entry(FILE *stream, enum tls13_message_type path[TLS13_NUM_MESSAGE_TYPES], |
272 | uint8_t flags) | 273 | uint8_t flags) |
273 | { | 274 | { |
274 | int i; | 275 | int i; |
275 | 276 | ||
276 | printf("\t["); | 277 | fprintf(stream, "\t["); |
277 | print_flags(flags); | 278 | fprint_flags(stream, flags); |
278 | printf("] = {\n"); | 279 | fprintf(stream, "] = {\n"); |
279 | 280 | ||
280 | for (i = 0; i < TLS13_NUM_MESSAGE_TYPES; i++) { | 281 | for (i = 0; i < TLS13_NUM_MESSAGE_TYPES; i++) { |
281 | if (path[i] == 0) | 282 | if (path[i] == 0) |
282 | break; | 283 | break; |
283 | printf("\t\t%s,\n", mt2str(path[i])); | 284 | fprintf(stream, "\t\t%s,\n", mt2str(path[i])); |
284 | } | 285 | } |
285 | printf("\t},\n"); | 286 | fprintf(stream, "\t},\n"); |
286 | } | 287 | } |
287 | 288 | ||
288 | int | 289 | int |
@@ -312,12 +313,12 @@ generate_graphics(void) | |||
312 | (forced || illegal) ? ", " : ""); | 313 | (forced || illegal) ? ", " : ""); |
313 | if (forced) { | 314 | if (forced) { |
314 | printf("label=\"if "); | 315 | printf("label=\"if "); |
315 | print_flags(stateinfo[start][end].forced); | 316 | fprint_flags(stdout, forced); |
316 | printf("\"%s", illegal ? ", " : ""); | 317 | printf("\"%s", illegal ? ", " : ""); |
317 | } | 318 | } |
318 | if (illegal) { | 319 | if (illegal) { |
319 | printf("label=\"not if "); | 320 | printf("label=\"not if "); |
320 | print_flags(stateinfo[start][end].illegal); | 321 | fprint_flags(stdout, illegal); |
321 | printf("\""); | 322 | printf("\""); |
322 | } | 323 | } |
323 | if (flag || forced || illegal) | 324 | if (flag || forced || illegal) |
@@ -401,15 +402,16 @@ verify_table(enum tls13_message_type table[UINT8_MAX][TLS13_NUM_MESSAGE_TYPES], | |||
401 | 402 | ||
402 | for (i = 0; i < TLS13_NUM_MESSAGE_TYPES; i++) { | 403 | for (i = 0; i < TLS13_NUM_MESSAGE_TYPES; i++) { |
403 | if (table[flags][i] != handshakes[flags][i]) { | 404 | if (table[flags][i] != handshakes[flags][i]) { |
404 | printf("incorrect entry %d of handshake ", i); | 405 | fprintf(stderr, |
405 | print_flags(flags); | 406 | "incorrect entry %d of handshake ", i); |
406 | printf("\n"); | 407 | fprint_flags(stderr, flags); |
408 | fprintf(stderr, "\n"); | ||
407 | success = 0; | 409 | success = 0; |
408 | } | 410 | } |
409 | } | 411 | } |
410 | 412 | ||
411 | if (print) | 413 | if (print) |
412 | print_entry(table[flags], flags); | 414 | fprint_entry(stdout, table[flags], flags); |
413 | } while(++flags != 0); | 415 | } while(++flags != 0); |
414 | 416 | ||
415 | num_valid = count_handshakes(); | 417 | num_valid = count_handshakes(); |