diff options
author | Nick Mathewson <nickm@torproject.org> | 2011-06-30 14:01:02 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2011-07-19 01:58:43 -0400 |
commit | ddc65e2b3303559ab7b842a176ee6c2eda9e4027 (patch) | |
tree | 79acda709f16d4a8ba2dca99ad81e3c708358e17 /changes | |
parent | 2163e420b2aea36b57a620eb4bb2ff1e7c9e966f (diff) | |
download | tor-ddc65e2b3303559ab7b842a176ee6c2eda9e4027.tar tor-ddc65e2b3303559ab7b842a176ee6c2eda9e4027.tar.gz |
Parse prop171 options; refactor listener/port option code
Proposal 171 gives us a new syntax for parsing client port options.
You can now have as many FooPort options as you want (for Foo in
Socks, Trans, DNS, NATD), and they can have address:port arguments,
and you can specify the level of isolation on those ports.
Additionally, this patch refactors the client port parsing logic to
use a new type, port_cfg_t. Previously, ports to be bound were
half-parsed in config.c, and later re-parsed in connection.c when
we're about to bind them. Now, parsing a port means converting it
into a port_cfg_t, and binding it uses only a port_cfg_t, without
needing to parse the user-provided strings at all.
We should do a related refactoring on other port types. For
control ports, that'll be easy enough. For ORPort and DirPort,
we'll want to do this when we solve proposal 118 (letting servers
bind to and advertise multiple ports).
This implements tickets 3514 and 3515.
Diffstat (limited to 'changes')
-rw-r--r-- | changes/prop171 | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/changes/prop171 b/changes/prop171 new file mode 100644 index 000000000..057556edd --- /dev/null +++ b/changes/prop171 @@ -0,0 +1,11 @@ + o Minor features: + - There's a new syntax for specifying multiple client ports (such as + SOCKSPort, TransPort, DNSPort, NATDPort): you can now just declare + multiple ...Port entries with full addr:port syntax on each. + The old ...ListenAddress format is still supported, but you can't + mix it with the new SOCKSPort syntax. + + o Code simplifications and refactoring: + - Rewrote the listener-selection logic so that parsing which ports + we want to listen on is now separate form binding to the ports + we want. |