From 0a438c7daf19228e04cf71a5c68cb9d701685e58 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 25 Sep 2009 12:57:54 -0400 Subject: Describe how to regenerate the TLS state name table. --- src/common/tortls_states.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/common') diff --git a/src/common/tortls_states.h b/src/common/tortls_states.h index d5efd0877..986b5a8a0 100644 --- a/src/common/tortls_states.h +++ b/src/common/tortls_states.h @@ -3,9 +3,30 @@ * Copyright (c) 2007-2009, The Tor Project, Inc. */ /* See LICENSE for licensing information */ +/* Helper file: included only in tortls.c */ + #ifndef _TORTLS_STATES_H #define _TORTLS_STATES_H +/* The main body of this file was mechanically generated with this + perl script: + + my %keys = (); + for $fn (@ARGV) { + open(F, $fn); + while () { + next unless /^#define ((?:SSL|DTLS)\w*_ST_\w*)/; + $keys{$1} = 1; + } + close(F); + } + for $k (sort keys %keys) { + print "#ifdef $k\n S($k),\n#endif\n" + } +*/ + +/** Mapping from allowed value of SSL.state to the name of C macro for that + * state. Used for debugging an openssl connection. */ static const struct { int state; const char *name; } state_map[] = { #define S(state) { state, #state } #ifdef DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A -- cgit v1.2.3