[or-cvs] [tor/master] Describe how to regenerate the TLS state name table.

Nick Mathewson nickm at seul.org
Fri Sep 25 19:17:11 UTC 2009


Author: Nick Mathewson <nickm at torproject.org>
Date: Fri, 25 Sep 2009 12:57:54 -0400
Subject: Describe how to regenerate the TLS state name table.
Commit: 0a438c7daf19228e04cf71a5c68cb9d701685e58

---
 src/common/tortls_states.h |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/src/common/tortls_states.h b/src/common/tortls_states.h
index d5efd08..986b5a8 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 (<F>) {
+           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
-- 
1.5.6.5



More information about the tor-commits mailing list