Apparently NumEntryGuards is not considered if we add it after we already have a state file that indicates otherwise

If we set NumEntryGuards = 3 in torrc tor will use 3 entry guards for circuits.

After running like this, if we change the torrc parameter to NumEntryGuards = 2 and reload Tor, it will still use 3 entry guards that were sampled before and existent in the state file.

I don't know what is our best way to treat this:

  • when NumEntryGuards and/or NumPrimaryGuards changes value, delete the state file and start with a fresh one? This is a simple fix, but not the best one.

  • when NumEntryGuards and/or NumPrimaryGuards changes its value (I can only see this use case when it changes the value to a lower number, not a higher one), check in the state file the last used entry guard(s) and remove from the primary list the difference of guards.