Tor should log 1-based hop numbers

The control-spec says hops are 1-based, and we often log "first hop":

  If HOP=HopNum is specified, Tor will choose the HopNumth hop in the
  circuit as the exit node, rather than the last node in the circuit.
  Hops are 1-indexed; generally, it is not permitted to attach to hop 1.

But the following functions log 0-based hops:

  • choose_good_middle_server
  • onion_extend_cpath (which also logs a 1-based hop message as well)

We need to add 1 to the 0-based hop counts in these functions.

Credit to Xiaofan Li for discovering this issue.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information