diff options
Diffstat (limited to 'src')
| -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(); |
