aboutsummaryrefslogtreecommitdiff
path: root/src/or/connection_or.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-10-16 13:41:55 -0400
committerNick Mathewson <nickm@torproject.org>2012-10-17 19:19:58 -0400
commit3d8b73db553712b2bea4fc74b8f478f1b1b39aee (patch)
tree15a9329801d89f8fb0a3eb1bd1d494ce98ec4241 /src/or/connection_or.h
parent94a030990986e6c731141da3969aeae3ec0f5ea8 (diff)
downloadtor-3d8b73db553712b2bea4fc74b8f478f1b1b39aee.tar
tor-3d8b73db553712b2bea4fc74b8f478f1b1b39aee.tar.gz
Discard extraneous renegotiation attempts in the v3 link protocol
Failure to do so left us open to a remotely triggerable assertion failure. Fixes CVE-2012-2249; bugfix on 0.2.3.6-alpha. Reported by "some guy from France". This patch is a forward-port to 0.2.4, to work with the new channel logic.
Diffstat (limited to 'src/or/connection_or.h')
-rw-r--r--src/or/connection_or.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/or/connection_or.h b/src/or/connection_or.h
index adfdde8d1..727de211b 100644
--- a/src/or/connection_or.h
+++ b/src/or/connection_or.h
@@ -21,6 +21,7 @@ or_connection_t *connection_or_get_for_extend(const char *digest,
int *launch_out);
void connection_or_set_bad_connections(const char *digest, int force);
+void connection_or_block_renegotiation(or_connection_t *conn);
int connection_or_reached_eof(or_connection_t *conn);
int connection_or_process_inbuf(or_connection_t *conn);
int connection_or_flushed_some(or_connection_t *conn);