aboutsummaryrefslogtreecommitdiff
path: root/changes
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2011-06-30 14:01:02 -0400
committerNick Mathewson <nickm@torproject.org>2011-07-19 01:58:43 -0400
commitddc65e2b3303559ab7b842a176ee6c2eda9e4027 (patch)
tree79acda709f16d4a8ba2dca99ad81e3c708358e17 /changes
parent2163e420b2aea36b57a620eb4bb2ff1e7c9e966f (diff)
downloadtor-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/prop17111
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.