Sebastian Hahn
03c06b629f
Add new stats type: descriptor fetch stats
...
This is used for the bridge authority currently, to get a better
intuition on how many descriptors are actually fetched from it and how
many fetches happen in total.
Implements ticket 4200.
2011-10-21 11:21:42 -04:00
Robert Ransom
9df99bbb91
Check whether a client port is a Unix socket before using its IP addr
...
Bugfix on commit c1ac0695d5
, not yet in any
release. Fixes bug 4091; bug reported by SwissTorHelp.
2011-10-20 03:17:23 -07:00
Nick Mathewson
00b2b69add
Fix names of functions that convert strings to addrs
...
Now let's have "lookup" indicate that there can be a hostname
resolution, and "parse" indicate that there wasn't. Previously, we
had one "lookup" function that did resolution; four "parse" functions,
half of which did resolution; and a "from_str()" function that didn't
do resolution. That's confusing and error-prone!
The code changes in this commit are exactly the result of this perl
script, run under "perl -p -i.bak" :
s/tor_addr_port_parse/tor_addr_port_lookup/g;
s/parse_addr_port(?=[^_])/addr_port_lookup/g;
s/tor_addr_from_str/tor_addr_parse/g;
This patch leaves aton and pton alone: their naming convention and
behavior is is determined by the sockets API.
More renaming may be needed.
2011-10-11 11:30:12 -04:00
Nick Mathewson
69921837a7
Fix a bunch of whitespace errors
2011-10-11 11:30:01 -04:00
Sebastian Hahn
b4bd836f46
Consider hibernation before dropping privs
...
Without this patch, Tor wasn't sure whether it would be hibernating or
not, so it postponed opening listeners until after the privs had been
dropped. This doesn't work so well for low ports. Bug was introduced in
the fix for bug 2003. Fixes bug 4217, reported by Zax and katmagic.
Thanks!
2011-10-11 02:42:12 +02:00
Nick Mathewson
8b0ee60fe7
reinstate a notice for the non-loopback socksport case
...
Thanks to prop171, it's no longer a crazy thing to do, but you should
make sure that you really meant it!
2011-10-07 16:34:21 -04:00
Nick Mathewson
b49fcc6cf2
Merge remote-tracking branch 'rransom-tor/bug4018'
2011-10-07 16:32:04 -04:00
Nick Mathewson
ed39621a9d
Merge remote-tracking branch 'asn2/bug3656'
...
Conflicts:
src/common/util.c
src/common/util.h
src/or/config.h
src/or/main.c
src/test/test_util.c
2011-10-07 16:05:13 -04:00
George Kadianakis
105cc42e96
Support multiple transports in a single transport line.
...
Support multiple comma-separated transpotrs in a single
{Client,Server}TransportPlugin line.
2011-10-07 14:13:41 +02:00
Roger Dingledine
f6db0f128c
refill our token buckets 10 times/sec, not 100
...
refilling often is good, but refilling often has unclear side effects
on a) cpu load, and b) making sure every cell, ever, is sent out one at
a time
2011-09-28 15:38:36 -04:00
George Kadianakis
e2703e3654
Improve wording in some comments and log messages.
2011-09-23 17:50:56 +02:00
Nick Mathewson
41dfc4c19c
Make bufferevents work with TokenBucketRefillInterval
2011-09-22 15:07:34 -04:00
Nick Mathewson
0721abbf1b
Move around check for TokenBucketRefillInterval; disallow changes to it
2011-09-22 15:07:34 -04:00
Florian Tschorsch
6b1d8321ae
New torrc option to allow bucket refill intervals of less than 1 sec
...
Implements bug3630.
2011-09-22 15:07:23 -04:00
Robert Ransom
c1ac0695d5
Fix a bogus warning
2011-09-14 00:05:03 -07:00
George Kadianakis
2e73f9b3ee
Put some sense into our logging.
...
Transform our logging severities to something more sensible.
Remove sneaky printf()s.
2011-09-12 00:10:07 +02:00
George Kadianakis
d0416ce3ec
Don't warn of stray Bridges if managed proxies are still unconfigured.
...
With managed proxies you would always get the error message:
"You have a Bridge line using the X pluggable transport, but there
doesn't seem to be a corresponding ClientTransportPlugin line."
because the check happened directly after parse_client_transport_line()
when managed proxies were not fully configured and their transports
were not registered.
The fix is to move the validation to run_scheduled_events() and make
sure that all managed proxies are configured first.
2011-09-11 23:51:29 +02:00
George Kadianakis
e8715b3041
Constification.
2011-09-11 23:35:00 +02:00
George Kadianakis
de7565f87f
Make check-spaces happy.
2011-09-11 23:34:36 +02:00
George Kadianakis
c6811c57cb
Enforce transport names being C identifiers.
...
Introduce string_is_C_identifier() and use it to enforce transport
names according to the 180 spec.
2011-09-11 23:34:11 +02:00
George Kadianakis
3136107421
Trivial fixes around the code.
...
* C90-fy.
* Remove ASN comments.
* Don't smartlist_clear() before smartlist_free().
* Plug a mem. leak.
2011-09-11 23:33:31 +02:00
George Kadianakis
9a42ec6857
Be more defensive in get_transport_bindaddr().
...
Make sure that lines in get_transport_bindaddr() begin with the name
of the transport and a space.
2011-09-11 21:33:02 +02:00
George Kadianakis
ebc232bb79
Fix bug in get_transport_in_state_by_name() when using strcmpstart().
...
We now split the state lines into smartlists and compare the token
properly. Not that efficient but it's surely correct.
2011-09-11 21:22:37 +02:00
George Kadianakis
2703e41d8b
Improve how we access or_state_t.
...
* Use get_or_state()->VirtualOption instead of relying on
config_find_option(), STRUCT_VAR_P and voodoo.
2011-09-11 20:57:01 +02:00
George Kadianakis
fa514fb207
Prepare circuitbuild.[ch] and config.[ch] for SIGHUPs.
...
* Create mark/sweep functions for transports.
* Create a transport_resolve_conflicts() function that tries to
resolve conflicts when registering transports.
2011-09-11 20:28:47 +02:00
Roger Dingledine
cca806c56c
fix whitespace (two-space indent)
2011-09-11 01:33:04 -04:00
Fabian Keil
c6f6b567e0
Stop parse_client_port_config() from misinterpreting FooListenAddress and FooPort in legacy syntax
...
Previously the FooPort was ignored and the default used instead,
causing Tor to bind to the wrong port if FooPort and the default
port don't match or the CONN_TYPE_FOO_LISTENER has no default port.
Fixes #3936 .
2011-09-10 17:48:37 -04:00
Fabian Keil
087e0569c3
Fix whitespace in parse_client_port_config()
2011-09-10 17:48:36 -04:00
Nick Mathewson
41eef6680e
Merge remote-tracking branch 'origin/maint-0.2.2'
...
Conflicts:
src/or/dirserv.c
src/or/networkstatus.c
Conflicts were related to routerinfo->node shift.
2011-09-07 14:51:55 -04:00
Nick Mathewson
dfa6cde4d4
Merge remote-tracking branch 'public/bug2649_squashed' into maint-0.2.2
2011-09-07 14:43:06 -04:00
Nick Mathewson
dd6a9a923d
Disable run-time changes to DisableIOCP: They do not work
2011-08-19 17:07:54 -04:00
Nick Mathewson
06be6105e4
Merge remote-tracking branch 'origin/maint-0.2.2'
...
Conflicts:
src/or/config.c
2011-08-17 12:00:44 -04:00
Nick Mathewson
d79d648edc
Don't write ControlPorts to disk till after we setuid and make datadir
...
Fix for bug 3747; bugfix on 0.2.2.26-beta.
2011-08-17 11:22:16 -04:00
Nick Mathewson
6650dc932a
Remove a needless config_find_option
2011-08-17 10:46:22 -04:00
Kamran Riaz Khan
e6e804848c
Don't compare LINELIST_S and OBSOLETE config options.
2011-08-16 06:28:38 +05:00
George Kadianakis
db4cde3810
Improve the code a tad.
...
* Use strcmpstart() instead of strcmp(x,y,strlen(y)).
* Warn the user if the managed proxy failed to launch.
* Improve function documentation.
* Use smartlist_len() instead of n_unconfigured_proxies.
* Split managed_proxy_destroy() to managed_proxy_destroy()
and managed_proxy_destroy_with_transports().
* Constification.
2011-08-15 17:26:03 +02:00
George Kadianakis
ea3e9416c6
Spawn multiple protocols using a single managed proxy.
...
If multiple torrc transport lines have the same argv, tor instructs a
single managed proxy to launch multiple protocols.
2011-08-12 21:33:05 +02:00
Nick Mathewson
5da9f722f2
Whitespace tweaks
2011-08-10 15:06:45 -04:00
Nick Mathewson
5252c9434f
Fix a const warning in bug1692 code
2011-08-10 15:06:11 -04:00
Nick Mathewson
b76f46c6d8
Merge branch 'bug1692-squashed'
2011-08-10 15:04:36 -04:00
Kamran Riaz Khan
643913de75
Escape configuration values before sending them via CONF_CHANGED.
2011-08-10 15:03:24 -04:00
Nick Mathewson
333df6006d
Make FooPort 0 correctly disable the FooPort.
...
Since the prop171 stuff, it had instead made Tor bind port 0, and
re-bind it differently all the time.
Resolves bug3704; not in any released version.
2011-08-09 14:52:22 -04:00
Kamran Riaz Khan
02c62b2966
Refactor to do CONF_CHANGED event formatting inside control.c
2011-08-08 19:19:06 +05:00
Kamran Riaz Khan
5a801a8c8b
Emits CONF_CHANGED events whenever Tor's configuration values change.
2011-08-08 04:38:53 +05:00
George Kadianakis
941709ee50
Server transport proxies should bind on the same port each time, if possible.
2011-08-07 18:05:40 +02:00
Nick Mathewson
e5e7b6d718
Make --quiet and --hush apply to default logs, not only initial logs
...
Fixes bug 3550; bugfix on 0.2.0.10-alpha (where --quiet was introduced).
2011-08-04 14:23:51 -04:00
Nick Mathewson
6e923ed8cd
Add an OptimisticData option to control client-side optimistic data
2011-07-20 14:14:21 -04:00
Nick Mathewson
e05ddf3e18
Check for port config before addr config in client port options
...
Otherwise, we'll fail, since "9050" looks like a perfectly fine address.
2011-07-20 13:40:09 -04:00
Nick Mathewson
6fa99ab32f
Oops: we need to call parse_client_ports with validate_only==0 at least once
2011-07-20 13:35:02 -04:00
Nick Mathewson
2a6d12c7ad
Fix a warning message. (Found by rransom)
2011-07-20 13:15:04 -04:00