Don't obsolete a very-new connection for having no circuits yet.
commite06de61d84e3c0fc152edeb622246baeb637874a
authorNick Mathewson <nickm@torproject.org>
Wed, 28 Jan 2009 17:36:41 +0000 (28 17:36 +0000)
committerNick Mathewson <nickm@torproject.org>
Wed, 28 Jan 2009 17:36:41 +0000 (28 17:36 +0000)
tree5035ec1b3f361efdef52713aee4cd0ad41ccc50d
parent62a460d55fba032ace5795429648963d01f63a6c
Don't obsolete a very-new connection for having no circuits yet.

This fixes the last known case of bug 891, which could happen if two
hosts, A and B, disagree about how long a circuit has been open,
because of clock drift of some kind.  Host A would then mark the
connection as is_bad_for_new_circs when it got too old and open a new
connection.  In between when B receives a NETINFO cell on the new
conn, and when B receives a conn cell on the new circuit, the new
circuit will seem worse to B than the old one, and so B will mark it
as is_bad_for_new_circs in the second or third loop of
connection_or_group_set_badness().

Bugfix on 0.1.1.13-alpha.  Bug found by rovv.

Not a backport candidate: the bug is too obscure and the fix too tricky.

svn:r18303
ChangeLog
src/or/connection_or.c