aboutsummaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorAndrea Shepard <andrea@persephoneslair.org>2012-07-10 19:18:47 -0700
committerNick Mathewson <nickm@torproject.org>2012-07-31 17:08:12 -0400
commit36c968491f424b4a9d4ad2b3eb69a29f9102a749 (patch)
tree8a4ae6049bee8fb78c41bd49fd2b6b4a9b319e23 /src/or/or.h
parent8f63ef10ad3e10dada545b28b7a66c58edc70d75 (diff)
downloadtor-36c968491f424b4a9d4ad2b3eb69a29f9102a749.tar.gz
tor-36c968491f424b4a9d4ad2b3eb69a29f9102a749.zip
Use new replaycache_t structure for replay detection in rend_service_introduce()
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/or/or.h b/src/or/or.h
index b6cffd4bea..2ce95c661a 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -98,6 +98,7 @@
#include "address.h"
#include "compat_libevent.h"
#include "ht.h"
+#include "replaycache.h"
/* These signals are defined to help handle_control_signal work.
*/
@@ -4214,12 +4215,15 @@ typedef struct rend_intro_point_t {
* intro point. */
unsigned int rend_service_note_removing_intro_point_called : 1;
- /** (Service side only) A digestmap recording the INTRODUCE2 cells
- * this intro point's circuit has received. Each key is the digest
- * of the RSA-encrypted part of a received INTRODUCE2 cell; each
- * value is a pointer to the time_t at which the cell was received.
- * This digestmap is used to prevent replay attacks. */
- digestmap_t *accepted_intro_rsa_parts;
+ /** (Service side only) A replay cache recording the RSA-encrypted parts
+ * of INTRODUCE2 cells this intro point's circuit has received. This is
+ * used to prevent replay attacks. */
+ replaycache_t *accepted_intro_rsa_parts;
+
+ /** (Service side only) Count of INTRODUCE2 cells accepted from this
+ * intro point.
+ */
+ int accepted_introduce2_count;
/** (Service side only) The time at which this intro point was first
* published, or -1 if this intro point has not yet been