In my prop271 code as it is, we call entry_guard_succeeded() from connection_dir_process_inbuf(). But apparently that can get called without data actually having been read. We should instead call the guard successful only when we get good-looking headers from it.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
If we are going to make this change, maybe we should make it in the bootstrapping code, too?
It calls a hard-coded directory connection successful when it connects.
But maybe we want to wait until we start receiving sensible info from it?
(This could be a separate but related ticket.)
I can verify that this fix works, as Tor used to mark many guards as successful just because we reached connection_dir_process_inbuf() (which apparently can happen when the socket closes).
The new code does not seem to false-positive mark guards as up. merge_ready from me as well.