]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix an infinite loop introduced in 0.1.2.7-alpha when we serve
authorRoger Dingledine <arma@torproject.org>
Fri, 16 Mar 2007 06:55:09 +0000 (06:55 +0000)
committerRoger Dingledine <arma@torproject.org>
Fri, 16 Mar 2007 06:55:09 +0000 (06:55 +0000)
directory information requested inside Tor connections (i.e. via
begin_dir cells). It only triggered when the same connection was
serving other data at the same time. Reported by seeess.

Backport candidate.

svn:r9841

ChangeLog
src/or/dirserv.c

index ef846ce56193b4d0673246bf83defaf3e4b0adf6..4325a6680559a1aac20408c9bc0952eafa55ec5a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,12 @@ Changes in version 0.2.0.1-alpha - 2007-??-??
       in the network. Implements proposal 1xx, suggested by Kevin Bauer
       and Damon McCoy.
 
+  o Major bugfixes:
+    - Fix an infinite loop introduced in 0.1.2.7-alpha when we serve
+      directory information requested inside Tor connections (i.e. via
+      begin_dir cells). It only triggered when the same connection was
+      serving other data at the same time. Reported by seeess.
+
   o Minor features (build):
     - Make autoconf search for libevent and openssl consistently.
     - Update deprecated macros in configure.in
index 3e7dad01c4150f0095926ccaa9e8013e28aa093f..483c6e4c3a2e0c46823abc762898ad1539f4850b 100644 (file)
@@ -2093,8 +2093,8 @@ connection_dirserv_stop_blocking_all_on_or_conn(or_connection_t *or_conn)
 {
   dir_connection_t *dir_conn, *next;
 
-  while (or_conn->blocked_dir_connections) {
-    dir_conn = or_conn->blocked_dir_connections;
+  dir_conn=or_conn->blocked_dir_connections;
+  while (dir_conn) {
     next = dir_conn->next_blocked_on_same_or_conn;
 
     dir_conn->is_blocked_on_or_conn = 0;