When excluding nodes by country, exclude {??} and {A1} too
commitff9bdbd56ffdc4d91da377ca5e1624b58aeaab8e
authorNick Mathewson <nickm@torproject.org>
Thu, 17 Jan 2013 23:07:36 +0000 (17 18:07 -0500)
committerNick Mathewson <nickm@torproject.org>
Thu, 17 Jan 2013 23:07:36 +0000 (17 18:07 -0500)
tree0c44e10f1a65d15de9e1f203b8594885dd6bd828
parente0581a4b571f13dd0de801792c853e22ac244a36
When excluding nodes by country, exclude {??} and {A1} too

This is ticket 7706, reported by "bugcatcher."  The rationale here
is that if somebody says 'ExcludeNodes {tv}', then they probably
don't just want to block definitely Tuvaluan nodes: they also want
to block nodes that have unknown country, since for all they know
such nodes are also in Tuvalu.

This behavior is controlled by a new GeoIPExcludeUnknown autobool
option.  With the default (auto) setting, we exclude ?? and A1 if
any country is excluded.  If the option is 1, we add ?? and A1
unconditionally; if the option is 0, we never add them.

(Right now our geoip file doesn't actually seem to include A1: I'm
including it here in case it comes back.)

This feature only takes effect if you have a GeoIP file.  Otherwise
you'd be excluding every node.
changes/feature7706 [new file with mode: 0644]
doc/tor.1.txt
src/or/config.c
src/or/or.h
src/or/routerset.c
src/or/routerset.h