MapAddress wildcarding not working right
MapAddress wildcarding does not seem to be working right. Note the following three issues via the controller...
- When using the man documented format to enter the map:
mapaddress .example.com=.example.com..exit 512 syntax error: invalid address '*.example.com..exit'
With no map, I did not check the streams.
- When chancing upon an alternate format that returns 250:
mapaddress *.example.com=.exit 250 *.example.com=.exit
This results in these streams. Which appear to leak badly in that the first stream to a destination does not honor the exit.
Note that entering the following related map syntax does not SUCCEED, which is weird given the above streams:
This one does, which is documented expectation:
- The map in (2) is not removable by the syntax of setting the source (left) equal to (=) the destination (right):
mapaddress .example.com=.example.com 512 syntax error: invalid address '*.example.com'
Seems the solution may/should be...
- Adopt the syntax documented in (1), removing that acting in (2).
- Fix the stream issue shown in (2).
- Allow removal by syntax in (3).
- Document the map removal syntax in the control spec page.
- Check that removal from torrc and sighup works (as that is the form of the various options in the man page).
- Lint the inputted map to reject '=.exit' form.
Adding applicable environment...
trackhostexits . trackhostexitsexpire 604800 allowdotexit 1 signal NEWNYM