]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Describe how to regenerate the TLS state name table.
authorNick Mathewson <nickm@torproject.org>
Fri, 25 Sep 2009 16:57:54 +0000 (12:57 -0400)
committerNick Mathewson <nickm@torproject.org>
Fri, 25 Sep 2009 19:15:06 +0000 (15:15 -0400)
src/common/tortls_states.h

index d5efd087718f68e77992670822fb1cd61734ca68..986b5a8a0d1dab659313ab54679d57888cfbc70c 100644 (file)
@@ -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