diff --git a/ChangeLog b/ChangeLog index ef846ce561..4325a66805 100644 --- 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 diff --git a/src/or/dirserv.c b/src/or/dirserv.c index 3e7dad01c4..483c6e4c3a 100644 --- a/src/or/dirserv.c +++ b/src/or/dirserv.c @@ -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;