Mike Perry
728e946efd
Bug 1245: Ignore negative and large timeouts.
...
This should prevent some asserts and storage of incorrect build times
for the cases where Tor is suspended during a circuit construction, or
just after completing a circuit. The idea is that if the circuit
build time is much greater than we would have cut it off at, we probably
had a suspend event along this codepath, and we should discard the
value.
2010-05-10 13:11:46 -07:00
Mike Perry
e40e35507e
Bump timeout calculation message to notice when timeout changes.
2010-05-10 13:01:25 -07:00
Mike Perry
eecdd94dec
Add consensus parameter for max synthetic quantile.
...
In case we decide that the timeout rate is now too high due to our
change of the max synthetic quantile value, this consensus parameter
will allow us to restore it to the previous value.
2010-05-10 13:00:34 -07:00
Mike Perry
835ab53102
Add a TIMEOUT_RATE keyword to buildtimeout event.
2010-05-10 12:59:05 -07:00
Mike Perry
3bbc3e2137
Bug 1335: Implement filtering step to remove+prevent high timeouts.
...
This is for the other issue we saw in Bug 1335. A large number of high
timeouts were causing the timeout calculation to slowly drift upwards,
especially in conditions of load. This fix repeatedly regenerates all of
our synthetic timeouts whenever the timeout changes, to try to prevent
drift.
It also lowers the timeout cap to help for some cases of Bug 1245, where
some timeout values were so large that we ended up allocating a ton of
scratch memory to count the histogram bins.
The downside is that lowering this cap is affecting our timeout rate.
Unfortunately, the buildtimeout quantile is now higher than the actual
completion rate by what appears to be about 7-10%, which probably
represents the skew in the distribution due to lowering this synthetic
cap.
2010-05-10 12:58:10 -07:00
Mike Perry
cc2a48f1be
Bug 1335: Alter Xm calculation to be weighted avg of top N=3 modes.
...
In my state files, I was seeing several peaks, probably due to different
guards having different latency. This change is meant to better capture
this behavior and generate more reasonable timeouts when it happens. It
is improving the timeout values for my collection of state files.
2010-05-10 12:46:49 -07:00
Roger Dingledine
e7bd97493c
Merge branch 'maint-0.2.1'
2010-04-23 20:26:23 -04:00
Roger Dingledine
67b38d5068
close idle tls conns early
2010-04-23 20:23:00 -04:00
Roger Dingledine
b3019c6d2b
Merge branch 'maint-0.2.1'
2010-04-23 19:46:29 -04:00
Roger Dingledine
b264192083
finally get rid of "clique mode"
2010-04-23 19:39:42 -04:00
Roger Dingledine
cb31978adb
close idle dir-fetch circs early
2010-04-23 18:35:11 -04:00
Roger Dingledine
573e1d40b3
finally get rid of "clique mode"
2010-04-21 21:35:18 -04:00
Roger Dingledine
6952b445cc
stop authority reachability check on startup
2010-04-21 04:27:56 -04:00
Roger Dingledine
4f307e0382
immediate reachability check for new relays
2010-04-21 03:12:14 -04:00
Roger Dingledine
92a6ae2b8d
more logging when tracking missing descriptors
2010-04-20 18:02:23 -04:00
Roger Dingledine
eaf5487d95
fetch descriptors from the authority that told us about them
2010-04-20 03:20:31 -04:00
Roger Dingledine
2e692bd8c9
fetch unknown descriptors if we see them in a vote
2010-04-20 03:03:33 -04:00
Roger Dingledine
77babb832a
minor cleanups
2010-04-20 02:48:35 -04:00
Nick Mathewson
f2c30e97cc
Switch geoip_get_request_history to asprintf; fix bug 1365
2010-04-20 01:09:40 -04:00
Roger Dingledine
de4a49adc2
fix "Got a certificate for ?? that we already have"
...
what's happening here is that we're fetching certs for obsolete
authorities -- probably legacy signers in this case. but try to
remain general in the log message.
2010-04-19 18:35:57 -04:00
Nick Mathewson
e3cd535c7c
Move the declaration of bandwidth_rate_rule_to_string
...
It's natural for the definition of bandwidth_rule_t to be with the functions
that actually care about its values. Unfortunately, this means declaring
bandwidth_rate_rule_to_string() out of sequence. Someday we'll just rename
reasons.c to strings.c, and put it at the end of or.h, and this will all be
better.
2010-04-19 16:39:29 -04:00
Roger Dingledine
c9573cf50b
parameterize update_consensus_router_descriptor_downloads
2010-04-19 04:40:45 -04:00
Roger Dingledine
c29977ce00
simplify a path in networkstatus
2010-04-15 10:13:35 -04:00
Sebastian Hahn
71fb687ddd
Add --enable-static-zlib option
...
Works like the --enable-static-openssl/libevent options. Requires
--with-zlib-dir to be set. Note that other dependencies might still
pull in a dynamicly linked zlib, if you don't link them in statically
too.
2010-04-14 19:28:21 +02:00
Nick Mathewson
fe57aab283
Merge branch 'correct_halflife'
2010-04-13 13:37:33 -04:00
Nick Mathewson
96a0edf373
Rename CircPriorityHalflifeMsec to CircuitPriorityHalflifeMsec
...
Everything that accepted the 'Circ' name handled it wrong, so even now
that we fixed the handling of the parameter, we wouldn't be able to
set it without making all the 0.2.2.7..0.2.2.10 relays act wonky.
This patch makes Tors accept the 'Circuit' name instead, so we can
turn on circuit priorities without confusing the versions that treated
the 'Circ' name as occasion to act weird.
2010-04-13 13:29:30 -04:00
Peter Palfrader
5e679acc72
testsuite: Prevent the main thread from starving the worker threads
2010-04-12 18:15:20 -04:00
Peter Palfrader
a02923122e
testsuite: Only free the main mutex when and if all the worker threads are done
2010-04-12 18:15:17 -04:00
Nick Mathewson
311aca5a34
Log bandwidth_weight_rule_t as a string, not an integer.
...
I'm adding this because I can never remember what stuff like 'rule 3'
means. That's the one where if somebody goes limp or taps out, the
fight is over, right?
2010-04-12 18:12:49 -04:00
Nick Mathewson
d888a8210f
Fix a bug in reading CircPriorityHalflife from consensus
...
When you mean (a=b(c,d)) >= 0, you had better not say (a=b(c,d)>=0).
We did the latter, and so whenever CircPriorityHalflife was in the
consensus, it was treated as having a value of 1 msec (that is,
boolean true).
2010-04-12 15:38:54 -04:00
Roger Dingledine
8aec982f91
Merge branch 'maint-0.2.1'
...
Conflicts:
ChangeLog
configure.in
contrib/tor-mingw.nsi.in
src/win32/orconfig.h
2010-04-03 22:05:02 -04:00
Roger Dingledine
0324d3b0ec
fetch relay descriptors from v3 authorities
2010-04-03 21:53:29 -04:00
Sebastian Hahn
80d9737e70
Fix a segfault when a client is hup'd.
...
We need to make sure we have an event_base in dns.c before we call
anything that wants one. Make sure we always have one in dns_reset()
when we're a client. Fixes bug 1341.
2010-04-03 12:31:59 +02:00
Nick Mathewson
927425150b
Merge branch 'asprintf'
2010-04-02 12:30:46 -04:00
Sebastian Hahn
cae769d646
Segfault less during consensus generation without params
...
If no authority votes on any params, Tor authorities segfault when
trying to make a new consensus from the votes. Let's change that.
2010-03-29 22:25:37 +02:00
Roger Dingledine
fe3380609e
In the glorious future, all relays cache dir info.
...
Now if you're a published relay and you set RefuseUnknownExits, even
if your dirport is off, you'll fetch dir info from the authorities,
fetch it early, and cache it.
In the future, RefuseUnknownExits (or something like it) will be on
by default.
2010-03-16 04:02:18 -04:00
Roger Dingledine
1108358e96
let people test the RefuseUnknownExits idea
2010-03-10 22:43:23 -05:00
Roger Dingledine
625963d92a
commit my annotations while i was hunting down the host order bug
2010-03-05 16:04:01 -05:00
Nick Mathewson
eb2e56ad3c
Merge commit 'origin/maint-0.2.1'
...
Conflicts:
src/or/config.c
src/or/test.c
2010-03-04 18:44:31 -05:00
Nick Mathewson
3ff092391b
Apply Roger's bug 1269 fix.
...
From http://archives.seul.org/tor/relays/Mar-2010/msg00006.html :
As I understand it, the bug should show up on relays that don't set
Address to an IP address (so they need to resolve their Address
line or their hostname to guess their IP address), and their
hostname or Address line fails to resolve -- at that point they'll
pick a random 4 bytes out of memory and call that their address. At
the same time, relays that *do* successfully resolve their address
will ignore the result, and only come up with a useful address if
their interface address happens to be a public IP address.
2010-03-04 18:37:40 -05:00
Nick Mathewson
b3ec39af8f
Merge remote branch 'mikeperry/bwweight-smartlistfix'
2010-03-04 00:13:23 -05:00
Mike Perry
2b5e1d3636
Woops, forgot the second warn.
...
Also, differentiate the two log messages.
2010-03-03 21:02:01 -08:00
Mike Perry
97eec84f4b
Demote warn to info, since it can happen.
...
I still feel like we should investigate this case. It seems odd.
2010-03-03 17:35:06 -08:00
Nick Mathewson
404af59ed5
Backport fix for time-goes-forward test. Fix bug 1267
2010-03-02 10:40:21 -05:00
Nick Mathewson
47e919424d
Tweak users of snprintf to use asprintf where appropriate
2010-02-28 21:46:50 -05:00
Nick Mathewson
9caecc1e48
Merge branch 'fix_routerparse_bug'
2010-02-28 13:48:05 -05:00
Nick Mathewson
da220157a9
Update copyright dates for files not in maint-0.2.1
2010-02-27 17:19:00 -05:00
Nick Mathewson
b006e3279f
Merge remote branch 'origin/maint-0.2.1'
...
Conflicts:
src/common/test.h
src/or/test.c
2010-02-27 17:16:31 -05:00
Nick Mathewson
c3e63483b2
Update Tor Project copyright years
2010-02-27 17:14:21 -05:00
Nick Mathewson
27a8a56e6c
Fix a consensus-extension bug found by outofwords
...
When the bandwidth-weights branch added the "directory-footer"
token, and began parsing the directory footer at the first
occurrence of "directory-footer", it made it possible to fool the
parsing algorithm into accepting unsigned data at the end of a
consensus or vote. This patch fixes that bug by treating the footer
as starting with the first "directory-footer" or the first
"directory-signature", whichever comes first.
2010-02-27 17:07:05 -05:00
Nick Mathewson
1c25077b1c
fix some wide lines in routerparse.c
2010-02-27 16:33:22 -05:00
Nick Mathewson
937b5cdd41
Merge remote branch 'origin/maint-0.2.1'
...
Conflicts:
ChangeLog
src/or/routerparse.c
2010-02-27 15:34:02 -05:00
Sebastian Hahn
b67657bd95
Properly handle non-terminated strings
...
Treat strings returned from signed_descriptor_get_body_impl() as not
NUL-terminated. Since the length of the strings is available, this is
not a big problem.
Discovered by rieo.
2010-02-27 02:13:22 +01:00
Mike Perry
03d6995d0e
Check for empty smartlists and no bandwidth during node selection.
2010-02-26 16:17:09 -08:00
Sebastian Hahn
1c39dbd53a
Don't segfault when checking the consensus
2010-02-26 08:01:40 +01:00
Nick Mathewson
1e1d471002
Don't believe unauthenticated info in a consensus.
...
Don't allow anything but directory-signature tokens in a consensus after
the first directory-signature token. Fixes bug in bandwidth-weights branch.
Found by "outofwords."
2010-02-26 01:02:20 -05:00
Sebastian Hahn
86828e2004
Proper NULL checking in circuit_list_path_impl()
...
Another dereference-then-NULL-check sequence. No reports of this bug
triggered in the wild. Fixes bugreport 1256.
Thanks to ekir for discovering and reporting this bug.
2010-02-26 05:53:26 +01:00
Sebastian Hahn
f36c36f4a8
Proper NULL checking for hsdesc publication
...
Fix a dereference-then-NULL-check sequence. This bug wasn't triggered
in the wild, but we should fix it anyways in case it ever happens.
Also make sure users get a note about this being a bug when they
see it in their log.
Thanks to ekir for discovering and reporting this bug.
2010-02-26 05:49:34 +01:00
Nick Mathewson
512cebadad
For integers, if !(E<G), then we can infer that E>=G.
...
This means that "if (E<G) {abc} else if (E>=G) {def}" can be replaced with
"if (E<G) {abc} else {def}"
Doing the second test explicitly made my mingw gcc nervous that we might
never be initializing casename.
2010-02-25 17:00:14 -05:00
Nick Mathewson
eb10d441b6
Fix 64-bit printf issues in consensus-bw-weights5-merge.
...
For my 64-bit Linux system running with GCC 4.4.3-fc12-whatever, you
can't do 'printf("%lld", (int64_t)x);' Instead you need to tell the
compiler 'printf("%lld", (long long int)x);' or else it doesn't
believe the types match. This is why we added U64_PRINTF_ARG; it
looks like we needed an I64_PRINTF_ARG too.
2010-02-25 16:22:40 -05:00
Nick Mathewson
2ab3389ed6
Merge remote branch 'mikeperry/consensus-bw-weights5-merge'
...
Conflicts:
ChangeLog
2010-02-25 16:22:29 -05:00
Nick Mathewson
6fa8dacb97
Add a tor_asprintf() function, and use it in a couple of places.
...
asprintf() is a GNU extension that some BSDs have picked up: it does a printf
into a newly allocated chunk of RAM.
Our tor_asprintf() differs from standard asprintf() in that:
- Like our other malloc functions, it asserts on OOM.
- It works on windows.
- It always sets its return-field.
2010-02-25 16:09:10 -05:00
Mike Perry
215930a7de
Check snprintf return values in format_networkstatus_vote.
...
Maybe this is what parakeep was complaining about? Really wish he
would stick around more. Playing these guessing games is not fun :(
2010-02-25 11:59:35 -08:00
Mike Perry
50d6960332
Cast our weights down to ints from int64.
...
They are capped to be between 0 and weight_scale (10000) by the code
just before the snprintf.
2010-02-25 11:42:45 -08:00
Sebastian Hahn
2917c0596c
Restrict PerConnBWRate|Burst to INT32_MAX, update manpage
...
All other bandwidthrate settings are restricted to INT32_MAX, but
this check was forgotten for PerConnBWRate and PerConnBWBurst. Also
update the manpage to reflect the fact that specifying a bandwidth
in terabytes does not make sense, because that value will be too
large.
2010-02-25 12:33:15 +01:00
Mike Perry
0da26162a3
Make unit tests work.
...
Still not sure why they generate an empty consensus document..
Too much frobbing going on there.
2010-02-24 11:17:31 -08:00
Sebastian Hahn
c8f154e173
Proper NULL checking for hsdesc publication
...
Fix a dereference-then-NULL-check sequence. This bug wasn't triggered
in the wild, but we should fix it anyways in case it ever happens.
Also make sure users get a note about this being a bug when they
see it in their log.
Thanks to ekir for discovering and reporting this bug.
2010-02-23 17:09:02 +01:00
Sebastian Hahn
7681e355ed
Fix another coverity-spotted memleak
2010-02-23 15:05:39 +01:00
Mike Perry
b3fde4d309
Add consensus method #defines.
2010-02-22 18:43:13 -08:00
Mike Perry
f4d6315afa
Remove misc unnecessary newlines found by new check.
2010-02-22 16:52:11 -08:00
Mike Perry
245be159af
Always weight routers by bandwidth.
...
Also always predict that we need a high capacity circuit or internal
circuit.
2010-02-22 16:52:11 -08:00
Mike Perry
87a0430a74
Clearly mark directory footer so we parse the new weight line.
2010-02-22 16:52:11 -08:00
Mike Perry
931e073a4f
Implement bw weighting selection algorithm.
2010-02-22 16:52:11 -08:00
Mike Perry
df1ef2f0f0
Add parsing+verification for bw weight values.
2010-02-22 16:52:11 -08:00
Mike Perry
f9d40649fe
Perform calculation of consensus bandwidth weights.
...
Also add bwweightscale consensus param. Use it as our
fixed-point calculation width.
2010-02-22 16:52:11 -08:00
Nick Mathewson
295e6557a9
Merge remote branch 'sebastian/coverity'
2010-02-22 12:46:43 -05:00
Nick Mathewson
d35b8dc582
Make expand_filename into a tor_strdup() alias on windows.
...
On Windows, we don't have a notion of ~ meaning "our homedir", so we
were deliberately using an #ifdef to avoid calling expand_filename()
in multiple places. This is silly: The right place to turn a function
into a no-op on a single platform is in the function itself, not in
every single call-site.
2010-02-22 12:42:31 -05:00
Sebastian Hahn
1dfbec482c
Remove some redundant code in options_save_current()
...
get_torrc_fname() does the same thing we did in this code, so let's
replace it.
2010-02-22 12:21:58 +01:00
Sebastian Hahn
b65ad83ebe
Break early on unknown extendcircuit purpose
...
Don't continue handling EXTENDCIRCUIT messages when we get an
unknown purpose.
2010-02-22 10:57:11 +01:00
Sebastian Hahn
dcf85eb158
Fix a memory leak, found by coverity
2010-02-22 10:56:54 +01:00
Sebastian Hahn
e391a497ec
Remove some redundand code in control.c
...
Found by coverity
2010-02-22 10:41:46 +01:00
Sebastian Hahn
5aa9610dd6
network-status-version must come first in a vote/consensus
...
Spec conformance issue: The code didn't force the network-status-version
token to be the first token in a v3 vote or consensus.
Problem discovered by Parakeep.
2010-02-22 09:16:26 +01:00
Nick Mathewson
0eb03bc6dd
Merge remote branch 'public/cbt-status'
...
Conflicts:
ChangeLog
2010-02-20 18:35:19 -05:00
Nick Mathewson
391f75d792
Merge remote branch 'sebastian/bug1143'
2010-02-19 16:58:24 -05:00
Sebastian Hahn
408a828b1f
Make the DNSPort option work with libevent 2.x
...
We need to use evdns_add_server_port_with_base() when configuring
our DNS listener, because libevent segfaults otherwise. Add a macro
in compat_libevent.h to pick the correct implementation depending
on the libevent version.
Fixes bug 1143, found by SwissTorExit
2010-02-19 22:36:53 +01:00
Nick Mathewson
061ffbd7d5
Future-proof the control protocol by ignoring unrecognized keyword args
2010-02-18 12:49:48 -05:00
Nick Mathewson
2d95e02914
Make more arguments in control.c properly case-insensitive.
2010-02-18 12:49:26 -05:00
Mike Perry
2b95d1c0ee
Describe the recent timeouts reallocation behavior.
2010-02-18 09:08:32 -08:00
Mike Perry
2258125e1a
Move CBT params into consensus.
2010-02-18 09:08:31 -08:00
Mike Perry
f459388c29
Add an event for a case where we drop guards.
...
Also add a comment about an odd CBT timeout edgecase.
2010-02-18 09:08:31 -08:00
Mike Perry
ac68704f07
Allow "EXTENDCIRCUIT 0" to omit a path.
2010-02-18 09:08:31 -08:00
Mike Perry
8512e33773
Add BUILDTIMEOUT_SET event for CBT stress testing.
2010-02-18 09:08:31 -08:00
Nick Mathewson
715f104eeb
Merge remote branch 'origin/maint-0.2.1'
...
Conflicts:
ChangeLog
configure.in
contrib/tor-mingw.nsi.in
src/win32/orconfig.h
2010-02-18 12:01:56 -05:00
Nick Mathewson
4e082ec84b
Build correctly with Libevent 2.0.4-alpha and later
2010-02-15 16:47:47 -05:00
Roger Dingledine
3e6a37e61e
new dannenberg address; make moria2's demise official.
2010-02-12 14:31:08 -05:00
Sebastian Hahn
fe18275563
Add Windows version detection for Vista and 7
...
Vista is Windows 6.0, and 7 is Windows 6.1. Fixes bug 1097.
Also fix a coding style violation.
2010-02-10 08:40:44 +01:00
Nick Mathewson
a6a1b8b815
Merge remote branch 'origin/maint-0.2.1'
2010-02-09 12:58:25 -05:00
Nick Mathewson
a4065cd832
Merge remote branch 'sebastian/bug925'
2010-02-09 12:50:54 -05:00
Nick Mathewson
6dd71d314d
Merge remote branch 'sebastian/bug1238'
2010-02-09 12:50:45 -05:00
Nick Mathewson
c0d682686a
Make tor_addr_copy() conform to memcpy requirements
...
The src and dest of a memcpy() call aren't supposed to overlap,
but we were sometimes calling tor_addr_copy() as a no-op.
Also, tor_addr_assign was a redundant copy of tor_addr_copy(); this patch
removes it.
2010-02-09 12:32:10 -05:00
Sebastian Hahn
253fd21ae1
Fix a whitespace violation
2010-02-09 09:10:07 +01:00
Sebastian Hahn
1e49c908f7
Speed up the execution of exit_policy_is_general_exit_helper()
...
It isn't necessary to walk through all possible subnets when the policy
we're looking at doesn't touch that subnet.
2010-02-09 09:10:07 +01:00
Sebastian Hahn
20422cde2b
0/8 doesn't count as a /8 subnet towards an Exit flag
2010-02-08 16:46:22 +01:00
Sebastian Hahn
b2b99a70c0
Don't spam controllers with TOO_MANY_CONNECTIONS events
...
We implemented ratelimiting for warnings going into the logfile, but didn't
rate-limit controller events. Now both log warnings and controller events
are rate-limited.
2010-02-08 16:45:36 +01:00
Sebastian Hahn
a168cd2a54
Don't use gethostbyname() in resolve_my_address()
...
Tor has tor_lookup_hostname(), which prefers ipv4 addresses automatically.
Bug 1244 occured because gethostbyname() returned an ipv6 address, which
Tor cannot handle currently. Fixes bug 1244; bugfix on 0.0.2pre25.
Reported by Mike Mestnik.
2010-02-08 15:49:54 +01:00
Nick Mathewson
080e8f50f8
Merge commit 'origin/maint-0.2.1'
2010-02-07 22:34:08 -05:00
Sebastian Hahn
dfee173289
lookup_last_hid_serv_request() could overflow and leak memory
...
The problem was that we didn't allocate enough memory on 32-bit
platforms with 64-bit time_t. The memory leak occured every time
we fetched a hidden service descriptor we've fetched before.
2010-02-07 06:37:35 +01:00
Sebastian Hahn
25ec240cc3
Call exit_policy_is_general_exit less
...
When calculating the is_exit flag for a routerinfo_t, we don't need
to call exit_policy_is_general_exit() if router_exit_policy_rejects_all()
tells us it definitely is an exit. This check is much cheaper than
running exit_policy_is_general_exit().
2010-02-04 00:06:56 +01:00
Nick Mathewson
7d5d4f9f03
When we've disabled .exit hostnames, actually reject them.
...
Previously we were treating them as decent hostnames and sending them
to the exit, which is completely wrong.
2010-02-03 15:59:15 -05:00
Nick Mathewson
ba0c9e5d03
Trivial doc fix for exit_policy_is_general_exit_helper
...
The original comment said what it did if there was at least one /8 that
allowed access to the port, but not what it did otherwise.
2010-02-03 00:12:31 -05:00
Sebastian Hahn
03bd98b3b1
Don't assign Exit flag incorrectly
...
exit_policy_is_general_exit() assumed that there are no redundancies
in the passed policy, in the sense that we actively combine entries
in the policy to really get rid of any redundancy. Since we cannot
do that without massively rewriting the policy lines the relay
operators set, fix exit_policy_is_general_exit().
Fixes bug 1238, discovered by Martin Kowalczyk.
2010-02-03 05:44:00 +01:00
Sebastian Hahn
02889bae21
Fix comments for getinfo_helper_t
...
rieo pointed out something isn't right here
2010-01-27 22:12:43 +01:00
Karsten Loesing
7e65871ccc
Fix a memory corruption bug while collecting bridge stats
...
We accidentally freed the internal buffer for bridge stats when we
were writing the bridge stats file or honoring a control port
request for said data. Change the interfaces for
geoip_get_bridge_stats* to prevent these problems, and remove the
offending free/add a tor_strdup.
Fixes bug 1208.
2010-01-26 11:55:43 +01:00
Nick Mathewson
2d3f21e9ee
Merge commit 'sebastian/quiet'
2010-01-25 14:39:20 -05:00
Nick Mathewson
2590d733f4
Try to untangle the logic in server_port_flush
...
It's a bit confusing to have a loop where another function,
confusingly named "*_free", is responsible for advancing the loop
variable (or rather, for altering a structure so that the next time
the loop variable's initializer is evaluated it evaluates to something
different.)
Not only has this confused people: it's also confused coverity scan.
Let's fix that.
2010-01-25 14:09:58 -05:00
Sebastian Hahn
7e89cc31ab
Be quieter about failing to decode authority digests
...
This was freaking out some relay operators without good reason, as
it is nothing the relay operator can do anything about anyways.
Quieting this warning suggested by rieo.
2010-01-25 18:05:20 +01:00
Nick Mathewson
a93cabd9ab
Since dump_microdescriptor() can return -1; make its type ssize_t
2010-01-24 16:24:47 -05:00
Peter Palfrader
256861023e
Handle errors reported by fwrite() in dump_microdescriptor()
...
Does not deal with error handling in dump_microdescriptor's callers.
2010-01-24 15:05:20 -05:00
Nick Mathewson
0552deb613
Merge commit 'origin/maint-0.2.1'
...
Resolved conflicts in:
configure.in
src/or/Makefile.am
src/tools/Makefile.am
2010-01-24 15:03:45 -05:00
Nick Mathewson
b6038f4ac6
Add --enable-static-(openssl|libevent) options
...
These options only work when using --with-(openssl|libevent)-dir to
explicitly pick a libevent or openssl location.
2010-01-24 14:34:47 -05:00
Nick Mathewson
3b4b6009a0
Merge remote branch 'origin/maint-0.2.1'
2010-01-23 20:46:57 -05:00
Nick Mathewson
aec4aea190
Fix two rare leaks spotted by rieo.
2010-01-23 20:46:38 -05:00
Nick Mathewson
d4354b506b
Don't use OutboundBindAddress to connect to localhost
...
The OutboundBindAddress option is useful for making sure that all of
your outbond connections use a given interface. But when connecting
to 127.0.0.1 (or ::1 even) it's important to actually have the
connection come _from_ localhost, since lots of programs running on
localhost use the source address to authenticate that the connection
is really coming from the same host.
Our old code always bound to OutboundBindAddress, whether connecting
to localhost or not. This would potentially break DNS servers on
localhost, and socks proxies on localhost. This patch changes the
behavior so that we only look at OutboundBindAddress when connecting
to a non-loopback address.
2010-01-20 13:09:10 -05:00
Roger Dingledine
8d84b4bfa1
Merge branch 'maint-0.2.1'
...
Conflicts:
ChangeLog
2010-01-19 17:54:41 -05:00
Roger Dingledine
1fc94bfd0e
spread guard rotation out throughout the month
2010-01-19 17:52:52 -05:00
Roger Dingledine
0642ab2428
weight guard choice by bandwidth; discard old guards
2010-01-19 17:30:52 -05:00
Roger Dingledine
37ca182c7e
Merge branch 'maint-0.2.1' into master
...
Conflicts:
ChangeLog
configure.in
contrib/tor-mingw.nsi.in
src/win32/orconfig.h
2010-01-19 14:51:39 -05:00
Roger Dingledine
708f47ecc9
downgrade a warning
...
this case can now legitimately happen, if you have a cached v2 status
from moria1, and you run with the new list of dirservers that's missing
the old moria1. it's nothing to worry about; the file will die off in
a month or two.
2010-01-19 14:25:15 -05:00
Roger Dingledine
adae600715
rotate keys for moria1 and gabelmoo
2010-01-19 14:12:39 -05:00
Sebastian Hahn
c32e8c292e
Log a notice when we get a new control connection
2010-01-18 19:14:36 -05:00
Roger Dingledine
79eaeef1cd
stop bridge authorities from leaking their bridge list
2010-01-17 19:41:22 -05:00
Roger Dingledine
b9f1bd3c4e
whitespace fixes
2010-01-15 15:58:35 -05:00
Roger Dingledine
f1d74f611d
fix an impossible-to-actually-trigger overflow in descriptor generation
2010-01-15 15:56:54 -05:00
Roger Dingledine
0450813227
resolve path weighting edge case; fixes bug 1203
2010-01-15 15:56:54 -05:00
Roger Dingledine
50e8210943
trivial cleanups
2010-01-15 15:56:54 -05:00
Roger Dingledine
f22c063067
remove redundant validate_addr_policies() checks
2010-01-15 15:56:53 -05:00
Roger Dingledine
fd5eb23c29
don't warn if stats/bridge-stats is missing
...
if we try to read it to publish stats and it's not there,
that means there are no stats to publish.
reported by swisstorexit.
2010-01-15 15:56:53 -05:00
Roger Dingledine
8cba62cc2a
don't div by 0 during path selection
2010-01-02 13:13:30 -05:00
Roger Dingledine
485fa5c425
when loading bridge stats, mkdir $datadir/stats first
2010-01-02 09:28:19 -05:00
Roger Dingledine
4d71d43772
add config options to override.
...
somebody should add man page entries.
2009-12-29 23:13:03 -05:00
Roger Dingledine
f255272f45
add separate per-conn write limiting
2009-12-29 22:25:02 -05:00
Sebastian Hahn
9a07f30b90
Authorities now support conditional consensuses
...
Mark them this way in add_trusted_dir_server
2009-12-25 16:35:47 +01:00
Sebastian Hahn
51c00dbdec
Remove some old, commented out code
2009-12-25 16:35:47 +01:00
Sebastian Hahn
9f1618b518
Remove online config descriptions.
...
They weren't in sync with reality nor manpage, and only useful to a human
who could simply have checked the manpage.
2009-12-25 16:35:47 +01:00
Sebastian Hahn
03da1af9ca
Fix a typo
2009-12-25 16:33:56 +01:00
Roger Dingledine
2ef988c065
New consensus params "bwconnrate" and "bwconnburst"
...
...to let us
rate-limit client connections as they enter the network. It's
controlled in the consensus so we can turn it on and off for
experiments. It's starting out off. Based on proposal 163.
2009-12-23 04:56:24 -05:00
Roger Dingledine
7d832cc988
make the os x tiger compiler shut up
...
it's wrong, but that's our problem not its problem
2009-12-21 04:58:03 -05:00
Roger Dingledine
937607056b
a changelog and doc fixes for the strictnodes work
2009-12-21 04:38:49 -05:00
Roger Dingledine
22e07b4ead
fix compile
2009-12-21 03:52:34 -05:00
Roger Dingledine
2138b05f17
Use nodes in ExitNodes even if they're not fast/stable
2009-12-21 03:52:33 -05:00
Roger Dingledine
cc73bc3853
Use nodes in EntryNodes even if they're not fast/stable
2009-12-21 03:52:33 -05:00
Roger Dingledine
7346804ec6
instrument entry_is_live to tell why our guard isn't live
2009-12-21 03:52:33 -05:00
Roger Dingledine
ef81649d2f
Be more willing to use an unsuitable circuit for exit.
...
Specifically, there are two cases: a) are we willing to start a new
circuit at a node not in your ExitNodes config option, and b) are we
willing to make use of a circuit that's already established but has an
unsuitable exit.
Now we discard all your circuits when you set ExitNodes, so the only
way you could end up with an exit circuit that ends at an unsuitable
place is if we explicitly ran out of exit nodes, StrictNodes was 0,
and we built this circuit to solve a stream that needs solving.
Fixes bug in dc322931
, which would ignore the just-built circuit because
it has an unsuitable exit.
2009-12-21 03:52:32 -05:00
Roger Dingledine
c75a2eea60
Abandon circs if the user changes Exclude*Nodes
...
If ExcludeNodes or ExcludeExitNodes changes on a config reload,
mark and discard all our origin circuits.
2009-12-21 03:52:32 -05:00
Roger Dingledine
f2c51cb998
comments and cleanups, no actual changes
2009-12-21 03:52:32 -05:00
Roger Dingledine
1a65bdd232
Make EntryNodes config option much more aggressive.
...
Before it would prepend your requested entrynodes to your list of guard
nodes, but feel free to use others after that. Now it chooses only
from your EntryNodes if any of those are available, and only falls back
to others if a) they're all down and b) StrictNodes is not set.
Also, now we refresh your entry guards from EntryNode at each consensus
fetch (rather than just at startup and then they slowly rot as the
network changes).
The goal here is to make users less likely to set StrictNodes, since
it's doing closer to what they expect it should be doing.
2009-12-21 03:52:31 -05:00
Roger Dingledine
580066f2f6
Switch to a StrictNodes config option.
...
This is step one of handling ExcludedNodes better. This first
step is just to make EntryNodes and ExitNodes do what they did
before.
2009-12-21 03:52:31 -05:00
Roger Dingledine
5fee54a50f
fix some typos
2009-12-19 05:12:00 -05:00
Nick Mathewson
05a2473b7f
Merge branch 'ewma'
2009-12-18 22:33:02 -05:00
Nick Mathewson
7edae58984
Merge commit 'karsten/fix-bridge-stats-master-4'
2009-12-18 14:16:41 -05:00
Karsten Loesing
3a5a728d4a
Permit an empty "bridge-ips" line when parsing bridge stats.
2009-12-18 13:29:51 +01:00
Karsten Loesing
f80672d747
Remove duplicate words and a duplicate newline.
2009-12-18 12:55:05 +01:00
Nick Mathewson
235f1e1a96
Refactor out the 'find string at start of any line' logic.
...
We do this in too many places throughout the code; it's time to start
clamping down.
Also, refactor Karsten's patch to use strchr-then-strndup, rather than
malloc-then-strlcpy-then-strchr-then-clear.
2009-12-17 18:29:37 -05:00
Karsten Loesing
498c293afe
Make changes to latest bridge-stats fixes as suggested by Nick.
2009-12-17 11:20:31 +01:00
Karsten Loesing
e1e5c1b3ab
Fix bridge statistics.
...
Fix statistics on client numbers by country as seen by bridges that were
broken in 0.2.2.1-alpha. Also switch to reporting full 24-hour intervals
instead of variable 12-to-48-hour intervals.
2009-12-17 09:22:55 +01:00
Karsten Loesing
d38268a8c7
Remove v0 hidden service statistics code.
...
The HSAuthorityRecordStats option was used to track statistics of overall
hidden service usage on the version 0 hidden service authorities. With the
version 2 hidden service directories being deployed and version 0
descriptors being phased out, these statistics are not as useful anymore.
Goodbye, you fine piece of software; my first major code contribution to
Tor.
2009-12-17 09:15:06 +01:00
Nick Mathewson
62c2a5a883
Merge commit 'karsten/fix-cell-stats'
...
Conflicts:
ChangeLog
2009-12-16 21:59:25 -05:00
Nick Mathewson
350181529e
Merge branch 'safelogging2'
...
Conflicts:
ChangeLog
2009-12-15 17:26:09 -05:00
Nick Mathewson
fcbd65b45c
Refactor the safe_str_*() API to make more sense.
...
The new rule is: safe_str_X() means "this string is a piece of X
information; make it safe to log." safe_str() on its own means
"this string is a piece of who-knows-what; make it safe to log".
2009-12-15 17:25:34 -05:00
Nick Mathewson
3b896195cb
Stop using lround in or.h, and check for bad values of RECENT_CIRCUITS
2009-12-15 17:11:27 -05:00
Nick Mathewson
d42c689b8e
Merge commit 'sebastian/coverity'
2009-12-15 14:50:49 -05:00
Nick Mathewson
5db4b96089
Merge branch 'mathlog'
2009-12-15 14:42:09 -05:00
Nick Mathewson
e56747f9cf
Refactor a bit so that it is safe to include math.h, and mostly not needed.
2009-12-15 14:40:49 -05:00
Nick Mathewson
60b01c6d5e
Change interface for configuring cell ewma algorithm.
...
The rule is now: take the value from the CircuitPriorityHalflife
config option if it is set. If it zero, disable the cell_ewma
algorithm. If it is set, use it to calculate the scaling factor.
If it is not set, look for a CircPriorityHalflifeMsec parameter in the
consensus networkstatus. If *that* is zero, then disable the cell_ewma
algorithm; if it is set, use it to calculate the scaling factor.
If it is not set at all, disable the algorithm.
2009-12-15 13:58:24 -05:00
Nick Mathewson
296381eda0
Merge commit 'sebastian/ewma2' into ewma
...
Conflicts:
src/or/relay.c
2009-12-15 13:23:27 -05:00
Nick Mathewson
1292a9ddfe
Fix various comment typos in ewma patch; found by arma.
2009-12-15 13:20:22 -05:00
Sebastian Hahn
d384f5e1ed
Fix compile warning on Panther.
...
Apparently Panther doesn't like comparing ints and enums
2009-12-14 10:07:20 +01:00
Sebastian Hahn
182c583497
Remove some dead code found by coverity, cid 404
...
In connection_dir_client_reached_eof, we make sure that we either
return when we get an http status code of 503 or handle the problem
and set it to 200. Later we check if the status code is 503. Remove
that check.
2009-12-14 09:53:31 +01:00
Sebastian Hahn
27b7746c51
Fix Snow Leopard compile and a codestyle violation
...
When calculating the current tick, cap (tv_sec / EWMA_TICK_LEN) to an unsigned int.
2009-12-14 05:17:45 +01:00
Nick Mathewson
06e8370c33
Optimize cell-ewma circuit priority algorithm.
...
There are two big changes here:
- We store active circuits in a priority queue for each or_conn,
rather than doing a linear search over all the active circuits
before we send each cell.
- Rather than multiplying every circuit's cell-ewma by a decay
factor every time we send a cell (thus normalizing the value of a
current cell to 1.0 and a past cell to alpha^t), we instead
only scale down the cell-ewma every tick (ten seconds atm),
normalizing so that a cell sent at the start of the tick has
value 1.0).
2009-12-13 21:05:53 -05:00
Roger Dingledine
f7d99b62a3
New controller command "getinfo config-text"
...
It returns the contents that Tor would write if you send it a SAVECONF
command, so the controller can write the file to disk itself.
2009-12-13 19:21:06 -05:00
Nick Mathewson
c43fee131d
Adjust EWMA patch to conform to whitespace style.
2009-12-12 19:06:38 -05:00
Can Tang
d3be00e0f4
Favor quiet circuits when choosing which order to relay cells in.
...
Each circuit is ranked in terms of how many cells from it have been
relayed recently, using a time-weighted average.
This patch has been tested this on a private Tor network on PlanetLab,
and gotten improvements of 12-35% in time it takes to fetch a small
web page while there's a simultaneous large data transfer going on
simultaneously.
[Commit msg by nickm based on mail from Ian Goldberg.]
2009-12-12 19:06:38 -05:00
Nick Mathewson
c210db0d41
Enhance pqueue so we can remove items from the middle.
...
This changes the pqueue API by requiring an additional int in every
structure that we store in a pqueue to hold the index of that structure
within the heap.
2009-12-12 19:06:38 -05:00
Nick Mathewson
9e6225ae16
Merge commit 'sebastian/coverity'
2009-12-12 02:10:19 -05:00
Nick Mathewson
0c1b3070cf
Now that FOO_free(NULL) always works, remove checks before calling it.
2009-12-12 02:07:59 -05:00
Nick Mathewson
79f72d0ef6
Make rend_cache_entry_free() typecheck when possible.
2009-12-12 01:31:35 -05:00
Nick Mathewson
a8190b09a3
Cache the parsed value of SafeLogging as an enum.
2009-12-12 01:12:47 -05:00
Sebastian Hahn
3807db001d
*_free functions now accept NULL
...
Some *_free functions threw asserts when passed NULL. Now all of them
accept NULL as input and perform no action when called that way.
This gains us consistence for our free functions, and allows some
code simplifications where an explicit null check is no longer necessary.
2009-12-12 03:29:44 +01:00
Sebastian Hahn
f258647433
Allow SafeLogging to exclude client related information
2009-12-12 02:26:11 +01:00
Karsten Loesing
16fbb2f745
Minor fix to buffer stats.
...
Do not segfault when writing buffer stats when we haven't observed a
single circuit to report about. This is a minor bug that would only show
up in testing environments with no traffic and with reduced stats
intervals.
2009-12-03 10:51:51 +01:00
Roger Dingledine
cee9a28d1e
Merge commit 'origin/maint-0.2.1'
2009-11-23 10:16:38 -05:00
Roger Dingledine
a89f51c936
fix race condition that can cause crashes at client or exit relay
...
Avoid crashing if the client is trying to upload many bytes and the
circuit gets torn down at the same time, or if the flip side
happens on the exit relay. Bugfix on 0.2.0.1-alpha; fixes bug 1150.
2009-11-23 10:13:50 -05:00
Roger Dingledine
403f99eaa4
add a minimum for CircuitStreamTimeout, plus a man page
...
plus some other unrelated touchups that have been sitting in my
sandbox
2009-11-22 07:15:30 -05:00
Roger Dingledine
7f3f88bed3
New config option "CircuitStreamTimeout"
...
New config option "CircuitStreamTimeout" to override our internal
timeout schedule for how many seconds until we detach a stream from
a circuit and try a new circuit. If your network is particularly
slow, you might want to set this to a number like 60.
2009-11-21 23:36:36 -05:00
Roger Dingledine
fdd58f3bd5
If somebody tries to overflow my dirport, don't log his IP by default.
...
aka Fix an instance where a Tor directory mirror might accidentally
log the IP address of a misbehaving Tor client. Bugfix on
0.1.0.1-rc.
2009-11-21 23:09:24 -05:00
Roger Dingledine
4f8b36a1e2
clobber connections with different number than we clobber circuits
2009-11-21 23:02:10 -05:00
Roger Dingledine
7b6b931ccc
stop assuming that our downcasts have a struct offset of 0
...
shouldn't actually change anything, but who knows.
2009-11-21 22:59:18 -05:00
Nick Mathewson
9be682942c
Not everybody likes debugging printfs as much as I
2009-11-18 11:26:44 -05:00
Nick Mathewson
e722ffa605
Do not report a partially-successful detached signature add as failed.
...
Also, regenerate the detached-signature document whenever any signatures are
successfully added.
2009-11-17 14:24:59 -05:00
Roger Dingledine
2ebd22152e
only complain when rejecting a descriptor if it has contact info
2009-11-17 07:39:15 -05:00
Roger Dingledine
22f674fcb8
Fix a memory leak on directory authorities during voting
...
Fix a memory leak on directory authorities during voting that was
introduced in 0.2.2.1-alpha. Found via valgrind.
2009-11-12 01:31:26 -05:00
Nick Mathewson
0a58567ce3
Merge commit 'origin/maint-0.2.1'
...
Conflicts:
src/common/tortls.c
2009-11-06 15:24:52 -05:00
Nick Mathewson
ce0a89e262
Make Tor work with OpenSSL 0.9.8l
...
To fix a major security problem related to incorrect use of
SSL/TLS renegotiation, OpenSSL has turned off renegotiation by
default. We are not affected by this security problem, however,
since we do renegotiation right. (Specifically, we never treat a
renegotiated credential as authenticating previous communication.)
Nevertheless, OpenSSL's new behavior requires us to explicitly
turn renegotiation back on in order to get our protocol working
again.
Amusingly, this is not so simple as "set the flag when you create
the SSL object" , since calling connect or accept seems to clear
the flags.
For belt-and-suspenders purposes, we clear the flag once the Tor
handshake is done. There's no way to exploit a second handshake
either, but we might as well not allow it.
2009-11-05 18:13:08 -05:00
Nick Mathewson
eb1faf8a0a
Fix a URL in a log message.
2009-11-04 11:39:10 -05:00
Sebastian Hahn
f1b7295b27
Disallow command line keywords with more than two dashes as prefix.
...
This might help fix cid 422, where coverity fails to notice that
argv strings are null-escaped.
2009-10-27 17:50:24 +01:00
Sebastian Hahn
b0e8c33617
Make it more obvious for coverity that cid 404 is not dead code
2009-10-27 14:19:32 +01:00
Jacob Appelbaum
2aac39a779
Implement DisableAllSwap to avoid putting secret info in page files.
...
This commit implements a new config option: 'DisableAllSwap'
This option probably only works properly when Tor is started as root.
We added two new functions: tor_mlockall() and tor_set_max_memlock().
tor_mlockall() attempts to mlock() all current and all future memory pages.
For tor_mlockall() to work properly we set the process rlimits for memory to
RLIM_INFINITY (and beyond) inside of tor_set_max_memlock().
We behave differently from mlockall() by only allowing tor_mlockall() to be
called one single time. All other calls will result in a return code of 1.
It is not possible to change DisableAllSwap while running.
A sample configuration item was added to the torrc.complete.in config file.
A new item in the man page for DisableAllSwap was added.
Thanks to Moxie Marlinspike and Chris Palmer for their feedback on this patch.
Please note that we make no guarantees about the quality of your OS and its
mlock/mlockall implementation. It is possible that this will do nothing at all.
It is also possible that you can ulimit the mlock properties of a given user
such that root is not required. This has not been extensively tested and is
unsupported. I have included some comments for possible ways we can handle
this on win32.
2009-10-27 04:28:40 -04:00
Karsten Loesing
56c2385157
Fix bug 1113.
...
Bridges do not use the default exit policy, but reject *:* by default.
2009-10-27 01:03:41 -07:00
Roger Dingledine
8c34e79263
Merge commit 'karsten/log-1092'
2009-10-27 02:26:58 -04:00
Karsten Loesing
c8b27a8e9e
Improve log statement when publishing v2 hs desc.
2009-10-26 23:09:10 -07:00
Karsten Loesing
19ddee5582
Fix bug 1042.
...
If your relay can't keep up with the number of incoming create cells, it
would log one warning per failure into your logs. Limit warnings to 1 per
minute.
2009-10-26 22:49:43 -07:00
Nick Mathewson
54973a45a6
Fix an apparently bogus check; fortunately, it seems to be untriggered.
2009-10-26 23:14:53 -04:00
Nick Mathewson
311315e077
Fix an accidentally removed free in 385853a282
, and repair a check.
2009-10-26 23:13:29 -04:00
Roger Dingledine
ad525685f6
Merge commit 'karsten/fix-1066-3'
2009-10-26 22:45:12 -04:00
Nick Mathewson
385853a282
Fix/annotate deadcode for CID 402,403
2009-10-26 22:40:41 -04:00
Nick Mathewson
caa141617f
Fix dead code found by Coverity (CID 419).
...
This was left over from an early draft of the microdescriptor code; it
began to populate the signatures array of a networkstatus vote, even
though there's no actual need to do that for a vote.
2009-10-26 22:40:41 -04:00
Nick Mathewson
5e4d53d535
Remove checks for array existence. (CID 410..415)
...
In C, the code "char x[10]; if (x) {...}" always takes the true branch of
the if statement. Coverity notices this now.
In some cases, we were testing arrays to make sure that an operation
we wanted to do would suceed. Those cases are now always-true.
In some cases, we were testing arrays to see if something was _set_.
Those caes are now tests for strlen(s), or tests for
!tor_mem_is_zero(d,len).
2009-10-26 22:40:41 -04:00
Nick Mathewson
a457cd91fa
Clarification to suppress Coverity CID 405.
...
Every or conn has an outbuf, but coverity has no way of knowing that.
Add an assert to ease its conscience.
2009-10-26 22:40:40 -04:00
Nick Mathewson
8519d36633
Merge commit 'origin/maint-0.2.1'
2009-10-26 22:40:24 -04:00
Karsten Loesing
4256a96461
Fix bug 1066.
...
If all authorities restart at once right before a consensus vote, nobody
will vote about "Running", and clients will get a consensus with no usable
relays. Instead, authorities refuse to build a consensus if this happens.
2009-10-26 19:27:54 -07:00
Nick Mathewson
5c73da7faa
Fix two memory leaks found by Coverity (CIDs 417-418)
...
The first happens on an error case when a controller wants an
impossible directory object. The second happens when we can't write
our fingerprint file.
2009-10-26 22:12:40 -04:00
Nick Mathewson
8bada1ef67
Add missing break statements for Coverity CIDs #406,407.
...
The code for these was super-wrong, but will only break things when we
reset an option on a platform where sizeof(time_t) is different from
sizeof(int).
2009-10-26 21:35:26 -04:00
Nick Mathewson
071521e02f
Merge commit 'origin/maint-0.2.1'
...
Conflicts:
ChangeLog
2009-10-26 20:15:03 -04:00
Nick Mathewson
56048637a5
Only send the if_modified_since header for a v3 consensus.
...
Spotted by xmux; bugfix on 0.2.0.10-alpha.
(Bug introduced by 20b10859
)
2009-10-26 20:14:11 -04:00
Karsten Loesing
d2b4b49ff0
Reduce log level for someone else sending us weak DH keys.
...
See task 1114. The most plausible explanation for someone sending us weak
DH keys is that they experiment with their Tor code or implement a new Tor
client. Usually, we don't care about such events, especially not on warn
level. If we really care about someone not following the Tor protocol, we
can set ProtocolWarnings to 1.
2009-10-25 23:47:05 -07:00
Roger Dingledine
fa23430496
clean up the XXX comments around bug 1038
2009-10-26 01:32:27 -04:00
Nick Mathewson
afc76a4e71
Fix two bugs found by Coverity scan.
...
One was a simple buffer overrun; the other was a high-speed pointer
collision. Both were introduced by my microdescs branch.
2009-10-19 23:19:42 -04:00
Nick Mathewson
f629687053
Merge branch 'microdesc'
2009-10-19 00:45:47 -04:00
Nick Mathewson
465d4e1cd1
Document some formerly undocumented functions.
2009-10-19 00:30:52 -04:00
Sebastian Hahn
740806c453
Fix compile with warnings problems on Snow Leopard
2009-10-19 01:30:46 +02:00
Nick Mathewson
bb22d8fc45
Add functions to serve microdescs and flavored consensuses.
2009-10-18 18:46:12 -04:00
Nick Mathewson
200c39b66c
Document the microdescriptor code better.
2009-10-18 18:46:12 -04:00
Nick Mathewson
d61b5df9c1
Fix various bugs in microdescriptor caching.
2009-10-18 18:46:07 -04:00
Nick Mathewson
851a980065
Actually remember all the consensus types when we are done generating them.
2009-10-15 15:17:13 -04:00
Nick Mathewson
a19981725d
Parse detached signatures and microdesc networkstatuses correctly.
2009-10-15 15:17:13 -04:00
Nick Mathewson
3471057486
Implement signatures for microdesc consensuses right.
...
This means we need to handle the existence of multiple flavors of signature
in a detached signatures document, generate them correctly, and so on.
2009-10-15 15:17:13 -04:00
Nick Mathewson
d9c71816b1
Generate all the flavors of consensuses when building consensuses.
2009-10-15 15:17:13 -04:00
Nick Mathewson
5576a3a094
Parse detached signature documents with multiple flavors and algorithms.
2009-10-15 15:17:13 -04:00
Nick Mathewson
3b2fc659a8
Refactor consensus signature storage for multiple digests and flavors.
...
This patch introduces a new type called document_signature_t to represent the
signature of a consensus document. Now, each consensus document can have up
to one document signature per voter per digest algorithm. Also, each
detached-signatures document can have up to one signature per <voter,
algorithm, flavor>.
2009-10-15 15:17:13 -04:00
Nick Mathewson
e1ddee8bbe
Code to generate, store, and parse microdescriptors and consensuses.
...
The consensus documents are not signed properly, not served, and not
exchanged yet.
2009-10-15 15:17:13 -04:00
Nick Mathewson
a7ba02f3f1
Add ability to parse one or more m line from a vote.
2009-10-15 15:17:13 -04:00
Nick Mathewson
bdf4839395
Functions to encode microdescriptors and their lines.
2009-10-15 15:17:12 -04:00
Nick Mathewson
c5f7f04aff
Allow signed data to include other hashes later.
...
Previously, we insisted that a valid signature must be a signature of
the expected digest. Now we accept anything that starts with the
expected digest. This lets us include another digest later.
2009-10-15 15:17:12 -04:00
Nick Mathewson
15f4e9600c
Signature-checking code can handle longer digests.
2009-10-15 15:17:12 -04:00
Nick Mathewson
8b2f6b27fd
Make signature-generation code handle different key and digest lengths.
2009-10-15 15:17:12 -04:00
Nick Mathewson
5ef97ddd42
Merge commit 'origin/maint-0.2.1'
...
Conflicts:
ChangeLog
configure.in
contrib/tor-mingw.nsi.in
src/or/config.c
src/win32/orconfig.h
2009-10-15 12:33:22 -04:00
Roger Dingledine
2bee297d57
Move moria1 and Tonga to alternate IP addresses.
2009-10-15 12:14:18 -04:00
Roger Dingledine
2394336426
read the "circwindow" parameter from the consensus
...
backport of c43859c5c1
backport of 0d13e0ed14
2009-10-14 17:07:32 -04:00
Nick Mathewson
83c3f118db
Code to parse and access network parameters.
...
Partial backport of 381766ce4b
.
Partial backport of 56c6d78520
.
2009-10-14 16:15:41 -04:00
Nick Mathewson
71cdd99dd7
Another event2 evdns fix.
2009-10-13 18:57:25 -04:00
Nick Mathewson
81eee0ecff
Fix a crash when using evdns from Libevent 2.
...
When we tried to use the deprecated non-threadsafe evdns
interfaces in Libevent 2 without using the also-deprecated
event_init() interface, Libevent 2 would sensibly crash, since it
has no guess where to find the Libevent library.
Here we use the evdns_base_*() functions instead if they're
present, and fake them if they aren't.
2009-10-13 17:54:04 -04:00
Nick Mathewson
da990d09c3
Merge commit 'public/android'
2009-10-11 23:30:19 -04:00
Roger Dingledine
9d6c79cbbb
fix compile on windows
2009-10-11 17:23:47 -04:00
Roger Dingledine
6265b9f09d
Move dizum to an alternate IP address.
2009-10-11 14:59:14 -04:00
Nick Mathewson
5a6575c2d4
Don't set unreachable from dirvote unless we've been running a while.
...
This is a possible fix for bug 1023, where if we vote (or make a v2
consensus networkstatus) right after we come online, we can call
rep_hist_note_router_unreachable() on every router we haven't connected
to yet, and thereby make all their uptime values reset.
2009-10-10 15:23:00 -04:00
Roger Dingledine
1c62b9d5fa
fix a bug where we were decrementing the wrong bucket
...
i think this doesn't actually affect anything, since linked
conns usually don't impact buckets
2009-10-10 14:52:41 -04:00
Roger Dingledine
746a19e84d
remove some dead code. some of it was tickling coverity.
2009-10-10 13:39:41 -04:00
Sebastian Hahn
e35f9414d6
Fix a memleak when throwing away some build times
...
This was introduced in f7e6e852e8
.
Found by Coverity
2009-10-10 13:41:44 +02:00
Mike Perry
18689317e4
Tweak an assert that shouldn't fire either way.
...
There were however other places where we used to call this
function that might have caused this to fire. Better
safe than sorry now.
2009-10-07 13:05:28 -07:00
Mike Perry
ec05e64a68
Tweak values for when to discard all of our history.
...
This seems to be happening to me a lot on a garbage DSL line.
We may need to come up with 2 threshholds: a high short onehop
count and a lower longer count.
2009-10-07 12:49:13 -07:00
Mike Perry
b918cd8f04
Remove another overzealous assert.
...
Pretimeouts may have build time data, just no timeout data.
2009-10-07 12:24:40 -07:00
Roger Dingledine
b4e0d09202
try to stem the 'sea of fail'
2009-10-01 05:35:24 -04:00
Roger Dingledine
9325b9269c
Ignore one-hop circuits for circuit timeout calc
...
Don't count one-hop circuits when we're estimating how long it
takes circuits to build on average. Otherwise we'll set our circuit
build timeout lower than we should. Bugfix on 0.2.2.2-alpha.
2009-10-01 04:15:45 -04:00
Roger Dingledine
b9e8f0a013
Move Tonga to an alternate IP address
2009-09-30 22:35:05 -04:00
Roger Dingledine
69ecc127e9
Move moria1 to a nearby IP address
2009-09-30 18:46:55 -04:00
Roger Dingledine
53a7636a05
Dir auths reject relays running < Tor 0.1.2.14
...
Directory authorities now reject Tor relays with versions less than
0.1.2.14. This step cuts out four relays from the current network,
none of which are very big.
2009-09-30 18:34:21 -04:00
Mike Perry
f7e6e852e8
Fix 1108: Handle corrupt or large build times state.
...
1108 was actually just a fencepost error in an assert,
but making the state file handling code resilient is a
good idea.
2009-09-29 14:07:04 -04:00
Nathan Freitas
8c585cce39
Include util.h and log.h as relative paths.
...
This shouldn't be necessary, but apparently the Android cross-compiler
doesn't respect -I as well as it should. (-I is supposed to add to the
*front* of the search path. Android's gcc wrapper apparently likes to add to
the end. This is broken, but we need to work around it.)
2009-09-29 00:52:52 -04:00
Nick Mathewson
2e70642c3a
Whitespace fix
2009-09-28 23:50:57 -04:00
Roger Dingledine
768bc04feb
fix two comment bugs for load_stats_file()
2009-09-28 23:25:23 -04:00
Roger Dingledine
b4709066c9
Merge commit 'karsten/fix-another-stats-bug'
2009-09-28 23:23:39 -04:00
Nick Mathewson
3e82981795
Fix some win32 compilation warnings
2009-09-28 19:56:36 -04:00
Karsten Loesing
94b57f9f36
Fix an issue with including stats in extra-info descriptors.
2009-09-28 15:20:21 +02:00
Sebastian Hahn
6a68b50597
Make sure we can't overflow in connection_ap_handshake_send_resolve
...
Found by Coverity
2009-09-27 12:02:02 -04:00
Sebastian Hahn
7f1f6984da
Fix memory leak
...
Some memory could be lost in the error case of
circuit_build_times_parse_state.
Found by Coverity
2009-09-27 12:00:02 -04:00
Roger Dingledine
180a4b6a74
Merge commit 'karsten/stats-fixes-master'
2009-09-24 18:54:01 -04:00
Karsten Loesing
457bebe01a
Fix a couple of smaller issues with gathering statistics.
...
- Avoid memmoving 0 bytes which might lead to compiler warnings.
- Don't require relays to be entry node AND bridge at the same to time to
record clients.
- Fix a memory leak when writing dirreq-stats.
- Don't say in the stats files that measurement intervals are twice as long
as they really are.
- Reduce minimum observation time for requests to 12 hours, or we might
never record usage.
- Clear exit stats correctly after writing them, or we accumulate old stats
over time.
- Reset interval start for buffer stats, too.
2009-09-24 21:58:56 +02:00
Nick Mathewson
b8b2935367
Debugging logs for TLS handshake
...
The big change is to add a function to display the current SSL handshake
state, and to log it everywhere reasonable. (A failure in
SSL23_ST_CR_SRVR_HELLO_A is different from one in
SSL3_ST_CR_SESSION_TICKET_A.)
This patch also adds a new log domain for OR handshaking, so you can pull out
all the handshake log messages without having to run at debug for everything.
For example, you'd just say "log notice-err [handshake]debug-err file
tor.log".
2009-09-24 12:31:22 -04:00
Roger Dingledine
eed5cae9d1
downgrade a log notice at startup
...
This was the only log notice that happened during other
tor invocations, like --verify-config and --list-fingerprint.
Plus, now we think it works, so no need to hear about it.
2009-09-23 04:59:05 -04:00
Nick Mathewson
da1aa66f70
Move testing code into new src/test directory.
2009-09-23 00:24:43 -04:00
Nick Mathewson
d4b54549b8
Refactor unit tests to use the tinytest framework.
...
"Tinytest" is a minimalist C unit testing framework I wrote for
Libevent. It supports some generally useful features, like being able
to run separate unit tests in their own processes.
I tried to do the refactoring to change test.c as little as possible.
Thus, we mostly don't call the tinytest macros directly. Instead, the
test.h header is now a wrapper on tinytest.h to make our existing
test_foo() macros work.
The next step(s) here will be:
- To break test.c into separate files, each with its own test group.
- To look into which things we can test
- To refactor the more fiddly tests to use the tinytest macros
directly and/or run forked.
- To see about writing unit tests for things we couldn't previously
test without forking.
2009-09-23 00:24:43 -04:00
Roger Dingledine
0d13e0ed14
Be more robust to bad circwindow values
...
If the networkstatus consensus tells us that we should use a
negative circuit package window, ignore it. Otherwise we'll
believe it and then trigger an assert.
Also, change the interface for networkstatus_get_param() so we
don't have to lookup the consensus beforehand.
2009-09-22 22:09:33 -04:00
Nick Mathewson
6acfa31d59
Merge commit 'mikeperry/circuittimeout-1103'
2009-09-21 23:35:49 -04:00
Mike Perry
fd7454f9e3
Fix Bug 1103.
...
Don't pass in a quantile that is too high during pretimeout
calcualtion.
2009-09-21 20:01:20 -07:00
Roger Dingledine
54ba86d9d0
downgrade a log severity, since this event has been known
...
to happen and there's nothing the user can do about it
2009-09-21 03:32:28 -04:00
Roger Dingledine
fa63d47f83
Merge branch 'maint-0.2.1'
2009-09-20 23:53:03 -04:00
Roger Dingledine
95008db08d
Revert "Teach connection_ap_can_use_exit about Exclude*Nodes"
...
This reverts commit dc3229313b
.
We're going to do this more thoroughly in 0.2.2.x, and not in
maint-0.2.1.
2009-09-20 23:50:48 -04:00
Nick Mathewson
93b33e15ab
Fix build warnings on OSX 10.5.8
2009-09-20 23:01:43 -04:00
Mike Perry
134266b984
Change the condition on the nonlive timeout counting.
...
Try to clarify things in the comment too.
2009-09-20 18:20:10 -07:00
Roger Dingledine
cf2afcd707
Fix typos and comments, plus two bugs
...
A) We were considering a circuit had timed out in the special cases
where we close rendezvous circuits because the final rendezvous
circuit couldn't be built in time.
B) We were looking at the wrong timestamp_created when considering
a timeout.
2009-09-20 19:50:44 -04:00
Mike Perry
f39bedf250
Implement and document new network liveness algorithm.
...
Based on irc discussion with arma.
2009-09-20 14:51:30 -07:00
Mike Perry
6700e528be
Fix some precision-related asserts in unit tests.
...
Mostly by storing the timeout as milliseconds and not seconds
internally.
2009-09-20 14:43:45 -07:00
Roger Dingledine
cc53e7cb0e
disable the end of circuitbuildtimeout units tests
...
until mike figures out some other way to make them pass reliably
2009-09-18 02:00:20 -04:00
Sebastian Hahn
335b67a354
Fix compile on freebsd
2009-09-18 02:43:45 +02:00
Roger Dingledine
67f280feb3
Let our config abbreviations rewrite more than once
2009-09-17 20:32:42 -04:00
Roger Dingledine
b02b11c4b4
a mish-mash of stuff in my sandbox
2009-09-17 01:58:39 -04:00
Roger Dingledine
ee89061ef2
give proposal 151 a changelog and other touchups
2009-09-17 01:42:33 -04:00
Roger Dingledine
feccaa5c83
Choose early circuit idle timeout better.
...
Don't discard all circuits every MaxCircuitDirtiness, because the
user might legitimately have set that to a very lower number.
Also don't use up all of our idle circuits with testing circuits,
since that defeats the point of preemptive circuits.
2009-09-17 01:41:47 -04:00
Nick Mathewson
b3991ea7d1
Merge commit 'karsten/fix-1073' into maint-0.2.1
2009-09-16 23:36:01 -04:00
Roger Dingledine
4850a3a75f
Merge commit 'mikeperry/circuitbuildtimeout-final'
2009-09-16 21:43:31 -04:00
Mike Perry
43c18746bd
Clarify use of magic number 0.98 with #define.
2009-09-16 18:41:22 -07:00
Roger Dingledine
926ca5befd
Merge branch 'maint-0.2.1'
2009-09-16 21:28:49 -04:00
Roger Dingledine
7d838971dd
Merge commit 'karsten/no-time-maint-0.2.1'
2009-09-16 20:45:01 -04:00
Roger Dingledine
9eb5edc093
Merge commit 'sebastian/specconformance'
2009-09-16 20:37:43 -04:00
Sebastian Hahn
1aac7de1ea
Fix unit tests and compile issues on Snow Leopard
2009-09-16 17:22:21 -07:00
Mike Perry
e2c2fa7a1f
Change liveness value to be a function of the timeout.
...
And also the number of recent circuits used to decide
when the network changes.
2009-09-16 17:20:34 -07:00
Mike Perry
e4e0ce94f0
Add log message so we have accurate build time values.
2009-09-16 17:20:34 -07:00
Mike Perry
5bd60d8a41
Address nickm's issues from his review #1 .
2009-09-16 17:20:29 -07:00
Mike Perry
0352d43917
Move circuitbuildtimeout config check.
...
We want it to be under our control so it doesn't mess
up initialization. This is likely the cause for
the bug the previous assert-adding commit (09a75ad
) was
trying to address.
2009-09-16 15:58:42 -07:00
Mike Perry
09a75ad316
Time for some debugging by asserts.
...
Got a negative timeout value on startup. Need to narrow it down.
2009-09-16 15:55:51 -07:00
Mike Perry
742e08046f
Fix bugs relating to not counting timeouts as circuit builds.
...
Also use bin midpoints for time values.
2009-09-16 15:55:51 -07:00
Mike Perry
67cee75ca2
Document functions and constants.
2009-09-16 15:55:50 -07:00
Mike Perry
c9363df09f
Remove an assert.
...
It seems to fire because of precision issues. Added
more debug info to the warn to try to figure out for sure.
2009-09-16 15:55:50 -07:00
Mike Perry
63be2df84f
Fix issues found by arma in review.
2009-09-16 15:55:36 -07:00
Roger Dingledine
672e2f6908
space/indent cleanups, plus point out three bugs
2009-09-16 15:55:32 -07:00
Mike Perry
4b3bc714a3
Woops. Fix a couple memory leaks.
...
Also change the max timeout quantile to 0.98, so we can
avoid huge synthetic timeout values.
2009-09-16 15:54:37 -07:00
Karsten Loesing
b508e4748f
Remove trailing spaces. As if bytes were free...
...
Also correct some typos.
2009-09-16 15:52:05 -07:00
Mike Perry
535423a3bb
Resolve mode ties in favor of the higher (slower) mode.
2009-09-16 15:52:04 -07:00
Mike Perry
8210336182
More detail for some log msgs.
2009-09-16 15:52:04 -07:00
Mike Perry
6eba08e22f
Use our variable directly for timeout.
...
Using CircuitBuildTimeout is prone to issues with SIGHUP, etc.
Also, shuffle the circuit build times array after loading it
in so that newer measurements don't replace chunks of
similarly timed measurements.
2009-09-16 15:52:04 -07:00
Mike Perry
fca8446949
Fix a couple of assert bugs.
2009-09-16 15:52:03 -07:00
Mike Perry
c4e6b3eadb
Fix timeout edge case when we get enough samples.
...
Also switch Xm calculation to mode, not min.
2009-09-16 15:52:03 -07:00
Mike Perry
95735e5478
Fix the math.h log() conflict.
...
It was compiling, but causing segfaults.
Also, adjust when the timer starts for new test circs
and save state every 25 circuits.
2009-09-16 15:51:17 -07:00
Mike Perry
7ac9a66c8f
Recover from changing network connections.
...
Also add code to keep creating circuits every minute until we
hit our minimum threshhold.
2009-09-16 15:51:16 -07:00
Mike Perry
411b60325b
Factor out the pretimeout handling code.
...
We need to also call it if we're going to calculate alpha
after a normal circuit build.
2009-09-16 15:51:15 -07:00
Mike Perry
b52bce91fc
Write unit tests and fix issues they uncovered.
2009-09-16 15:51:10 -07:00
Mike Perry
04414830fe
Implement the pareto fitting and timeout calculating bits.
2009-09-16 15:48:52 -07:00
Mike Perry
7750bee21d
Clean up Fallon's partially complete GSoC project.
...
The code actually isn't that bad. It's a shame she didn't finish.
Using it as the base for this feature.
2009-09-16 15:48:51 -07:00
Roger Dingledine
2dbf5b7741
Merge branch 'tmp'
2009-09-16 17:18:35 -04:00
Sebastian Hahn
dc3229313b
Teach connection_ap_can_use_exit about Exclude*Nodes
...
To further attempt to fix bug 1090, make sure connection_ap_can_use_exit
always returns 0 when the chosen exit router is excluded. This should fix
bug1090.
2009-09-16 02:29:57 +02:00
Nick Mathewson
ed7283d283
Merge commit 'origin/maint-0.2.1'
...
Resolved conflicts in:
src/or/circuitbuild.c
2009-09-15 19:37:26 -04:00
Nick Mathewson
24c740e5fd
Merge commit 'sebastian/memleak' into maint-0.2.1
2009-09-15 19:35:16 -04:00
Sebastian Hahn
113ba0e727
make some bug 1090 warnings go away
...
When we excluded some Exits, we were sometimes warning the user that we
were going to use the node regardless. Many of those warnings were in
fact bogus, because the relay in question was not used to connect to
the outside world.
Based on patch by Rotor, thanks!
2009-09-16 01:17:51 +02:00
Nick Mathewson
f9226ae030
Merge commit 'origin/maint-0.2.1'
2009-09-15 12:53:44 -04:00
Sebastian Hahn
b73ecdc232
Fix compile on Snow Leopard
2009-09-15 07:13:36 -04:00
Sebastian Hahn
5e01a86b42
some cleanups:
...
documentation fix for get_uint64
remove extra "." from a log line
fix a long line
2009-09-15 07:12:12 -04:00
Roger Dingledine
c43859c5c1
Read "circwindow=x" from the consensus and use it
...
Tor now reads the "circwindow" parameter out of the consensus,
and uses that value for its circuit package window rather than the
default of 1000 cells. Begins the implementation of proposal 168.
2009-09-15 06:33:33 -04:00
Roger Dingledine
40bcab1faf
ConsensusParams config option lists key=value params
...
finishes the authority-operator interface side of proposal 167.
2009-09-15 04:40:08 -04:00
Nick Mathewson
56c6d78520
Parameter access function, with unit tests.
2009-09-14 23:39:08 -04:00
Nick Mathewson
381766ce4b
Implement proposal 167: Authorities vote on network parameters.
...
This code adds a new field to vote on: "params". It consists of a list of
sorted key=int pairs. The output is computed as the median of all the
integers for any key on which anybody voted.
Improved with input from Roger.
2009-09-14 23:21:53 -04:00
Sebastian Hahn
b792afa919
Fix a memory leak when parsing a ns
...
Adding the same vote to a networkstatus consensus leads to a memory leak
on the client side. Fix that by only using the first vote from any given
voter, and ignoring the others.
Problem found by Rotor, who also helped writing the patch. Thanks!
2009-09-14 22:25:08 +02:00
Sebastian Hahn
c1a6fb42ac
Fix a spec conformance issue when parsing a ns vote
...
A vote may only contain exactly one signature. Make sure we reject
votes that violate this.
Problem found by Rotor, who also helped writing the patch. Thanks!
2009-09-14 22:06:21 +02:00
Roger Dingledine
86af2ecbda
minor fixes in some comments
2009-09-06 20:09:08 -04:00
Karsten Loesing
995606a7e1
Avoid calling time(NULL) too often.
...
Found by "rotator".
2009-09-03 10:17:08 +02:00
Roger Dingledine
fcacf22491
Fix obscure 64-bit big-endian hidserv bug
...
Fix an obscure bug where hidden services on 64-bit big-endian
systems might mis-read the timestamp in v3 introduce cells, and
refuse to connect back to the client. Discovered by "rotor".
Bugfix on 0.2.1.6-alpha.
2009-09-02 20:36:11 -04:00
Roger Dingledine
3de5ac9baa
i couldn't break nick's tor_parse_double()
...
i guess that means i should call them unit tests and check them in.
2009-09-02 01:10:10 -04:00
Sebastian Hahn
0a71d1c6a7
Fix compile warnings on Snow Leopard
...
Big thanks to nickm and arma for helping me with this!
2009-09-01 22:16:46 +02:00
Nick Mathewson
1cda6f3e75
Merge commit 'origin/maint-0.2.1'
2009-09-01 15:59:40 -04:00
Sebastian Hahn
d76fd59a7e
Remove a debug printf
2009-09-01 21:58:11 +02:00
Sebastian Hahn
aea9cf1011
Fix compile warnings on Snow Leopard
...
Big thanks to nickm and arma for helping me with this!
2009-09-01 18:36:27 +02:00
Nick Mathewson
cdc8ea2976
Merge commit 'public/bug1076'
2009-09-01 02:01:49 -04:00
Roger Dingledine
075c004095
Add getinfo accepted-server-descriptor. Clean spec.
...
Add a "getinfo status/accepted-server-descriptor" controller
command, which is the recommended way for controllers to learn
whether our server descriptor has been successfully received by at
least on directory authority. Un-recommend good-server-descriptor
getinfo and status events until we have a better design for them.
2009-08-31 18:37:25 -04:00
Karsten Loesing
da219ee924
Reduce log level for bug case that we now know really exists.
2009-09-01 00:16:33 +02:00
Roger Dingledine
a225469ded
Merge branch 'maint-0.2.1'
2009-08-31 16:26:01 -04:00
Roger Dingledine
4c297f74f7
Only send reachability status events on overall success/failure
...
We were telling the controller about CHECKING_REACHABILITY and
REACHABILITY_FAILED status events whenever we launch a testing
circuit or notice that one has failed. Instead, only tell the
controller when we want to inform the user of overall success or
overall failure. Bugfix on 0.1.2.6-alpha. Fixes bug 1075. Reported
by SwissTorExit.
2009-08-31 16:14:41 -04:00
Nick Mathewson
00b37f071d
Revise parsing of time and memory units to handle spaces.
...
When we added support for fractional units (like 1.5 MB) I broke
support for giving units with no space (like 2MB). This patch should
fix that. It also adds a propoer tor_parse_double().
Fix for bug 1076. Bugfix on 0.2.2.1-alpha.
2009-08-31 00:18:55 -04:00
Karsten Loesing
dd8f16beb5
Avoid segfault when accessing hidden service.
2009-08-29 19:41:08 +02:00
Roger Dingledine
0bb59f1c38
Merge branch 'maint-0.2.1'
2009-08-28 03:47:18 -04:00
Roger Dingledine
64f393d56f
Only send netinfo clock_skew to controller if an authority told us so
...
We were triggering a CLOCK_SKEW controller status event whenever
we connect via the v2 connection protocol to any relay that has
a wrong clock. Instead, we should only inform the controller when
it's a trusted authority that claims our clock is wrong. Bugfix
on 0.2.0.20-rc; starts to fix bug 1074. Reported by SwissTorExit.
2009-08-28 03:42:09 -04:00
Karsten Loesing
889c07f1fc
When Tor fails to parse a descriptor of any kind, dump it to disk.
2009-08-26 20:15:47 -04:00
Nick Mathewson
1d9b8a1e16
Merge commit 'karsten/proposal-166-impl-master'
2009-08-26 11:36:40 -04:00
Nick Mathewson
c9203749a2
A changelog entry and a bit more documentation for socks-client
2009-08-26 11:34:45 -04:00
Nick Mathewson
707a6bd659
Merge commit 'public/socks-client'
...
Resolved conflict in:
src/or/or.h
2009-08-26 11:27:19 -04:00
Nick Mathewson
903f9ef50e
Clean up a couple of style issues in the socks-client branch.
2009-08-25 10:30:54 -04:00
Karsten Loesing
8c29b7920a
Add some fixes after discussion with Nick.
...
- Refactor geoip.c by moving duplicate code into rotate_request_period().
- Don't leak memory when cleaning up cell queues.
- Make sure that exit_(streams|bytes_(read|written)) are initialized in all
places accessing these arrays.
- Read only the last block from *stats files and ensure that its timestamp
is not more than 25 hours in the past and not more than 1 hour in the
future.
- Stop truncating the last character when reading *stats files.
The only thing that's left now is to avoid reading whole *stats files into
memory.
2009-08-21 23:02:36 +02:00
Nick Mathewson
b51c592547
Refactor geoip_get_dirreq_history() some more.
...
This patch avoids a bunch of allocations, and avoids using unallocated
memory.
2009-08-21 13:50:32 -04:00
Nick Mathewson
d4a75a222f
Fix a memory leak in summarizing directory request timing.
...
Spotted by Coverity Scan.
2009-08-21 13:33:20 -04:00
Nick Mathewson
daa0326aaa
Add the first 8 bytes of the git commit digest to our versions.
...
Note that unlike subversion revision numbers, it isn't meaningful to
compare these for anything but equality. We define a sort-order anyway,
in case one of these accidentally slips into a recommended-versions
list.
2009-08-21 12:31:13 -04:00
Roger Dingledine
eb829cc330
Survive unparseable cached cert file
2009-08-20 16:56:21 -04:00
Roger Dingledine
7f518873eb
Notice v3 cert parsing failures
...
If any the v3 certs we download are unparseable, we should actually
notice the failure so we don't retry indefinitely. Bugfix on 0.2.0.x;
reported by "rotator".
2009-08-20 16:50:51 -04:00
Nick Mathewson
8771fdfda4
Make consensus_method_is_supported() be the canonical source for its info.
...
Add a new function to derive the declared method list from
consensus_method_is_supported().
2009-08-20 10:04:33 -04:00
Nick Mathewson
f57883a39e
Add basic support for SHA256.
...
This adds an openssl 0.9.8 dependency. Let's see if anybody cares.
2009-08-19 19:43:54 -04:00
Karsten Loesing
75c59d1a92
Some final (?) cleanups of proposal 166 implementation.
2009-08-19 23:36:27 +02:00
Karsten Loesing
93fd0d3755
Fix a couple of bugs that showed up at runtime.
2009-08-19 19:16:00 +02:00
Karsten Loesing
6592cbe3e1
Don't write extra-info document to debug logs.
2009-08-19 17:15:51 +02:00
Karsten Loesing
42229d1d84
Move all *-stats file to subdirectory stats/.
2009-08-19 17:10:40 +02:00
Karsten Loesing
a5508583ee
Include only the last 24 hours of stats in extra-info documents.
2009-08-19 16:30:00 +02:00
Karsten Loesing
4e29f33427
Write all statistics to disk exactly every 24 hours.
2009-08-19 15:41:12 +02:00
Karsten Loesing
dccadb30cd
Clean up proposal 166 and its implementation.
2009-08-18 15:53:08 +02:00
Karsten Loesing
799af41157
Use memory pool for insertion times.
2009-08-17 13:30:11 +02:00
Karsten Loesing
f37af0180d
Implement queue with O(1) operations, and correct some math.
2009-08-17 13:30:11 +02:00
Karsten Loesing
858a8f809d
Reduce cell statistics accuracy from 1 ms to 10 ms.
2009-08-17 13:30:11 +02:00
Karsten Loesing
20c95a3d21
Fix trivial bug when uploading extra-info documents.
2009-08-17 13:30:10 +02:00
Karsten Loesing
9179bcb923
Include contents of *-stats files in descriptor.
2009-08-17 13:30:10 +02:00
Karsten Loesing
d97e95cb62
Remove ./configure option for cell statistics.
2009-08-17 13:30:09 +02:00
Karsten Loesing
ab7729f472
Remove ./configure option for entry and dir request statistics.
2009-08-17 13:29:50 +02:00
Nick Mathewson
b9e45cc508
Merge commit 'mikeperry/bandwidth-voting-final'
2009-08-14 17:12:05 -04:00
Karsten Loesing
9d16a59fcc
Remove ./configure option for exit port statistics.
2009-08-14 14:56:38 +02:00
Nick Mathewson
e0dc2e907e
Merge commit 'origin/maint-0.2.1'
2009-08-12 22:02:07 -04:00
Karsten Loesing
a98643c1b5
Fix possible segmentation fault on directory authorities.
...
The more verbose logs that were added in ee58153
also include a string
that might not have been initialized. This can lead to segfaults, e.g.,
when setting up private Tor networks. Initialize this string with NULL.
2009-08-11 17:33:58 +02:00
Roger Dingledine
afc9da7287
Merge branch 'maint-0.2.1'
2009-08-10 04:17:32 -04:00
Roger Dingledine
e50b7768b9
Send sendmes when we're down 100 cells, not 101.
...
Send circuit or stream sendme cells when our window has decreased
by 100 cells, not when it has decreased by 101 cells. Bug uncovered
by Karsten when testing the "reduce circuit window" performance
patch. Bugfix on the 54th commit on Tor -- from July 2002,
before the release of Tor 0.0.0. This is the new winner of the
oldest-bug prize.
2009-08-10 04:13:18 -04:00
Roger Dingledine
5f0fb9a109
Merge branch 'maint-0.2.1' into tmp_merge
2009-08-10 01:37:29 -04:00
Roger Dingledine
8abe3bac7e
Set up urras as the seventh v3 directory authority.
2009-08-10 01:32:51 -04:00
Mike Perry
9e1fe29beb
Switch over to tor_strtok_r instead of strtok_r.
2009-08-09 18:42:29 -07:00
Mike Perry
cb477f9cc0
Merge commit 'nickm/strtok' into mp-voting-final
2009-08-09 18:23:53 -07:00
Mike Perry
1060b4d824
Fix issues found by Nick in code review.
2009-08-09 18:21:15 -07:00
Nick Mathewson
3886467f38
Add a new tor_strtok_r for platforms that don't have one, plus tests.
...
I don't think we actually use (or plan to use) strtok_r in a reentrant
way anywhere in our code, but would be nice not to have to think about
whether we're doing it.
2009-08-09 17:30:15 -07:00
Jacob Appelbaum
33762b5296
LetsKillNoConnect removes support for .noconnect
...
This is a patch to remove support for .noconnect.
We are removing .noconnect because of a talk at Defcon 17 by Gregory Fleischer.
2009-08-08 19:15:22 -07:00
Roger Dingledine
3e4379c2e7
Disable .exit notation unless AllowDotExit is 1.
2009-08-07 19:26:41 -04:00
Mike Perry
ca676c3924
Display consensus bandwidth to the control port.
...
Also div vote and other bandwidth by 1000, not 1024.
2009-08-06 14:47:08 -07:00
Mike Perry
b074e61ad3
Throw the switch on consensus method 6.
2009-08-06 14:47:04 -07:00
Roger Dingledine
da88e05edc
try loading the bandwidth measurement file on startup too,
...
in case it's broken.
2009-08-06 11:48:03 -07:00
Mike Perry
6fbdf635fa
Implement measured bw parsing + unit tests.
2009-08-06 11:48:03 -07:00
Nick Mathewson
df354a002c
Merge commit 'origin/maint-0.2.1'
...
Resolved onflicts in:
ChangeLog
src/or/config.c
src/or/or.h
2009-07-30 10:16:04 -04:00
Nick Mathewson
4577bda766
Cleaner fix for get_effective_bw(rate|burst), with comment on why it is ok.
2009-07-30 10:14:12 -04:00
Nick Mathewson
efe966944d
Fix signed/unsigned comparison warnings in get_effective_bw(rate|burst)
2009-07-30 09:15:07 -04:00
Roger Dingledine
6249b0fd77
Fix a signed/unsigned compile warning in 0.2.1.19
2009-07-28 18:34:35 -04:00
Roger Dingledine
e8e88922a7
Merge branch 'maint-0.2.1' into master
2009-07-28 18:19:57 -04:00
Sebastian Hahn
3e45445104
Changing MaxAdvertisedBW may not need a republish
...
Relays no longer publish a new server descriptor if they change
their MaxAdvertisedBandwidth config option but it doesn't end up
changing their advertised bandwidth numbers. Bugfix on 0.2.0.28-rc;
fixes bug 1026. Patch from Sebastian.
2009-07-27 23:53:06 -04:00
Roger Dingledine
a73acdd46f
Write fingerprint to file and log without spaces
...
Now it will look like the fingerprints in our bridges documentation,
and confuse fewer users.
2009-07-27 22:51:20 -04:00
Roger Dingledine
0a4e2397c0
Don't leak memory if we get too many create cells
...
Specifically, every time we get a create cell but we have so many already
queued that we refuse it.
Bugfix on 0.2.0.19-alpha; fixes bug 1034. Reported by BarkerJr.
2009-07-27 22:38:09 -04:00
Roger Dingledine
2b63fa40e8
three hacks to workaround bug 1038
...
The problem is that clients and hidden services are receiving
relay_early cells, and they tear down the circuit.
Hack #1 is for rendezvous points to rewrite relay_early cells to
relay cells. That way there are never any incoming relay_early cells.
Hack #2 is for clients and hidden services to never send a relay_early
cell on an established rendezvous circuit. That works around rendezvous
points that haven't upgraded yet.
Hack #3 is for clients and hidden services to not tear down the circuit
when they receive an inbound relay_early cell. We already refuse extend
cells at clients.
2009-07-27 21:58:32 -04:00
Karsten Loesing
7b716878cb
Fix dirreq and cell stats on 32-bit architectures.
...
When determining how long directory requests take or how long cells spend
in queues, we were comparing timestamps on microsecond detail only to
convert results to second or millisecond detail later on. But on 32-bit
architectures this means that 2^31 microseconds only cover time
differences of up to 36 minutes. Instead, compare timestamps on
millisecond detail.
2009-07-27 16:23:53 +02:00
Nick Mathewson
2b0e8fb39f
Merge commit 'ioerror/DirFetchInfoExtraEarly'
...
Conflicts:
ChangeLog
2009-07-25 00:52:54 -04:00
Karsten Loesing
f80537e3e0
Fix unit tests.
...
Now that we require EntryStatistics to be 1 for counting connecting
clients, unit tests need to set that config option, too.
Reported by Sebastian Hahn.
2009-07-24 01:13:33 +02:00
Sebastian Hahn
5c0b418a6f
don't warn about DirReqStatistics when the option is disabled
...
Reported by Zax on #tor
2009-07-23 13:50:18 +02:00
Karsten Loesing
b71bbdc69a
Make exit stats compile on 64-bit machines, too.
2009-07-18 10:35:20 -04:00
Nick Mathewson
022d251cb7
Merge branch 'dirreq-timing'
2009-07-16 15:26:07 -04:00
Nick Mathewson
cbe4327391
Switch dirreq_map to use HT_ functions rather than strmap.
2009-07-16 15:26:01 -04:00
Sebastian Hahn
989e74e5c0
fix long line
2009-07-15 17:26:11 +02:00
Karsten Loesing
8c496d1660
Some tweaks to statistics.
...
Changes to directory request statistics:
- Rename GEOIP statistics to DIRREQ statistics, because they now include
more than only GeoIP-based statistics, whereas other statistics are
GeoIP-dependent, too.
- Rename output file from geoip-stats to dirreq-stats.
- Add new config option DirReqStatistics that is required to measure
directory request statistics.
- Clean up ChangeLog.
Also ensure that entry guards statistics have access to a local GeoIP
database.
2009-07-15 16:32:40 +02:00
Karsten Loesing
416940d93b
Some tweaks to directory request download times.
...
- Use common prefixes DIRREQ_* and dirreq_*.
- Replace enums in structs with bitfields.
2009-07-15 16:14:14 +02:00
Karsten Loesing
85e7f67e1c
Round up results to the next multiple of 4.
2009-07-15 16:12:45 +02:00
Karsten Loesing
4002980d1c
Right, the u in uint stands for unsigned.
2009-07-15 16:12:45 +02:00
Karsten Loesing
3c05132575
Directories now also measure download times of network statuses.
2009-07-15 16:12:45 +02:00
Nick Mathewson
d4b31cf98f
Allow interval and memunit cfg variables to be set to fractions.
2009-07-15 10:02:49 -04:00
Roger Dingledine
05975e2a89
make it compile without warnings
2009-07-14 14:13:04 -04:00
Nick Mathewson
31b72732c6
Merge commit 'karsten/geoipstats-download-resp-master'
...
Conflicts:
src/or/geoip.c
2009-07-14 12:18:27 -04:00
Nick Mathewson
e90843eb68
Merge commit 'karsten/geoipstats-shares-master'
2009-07-14 12:15:24 -04:00
Nick Mathewson
49136bb18f
Merge commit 'karsten/geoipstats-newoverthereistan-master'
2009-07-14 12:14:19 -04:00
Karsten Loesing
409386cede
Handle unsigned ints correctly.
2009-07-14 01:50:55 +02:00
Karsten Loesing
59dd9de858
Write number of rejected requests to geoip-stats file.
2009-07-14 01:46:17 +02:00
Jacob Appelbaum
e7576f92de
Add support for a new option: FetchDirInfoExtraEarly
...
This new option will allow clients to download the newest fresh consensus
much sooner than they normally would do so, even if they previously set
FetchDirInfoEarly. This includes a proper ChangeLog entry and an updated man
page.
2009-07-13 16:30:42 -07:00
Roger Dingledine
b48e3371d7
remove experimental 'getinfo unregistered-servers-'
...
it never really worked, and hasn't been used for years.
2009-07-13 17:34:47 -04:00
Roger Dingledine
9ece0955f7
fix comments and other typos
2009-07-13 17:34:46 -04:00
Karsten Loesing
8f1a973669
Two tweaks to exit-port statistics.
...
Add two functions for round_to_next_multiple_of() for uint32_t and
uint64_t.
Avoid division in every step of the loop over all ports.
2009-07-13 22:43:06 +02:00
Karsten Loesing
707a44a7b0
Replace two %d with %u's.
2009-07-13 22:11:21 +02:00
Karsten Loesing
d1437245c7
Simplify the math to round up to the next multiple of some value.
2009-07-11 00:44:27 +02:00
Karsten Loesing
7fb206e554
Tweak exit port statistics a bit.
...
Introduce a threshold of 0.01% of bytes that must be read and written per
port in order to be included in the statistics. Otherwise we cannot include
these statistics in extra-info documents, because they are too big.
Change the labels "-written" and "-read" so that the meanings are as
intended.
2009-07-09 23:55:13 +02:00
Karsten Loesing
fa2374a163
List unresolved requests in geoip stats as country '??'.
2009-07-09 15:34:53 +02:00
Nick Mathewson
041a7b9896
Merge commit 'karsten/entrystats-master'
...
Conflicts:
ChangeLog
configure.in
src/or/config.c
src/or/or.h
2009-07-07 14:26:50 -04:00
Nick Mathewson
1c1b223910
Merge commit 'karsten/bufferstats-master'
2009-07-07 13:21:33 -04:00
Nick Mathewson
aa0cf31c51
Merge commit 'origin/maint-0.2.1'
...
Conflicts:
ChangeLog
configure.in
contrib/tor-mingw.nsi.in
src/win32/orconfig.h
2009-07-07 12:42:24 -04:00
Nick Mathewson
258b980331
Make "Invalid onion hostname" msg respect SafeLogging.
...
Patch by Roger; fixes bug 1027.
2009-07-07 12:19:04 -04:00
Karsten Loesing
c0b6cb132b
If configured, write entry-node statistics to disk periodically.
2009-07-05 20:48:16 +02:00
Karsten Loesing
b493a2ccb9
If configured, write cell statistics to disk periodically.
2009-07-05 19:53:25 +02:00
Karsten Loesing
c1f6c2ba30
Estimate v2 and v3 shares as mean values over measurement interval.
2009-07-04 22:17:08 +02:00
Karsten Loesing
4d6af73db8
If configured, write per-port exit statistics to disk periodically.
...
[Original patch series from Karsten, revised and squashed by Nick]
2009-07-02 12:37:05 -04:00
Nick Mathewson
078c34e28e
Merge commit 'origin/maint-0.2.1'
...
[Didn't take Karsten's full bug 1024 workaround, since 0.2.2 doesn't
use v0 rend descs.]
2009-07-02 10:20:20 -04:00
Karsten Loesing
3e6bb050dd
Make an attempt to fix bug 1024.
...
The internal error "could not find intro key" occurs when we want to send
an INTRODUCE1 cell over a recently finished introduction circuit and think
we built the introduction circuit with a v2 hidden service descriptor, but
cannot find the introduction key in our descriptor.
My first guess how we can end up in this situation is that we are wrong in
thinking that we built the introduction circuit based on a v2 hidden
service descriptor. This patch checks if we have a v0 descriptor, too, and
uses that instead.
2009-07-02 10:00:28 -04:00
Roger Dingledine
690db1331d
another minor patch to add to 0.2.1.x
...
o Minor features:
- If we're a relay and we change our IP address, be more verbose
about the reason that made us change. Should help track down
further bugs for relays on dynamic IP addresses.
2009-06-30 10:21:30 -04:00
Nick Mathewson
9f28cfe86a
Merge commit 'origin/maint-0.2.1'
2009-06-30 10:13:51 -04:00
Roger Dingledine
e7bc189f7c
the third piece of bug 969 fixing
...
when we write out our stability info, detect relays that have slipped
through the cracks. log about them and correct the problem.
if we continue to see a lot of these over time, it means there's another
spot where relays fall out of the routerlist without being marked as
unreachable.
2009-06-30 10:10:13 -04:00
Roger Dingledine
bdca5476da
the second piece of bug 969 fixing
...
whenever we remove a relay from the main routerlist, tell the
rephist module that it's no longer running.
2009-06-30 10:10:13 -04:00
Roger Dingledine
0cd16c4ad3
the first piece of bug 969 fixing
...
tell the rephist module that a given relay is down whenever
we determine that it's down, not just when we thought it used
to be up.
2009-06-30 10:10:13 -04:00
Nick Mathewson
7ce767181f
Have eventdns set the "truncated" bit correctly.
...
Fixed bug 1022; This isn't actually a live bug in Tor, since in Tor
we never generate large DNS replies.
2009-06-30 10:05:42 -04:00
Nick Mathewson
f466f3d12c
Merge commit 'sebastian/geoipnotice'
2009-06-25 12:09:57 -04:00
Sebastian Hahn
38476e2555
Log a notice about collecting geoip stats
2009-06-25 18:06:52 +02:00
Roger Dingledine
9fc3d87827
stop capping bandwidths we see in the consensus
...
but continue capping bandwidths we see in local server
descriptors, if we have no consensus weights for them.
2009-06-25 11:38:05 -04:00
Nick Mathewson
d2cac1afc3
Merge commit 'origin/maint-0.2.1'
2009-06-24 19:02:00 -04:00
Marcus Griep
d308738919
Ignore control port commands after a QUIT
...
When a QUIT has been issued on a control port connection, then
ignore further commands on that port. This fixes bug 1016.
2009-06-24 00:10:22 -04:00
Marcus Griep
fa89c9f086
Flush long replies over control port on QUIT
...
Marks the control port connection for flushing before closing when
the QUIT command is issued. This allows a QUIT to be issued during
a long reply over the control port, flushing the reply and then
closing the connection. Fixes bug 1015.
2009-06-24 00:10:20 -04:00
Nick Mathewson
39551b494e
Merge commit 'origin/maint-0.2.1'
2009-06-22 14:08:19 -04:00
Roger Dingledine
1aaab8288d
Clients now use bandwidth values in the consensus
...
rather than the bandwidth values in each relay descriptor. This approach
opens the door to more accurate bandwidth estimates once the directory
authorities start doing active measurements. Implements more of proposal
141.
2009-06-22 14:01:34 -04:00
Nick Mathewson
3f4f6f9075
Merge commit 'origin/maint-0.2.1'
...
Conflicts:
ChangeLog
2009-06-22 12:36:06 -04:00
Nick Mathewson
262455527a
Serve DirPortFrontPage even if the write bucket is low.
...
arma's rationale: "I think this is a bug, since people intentionally
set DirPortFrontPage, so they really do want their relay to serve that
page when it's asked for. Having it appear only sometimes (or roughly
never in Sebastian's case) makes it way less useful."
Fixes bug 1013; bugfix on 0.2.1.8-alpha.
2009-06-22 12:34:32 -04:00
Karsten Loesing
e6a1e7001b
Add warning that the results of --enable-geoip-stats are different from those in master.
2009-06-22 11:51:19 -04:00
Nick Mathewson
659fc13da5
Change proxy-address type to tor_addr_t to allow ipv6 proxies.
2009-06-19 12:48:00 -04:00
Nick Mathewson
015189b5df
Move SOCKS reason-decoding switches into reasons.c
2009-06-19 12:40:23 -04:00
Christopher Davis
75472c19c3
Enable Tor to connect through SOCKS 4/5 proxies
...
Added a sanity check in config.c and a check in directory.c
directory_initiate_command_rend() to catch any direct connection attempts
when a socks proxy is configured.
2009-06-19 12:16:15 -04:00
Karsten Loesing
f266ecbeec
Better fix for 997.
2009-06-19 16:26:02 +02:00
Karsten Loesing
20883f5e83
Revert "Backport fix for bug 997."
...
This reverts commit 3847f54945
.
2009-06-19 15:46:13 +02:00
Nick Mathewson
df03d6eca8
Merge commit 'karsten/bug997-hidservfetch'
2009-06-16 16:26:02 -04:00
Karsten Loesing
3847f54945
Backport fix for bug 997.
...
Backporting 6a32beb
and ca8708a
.
2009-06-16 16:25:35 -04:00
Nick Mathewson
0d2976d64b
Merge commit 'origin/maint-0.2.1'
2009-06-16 16:18:16 -04:00
Nick Mathewson
7f8a6c5e92
Revise earlier check for correct IPv4 addr length to check for ==4.
...
We need this to match the check in connection_ap_handshake_socks_resolved().
Found by optimist.
2009-06-16 16:12:06 -04:00
Karsten Loesing
ca8708a9ce
Fix more of bug 997.
...
Fix refetching of hidden service descriptors when all introduction points
have turned out to not work.
2009-06-13 12:21:58 +02:00
Nick Mathewson
74bf885b2d
Whitespace and osx fixes on libevent2 patch.
2009-06-12 15:09:09 -04:00
Nick Mathewson
1e709c79d1
Isolate Libevent API dependency to just main.c and dns.c in src/or.
...
The rest of the code was only including event.h so that it could see
EV_READ and EV_WRITE, which we were using as part of the
connection_watch_events interface for no very good reason.
2009-06-12 14:27:53 -04:00
Nick Mathewson
33b1d714e7
Make Tor compile with Libevent 1.0 again.
2009-06-12 14:27:53 -04:00
Nick Mathewson
c0af3cdfb6
Move the Libvent setup logic into compat_libevent from config.
...
This has been some pretty ugly and voodoo-laden code. I've tried to
clean it up a bit, but more work probably remains.
2009-06-12 14:27:52 -04:00
Nick Mathewson
e5b88dc83f
Update Tor to use Libevent 2.0 APIs when available.
...
This patch adds a new compat_libevent.[ch] set of files, and moves our
Libevent compatibility and utilitity functions there. We build them
into a separate .a so that nothing else in src/commmon depends on
Libevent (partially fixing bug 507).
Also, do not use our own built-in evdns copy when we have Libevent
2.0, whose evdns is finally good enough (thus fixing Bug 920).
2009-06-12 14:27:52 -04:00
Roger Dingledine
845326317d
Check answer_len in the remap_addr case of process_relay_cell_not_open.
...
Fix an edge case where a malicious exit relay could convince a
controller that the client's DNS question resolves to an internal IP
address. Bug found and fixed by "optimist"; bugfix on 0.1.2.8-beta.
2009-06-12 11:22:54 -04:00
Roger Dingledine
cb1617f18e
Check answer_len in the remap_addr case of process_relay_cell_not_open.
...
Fix an edge case where a malicious exit relay could convince a
controller that the client's DNS question resolves to an internal IP
address. Bug found and fixed by "optimist"; bugfix on 0.1.2.8-beta.
2009-06-12 11:18:02 -04:00
Karsten Loesing
6a32beb877
Apply fix for bug 997.
...
Hidden service clients didn't use a cached service descriptor that
was older than 15 minutes, but wouldn't fetch a new one either. Now,
use a cached descriptor no matter how old it is and only fetch a new
one when all introduction points fail. Fix for bug 997. Patch from
Marcus Griep.
2009-06-12 11:39:35 +02:00
Karsten Loesing
77f5ad6b07
Restore changes from f79688d
that got lost somehow during a merge.
2009-06-12 02:05:21 +02:00
Nick Mathewson
358efe1eea
Merge commit 'origin/maint-0.2.1'
2009-06-08 00:01:31 -04:00
Nick Mathewson
20193fc7ab
Avoid a memory corruption problem related to "private" in DirPolicy.
...
This is a posible fix for bug 996.
2009-06-05 19:41:40 -04:00
Nick Mathewson
4945fee65a
Merge commit 'origin/maint-0.2.1'
2009-06-04 03:31:12 -04:00
Nick Mathewson
b262e76563
Fix gprof bottlenecks on exit nodes found by Jacob.
...
Apparently all the stuff that does a linear scan over all the DNS
cache entries can get really expensive when your DNS cache is very
large. It's hard to say how much this will help performance, since
gprof doesn't count time spent in OpenSSL or zlib, but I'd guess 10%.
Also, this patch removes calls to assert_connection_ok() from inside
the read and write callbacks, which are similarly unneeded, and a
little costlier than I'm happy with.
This is probably worth backporting to 0.2.0.
2009-06-03 13:52:03 -04:00
Nick Mathewson
77ffd6b2a7
Merge commit 'origin/maint-0.2.1'
2009-05-31 19:17:22 -04:00
Nick Mathewson
c4c7dcd453
Do not report a node as a "chosen exit" when it is not in fact an exit.
...
Provide a useful warning when launch_circuit tries to make us use a
node we don't want to use. Just give an info message when this is a
normal and okay situation. Fix for logging issues in bug 984.
2009-05-31 19:15:36 -04:00
Nick Mathewson
e8ac2a8477
Make the second argument to routerset_contains_extendinfo const
2009-05-31 19:15:36 -04:00
Nick Mathewson
e84ddead34
Merge branch 'hardware_accel_improvements'
2009-05-31 13:36:50 -04:00
Nick Mathewson
3ca10bb62f
Fix-ups for dynamic OpenSSL engine patch.
...
Include a changelog, and don't try to compare strings with !=.
2009-05-31 13:36:18 -04:00
Nick Mathewson
fd992deeea
Don't attempt to log messages to a controller from a worker thread.
...
This patch adds a function to determine whether we're in the main
thread, and changes control_event_logmsg() to return immediately if
we're in a subthread. This is necessary because otherwise we will
call connection_write_to_buf, which modifies non-locked data
structures.
Bugfix on 0.2.0.x; fix for at least one of the things currently
called "bug 977".
2009-05-30 18:16:24 -04:00
Karsten Loesing
dfebc88d56
Warn and exit when we are configured to measure GeoIP statistics, but have no GeoIP database.
2009-05-30 23:35:21 +02:00
Nick Mathewson
d66c379765
Clean up a bit of C logic, and fix an erroneous warning.
...
(Simplify "if (cond) return 1; return 0;" to "return cond;", and don't
give a warning when we start with accounting on but dirport off.)
2009-05-29 23:28:01 -04:00
Sebastian Hahn
e70fe116d3
Consider *ListenAddress when warning about low ports and hibernation
...
Tas (thanks!) noticed that when *ListenAddress is set, Tor would
still warn on startup when *Port is low and hibernation is active.
The patch parses all the *ListenAddress lines, and checks the
ports. Bugfix on 0.2.1.15-rc
2009-05-30 03:09:39 +02:00
Nick Mathewson
3599e9051e
Restore changes from Karsten's "Remove unused rendversion parameters".
...
These were made undone by a merge.
2009-05-28 16:19:05 -04:00
Nick Mathewson
4913a8c4ba
Merge commit 'origin/maint-0.2.1'
2009-05-28 16:07:49 -04:00
Nick Mathewson
873faffb5a
Two more spelling fix fixes.
2009-05-28 12:26:17 -04:00
Nick Mathewson
260de44313
Fixes to spelling fixes. Thanks, Roger!
2009-05-28 12:22:48 -04:00
Nick Mathewson
cb18fc2190
Merge commit 'origin/maint-0.2.1'
2009-05-27 18:12:18 -04:00
Karsten Loesing
d49711e52c
Fix unit tests that were broken after last fix of #932 .
...
With the last fix of task 932 (5f03d6c
), client requests are only added to
the history when they happen after the start of the current history. This
conflicts with the unit tests that insert current requests first (defining
the start of the client request history) followed by requests in the past.
The fix is to insert requests in chronological order in the unit tests.
2009-05-27 18:04:55 -04:00
Nick Mathewson
ec7e054668
Spell-check Tor.
2009-05-27 17:55:51 -04:00
Nick Mathewson
0e2618dd54
Merge commit 'origin/maint-0.2.1'
2009-05-27 14:20:18 -04:00
Nick Mathewson
181674e9bb
Fix a signed/unsigned comparison warning
2009-05-27 14:19:24 -04:00
Karsten Loesing
54c97c9133
Change the way how directories that are configured with --enable-geoip-stats write geoip stats to disk.
...
- Write geoip stats to disk every 24 hours, not every hour.
- Remove configuration options and define reasonable defaults.
- Clear history of client requests every 24 hours (which wasn't done at
all before).
2009-05-27 19:13:31 +02:00
Karsten Loesing
02a417d4e0
Improve documentation for the last fix of bug 932.
2009-05-27 19:10:55 +02:00
Karsten Loesing
5f03d6c547
Fix bug 932 even more.
...
Ignore connections two hours after switching from bridge to relay or back.
2009-05-27 19:10:54 +02:00
Karsten Loesing
bf7e5d6553
Some cleanups on geoip.c.
...
Use two bitfields for last_seen and action in clientmap_entry_t rather
than having both share a 32-bit. Also, documentation fixes.
2009-05-26 21:32:56 +02:00
Nick Mathewson
b805e5debf
Merge commit 'origin/maint-0.2.1' into master.
...
Conflicts:
ChangeLog
configure.in
contrib/tor-mingw.nsi.in
src/win32/orconfig.h
2009-05-25 16:43:52 -04:00
Nick Mathewson
99c315a473
Use tor_socket_strerror in eventdns.c. Fixes bug 987.
2009-05-25 16:38:50 -04:00
Nick Mathewson
3b47be20ec
Update newer control_event_stream_bandwidth code to revised control impl
2009-05-25 12:55:59 -04:00
Nick Mathewson
b998fed9b9
Remove support for events without the extended format or long names.
...
Supporting the old formats made our code complex; running without them
has been discouraged since 0.2.1.x.
2009-05-25 12:52:25 -04:00
Roger Dingledine
05e55d82b6
simplify options_act()
2009-05-24 20:31:50 -04:00
Roger Dingledine
9a4b0446b0
fix a comment
2009-05-24 20:31:50 -04:00
Sebastian Hahn
f26abf5f54
fix codestyle issues
2009-05-24 02:42:37 +02:00
Martin Peck
7703b887f5
Add support for dynamic OpenSSL hardware crypto acceleration engines.
2009-05-23 16:42:44 -07:00
Jacob Appelbaum
75f963e951
Log the number and size of DNS cache entries on SIGUSR1.
...
Specifically if you send SIGUSR1, it will add two lines to the log file:
May 22 07:41:59.576 [notice] Our DNS cache has 3364 entries.
May 22 07:41:59.576 [notice] Our DNS cache size is approximately 1022656
bytes.
[tweaked a bit by nickm]
2009-05-22 23:33:44 -04:00
Nick Mathewson
a3fadddd4a
Improved bug-957 fix for 0.2.2.
...
Really, our idiocy was that we were calling event_set() on the same
event more than once, which sometimes led to us calling event_set() on
an event that was already inserted, thus making it look uninserted.
With this patch, we just initialize the timeout events when we create
the requests and nameservers, and we don't need to worry about
double-add and double-del cases at all.
2009-05-22 14:06:39 -04:00
Nick Mathewson
4201a3735f
Merge commit 'origin/maint-0.2.1'
2009-05-22 11:56:51 -04:00
Nick Mathewson
1d002a25a2
Finish up the 0.2.1 version of the bug 957 fix.
...
Basically, all this means is downgrading our warning messages to debug
messages, since the bug workaround code here is adequate to stop the
bug.
2009-05-22 11:47:09 -04:00
phobos
678092750b
fix a spelling mistake in config.c for "contries"
2009-05-22 01:26:17 -04:00
Nick Mathewson
79762aac17
Merge commit 'origin/maint-0.2.1'
2009-05-18 16:17:12 -04:00
Nick Mathewson
34030a3d23
Possible fix for crash bug related to event timeouts. [Bug 957]
...
If we ever add an event, then set it, then add it again, there will be
now two pointers to the event in the event base. If we delete one and
free it, the first pointer will still be there, and possibly cause a
crash later.
This patch adds detection for this case to the code paths in
eventdns.c, and works around it. If the warning message ever
displays, then a cleverer fix is in order.
{I am not too confident that this *is* the fix, since bug 957 is very
tricky. If it is, it is a bugfix on 0.2.0.}
2009-05-18 16:12:39 -04:00
Nick Mathewson
14a549552a
Merge branch 'maint-0.2.1' into merge_tmp
2009-05-17 02:11:34 -04:00
Roger Dingledine
2fa5410218
Fix a memory leak when v3 directory authorities load their keys
...
and cert from disk. Bugfix on 0.2.0.1-alpha.
2009-05-17 02:04:59 -04:00
Nick Mathewson
c0515b307c
Fix valgrind error when marking a descriptor as never-downloadable.
...
When we got a descriptor that we (as an authority) rejected as totally
bad, we were freeing it, then using the digest in its RAM to look up its
download status. Caught by arma with valgrind. Bugfix on 0.2.1.9-alpha.
2009-05-17 02:01:09 -04:00
Mike Perry
29bf271ba2
Fix misreporting of stream bandwidths.
2009-05-14 17:52:26 -04:00
potentiate
1b61c8bf37
Fix misreporting of stream bandwidths.
2009-05-14 17:50:06 -04:00
Nick Mathewson
479d21254a
Merge commit 'origin/maint-0.2.1'
2009-05-13 16:55:42 -04:00
Nick Mathewson
a38ed1a235
Use | with flags, not +.
2009-05-13 16:45:59 -04:00
Karsten Loesing
9e97067b2f
Prevent bridges from publishing router descriptors.
...
Bridges are not supposed to publish router descriptors to the directory
authorities. It defeats the point of bridges when they are included in the
public relay directory.
This patch puts out a warning and exits when the node is configured as
a bridge and to publish v1, v2, or v3 descriptors at the same time.
Also fixes part of bug 932.
2009-05-13 16:45:59 -04:00
Nick Mathewson
fc091e8a96
When our bridge status changes, forget old geoip data.
...
This fixes bug 932, where all of our usage totals for users when we
were a regular server would get included in the extrainfo document.
2009-05-13 16:45:59 -04:00
Nick Mathewson
a271c5370a
Merge commit 'origin/maint-0.2.1' into m3
2009-05-12 14:04:51 -04:00
Sebastian Hahn
a28215a150
Warn when hibernation and low-port on non-windows is configured
...
This addresses the first part of bug 918. Users are now warned when
they try to use hibernation in combination with a port below 1024
when they're not on Windows. We don't want to die here, because
people might run Tor as root, use a capabilities system or some
other platform that will allow them to re-attach low ports.
Wording suggested by Marian
2009-05-12 20:00:00 +02:00
Nick Mathewson
5fc08d1920
Merge 0.2.1 onto the development branch.
...
Manually resolved conflicts on version number; all else applied cleanly.
2009-05-12 13:57:58 -04:00
Nick Mathewson
88d81ead83
Better debugging output for bug 977 case.
...
(Don't crash immediately if we have leftover chunks to free after
freeing chunks in a buffer freelist; instead log a debugging message
that might help.)
2009-05-12 13:54:21 -04:00
Nick Mathewson
fdbdb4dc15
Include the *_sha1.i files in their own *_codedigest.c files.
...
This way we do not need to rebuild util.c and/or config.c whenever
any unrelated source file in src/common or src/or has changed.
2009-05-08 12:35:36 -04:00
Karsten Loesing
948835c680
Remove unused rendversion parameters. YAGNI.
2009-05-04 13:46:30 -04:00
Karsten Loesing
f79688ddef
Clients do not request version 0 hidserv descs anymore.
2009-05-04 13:46:30 -04:00
Karsten Loesing
0d68da2381
Drop version 0 hidserv support on service side.
2009-05-04 13:46:29 -04:00
Karsten Loesing
9b32e8c141
Update copyright to 2009.
2009-05-04 11:28:27 -04:00
Karsten Loesing
4ebcc4da34
Update copyright to 2009.
2009-05-02 22:00:54 +02:00
Karsten Loesing
e25fdce900
Documentation fix.
2009-05-02 21:47:03 +02:00
Nick Mathewson
596e852c31
Remove the long-deprecated GETINFO addr-mappings/
2009-05-01 06:25:18 -04:00
Nick Mathewson
6ac3a8b0cd
Command-line option to dump SHA1 digests of all source files.
...
Now, when you call tor --digests, it dumps the SHA1 digest of each
source file that Tor was built with. We support both 'sha1sum' and
'openssl sha1'. If the user is building from a tarball and they
haven't edited anything, they don't need any program that calculates
SHA1. If they _have_ modified a file but they don't have a program to
calculate SHA1, we try to build so we do not output digests.
2009-04-29 14:46:04 -04:00
Sebastian Hahn
5675be39a0
Return -1 in the error case from read_bandwidth_usage.
...
svn:r19367
2009-04-23 22:04:10 +00:00
Karsten Loesing
4e6120cffb
Documentation fix.
...
svn:r19337
2009-04-16 08:25:36 +00:00
Roger Dingledine
39ceda7e05
Raise the minimum bandwidth to be a relay from 20000 bytes to 20480
...
bytes (aka 20KB/s), to match our documentation. Also update
directory authorities so they always assign the Fast flag to relays
with 20KB/s of capacity. Now people running relays won't suddenly
find themselves not seeing any use, if the network gets faster
on average.
svn:r19305
2009-04-12 07:56:58 +00:00
Roger Dingledine
c024928b63
For belt-and-suspenders, relays that don't set Address in their config
...
now avoid using begin_dir for all direct connections.
svn:r19296
2009-04-11 19:40:42 +00:00
Roger Dingledine
419d158c74
make it compile too
...
svn:r19295
2009-04-11 19:22:38 +00:00
Roger Dingledine
9c6b135e1a
play make-believe that addr isn't a uint32_t
...
svn:r19293
2009-04-11 18:21:18 +00:00
Roger Dingledine
fa003351ae
fix the same bug in two more locations (thanks to lark for prodding
...
me further)
svn:r19292
2009-04-11 18:19:57 +00:00
Roger Dingledine
8d82583d97
Finally fix the bug where dynamic-IP relays disappear when their
...
IP address changes: directory mirrors were mistakenly telling them
their old address if they asked via begin_dir, so they never got
an accurate answer about their new address, so they just vanished
after a day. Should fix bugs 827, 883, and 900 -- but alas, only
after every directory mirror has upgraded.
svn:r19291
2009-04-11 18:09:15 +00:00
Roger Dingledine
235a1196b3
only log that at loglevel notice if there's a problem with the
...
version. otherwise there's no reason to tell the user we're
doing behind-the-scenes cleaning.
svn:r19288
2009-04-11 12:06:27 +00:00
Roger Dingledine
48118b228e
Clients replace entry guards that were chosen more than a few months
...
ago. This change should significantly improve client performance,
especially once more people upgrade, since relays that have been
a guard for a long time are currently overloaded.
svn:r19287
2009-04-11 12:00:18 +00:00
Roger Dingledine
7e32f0d5c8
fix a comment
...
svn:r19262
2009-04-11 00:40:11 +00:00
Roger Dingledine
93c0a81491
If the bridge config line doesn't specify a port, assume 443.
...
This makes bridge lines a bit smaller and easier for users to
understand.
Also, remove a duplicate changelog entry from the past.
svn:r19260
2009-04-11 00:16:05 +00:00
Sebastian Hahn
8390787a5f
Directory authorities should accept a descriptor as changed when the relay operator changed the bandwithrate or bandwithburst settings.
...
svn:r19259
2009-04-11 00:12:52 +00:00
Roger Dingledine
c4145e5390
commit sebastian's patch to not require contactinfo when testingtornetwork
...
is set
svn:r19257
2009-04-10 07:02:19 +00:00
Nick Mathewson
d50501e5ed
Fix a few crash bugs related to malormed descriptors. Lark found one; fuzzing found the rest.
...
svn:r19250
2009-04-09 19:58:16 +00:00
Roger Dingledine
ee58153b50
log more verbosely when we accept or decline a router descriptor,
...
to help track whether we received them when a relay operator claims
they got sent.
svn:r19213
2009-04-01 13:02:04 +00:00
Roger Dingledine
b4ceb830e0
if a directory authority declines our server descriptors because it's
...
not new enough, write that in the logs. might be helpful one day.
svn:r19195
2009-03-31 05:24:36 +00:00
Roger Dingledine
7170c5b4f8
Limit uploaded directory documents to be 16M rather than 500K.
...
The directory authorities were refusing v3 consensus votes from
other authorities, since the votes are now 504K. Fixes bug 959;
bugfix on 0.0.2pre17 (where we raised it from 50K to 500K ;).
svn:r19194
2009-03-31 04:03:37 +00:00
Roger Dingledine
793f1ce007
Directory authorities should never send a 503 "busy" response to
...
requests for votes or keys. Bugfix on 0.2.0.8-alpha; exposed by
bug 959.
svn:r19189
2009-03-31 01:29:07 +00:00
Nick Mathewson
b5135f1190
Whitespace cleanup.
...
svn:r19080
2009-03-18 19:30:37 +00:00
Nick Mathewson
c2f8d97212
Do not generate the non-verbose circuit path when generating a circuit event unless we will use it.
...
svn:r19079
2009-03-18 19:30:34 +00:00
Nick Mathewson
a335b43a67
If we have a routerstatus but no routerinfo to name a router, use the routerstatus instead when generating circuit events. Also refactor a little.
...
svn:r19078
2009-03-18 19:30:30 +00:00
Nick Mathewson
e591aafca4
Add a function to get a LongName from a routerstatus. Needed for partial bug 941 fix.
...
svn:r19077
2009-03-18 19:30:26 +00:00
Nick Mathewson
30ec1d1d50
Don't double-free successful_uploads.
...
When we used smartlist_free to free the list of succesful uploads
because we had succeeded in uploading everywhere, we did not actually
set the successful_uploads field to NULL, so later it would get freed
again in rend_service_descriptor_free. Fix for bug 948; bug
introduced in 0.2.1.6-alpha.
svn:r19073
2009-03-18 14:35:24 +00:00
Nick Mathewson
ad7ebec24c
Free very-old descriptors that we do not want to add. Fix for bug 672. Backport candidate
...
svn:r19057
2009-03-16 18:47:45 +00:00
Karsten Loesing
309080b6aa
Make directory usage recording work again. Fixing bug introduced in r17009.
...
svn:r18924
2009-03-11 22:08:37 +00:00
Roger Dingledine
4e094ddc4d
when we get an unrecognized relay streamid, log it
...
svn:r18919
2009-03-11 20:51:47 +00:00
Roger Dingledine
4774e593b8
Bugfix on r17756:
...
Avoid trying to print raw memory to the logs when we decide to
give up on downloading a given relay descriptor. Bugfix on
0.2.1.9-alpha.
svn:r18831
2009-03-09 22:05:17 +00:00
Nick Mathewson
d40cbda2cd
Log cached-at-exit exit policies to try to fix bug 672.
...
svn:r18827
2009-03-09 15:53:37 +00:00
Roger Dingledine
5d50bc3e1d
We were already rejecting relay begin cells with destination port
...
of 0. Now also reject extend cells with destination port or address
of 0. Suggested by lark.
svn:r18812
2009-03-09 00:53:42 +00:00
Nick Mathewson
cbbc0c9c86
Actually use tor_sscanf() to parse untrusted input.
...
svn:r18761
2009-03-03 18:02:36 +00:00
Nick Mathewson
26d83fc04c
Add a simple locale-independent no-surprises sscanf replacement.
...
tor_sscanf() only handles %u and %s for now, which will make it
adequate to replace sscanf() for date/time/IP parsing. We want this
to prevent attackers from constructing weirdly formed descriptors,
cells, addresses, HTTP responses, etc, that validate under some
locales but not others.
svn:r18760
2009-03-03 18:02:31 +00:00
Nick Mathewson
9f8d095e0f
Add and use set/get_uint64 on onion tags. [bug 604; backportable]
...
It seems that 64-bit Sparc Solaris demands 64-bit-aligned access to
uint64_t, but does not 64-bit-align the stack-allocated char array we
use for cpuworker tags. So this patch adds a set/get_uint64 pair, and
uses them to access the conn_id field in the tag.
svn:r18743
2009-03-02 19:15:05 +00:00
Nick Mathewson
27c3b43817
Fix one case of bug 929.
...
svn:r18683
2009-02-23 20:04:51 +00:00
Nick Mathewson
c7f3416a9e
Add some debugging code to try to catch the likely cause of bug 929
...
svn:r18682
2009-02-23 18:57:21 +00:00
Nick Mathewson
261670b57e
Patch from lark: if we get two extend cells for the same circuit id, drop the second. Previously, we had leaked an extend_info if the target connection was not open when the second arrived.
...
svn:r18668
2009-02-21 19:07:05 +00:00
Nick Mathewson
192b701fac
Patch from lark: drop BEGIN cells from a rendevous circuit if they do not originate from the end of the circuit.
...
svn:r18667
2009-02-21 19:07:01 +00:00
Roger Dingledine
1b6688786c
send the newconsensus event if the controller has asked for newconsensus
...
events, not if he's asked for ns events
svn:r18656
2009-02-20 10:25:08 +00:00
Nick Mathewson
b13496b62a
Possible fix for broken country settings in ExcludeExitNodes.
...
It turns out that we weren't updating the _ExcludeExitNodesUnion set's
country numbers when we reloaded (or first loaded!) the IP-to-country
file. Spotted by Lark. Bugfix on 0.2.1.6-alpha.
svn:r18575
2009-02-16 15:15:06 +00:00
Roger Dingledine
d3289c6b87
docdoc and changelog for r18556
...
svn:r18566
2009-02-16 10:39:10 +00:00
Roger Dingledine
d13cc5f989
and list the new event here too
...
svn:r18557
2009-02-16 06:18:44 +00:00
Roger Dingledine
9ded433abb
new controller event NEWCONSENSUS that lists the networkstatus
...
lines for every recommended relay.
still needs docdoc and changelog entry.
svn:r18556
2009-02-16 06:18:03 +00:00
Roger Dingledine
c8474f9d93
If the controller claimed responsibility for a stream, but that
...
stream never finished making its connection, it would live
forever in circuit_wait state. Now we close it after SocksTimeout
seconds. Bugfix on 0.1.2.7-alpha; reported by Mike Perry.
svn:r18516
2009-02-13 04:11:14 +00:00
Nick Mathewson
65dc835773
Revert an erroneous part of the non-fix to bug 326, and add comments to explain why it was erroneous.
...
svn:r18494
2009-02-11 17:23:11 +00:00
Nick Mathewson
6e4afe6f13
I worry that the CLEAR() macro in eventdns.c is hiding bugs. That is sad, because it was meant to make them more detectable. Change it to change stuff to garbage rather than to 0. If no bugs turn up, we can remove it in 0.2.2.x
...
svn:r18493
2009-02-11 17:22:34 +00:00
Nick Mathewson
8d9aadf57c
Port some mostly cosmetic eventdns changes from libevent
...
svn:r18492
2009-02-11 17:22:29 +00:00
Nick Mathewson
356b40f58b
Clients and non-caches do not need to cache unrecognized authority certificates.
...
svn:r18480
2009-02-10 20:28:30 +00:00
Karsten Loesing
34b285b09f
As an exit node, scrub the IP address to which we are exiting in the logs. Bugfix on 0.2.1.8-alpha.
...
svn:r18477
2009-02-10 18:52:47 +00:00
Nick Mathewson
91fece7be2
Don't extend introduction circuits indefinitely.
...
Doing so could run you out of relay_early cells and give you a
senselessly long circuit. Patch from Karsten; may fix bug 878.
svn:r18459
2009-02-10 00:45:30 +00:00
Nick Mathewson
6f90f6f2a2
Retry circuits if the exit node is optional and nonexistant.
...
Previously, when we had the chosen_exit set but marked optional, and
we failed because we couldn't find an onion key for it, we'd just give
up on the circuit. But what we really want to do is try again, without
the forced exit node.
Spotted by rovv. Another case of bug 752. I think this might be
unreachable in our current code, but proposal 158 could change that.
svn:r18451
2009-02-09 16:55:48 +00:00
Nick Mathewson
c7315e65ae
Disable KQUEUE from inside Tor if the OSX version is prior to 10.4.0
...
svn:r18450
2009-02-09 16:07:02 +00:00
Roger Dingledine
28d97f8262
uh, and commit the patch too.
...
svn:r18423
2009-02-09 03:13:14 +00:00
Nick Mathewson
fe987d3a17
Remove some deadcode and use tor_inet_aton uniformly.
...
svn:r18422
2009-02-09 03:13:05 +00:00
Nick Mathewson
2ebdf91a52
Fix a remote-crash bug. This will need a patch release.
...
svn:r18421
2009-02-09 03:13:02 +00:00
Roger Dingledine
3845087b04
decide that mikeperry's bug should be fixed in 0.2.1.x
...
(but not in 0.2.1.12-alpha, sorry)
svn:r18417
2009-02-09 02:50:19 +00:00
Roger Dingledine
decdf4537a
If we're using bridges and our network goes away, be more willing
...
to forgive our bridges and try again when we get an application
request. Bugfix on 0.2.0.x.
svn:r18396
2009-02-04 23:27:35 +00:00
Roger Dingledine
45aeabf8f7
make a note about a clause in connection_edge.c that is probably
...
redundant, and is definitely confusing. we should take it out
in 0.2.2.x and see who squeaks.
svn:r18383
2009-02-04 08:27:36 +00:00
Nick Mathewson
261f49fe26
Fix a possible cause of bug 915 when parsing multiple votes one of which was bad. Bugfix on 0.2.0.8-alpha.
...
svn:r18354
2009-01-31 18:27:38 +00:00
Nick Mathewson
0f2e171653
fix a wide line.
...
svn:r18341
2009-01-30 15:23:44 +00:00
Nick Mathewson
e1f03572ca
Support setting serverdnsrandomizecase during sighup. Backportable, unless too trivial.
...
svn:r18307
2009-01-28 19:53:03 +00:00
Nick Mathewson
f78793879d
Fix a race condition on nameserver reconfiguration.
...
This resolves bug 526, wherein we would crash if the following
events occurred in this order:
A: We're an OR, and one of our nameservers goes down.
B: We launch a probe to it to see if it's up again. (We do this hourly
in steady-state.)
C: Before the probe finishes, we reconfigure our nameservers,
usually because we got a SIGHUP and the resolve.conf file changed.
D: The probe reply comes back, or times out. (There is a five-second
window for this, after B has happens).
IOW, if one of our nameservers is down and our nameserver
configuration has changed, there were 5 seconds per hour where HUPing
the server was unsafe.
Bugfix on 0.1.2.1-alpha. Too obscure to backport.
svn:r18306
2009-01-28 18:26:20 +00:00
Nick Mathewson
e06de61d84
Don't obsolete a very-new connection for having no circuits yet.
...
This fixes the last known case of bug 891, which could happen if two
hosts, A and B, disagree about how long a circuit has been open,
because of clock drift of some kind. Host A would then mark the
connection as is_bad_for_new_circs when it got too old and open a new
connection. In between when B receives a NETINFO cell on the new
conn, and when B receives a conn cell on the new circuit, the new
circuit will seem worse to B than the old one, and so B will mark it
as is_bad_for_new_circs in the second or third loop of
connection_or_group_set_badness().
Bugfix on 0.1.1.13-alpha. Bug found by rovv.
Not a backport candidate: the bug is too obscure and the fix too tricky.
svn:r18303
2009-01-28 17:36:41 +00:00
Nick Mathewson
0d5f4d4e73
Remove some dead code.
...
svn:r18301
2009-01-28 17:36:34 +00:00
Nick Mathewson
8027c8c6dd
Forward-port: Fix bug 893: check AP connections for markedness before expiring them.
...
svn:r18299
2009-01-28 16:30:06 +00:00
Nick Mathewson
ef001cf85d
Actually send the extra_headers content in write_http_response_header_impl. This make X-Descriptor-Now-New get sent. Bugfix on 0.2.0.10-alpha. Spotted by "multiplication".
...
svn:r18297
2009-01-28 16:06:46 +00:00
Roger Dingledine
9fdae765e3
clean up r18287
...
svn:r18288
2009-01-28 07:16:22 +00:00
Roger Dingledine
edff606317
patch from matt to implement 'getinfo status/clients-seen'
...
svn:r18287
2009-01-28 06:50:36 +00:00
Roger Dingledine
59f57a0117
gah. yet another place that needs to be edited when we add
...
a new event. what a mess.
svn:r18277
2009-01-27 04:43:43 +00:00
Nick Mathewson
25c6ff6f55
Support 64-bit time_t. Patch from Matthias Drochner. Partial backport candidate.
...
svn:r18234
2009-01-22 16:28:12 +00:00
Nick Mathewson
8ebceeb352
Make sure that even in the weird fiddly paths that lead to init_keys,
...
crypto_global_init gets called. Also have it be crypto_global_init
that calls crypto_seed_rng, so we are not dependent on OpenSSL's
RAND_poll in these fiddly cases.
Should fix bug 907. Bugfix on 0.0.9pre6. Backport candidate.
svn:r18210
2009-01-21 15:38:39 +00:00
Roger Dingledine
a5a6b9a08a
Let controllers actually ask for the "clients_seen" event. Bugfix
...
on 0.2.1.10-alpha; reported by Matt Edman.
svn:r18201
2009-01-21 03:24:27 +00:00
Nick Mathewson
87124f54d0
This patch changes the default location where config and data files
...
are stored when the --enable-local-appdata option is configured. This
changes the Windows path from %APPDATA% to a host local
%USERPROFILE%\Local Settings\Application Data\ path (aka,
LOCAL_APPDATA).
Patch from coderman.
svn:r18122
2009-01-15 23:07:11 +00:00
Nick Mathewson
a899f5eaf2
make an assert tighter and replace another with an if.
...
svn:r18102
2009-01-14 06:36:33 +00:00
Nick Mathewson
6bf5d49b8a
Now that we can hit the end of router_rebuild_store before chunk_list is set, we need to test it before freeing it.
...
svn:r18101
2009-01-14 06:36:30 +00:00
Nick Mathewson
d7be03427d
Refactor MIN_IPS_TO_NOTE_* macros in geoip.c: simplify code.
...
It was dumb to have an "announce the value if it's over 0" version of
the code coexisting with an "announce the value if it's at least N"
version. Retain the latter only, with N set to 1.
Incidentally, this should fix a Coverity REVERSE_INULL warning.
svn:r18100
2009-01-14 06:20:57 +00:00
Nick Mathewson
2aaf71826d
Fix a compile warning on win32.
...
svn:r18099
2009-01-14 04:03:24 +00:00
Karsten Loesing
42c824b405
True, 17 is greater than 0. But this applies to 4111 as well.
...
svn:r18097
2009-01-13 15:02:32 +00:00
Nick Mathewson
a33452c401
Fix up (I hope) most ot the things that coverity suddenly claimed were REVERSE_INULL. This is what we get for bragging about being down to 0 issues.
...
svn:r18096
2009-01-13 14:43:51 +00:00
Nick Mathewson
c32a4ce6b3
Do the tor_assert hack everywhere in test_crypto_aes_iv.
...
svn:r18095
2009-01-13 14:43:46 +00:00
Nick Mathewson
dbc8a44bae
Fix ServerDNSRandomizeCase so that setting it to 0 works.
...
Bugfix on 0.2.1.7-alpha. Backport candidate. Fixes bug 905.
svn:r18063
2009-01-10 14:38:14 +00:00
Nick Mathewson
a0a5440826
Make the last bunch of libevent version detection silliness work on macosx.
...
svn:r18015
2009-01-07 21:13:02 +00:00
Nick Mathewson
a6504cdea7
Check that Libevent header version matches Libevent library version.
...
Unfortunately, old Libevents don't _put_ a version in their headers, so
this can get a little tricky. Fortunately, the only binary-compatibility
issue we care about is the size of struct event. Even more fortunately,
Libevent 2.0 will let us keep binary compatiblity forever by letting us
decouple ourselves from the structs, if we like.
svn:r18014
2009-01-07 21:05:02 +00:00
Roger Dingledine
c123163043
Discard router descriptors as we load them if they are more than
...
five days old. Otherwise if Tor is off for a long time and then
starts with cached descriptors, it will try to use the onion
keys in those obsolete descriptors when building circuits. Bugfix
on 0.2.0.x. Fixes bug 887.
svn:r17993
2009-01-07 02:13:42 +00:00
Roger Dingledine
18ffea77ae
actually find the right identity_digest to blame when we get
...
a destroy cell from our first hop.
svn:r17991
2009-01-07 00:30:12 +00:00
Roger Dingledine
bf33182459
well, that was a disaster. this time for sure.
...
svn:r17989
2009-01-06 22:20:31 +00:00
Roger Dingledine
c052494a4f
no actual changes besides a seg fault on startup, i meant
...
svn:r17986
2009-01-06 21:42:05 +00:00
Roger Dingledine
cdda852cec
simplify. no actual changes i think. ;)
...
svn:r17985
2009-01-06 21:31:46 +00:00
Roger Dingledine
b36a98ff5a
When our circuit fails at the first hop (e.g. we get a destroy
...
cell back), avoid using that OR connection anymore, and also
tell all the one-hop directory requests waiting for it that they
should fail. Bugfix on 0.2.1.3-alpha.
svn:r17984
2009-01-06 21:28:48 +00:00
Nick Mathewson
462f64b6b9
Make outgoing DNS requests respect OutboundBindAddress.
...
Fixes the bug part of bug 789.
svn:r17983
2009-01-06 20:50:55 +00:00
Roger Dingledine
4f27e73aaa
clarify which relay gave us the good netinfo cell
...
svn:r17973
2009-01-06 19:21:47 +00:00
Roger Dingledine
68806c7fb7
When a relay gets a create cell it can't decrypt (e.g. because it's
...
using the wrong onion key), we were dropping it and letting the
client time out. Now actually answer with a destroy cell. Bugfix
on 0.0.2pre8.
svn:r17970
2009-01-06 19:03:15 +00:00
Roger Dingledine
0955a1b9e1
Jan 06 13:03:57.309 [info] networkstatus_set_current_consensus(): Loaded an obsolete consensus. Discarding.
...
Jan 06 13:03:57.309 [warn] Couldn't load consensus networkstatus from "bridge/cached-consensus"
doesn't need a real warn.
svn:r17969
2009-01-06 18:06:49 +00:00
Nick Mathewson
5e44581412
Clean up (and mark for 0.2.2.) comments relating to non-beauty of current bug-743 fix.
...
svn:r17966
2009-01-06 17:37:22 +00:00
Nick Mathewson
6f1ceaefaa
Slightly better messages on ControlListenAddress 0.0.0.0
...
svn:r17963
2009-01-06 16:57:42 +00:00
Roger Dingledine
e127072318
Prevent bridge relays from serving their 'extrainfo' document
...
to anybody who asks, now that extrainfo docs include potentially
sensitive aggregated client geoip summaries.
svn:r17958
2009-01-06 16:03:38 +00:00
Nick Mathewson
9abfb564a0
Make dirserv_get_routerdesc_fingerprints() treat extrainfos with send_unencrypted==0 correctly. Irrelevant, since we will soon never send them at all.
...
svn:r17953
2009-01-06 15:37:51 +00:00
Roger Dingledine
d95b63f1e4
Bugfix on r13098. Backport candidate.
...
When we made bridge authorities stop serving bridge descriptors over
unencrypted links, we also broke DirPort reachability testing for
bridges. So bridges with a non-zero DirPort were printing spurious
warns to their logs. Bugfix on 0.2.0.16-alpha. Fixes bug 709.
svn:r17945
2009-01-06 07:13:24 +00:00
Nick Mathewson
f772fc0c36
apply a variant of rovv's bug 872 patch, and document that we want a better solution for 0.2.2.x.
...
svn:r17924
2009-01-05 20:52:14 +00:00
Roger Dingledine
e3388230c4
Bridge relays that had DirPort set to 0 would stop fetching
...
descriptors shortly after startup, and then briefly resume
after a new bandwidth test and/or after publishing a new bridge
descriptor. Bridge users that try to bootstrap from them would
get a recent networkstatus but would get descriptors from up to
18 hours earlier, meaning most of the descriptors were obsolete
already. Reported by Tas; bugfix on 0.2.0.13-alpha.
svn:r17920
2009-01-05 18:54:11 +00:00
Roger Dingledine
9e75c06197
If the cached networkstatus consensus is more than five days old,
...
discard it rather than trying to use it. In theory it could
be useful because it lists alternate directory mirrors, but in
practice it just means we spend many minutes trying directory
mirrors that are long gone from the network. Helps bug 887 a bit;
bugfix on 0.2.0.x.
svn:r17917
2009-01-05 16:56:11 +00:00
Mike Perry
da430cfcf7
Preserve reporting of stream end reasons to the local control
...
port. They were lost in the changes for Proposal 148.
svn:r17911
2009-01-05 14:14:57 +00:00
Karsten Loesing
fe9790740f
Use doxygen-style comments instead of C-style comments.
...
svn:r17893
2009-01-04 23:44:43 +00:00
Nick Mathewson
743c6c8277
OpenBSD malloc.h believes that you should be able to detect headers with autoconf, or build without warnings, but not both. So never include malloc.h on OpenBSD. Backport candidate.
...
svn:r17891
2009-01-04 22:47:42 +00:00
Karsten Loesing
26482e855b
Document some variables used for generating statistics on usage of V0 hidden service directory authorities.
...
svn:r17890
2009-01-04 19:59:35 +00:00
Nick Mathewson
92ce533f71
Another round of downgrading removing or postponing XXXX021 issues. Some remain, though.
...
svn:r17888
2009-01-04 19:47:21 +00:00
Nick Mathewson
9c94b428d9
Fix the oldest bug in a while: stop accepting 1.2.3 as a valid IPv4 address on any platform.
...
svn:r17887
2009-01-04 19:47:17 +00:00
Nick Mathewson
360a059948
Fix an xxx021: do not remove routerinfos as too old and unlisted unless we have a consensus. Backport candidate.
...
svn:r17886
2009-01-04 19:47:12 +00:00
Nick Mathewson
c4b8fef362
Remove svn $Id$s from our source, and remove tor --version --version.
...
The subversion $Id$ fields made every commit force a rebuild of
whatever file got committed. They were not actually useful for
telling the version of Tor files in the wild.
svn:r17867
2009-01-04 00:35:51 +00:00
Nick Mathewson
9201586ed5
Another attempt at fixing coverity scan CID 361.
...
svn:r17863
2009-01-03 23:06:12 +00:00
Nick Mathewson
9c20441bcb
Only set sin_len/sin6_len when they exist.
...
svn:r17851
2009-01-02 20:57:10 +00:00
Roger Dingledine
89d268848f
take out my IMPOSSIBLE_TO_DOWNLOAD+1 hack
...
svn:r17850
2009-01-02 20:46:32 +00:00
Nick Mathewson
48f2ce298b
Try harder to make sure we zero-out the extraneous sockaddr fields and that we set sockaddr_len. Conceivably a backport candidate, though nothing has yet been sen to break.
...
svn:r17849
2009-01-02 20:39:38 +00:00
Nick Mathewson
b07baba879
Increment n_download_failures up to IMPOSSIBLE_TO_DOWNLOAD-1, not up to IMPOSSIBLE_TO_DOWNLOAD.
...
svn:r17835
2008-12-31 17:22:18 +00:00
Roger Dingledine
dfc6555ddd
switch over the bridge descriptor download mechanism to
...
use the same download mechanism as other places.
i had to make an ugly hack around "IMPOSSIBLE_TO_DOWNLOAD+1".
we should unhack that sometime.
svn:r17834
2008-12-31 14:19:57 +00:00
Roger Dingledine
9ea7e7f0cd
fix a bug in download failure logging; don't do this "stop
...
downloading forever" thing with bridge descriptor downloads.
svn:r17833
2008-12-31 14:11:46 +00:00
Karsten Loesing
9a04358d87
Debug code for task 878.
...
svn:r17828
2008-12-30 11:43:50 +00:00
Nick Mathewson
52932d6f1a
Remove some code that is #ifdefed out, and that we no longer seem to use, if we ever did.
...
svn:r17827
2008-12-30 04:16:49 +00:00
Nick Mathewson
ffe22fab9b
Indeed, arma was right. There was one ntohl too many in debug_ntop in eventdns.c
...
svn:r17826
2008-12-30 04:08:45 +00:00
Roger Dingledine
c190842a34
point out the bug location to nick. unless i'm wrong.
...
svn:r17825
2008-12-30 02:36:11 +00:00
Nick Mathewson
3a8a2cb2de
Downgrade some xxx021s, comment more on others, etc
...
svn:r17823
2008-12-29 20:17:24 +00:00
Nick Mathewson
8625297cee
Actually log reasons on unusable guards again.
...
svn:r17822
2008-12-29 20:17:20 +00:00
Nick Mathewson
d640e2ab00
Spec compliance: if weighted MTBF of a router is at least 5 days, always vote it as Stable.
...
svn:r17821
2008-12-29 20:17:18 +00:00
Nick Mathewson
f7fb1bf931
Refactor sockaddr family match check into a new function
...
svn:r17820
2008-12-29 19:57:17 +00:00
Nick Mathewson
83491796ee
Explain why the XXXX021 in connection_or.c was there, and explain why it doesn' actually need to get fixed in 0.2.1, I think.
...
svn:r17819
2008-12-29 19:57:13 +00:00
Nick Mathewson
45bd6c650d
Replace kludgy assert with something a little less awful, and avoid needless strlcpy in rend descriptor encoding.
...
svn:r17818
2008-12-29 19:57:08 +00:00
Nick Mathewson
76a2e11f91
Downgrade the last xxx021 in routerparse. The duplicate code stands for now.
...
svn:r17817
2008-12-29 19:57:04 +00:00
Nick Mathewson
c1c7f982d9
Do not not cannibalize a circuit that has run out of RELAY_EARLY cells. Partial bug 878 fix.
...
svn:r17815
2008-12-29 19:55:17 +00:00
Nick Mathewson
145ead96ed
Do not cannibalize a circuit that has run out of RELAY_EARLY cells. Partial bug 878 fix.
...
svn:r17814
2008-12-29 19:55:13 +00:00
Nick Mathewson
a332805a55
Extact parse-the-token-arguments to its own function, and change it to a single-pass algorithm. This simplifies the parsing code and speeds it up a little.
...
svn:r17812
2008-12-29 16:54:56 +00:00
Nick Mathewson
fa6e72dc4b
Remove a call to find_whitespace_eos that didn't actually do anything.
...
svn:r17811
2008-12-29 16:54:51 +00:00
Nick Mathewson
a42e82b0de
While I'm at it, refactor control.c a little so that the dead code no longer exists.
...
svn:r17810
2008-12-29 14:21:25 +00:00
Nick Mathewson
272b007268
coverity thinks it's dumb to check networkstatus_v2_list in one place and not another. Coverity has a point, even though the check may be redundant. CID 361.
...
svn:r17809
2008-12-29 14:06:47 +00:00
Nick Mathewson
2c4097e99d
More compilation tweaks on Android: fix two clear errors in our code that apparently the compiler cares about there.
...
svn:r17808
2008-12-29 04:01:58 +00:00
Nick Mathewson
e8a3fa91a6
Use a consistent naming standard for header file guard macros, taking care not to collide with any system headers. This tripped us up on Android.
...
svn:r17805
2008-12-29 02:21:02 +00:00
Nick Mathewson
46f8ef8116
Switch address comparisons in policies to be exact rather than semantic. Until we do ipv6 exit policies and until we know whether we even allow ::ffff:0:0/96 addresses, there is no point in doing "semantic" comparisons. This was also showing up on oprofile.
...
svn:r17803
2008-12-29 01:47:33 +00:00
Nick Mathewson
870fd18b8f
Refactor some exit-policy-related functions that showed up in oprofile.
...
Specifically, split compare_tor_addr_to_addr_policy() from a loop with a bunch
of complicated ifs inside into some ifs, each with a simple loop. Rearrange
router_find_exact_exit_enclave() to run a little faster. Bizarrely,
router_policy_rejects_all() shows up on oprofile, so precalculate it per
routerinfo.
svn:r17802
2008-12-29 01:47:28 +00:00
Nick Mathewson
ae71b52945
remove the responsibility for setting listensocklen to the function that made the sockaddr
...
svn:r17799
2008-12-27 15:46:13 +00:00
Roger Dingledine
365c72246c
partial move to letting bridge descriptor fetches use our new (well,
...
new from their perspective) directory download schedule abstraction.
not done yet, but i'd better get this out of my sandbox before nick
does another sweeping change. :)
svn:r17798
2008-12-27 07:30:47 +00:00
Roger Dingledine
5519e633ec
New controller event "clients_seen" to report a geoip-based summary
...
of which countries we've seen clients from recently. Now controllers
like Vidalia can show bridge operators that they're actually making
a difference.
svn:r17796
2008-12-27 06:50:07 +00:00
Nick Mathewson
0c5e03fa21
Remove a deprecated controller alias; make another one generate a warning.
...
svn:r17793
2008-12-27 00:20:08 +00:00
Nick Mathewson
a87335472c
Make connection_create_listener take a sockaddr_len, not just a sockaddr whose length we try to divine.
...
svn:r17792
2008-12-27 00:20:06 +00:00
Nick Mathewson
b3b14bf25d
Add some early checks to keep ipv6 addresses from failing by accident. Now, they fail on purpose, at least till 0.2.2.something.
...
svn:r17791
2008-12-26 22:51:25 +00:00
Nick Mathewson
61722638ea
Refactor tor_addr_compare_masked() so that CMP_SEMANTIC makes more sense, and has decent semantics for maskbits; and so that CMP_EXACT works right for bits==0.
...
svn:r17788
2008-12-26 20:37:18 +00:00
Nick Mathewson
f7adc017c4
Document and make more conservative the logic for picking the size of the bloom filter to use for retaining descriptors.
...
svn:r17786
2008-12-26 17:35:36 +00:00
Nick Mathewson
0f9f45ff33
Document the pk operation count fields in rephist.c, and move them into a struct for clarity, and change their type to what we actually want to cast them to.
...
svn:r17784
2008-12-26 17:35:12 +00:00
Nick Mathewson
df5e8f65bc
Add more missing documentation, and correct an error in container.c documentation: Don't introduce two parameters called n when you're calling an algorithm O(n).
...
svn:r17783
2008-12-26 17:35:08 +00:00
Roger Dingledine
2a42986c96
ok, fair enough, some of these variables were time_t's after all
...
svn:r17777
2008-12-25 20:16:22 +00:00
Roger Dingledine
4ff04fda77
so which is it? TIME_MAX or INT_MAX? pick INT_MAX for now.
...
svn:r17772
2008-12-25 15:42:03 +00:00
Roger Dingledine
a12c3f2c86
some fixes i found in my sandbox
...
svn:r17771
2008-12-25 15:37:47 +00:00
Nick Mathewson
272e64e674
Use the literal parse of an address in dns_resolve_impl if parsing the address as an ipv4 or ipv6 address _succeeded_. Not if it failed. Bug introduced in r17707 (post 0.2.1.8-alpha), and found by xiando.
...
svn:r17758
2008-12-24 02:38:07 +00:00
Nick Mathewson
df608fef45
Checkpoint my big bug-891 patch.
...
svn:r17757
2008-12-24 02:38:04 +00:00
Nick Mathewson
ac2f6b608a
Patch from Sebiastian for bug 888: mark a descriptor as "Impossible" if we reject it after downloading it so that we do not download it again
...
svn:r17756
2008-12-23 21:17:52 +00:00
Nick Mathewson
e6bf9fdf94
Remove bogus extern declaration for unused (and nonexistant) field from test.c
...
svn:r17755
2008-12-23 17:56:39 +00:00
Nick Mathewson
558e9899e4
Document most undocumented variables.
...
svn:r17754
2008-12-23 17:56:31 +00:00
Nick Mathewson
b4d387c28b
Make freelist_len in memarea.c static; document a few variables.
...
svn:r17741
2008-12-22 19:14:08 +00:00
Nick Mathewson
7d79bec54d
Expose bench_* functions via test cli
...
svn:r17740
2008-12-22 19:00:09 +00:00
Nick Mathewson
b68379b13b
Add DOCDOC entries for undocumented static and global variables.
...
svn:r17739
2008-12-22 19:00:05 +00:00
Nick Mathewson
43b111535a
Make doxygen not complain about the way we spell CRLFNUL in control.c
...
svn:r17735
2008-12-22 17:53:30 +00:00
Nick Mathewson
1e5f457461
Fix most DOCDOCs remaining and/or added by redox.
...
svn:r17734
2008-12-22 17:53:04 +00:00
Nick Mathewson
167d266dbf
Documentation and conformance for WRA_* returns.
...
shahn: "Add some documentation for the WRA_* family of functions, also make
sure that (hopefully) all functions that return was_router_added_t
don't return ints directly and that they don't refer to integers in
their documentation anymore."
svn:r17731
2008-12-22 16:37:20 +00:00
Nick Mathewson
1e666bfcc1
Partially apply bug 891 parch from forest: check EXTEND cell address against real_addr, not addr. I have questions about the rest of the patch: see the flyspray entry.
...
svn:r17730
2008-12-22 16:22:04 +00:00
Nick Mathewson
1725c0c8a5
Add DOCDOC comments for all undocumented functions. Add missing *s to other comments so that they will get recognized as doxygen.
...
svn:r17729
2008-12-22 14:56:28 +00:00
Nick Mathewson
55348884b5
Fix all of the doxygen warnings not pertaining to missing documentation.
...
svn:r17727
2008-12-22 14:56:16 +00:00
Roger Dingledine
df89748388
fix typo noticed by wood
...
svn:r17726
2008-12-22 09:52:56 +00:00
Roger Dingledine
0f6514e041
some windows users are outraged that tor refuses to work even
...
when their clock and date are correct, if their timezone is
totally wrong. now we at least tell them.
svn:r17725
2008-12-22 09:10:06 +00:00
Roger Dingledine
0c6ff7d990
the default should not be the notify the poster, unless something
...
more extreme happens. the default should be to be quiet unless
something more extreme happens.
at least, this doesn't generate complaints anymore. perhaps that
means it is working better? :)
svn:r17724
2008-12-22 06:25:49 +00:00
Roger Dingledine
7262bf5eab
fix a fun bug on r17656 that was making us send HTTP/1.0 404 as
...
the message body, no matter the message headers, when answering
a descriptor or extrainfo post request.
svn:r17723
2008-12-22 06:21:28 +00:00
Nick Mathewson
e36c7a74bd
Yet still more propagating of things that need to be was_router_added_t now.
...
svn:r17722
2008-12-22 05:21:49 +00:00
Nick Mathewson
98a376fab1
More propagating of things that need to be was_router_added_t now.
...
svn:r17721
2008-12-22 04:53:11 +00:00
Nick Mathewson
df22dcb602
WRA_MORE_SEVERE is not WRA_GET_MORE_SEVERE.
...
svn:r17720
2008-12-22 04:36:52 +00:00
Karsten Loesing
61055ae719
gabelmoo has a new IP address (once more).
...
svn:r17717
2008-12-22 00:48:10 +00:00
Nick Mathewson
029be5ad02
Move in-addr.arpa parsing and generation into address.c, and simplify the code that does it elsewhere. Incidentally, this lets exit servers answer requests for ip6.arpa addresses.
...
svn:r17707
2008-12-19 18:52:00 +00:00
Nick Mathewson
a259af179b
When we need to open a new origin circuit, log why.
...
svn:r17705
2008-12-19 18:51:49 +00:00
Nick Mathewson
16f1d4cb72
Doc RRS_DONT_REMOVE_OLD; improve router_rebuild_store documentation.
...
svn:r17704
2008-12-19 18:51:44 +00:00
Nick Mathewson
8c90a4b7ee
More approx_time() calls. Noted by forest.
...
svn:r17702
2008-12-19 18:51:35 +00:00
Nick Mathewson
c67bd80487
Make cell pools always-on.
...
svn:r17692
2008-12-18 17:28:50 +00:00
Nick Mathewson
c3e4b12e7f
Why were we using gettimeofday() in second_elapsed_callback? We were only ever looking at the tv_sec field.
...
svn:r17691
2008-12-18 17:19:23 +00:00
Nick Mathewson
bf80e2df3f
Replace calls to time(NULL) that occur on the order of once per read, one per write, or once per cell with calls to a function that looks at a cached value of time. This is tricksy to benchmark, since it will only help on systems where time() is a syscall and syscalls are relatively slow.
...
svn:r17690
2008-12-18 17:19:04 +00:00
Nick Mathewson
b91335117f
Document the purpose argument of circuit_find_to_cannibalize
...
svn:r17689
2008-12-18 17:18:14 +00:00
Nick Mathewson
122170c1d3
Downlgrade tweak, and answer lots of XXX021s. No actual code fixes in this patch.
...
svn:r17686
2008-12-18 16:11:24 +00:00
Nick Mathewson
c449e6e5be
whitespace fixes.
...
svn:r17683
2008-12-18 16:11:08 +00:00
Nick Mathewson
ecaee1d927
Remove fixed xxx020s; downgrade unfixed ones.
...
(The unfixed ones are being downgraded to regular XXXs mainly on the rationale that they don't seem to be exploding Tor, and they were apparently not showstoppers for 0.2.0.x-final.)
svn:r17682
2008-12-18 16:11:03 +00:00
Nick Mathewson
f9133f2528
Fix a memory leak of one address string per DNSPort request.
...
svn:r17681
2008-12-18 15:00:27 +00:00
Nick Mathewson
148e4e8837
Do not leak the DNS server port structure.
...
svn:r17680
2008-12-18 15:00:18 +00:00
Nick Mathewson
4911ec627b
Call release_lockfile() before exiting.
...
svn:r17679
2008-12-18 15:00:13 +00:00
Nick Mathewson
290b6f54a3
Make unit tests slower but more reliable by disabling an old optimization.
...
To turn it back on, re-define CACHE_GENERATED_KEYS option in test.c.
svn:r17677
2008-12-18 06:12:19 +00:00
Nick Mathewson
8ba2a15a49
Fix more leaks in unit tests.
...
svn:r17676
2008-12-18 06:02:23 +00:00
Nick Mathewson
1b735e46dd
Make it possible to call set_onion_key twice without leaking RAM.
...
svn:r17673
2008-12-18 05:40:57 +00:00
Nick Mathewson
cebdf93949
Fix bug 889: share deep-copied keys between threads to avoid races in reference counts. Bugfix on 0.1.0.1-rc.
...
svn:r17672
2008-12-18 05:28:27 +00:00
Roger Dingledine
7b5be147ee
fix a minor memory leak if we start up as a relay but don't
...
have any files in the cached-status/ directory
svn:r17671
2008-12-18 05:15:11 +00:00
Nick Mathewson
d597b23c42
Massage a little code to hopfully please coverity.
...
svn:r17669
2008-12-18 04:45:51 +00:00
Nick Mathewson
f3f6daf819
Avoid nop call to control_event_or_authdir_new_descriptor that makes coverity think we are dereferencing a null pointer. It is safe, I think, but entirely too clever for our own good.
...
svn:r17668
2008-12-18 04:45:47 +00:00
Nick Mathewson
676175103d
Fix a valgrind-located memory stomp. Bugfix on 0.2.1.6-alpha.
...
svn:r17667
2008-12-18 04:27:23 +00:00
Nick Mathewson
5c235cb5ec
Fix memory leak in rend_cache_store_v2_desc_as_client(), and refactor the function to use the "goto err" idiom.
...
svn:r17665
2008-12-18 00:11:49 +00:00
Nick Mathewson
1510d50fab
Oops: SeverDNS->ServerDNS.
...
svn:r17664
2008-12-17 23:20:07 +00:00
Nick Mathewson
7d92053286
Remove RedirectExit feature; it has been deprecated since 0.2.0.3-alpha
...
svn:r17663
2008-12-17 23:02:04 +00:00
Nick Mathewson
6693f32530
Resolve many DOCDOCs.
...
svn:r17662
2008-12-17 22:58:20 +00:00
Nick Mathewson
2ad36f68c8
Rename ServerDNSAllowBrokenResolvConf to ServerDNSAllowBrokenConfig.
...
(Many users have no idea what a resolv.conf is, and shouldn't be forced to learn. The old option will keep working for now.)
Also, document it.
svn:r17661
2008-12-17 22:58:14 +00:00
Roger Dingledine
03f413f5c7
declare that we're putting out 0.2.1.9-alpha next week
...
svn:r17659
2008-12-17 22:46:00 +00:00
Roger Dingledine
048f2a179b
Clip the MaxCircuitDirtiness config option to a minimum of 10
...
seconds. Warn the user if lower values are given in the
configuration. Bugfix on 0.1.0.1-rc. Patch by Sebastian.
Clip the CircuitBuildTimeout to a minimum of 30 seconds. Warn the
user if lower values are given in the configuration. Bugfix on
0.1.1.17-rc. Patch by Sebastian.
svn:r17657
2008-12-17 22:32:17 +00:00
Nick Mathewson
33e2053ebc
Make return code from router_add_to_routerlist a nice sensible enum. Based on patch from Sebastian.
...
svn:r17656
2008-12-17 21:50:01 +00:00
Nick Mathewson
2de9bd7bae
Rename a couple of v2-networkstatus-only fields so that it is clear they are v2-networkstatus-only.
...
svn:r17652
2008-12-17 17:20:48 +00:00
Nick Mathewson
f43bcdc063
Use ctags and a python script to find identifiers that are never used anywhere, and remove the ones that we really want gone.
...
svn:r17651
2008-12-17 17:20:42 +00:00
Nick Mathewson
fc5e686b19
Whitespace fix.
...
svn:r17650
2008-12-17 17:20:36 +00:00
Nick Mathewson
1beb1c113b
Add some missing documentation in or.h
...
svn:r17649
2008-12-17 17:20:31 +00:00
Nick Mathewson
0dc724d19c
Make ALLOW_INVALID_* into an enum.
...
svn:r17648
2008-12-17 17:20:26 +00:00
Nick Mathewson
d0e1cc6fe2
Remove the no-longer-used incoming_cmd_type field from control_connection_t.
...
svn:r17647
2008-12-17 17:20:22 +00:00
Nick Mathewson
68a6935afb
Change CELL_DIRECTION_* to an enum.
...
svn:r17646
2008-12-17 17:20:19 +00:00
Nick Mathewson
44e19a4949
Oops; remove extraneous comma.
...
svn:r17644
2008-12-17 15:04:43 +00:00
Nick Mathewson
7678ac5193
Move edge-only flags from connection_t to edge_connection_t.
...
svn:r17643
2008-12-17 14:59:28 +00:00
Nick Mathewson
26632d59dd
Rename or_is_obsolete and move it to or_connection_t where it belongs.
...
svn:r17642
2008-12-17 14:59:19 +00:00
Nick Mathewson
e53ffaa4e4
Don't extend circuits over noncanonical connections with mismatched addresses.
...
Also, refactor the logic to check whether we will use a connection or
launch a new one into a new function.
svn:r17628
2008-12-15 21:17:53 +00:00
Nick Mathewson
51c29e1e24
Apply rovv's bug 805 fix: take more care never to prefer a non-canonical connection.
...
svn:r17627
2008-12-15 21:17:43 +00:00
Roger Dingledine
5822e14dc9
When a stream at an exit relay is in state "resolving" or
...
"connecting" and it receives an "end" relay cell, the exit relay
would silently ignore the end cell and not close the stream. If
the client never closes the circuit, then the exit relay never
closes the TCP connection. Bug introduced in Tor 0.1.2.1-alpha;
reported by "wood".
svn:r17625
2008-12-14 19:40:56 +00:00
Roger Dingledine
2ad06eef11
comment tweak
...
svn:r17624
2008-12-14 19:39:54 +00:00
Nick Mathewson
a4a481d81c
Implement proposal 148: Make client stream end reasons uniform.
...
This patch makes every RELAY_COMMAND_END cell that we send pass through one of two functions: connection_edge_end and relay_send_end_cell_from_edge. Both of these functions check the circuit purpose, and change the reason to MISC if the circuit purpose means that it's for client use.
svn:r17612
2008-12-12 20:30:42 +00:00
Nick Mathewson
5fb2ab1e65
Implement the /tor/keys/fp-sk/ URL format. That mostly finishes the server side of 157.
...
svn:r17611
2008-12-12 19:05:36 +00:00
Nick Mathewson
69ce955484
Add cross-certification to authority key certificates. Partial implementation of proposal 157.
...
svn:r17610
2008-12-12 18:31:39 +00:00
Nick Mathewson
519de7970e
Do not discard sign on return values of iv crypto functions in tests. May fix CID 9. Might not.
...
svn:r17603
2008-12-11 21:11:31 +00:00
Nick Mathewson
7e351a6341
Note that a couple of line in control.c are supposed to be dead-code.
...
I'm hoping not to have to litter the rest of our codebase with Coverity ignores, but I think these are the only one we need right now.
svn:r17602
2008-12-11 21:11:28 +00:00
Nick Mathewson
02e26ebc49
If we are building under Coverity, enable geoip_stats and instrument_downloads.
...
This makes sure that a) optional code gets analyzed too, and b) it doesn't
look like dead code to Coverity.
svn:r17601
2008-12-11 21:11:26 +00:00
Nick Mathewson
b20694758e
Fix two more unit-test bugs (deadcode this time) spotted by Coverity run 7.
...
CIDs == 357, 356.
svn:r17599
2008-12-11 21:11:19 +00:00
Nick Mathewson
04ec7d1f98
Now that tor_assert is no longer using a broken force-to-boolean formulation, we can tor_assert a bitfield without a gcc compile error.
...
svn:r17598
2008-12-11 20:28:50 +00:00
Nick Mathewson
d9aa57253d
Fix error in last unit test mem-leak-fixing.
...
svn:r17596
2008-12-11 19:41:03 +00:00
Nick Mathewson
bb02f919f1
Refactor find_first_by_keyword into one variant that can return NULL and one that can't.
...
This makes it easier for us to avoid errors where we we forgot to list a keyword as mandatory, and easier for Coverity to detect cases like this too.
svn:r17595
2008-12-11 19:40:58 +00:00
Nick Mathewson
f3b52e331e
Avoid multiple descriptor-fetch connections to authorities. Fixes bug 366.
...
svn:r17594
2008-12-11 19:12:55 +00:00
Nick Mathewson
043b4fc59e
Add a PDS_ flag to exclude authorities from which we are fetching descs.
...
Yes, this is maybe a little overspecific. Part of a bug 366 fix.
svn:r17593
2008-12-11 19:12:48 +00:00
Nick Mathewson
29f5a65a16
Change directory_get_from_dirserver to take a set of flags to be passed to pick_(trusted_)dirserver. This lets us make its interface smarter, and makes code that calls it a little more readable.
...
svn:r17592
2008-12-11 19:12:45 +00:00
Nick Mathewson
4e69284e89
Fix wide line in main.c
...
svn:r17587
2008-12-11 17:23:00 +00:00
Nick Mathewson
240ee1866b
Add experimental support for learning svn revision number in git-svn based repositories. Fancy.
...
svn:r17581
2008-12-11 06:52:24 +00:00
Nick Mathewson
d7563ee231
Fix memory leaks in test_util_smartlist_* functions.
...
svn:r17580
2008-12-11 06:18:09 +00:00
Nick Mathewson
595e77c8d7
Fix memory leaks in test_v3_networkstatus.
...
svn:r17579
2008-12-11 06:18:01 +00:00
Nick Mathewson
6ffb4d4ab6
Fix memory leaks in test_dir_format
...
svn:r17578
2008-12-11 06:17:59 +00:00
Nick Mathewson
d8027aa689
Fix a logic error that would automatically reject all but the first configured DNS server. Bugfix on 0.2.1.5-alpha. Possible fix for part of 813/868. Spotted by coderman
...
svn:r17569
2008-12-10 22:57:41 +00:00
Nick Mathewson
53d3f812bd
Add new internal-use-only option for controllers to use to prevent SIGHUP from reloading the configuration. Fixes bug 856.
...
svn:r17567
2008-12-10 22:17:02 +00:00
Nick Mathewson
9aa706e20c
Bug 691 fix: do not shutdown Tor servers right away if the network is down.
...
svn:r17566
2008-12-10 20:45:31 +00:00
Nick Mathewson
426b53d85a
Apply patch from Karsten to fix bug 879. Backport candidate.
...
svn:r17562
2008-12-10 18:16:58 +00:00
Nick Mathewson
7aa7d1a3e7
Give a better error when something has changed our descriptor cache out from under us. Based on patch from Karsten. Addresses bug 885.
...
svn:r17550
2008-12-10 03:01:26 +00:00
Roger Dingledine
d7bf7e0b32
When a directory authority gives us a new guess for our IP address,
...
log which authority we used. Hopefully this will help us debug
the recent complaints about bad IP address guesses.
svn:r17549
2008-12-10 01:46:51 +00:00
Roger Dingledine
4053b47459
note a potential bug in status events. need to look at spec to
...
see if it's really a bug.
svn:r17548
2008-12-10 01:35:21 +00:00
Roger Dingledine
145e589b6c
Resume using the correct "REASON=" stream when telling the
...
controller why we closed a stream. Bugfix in 0.2.1.1-alpha.
svn:r17547
2008-12-10 01:34:24 +00:00
Nick Mathewson
ab75c0d9e3
remove a bogus comment. Now that there is no undocumented synonym for EXTENDED_EVENTS, we do not need to point out that EXTENDED_EVENTS is documented
...
svn:r17542
2008-12-09 23:10:38 +00:00
Nick Mathewson
a7b4a7b9f8
Finally remove deprecated-since-0.1.2.4-alpha EXTENDED_FORMAT synonym for EXTENDED_EVENTS
...
svn:r17538
2008-12-09 19:55:19 +00:00
Nick Mathewson
0280a72500
Add a new status event for consensus arrival
...
svn:r17535
2008-12-09 18:16:41 +00:00
Nick Mathewson
b32bac88e8
Mark DirPortFrontPage as a FILENAME rather than a STRING. Right now this has no effect.
...
svn:r17520
2008-12-08 18:00:34 +00:00
Roger Dingledine
b1c8fb7058
this function is no longer used.
...
svn:r17515
2008-12-08 00:09:28 +00:00
Roger Dingledine
e5be0504ab
When the client is choosing entry guards, now it selects at most
...
one guard from a given relay family. Otherwise we could end up with
all of our entry points into the network run by the same operator.
Suggested by Camilo Viecco. Fix on 0.1.1.11-alpha.
Not a backport candidate, since I think this might break for users
who only have a given /16 in their reachableaddresses, or something
like that.
svn:r17514
2008-12-08 00:04:29 +00:00
Roger Dingledine
f31c16d993
Directory mirrors no longer fetch the v1 directory or
...
running-routers files. They are obsolete, and nobody asks for them
anymore. This is the first step to making v1 authorities obsolete.
svn:r17513
2008-12-07 23:53:39 +00:00
Jacob Appelbaum
48aca3c999
Small whitespace fix to properly format if () {} statement.
...
svn:r17503
2008-12-07 01:51:56 +00:00
Jacob Appelbaum
f70146ca91
This helps return a better error message when the file supplied to DirPortFrontPage is missing.
...
svn:r17502
2008-12-07 01:48:30 +00:00
Roger Dingledine
21892d8a9c
cleanups on r17500
...
svn:r17501
2008-12-07 01:34:45 +00:00
Jacob Appelbaum
6b178b46ef
New DirPortFrontPage option that takes an html file and publishes it as "/" on the DirPort. Now relay operators can provide a disclaimer without needin to set up a separate webserver. There's a sample disclaimer in contrib/tor-exit-notice.html.
...
svn:r17500
2008-12-07 01:21:19 +00:00
Jacob Appelbaum
cf75162a0c
Add comment clarifying OpenSSL usage.
...
svn:r17498
2008-12-07 01:14:49 +00:00
Nick Mathewson
af03faa1a6
Fix more leaks in test_util_memarea().
...
svn:r17491
2008-12-05 02:25:39 +00:00
Nick Mathewson
475fbbbccc
Fix a resource leak in test_dir_formats()
...
svn:r17488
2008-12-05 02:05:39 +00:00
Nick Mathewson
1affbd3464
Split test_util_smartlist into manageable chunks; make them free memory properly.
...
svn:r17487
2008-12-05 01:58:35 +00:00
Nick Mathewson
30377823c3
Add a few more tests to our tests so that our tests make sense to coverity. CIDs 139, 138, 137.
...
svn:r17486
2008-12-05 01:49:15 +00:00
Nick Mathewson
e06442b648
Add a couple of sanity-checks for return values that coverity thinks we ought to have. CIDs 337, 335.
...
svn:r17485
2008-12-05 01:35:49 +00:00
Nick Mathewson
a26188cee9
fix bug 880: find the end of an authority cert by looking for the first ----END SIGNATURE----- after the first dir-key-certification, not for the first ----END SIGNATURE. Harmless bug, but it made us non-spec-compliant.
...
svn:r17470
2008-12-03 03:42:19 +00:00
Nick Mathewson
bd6b3072f9
Change logging code to use fds instead of stdio. Fixes bug 861, and probably makes logging slightly faster. Not a backport candidate: bug 861 is too obscure and harmless.
...
svn:r17456
2008-12-02 23:36:58 +00:00
Nick Mathewson
9c65195449
Apply rovv's patch for bug 864: avoid null error on detached signature handling failure.
...
svn:r17446
2008-12-02 19:13:23 +00:00
Roger Dingledine
2d8f7a4ff6
clarify that 'resolve' relay cells nul-terminate the hostname, just
...
like 'begin' relay cells.
svn:r17442
2008-12-02 17:35:05 +00:00
Roger Dingledine
984dc51f26
clean up some log messages
...
svn:r17406
2008-11-29 11:55:30 +00:00
Roger Dingledine
a53ebd20f0
whitespace fix
...
svn:r17379
2008-11-24 02:02:48 +00:00
Nick Mathewson
c7910c3bc9
Consider GetNetworkParams() nameserver parsing to have suceeded if even one nameserver can be added. Log more useful info about what exactly is failing when we fail to add a nameserver.
...
svn:r17368
2008-11-22 21:46:34 +00:00
Roger Dingledine
0b7a2a505e
prepare_for_poll() -- plus its mysterious cousin, prepare_for_pool() --
...
are long gone.
svn:r17351
2008-11-21 14:07:57 +00:00
Nick Mathewson
0fa698d84f
apply sebastian's bug 867 fix: make routerset_equal() work as documented with NULL arguments
...
svn:r17287
2008-11-16 18:25:20 +00:00
Karsten Loesing
6d7951c022
Fix a possible segfault when establishing an exit connection. Bugfix on 0.2.1.5-alpha.
...
svn:r17275
2008-11-16 01:52:44 +00:00
Nick Mathewson
c36ddcbabf
Apparently sparc64 is way more strict about uint16_t access alignment than I had thought: it gave bus errors when messing with var-cell headers. Maybe this patch will fix bug 862.
...
svn:r17262
2008-11-12 14:41:44 +00:00
Nick Mathewson
8f1952bf11
Be even _more_ careful when signatures are bogus.
...
svn:r17252
2008-11-11 17:14:12 +00:00
Nick Mathewson
3970c34f10
Only replace the detached signatures object when we actually added or replaced at least one signature.
...
svn:r17250
2008-11-11 16:52:07 +00:00
Nick Mathewson
997aea74dc
Fix from rovv: when adding a detached signature, do not automatically assume it is good just because we are adding it. We might also be adding it because it was the first signature we saw for a given voter.
...
svn:r17248
2008-11-11 16:35:46 +00:00
Nick Mathewson
00a90177fa
oops, remove debugging log message.
...
svn:r17247
2008-11-11 16:02:23 +00:00
Nick Mathewson
8157b8b766
be less aggressive about deleting expired certs. based on patch from rovv. partial fix for bug 854.
...
svn:r17246
2008-11-11 16:01:57 +00:00
Nick Mathewson
e08cbe2029
Add PURPOSE= field to getinfo circuit-status. With luck, controllers are ignoring extra fields (like they are supposed to) and this will not break any controllers.
...
svn:r17245
2008-11-11 15:59:24 +00:00
Nick Mathewson
6c50ab6e61
Document a couple of functions.
...
svn:r17239
2008-11-10 20:40:01 +00:00
Roger Dingledine
c62d5f6a5c
beg nick for some documentation on the locking functions
...
svn:r17233
2008-11-10 00:48:13 +00:00
Roger Dingledine
4d8799b987
we missed a case when printing circuit purposes in circ events.
...
svn:r17230
2008-11-09 23:56:29 +00:00
Nick Mathewson
9f1e06bd0e
but to not attempt to download a specific certificate we already have.
...
svn:r17214
2008-11-07 15:01:49 +00:00
Nick Mathewson
bda4ca065c
Aaaaand, do not reset the download count just because we have a certificate that is listed in a consensus.
...
svn:r17212
2008-11-07 14:57:14 +00:00
Nick Mathewson
aa405f29e6
fix up signs in r17208
...
svn:r17211
2008-11-07 14:17:46 +00:00
Nick Mathewson
5e2cdc1666
When we get a duplicated certificate, treat it as a failure and increment the download count. Do not claim to be downloading certificates that we merely want.
...
svn:r17209
2008-11-07 14:01:44 +00:00
Nick Mathewson
a15bdd3edd
patch from karsten to not use or accept expired certs. fixes bug 851.
...
svn:r17208
2008-11-07 13:38:49 +00:00
Roger Dingledine
bc128c0b03
vidalia asks us for the value of the Group config option. but now
...
it's obsolete. which causes us to inform the user every time, even
though the user can't do anything about it other than get confused.
now it's an info-level log by default.
svn:r17206
2008-11-07 04:38:58 +00:00
Roger Dingledine
14773f42a7
now that we drop privs more thoroughly, switch_id() is no longer
...
idempotent. so now we remember if we've succeeded, and if so we
don't even try.
svn:r17204
2008-11-07 04:34:47 +00:00
Roger Dingledine
d27337bf17
i needed a piece of the 'patching patches' action too
...
svn:r17202
2008-11-07 03:39:19 +00:00
Steven Murdoch
9d68ed08e9
Patch from Jacob Appelbaum and me to make User option more robust, properly set supplementary groups, deprecated the Group option, and log more information on credential switching
...
svn:r17200
2008-11-07 02:06:12 +00:00
Nick Mathewson
6e3de8530e
Remove bug 811/845 debugging code
...
svn:r17199
2008-11-07 01:50:37 +00:00
Nick Mathewson
a38026bb06
fix wide lines
...
svn:r17198
2008-11-07 01:48:55 +00:00
Nick Mathewson
3ebd1ebeca
The chunk_size field in memarea_t was never actually set. Remove the whole thing.
...
svn:r17195
2008-11-05 20:34:22 +00:00
Nick Mathewson
3f858b5b26
Fix a compile error found under pcc. It wants single-quites to be escaped in strings, it seems.
...
svn:r17191
2008-11-05 18:03:14 +00:00
Karsten Loesing
b31e2c2491
(a - b) / 2 != a - (b / 2); this is the reason why tunneled directory requests and client-side introduction circuits don't time out after the intended 30 seconds (task #847 ). Bugfix on r17106. Found by miner.
...
svn:r17189
2008-11-05 10:40:29 +00:00
Nick Mathewson
73c6cb8353
Fix unit test failure related to intro point parsing.
...
svn:r17188
2008-11-03 16:36:15 +00:00
Nick Mathewson
7b45d530b0
Add some debugging logs for bug 811/845.
...
svn:r17186
2008-11-03 15:46:05 +00:00
Roger Dingledine
ebe4ef12b9
when building preemptive circuits, ignore streams that have a
...
chosen exit node in mind already. otherwise we get tricked into
trying to build a new circuit that will handle them.
svn:r17184
2008-11-03 07:00:56 +00:00
Roger Dingledine
3e5a584d37
fix the other half of r17091. now that best_support can be -1,
...
we were complaining about no support for our one-hop streams,
when in fact choose_good_exit_server_general() has no business
caring about one-hop streams. patch from miner.
svn:r17181
2008-11-01 23:49:14 +00:00
Nick Mathewson
c534b96e58
Fix an assertion failure on double-marked circuits, and a double-mark.
...
svn:r17179
2008-11-01 20:27:41 +00:00
Nick Mathewson
0c9dfffe5a
Implement the 0x20-hack to make DNS poisoning harder against us, especially when resolving large names. Add a cfg option to disable it, since apparently 3/10 of a percent of servers get it wrong.
...
svn:r17171
2008-10-29 19:20:02 +00:00
Nick Mathewson
c8a5e2d588
Work better with tools that resist DNS poisoning by using the 0x20 hack: make DNSPort replies perserve case.
...
svn:r17170
2008-10-29 15:31:26 +00:00
Nick Mathewson
accb4a680f
make layer_hint check a little stricter.
...
svn:r17164
2008-10-27 16:57:18 +00:00
Nick Mathewson
ee31e0829e
Verify cpath_layer match on rendezvous cells too. Fixes another case of bug 446. Based on patch from rovv.
...
svn:r17162
2008-10-27 16:46:45 +00:00
Karsten Loesing
c53f1f83e7
gabelmoo has a new IP address.
...
svn:r17160
2008-10-27 15:04:45 +00:00
Nick Mathewson
b166a43cb6
Fix another case of refusing to use a chosen exit node because we think it will reject _mostly_ everything. Based on patch from rovv. See bug 752.
...
svn:r17139
2008-10-21 17:09:04 +00:00
Nick Mathewson
5e762e6a5c
Fix the rest of bug 619: reject *:* servers should not do DNS lookups, even if broken clients send them RELAY_BEGIN cells. Patch from rovv.
...
svn:r17138
2008-10-21 16:51:59 +00:00
Nick Mathewson
b593fd5c20
Patch from rovv: send back END cell in response to connect attempts to nonexistent hidden service port.
...
svn:r17137
2008-10-21 16:41:20 +00:00
Roger Dingledine
bca46cc628
backport candidate:
...
The "ClientDNSRejectInternalAddresses" config option wasn't being
consistently obeyed: if an exit relay refuses a stream because its
exit policy doesn't allow it, we would remember what IP address
the relay said the destination address resolves to, even if it's
an internal IP address. Bugfix on 0.2.0.7-alpha; patch by rovv.
svn:r17135
2008-10-17 22:08:49 +00:00
Roger Dingledine
e3127e874e
fix grammar in a log message
...
svn:r17131
2008-10-16 17:13:28 +00:00
Roger Dingledine
bbf0f5a266
explain patch4 better. whee.
...
svn:r17111
2008-10-15 21:12:51 +00:00
Roger Dingledine
a5769eefa4
patch4 from proposal 155:
...
Hidden services start out building five intro circuits rather
than three, and when the first three finish they publish a service
descriptor using those. Now we publish our service descriptor much
faster after restart.
svn:r17110
2008-10-15 20:59:48 +00:00
Roger Dingledine
d06182f0bd
add patch2 from proposal 155:
...
Launch a second client-side introduction circuit in parallel
after a delay of 15 seconds (based on work by Christian Wilms).
svn:r17108
2008-10-15 18:52:06 +00:00
Roger Dingledine
4520500cde
put in karsten's patch #1 for proposal 155, modified
...
svn:r17106
2008-10-15 00:36:09 +00:00
Nick Mathewson
846e40d193
Patch from rovv: when we have no pending streams, choose exits with choose_good_exit_server_general() rather than with circuit_get_unhandled_ports() and friends. Bugfix on 0.1.1.x, at least.
...
svn:r17091
2008-10-14 17:05:52 +00:00
Roger Dingledine
d7cfa1f56c
Minor fix in the warning messages when you're having problems
...
bootstrapping; also, be more forgiving of bootstrap problems when
we're still making incremental progress on a given bootstrap phase.
svn:r17066
2008-10-13 03:34:29 +00:00
Roger Dingledine
c9bddb24b2
another coverity-found memory leak
...
svn:r17062
2008-10-12 03:21:05 +00:00
Roger Dingledine
95aace5aae
minor memory leak found by coverity
...
svn:r17061
2008-10-12 03:19:17 +00:00
Roger Dingledine
bb1f488dbe
fix typo in log entry
...
svn:r17050
2008-10-08 10:47:23 +00:00
Roger Dingledine
e7f5a07ff4
Make rend_cache_store() use the same return error codes as its v2
...
equivalent: I got a lonely "Failed to fetch rendezvous descriptor."
in my log file, even when the connection worked.
svn:r17028
2008-10-02 07:32:13 +00:00
Roger Dingledine
c7af43a624
Now NodeFamily and MyFamily config options allow spaces in
...
identity fingerprints, so it's easier to paste them in.
Suggested by Lucky Green.
svn:r17021
2008-10-01 03:41:33 +00:00
Nick Mathewson
ccede03cc0
Switch a should-benee-dless check for an assert.
...
svn:r17018
2008-09-30 13:59:12 +00:00
Roger Dingledine
f2708dd40f
a few more tweaks
...
svn:r17010
2008-09-30 09:32:26 +00:00
Roger Dingledine
49a250b208
i *think* this is equivalent. somebody should check me on it though.
...
svn:r17009
2008-09-30 08:45:40 +00:00
Roger Dingledine
7247838a25
v3 authorities write down all the votes they used for the consensus
...
to the datadir, for debugging.
svn:r17008
2008-09-29 23:13:43 +00:00
Nick Mathewson
25f8335528
Include circuit purposes in circuit events. Now all circuit events are extended; this makes the code simpler.
...
svn:r17007
2008-09-29 22:34:22 +00:00
Nick Mathewson
9d950f7d25
Nobody calls circuit_launch_by_nickname; remove it.
...
svn:r17006
2008-09-29 20:44:29 +00:00
Roger Dingledine
26aa741169
Remove the old v2 directory authority 'lefkada' from the default
...
list. It has been gone for many months.
svn:r17005
2008-09-29 19:27:20 +00:00
Nick Mathewson
ae3ce7b387
Patch from mwenge: update TrackHostExits mapping expiry times when the mappings are used, so that they expire a while after their last use, not a while after their creation.
...
svn:r17004
2008-09-29 14:53:53 +00:00
Nick Mathewson
57db1c1a7d
Tweak the dbg-stability.txt code to log everything else that influences router stability calculations.
...
svn:r17003
2008-09-29 14:40:34 +00:00
Roger Dingledine
9678f166a8
If we have correct permissions on $datadir, we complain to stdout
...
and fail to start. But dangerous permissions on
$datadir/cached-status/ would cause us to open a log and complain
there. Now complain to stdout and fail to start in both cases. Fixes
bug 820, reported by seeess.
svn:r16998
2008-09-29 10:09:05 +00:00
Roger Dingledine
c846979ab7
Fix a bug where an unreachable relay would establish enough
...
reachability testing circuits to do a bandwidth test -- if
we already have a connection to the middle hop of the testing
circuit, then it could establish the last hop by using the existing
connection. Bugfix on 0.1.2.2-alpha, exposed when we made testing
circuits no longer use entry guards in 0.2.1.3-alpha.
svn:r16997
2008-09-29 09:36:42 +00:00
Nick Mathewson
99755f374d
Fix 0/0 calculation in get_weighted_fractional_uptime().
...
svn:r16994
2008-09-28 15:48:36 +00:00
Nick Mathewson
bb1685318c
Commit fix for bug 807 from mwenge: send CLOSED controller event for reverse dns resolve, not FAILED.
...
svn:r16985
2008-09-26 20:25:35 +00:00
Nick Mathewson
745e5b0e22
Make sure ExcludeSingleHopRelays works for an exit.
...
svn:r16984
2008-09-26 19:09:12 +00:00
Nick Mathewson
e147e867be
Proposal 152 implementation from Josh Albrecht, with tweaks.
...
svn:r16983
2008-09-26 18:58:45 +00:00
Nick Mathewson
87eb230c01
Put the start-of-downtime value in the start-of-downtime buffer so that we do not put junk in the dbg-stability.txt file
...
svn:r16982
2008-09-26 18:31:22 +00:00
Nick Mathewson
e7e12236ac
Code to serve a current stability calculations from /tor/dbg-stability.txt. Untested: somebody please run this on an authority and let me know if it is broken.
...
svn:r16981
2008-09-26 18:02:48 +00:00
Nick Mathewson
283b95e463
Make tests pass again by adding an opt hidden-service-dir to the example routerinfo output.
...
svn:r16980
2008-09-26 17:58:35 +00:00
Nick Mathewson
ae33d3ead7
Apply rovv's fix for bug 824.
...
svn:r16975
2008-09-26 15:30:26 +00:00
Nick Mathewson
02c71a7eb4
Widen the conditions under which we whine about not having a geoip file to include "a country code was configured in a node list."
...
svn:r16968
2008-09-25 21:06:32 +00:00
Nick Mathewson
e06f140f97
Whitespace fixes.
...
svn:r16967
2008-09-25 20:22:17 +00:00
Nick Mathewson
8bbbbaf87b
Add country-code support to configured node lists to implement the ever-popular "no exits in Monaco" feature (ExcludeExitNodes {MC}). Also allow country codes and IP ranges in ExitNodes. (EntryNodes needs more work.) Based on code by Robert Hogan. Needs more testing.
...
svn:r16966
2008-09-25 20:21:35 +00:00
Nick Mathewson
b2c7090da6
Make it easier for dmalloc to see if keys are leaking; remove a test-only key leak.
...
svn:r16965
2008-09-25 17:37:00 +00:00
Nick Mathewson
06f96363fd
Remove now-needless _tor_dmalloc_free helper.
...
svn:r16964
2008-09-25 17:36:09 +00:00
Nick Mathewson
a7e383af19
More test memory-management fixes
...
svn:r16963
2008-09-25 15:20:38 +00:00
Karsten Loesing
f2ff3e74ae
All relays now store and serve v2 hidden service descriptors by default (not only directory mirrors).
...
svn:r16961
2008-09-24 22:33:47 +00:00
Karsten Loesing
9a7098487b
If we are not using BEGIN_DIR cells, don't attempt to contact hidden service directories with non-open dir port.
...
svn:r16960
2008-09-24 22:29:22 +00:00
Nick Mathewson
7f805aca2b
Split test_crypto() into manageable pieces.
...
svn:r16959
2008-09-24 20:55:38 +00:00
Karsten Loesing
5f457e4fa6
Minor correction of commentation.
...
svn:r16958
2008-09-24 17:33:07 +00:00
Nick Mathewson
8bc1536a9e
Add patch 4 from Karsten for proposal 121, slightly modified. Karsten should definitely re-review the bits I changed.
...
svn:r16955
2008-09-24 14:44:29 +00:00
Nick Mathewson
75977fd79b
Patch from roger for 752, but with more comments: When we get an A.B.exit:P address, and B would reject most connections to P, but we do not know whether it would allow A, then allow the connection to procede. Bugfix, amusingly, on 0.0.9rc5.
...
svn:r16944
2008-09-23 20:25:01 +00:00
Nick Mathewson
545b317e1f
Fix for bug 797 (by arma, with tweaks): always use create_fast for circuits where we do not know an onion key.
...
svn:r16942
2008-09-23 20:13:23 +00:00
Nick Mathewson
f28fc83ea5
More logging for mtbf/wfu calculations.
...
svn:r16941
2008-09-23 18:24:20 +00:00
Karsten Loesing
e4942e809e
Exclude v0 rendezvous descriptors when considering republication.
...
svn:r16939
2008-09-23 09:30:57 +00:00
Roger Dingledine
6a7abbd25d
ok, but inaccurate error strings worse
...
svn:r16938
2008-09-23 08:57:30 +00:00
Roger Dingledine
0fc0d5266c
identical error strings in different contexts bad
...
svn:r16937
2008-09-23 08:54:03 +00:00
Nick Mathewson
b0c48d8e45
Oops; we need to make sure that DNS request names are matched in the _questions_ section of the replies. Rejecting answers whether the _answers_ section did not match made us reject A records waiting at the end of a CNAME record. Bug 823.
...
svn:r16933
2008-09-22 20:06:25 +00:00
Roger Dingledine
4fd9880540
give rend_client_desc_here a slightly more accurate name
...
svn:r16916
2008-09-16 10:26:15 +00:00
Roger Dingledine
38f2272d5d
patch from karsten for bug 814. whew.
...
svn:r16915
2008-09-16 10:17:04 +00:00
Nick Mathewson
3db8c15287
Add a circuit_conforms_to_options() function for use in debugging paths [and inother stuff too]. Untested, and so far unused.
...
svn:r16914
2008-09-15 22:29:47 +00:00
Roger Dingledine
2bde30efa6
read_to_buf should take an int *error_socket and return it.
...
svn:r16909
2008-09-14 08:35:41 +00:00
Roger Dingledine
7f2fd34645
stop telling us every time we fetch a consensus. that's not really news.
...
svn:r16908
2008-09-14 07:17:44 +00:00
Roger Dingledine
dbb481c169
Serve the latest v3 networkstatus consensus via the control
...
port. Use "getinfo dir/status-vote/current/consensus" to fetch it.
svn:r16907
2008-09-14 04:07:29 +00:00
Roger Dingledine
4045ef72f5
make it explicit that the uncompressed cached dir items are nul-terminated
...
(they are, but now we should keep them that way)
svn:r16906
2008-09-14 03:36:54 +00:00
Roger Dingledine
2d95accc75
Allow ports 465 and 587 in the default exit policy again. We had
...
rejected them in 0.1.0.15, because back in 2005 they were commonly
misconfigured and ended up as spam targets. We hear they are better
locked down these days.
svn:r16898
2008-09-13 10:04:42 +00:00
Karsten Loesing
f0a5ef804f
Directory mirrors store and serve v2 hidden service descriptors by default.
...
svn:r16858
2008-09-11 20:06:04 +00:00
Nick Mathewson
b322348e8a
Fix more actual test leaks
...
svn:r16831
2008-09-10 05:34:03 +00:00
Nick Mathewson
45205126fe
Fix some apparent leaks in voting. If authorities suddenly start segfaulting, this could be a patch to look harder at.
...
svn:r16830
2008-09-10 05:33:49 +00:00
Nick Mathewson
aa69d586ea
Make buffer unit tests handle resource leaks properly.
...
svn:r16823
2008-09-10 00:16:32 +00:00
Nick Mathewson
38f56608d9
Make more unit tests handle resource leaks properly.
...
svn:r16822
2008-09-10 00:11:53 +00:00
Karsten Loesing
52fbfc5d45
Correct indentation.
...
svn:r16819
2008-09-09 22:19:41 +00:00
Roger Dingledine
659f1651e0
tweak karsten's patch
...
svn:r16818
2008-09-09 21:09:15 +00:00
Roger Dingledine
2c14705a4d
patch from karsten to fix more of bug 767
...
svn:r16817
2008-09-09 21:08:02 +00:00
Nick Mathewson
f95d7c189b
Refactor unit test macros and tor_free_all() logic a bit so as to make it easier to free memory on failing tests, in order to suppress scanner warnings and to make dmalloc() usable with tests.
...
svn:r16816
2008-09-09 20:43:31 +00:00
Roger Dingledine
fa64d8041f
minor cleanups on karsten's patch
...
svn:r16810
2008-09-09 09:21:21 +00:00
Roger Dingledine
ef7af1d61e
karsten's patch for bug 767.
...
svn:r16808
2008-09-09 08:41:58 +00:00
Roger Dingledine
d37fae2f4e
Catch and report a few more bootstrapping failure cases when Tor
...
fails to establish a TCP connection. Cleanup on 0.2.1.x.
svn:r16803
2008-09-09 06:25:39 +00:00
Nick Mathewson
aacda9cd8e
We should not alter an addr_policy_t that has been canonicalized.
...
svn:r16802
2008-09-09 03:48:01 +00:00
Nick Mathewson
baeb260ad1
Refactor use of connection_new so that we get more verifiable typesafety.
...
svn:r16785
2008-09-05 22:09:44 +00:00
Nick Mathewson
339f094056
Refactor some code and add some asserts based on scanner results.
...
svn:r16783
2008-09-05 21:19:53 +00:00
Nick Mathewson
d5b2dab31d
Fix a malloc that should have been a tor_malloc
...
svn:r16780
2008-09-05 20:53:39 +00:00
Nick Mathewson
0b8117a5c0
Fix numerous memory leaks: some were almost impossible to trigger, and some almost inevitable.
...
svn:r16779
2008-09-05 20:52:15 +00:00
Nick Mathewson
a56a072f29
It is probably some kind of misdeed to say for (i=0;i<2;++i) { A=i?x:y; foo(bar(A)); } rather than foo(bar(x)); foo(bar(y)); . Also, it can confuse tools.
...
svn:r16777
2008-09-05 20:04:27 +00:00
Nick Mathewson
c33dde4ac1
Fix mingw build with --enable-gcc-warnings set.
...
svn:r16759
2008-09-04 21:58:09 +00:00
Nick Mathewson
3f2b7078d2
Use warn_too_many_conns() when accept() fails with a resource limit.
...
svn:r16751
2008-09-04 15:22:55 +00:00
Nick Mathewson
f80ac31d74
Add a lockfile to the Tor data directory to avoid situations where two Tors start with the same datadir, or where a --list-fingerprints races with a server to create keys, or such.
...
svn:r16722
2008-09-01 20:06:26 +00:00
Roger Dingledine
cfff21e78a
backport candidate:
...
If not enough of our entry guards are available so we add a new
one, we might use the new one even if it overlapped with the
current circuit's exit relay (or its family). Anonymity bugfix
pointed out by rovv.
svn:r16698
2008-08-31 06:33:39 +00:00
Nick Mathewson
32549ad95e
Double oops: revert accidentally committed local geoipc.c debugging hack.
...
svn:r16687
2008-08-29 17:02:26 +00:00
Nick Mathewson
730f1b6d3f
Oops. Make warn_too_many_conns() actually work.
...
svn:r16686
2008-08-29 17:01:15 +00:00
Nick Mathewson
6bf1dec945
Oops; set address families on nameservers.
...
svn:r16674
2008-08-27 14:12:10 +00:00
Nick Mathewson
2625eb204f
Fix a memory leak when freeing routerstatuses with exit policy summaries. Patch from mwenge.
...
svn:r16659
2008-08-25 23:19:58 +00:00
Roger Dingledine
c5fef3c57f
commit jake's patch to include strings with socks5 error numbers
...
svn:r16657
2008-08-25 21:02:22 +00:00
Roger Dingledine
8a9b6204ca
get rid of some magic constants i found while walking
...
jake through socks4 and socks5 failure codes
svn:r16651
2008-08-25 07:06:55 +00:00
Nick Mathewson
239cbe99ba
Oops. Linux has no sa_len field.
...
svn:r16627
2008-08-22 18:00:26 +00:00
Nick Mathewson
0800b332a0
r17847@tombo: nickm | 2008-08-22 12:08:56 -0400
...
ipv6: make server-side dns cache remember for each address an ipv6 addr and an ipv4 addr. This fix is just the struct side.
svn:r16622
2008-08-22 16:24:47 +00:00
Nick Mathewson
fc52d85b7c
r17846@tombo: nickm | 2008-08-22 11:54:00 -0400
...
Make dns resolver code more robust: handle nameservers with IPv6 addresses, make sure names in replies match requested names, make sure origin address of reply matches the address we asked.
svn:r16621
2008-08-22 16:24:43 +00:00
Roger Dingledine
8f5642edbc
Relays now reject risky extend cells: if the extend cell includes
...
a digest of all zeroes, or asks to extend back to the relay that
sent the extend cell, tear down the circuit. Ideas suggested
by rovv.
svn:r16605
2008-08-20 05:21:43 +00:00
Roger Dingledine
cc8b2247bf
make r16598 compile on 64-bit too
...
svn:r16604
2008-08-20 05:15:08 +00:00
Karsten Loesing
a8035b5fc3
Update doxygen documentation.
...
svn:r16599
2008-08-19 19:01:41 +00:00
Nick Mathewson
24f1d29be1
Apply proposal 121 patch 3, with minor tweaks and a few comments.
...
svn:r16598
2008-08-19 15:41:28 +00:00
Peter Palfrader
87a5962abb
All the controller things want their stuff in v2 format. Well then, maybe that's already sufficient
...
svn:r16578
2008-08-17 08:26:02 +00:00
Peter Palfrader
d3be2cb7fb
And tell us more in another error case
...
svn:r16577
2008-08-17 08:14:57 +00:00
Peter Palfrader
ab9078fca0
Change a warning/bug message
...
svn:r16576
2008-08-17 08:11:21 +00:00
Peter Palfrader
3c0b0ccca9
Two consensus fixes: always reset has_* to 0, and use a buffer of proper length for exitsummaries.
...
svn:r16575
2008-08-17 08:01:23 +00:00
Peter Palfrader
4eecd27b42
Make trunk build again under -DEXPORTMALLINFO
...
svn:r16559
2008-08-15 14:03:37 +00:00
Nick Mathewson
fcf817f897
Switch global_identifier on connections to a 64-bit field and move it to connection_t. When procession onionskins, look up the connection by this field rather than by addr:port. This will keep us from dropping onionskins. How many dropped circuits are dropped because of this bug?
...
svn:r16558
2008-08-15 13:55:01 +00:00
Peter Palfrader
521f8c791f
spaceman
...
svn:r16555
2008-08-14 23:09:48 +00:00
Peter Palfrader
8cc3d6e22d
Add exitpolicy summaries to the consensus
...
svn:r16554
2008-08-14 23:01:31 +00:00
Peter Palfrader
e27b448c57
Do not split stored exit policy summary into type(accept/reject) and portlist. At least not just yet
...
svn:r16553
2008-08-14 23:01:21 +00:00
Peter Palfrader
41730a893c
Rename a field so weasel likes it better
...
svn:r16552
2008-08-14 23:01:09 +00:00
Peter Palfrader
ceae7ed960
Add bw to consensus
...
svn:r16551
2008-08-14 23:00:57 +00:00
Peter Palfrader
82f8050ac4
Parse policies and weight (bw) into routerstatuses
...
svn:r16550
2008-08-14 23:00:44 +00:00
Peter Palfrader
e8de3ff54d
If we are lucky the whitespace nazis will not have noticed these things yet
...
svn:r16549
2008-08-14 18:01:20 +00:00
Peter Palfrader
fdba26f213
minor comment/doxygen fix
...
svn:r16548
2008-08-14 18:01:09 +00:00
Peter Palfrader
7c4106135a
Give bw in kb/sec in votes/consensus
...
svn:r16544
2008-08-14 12:37:59 +00:00
Peter Palfrader
ff32708d0e
Having a reject-all policy summarized with a lack of summary is stupid. Explicitly mention them as reject 1-65535.
...
svn:r16543
2008-08-14 12:37:50 +00:00
Peter Palfrader
2f91a3528a
testsuite: Now that we add (pretty useless, but still) routerinfos to the routerlist for every one of our routerstatuses in the votes we pass again. yay
...
svn:r16542
2008-08-14 12:37:42 +00:00
Peter Palfrader
6317cc2956
Only fetch the routerinfo_t in routerstatus_format_entry() if we are going to need it
...
svn:r16541
2008-08-14 12:37:34 +00:00
Peter Palfrader
a6ade97f67
Properly move forward char pointer after appending stuff to the string
...
svn:r16540
2008-08-14 12:37:28 +00:00
Peter Palfrader
056157984b
Disable test suite for today
...
svn:r16539
2008-08-14 12:37:21 +00:00
Peter Palfrader
b246c4de9b
asserting(s) is better than segfaulting if it turns out to be NULL later
...
svn:r16538
2008-08-14 12:37:14 +00:00
Peter Palfrader
1a2c6b41e3
Do not show policy and bw in v2 statuses
...
svn:r16537
2008-08-14 12:37:07 +00:00
Peter Palfrader
24da63ea7b
Add exit policy and bw to dirvotes - unfortunately also to v2 statuses
...
svn:r16536
2008-08-14 12:37:00 +00:00
Peter Palfrader
91f654f2ff
This bunch of functions really should be static
...
svn:r16535
2008-08-14 11:24:03 +00:00
Peter Palfrader
171a7d4b0f
Fix an overflow when counting rejects for *, truncate exit summaries after 1000 chars
...
svn:r16530
2008-08-13 19:25:18 +00:00
Peter Palfrader
adcea0f332
Think of the poor children in Antarctica who still have to work on 4" screens
...
svn:r16528
2008-08-13 12:46:13 +00:00
Peter Palfrader
0d807068a3
A few testcases for policy summaries
...
svn:r16527
2008-08-13 12:46:06 +00:00
Peter Palfrader
c4e8fe11db
Also special case "accept 1-65535" case, do not leak in non-exit case
...
svn:r16526
2008-08-13 12:46:00 +00:00
Peter Palfrader
8ef2fe4b37
Return NULL for policies that do not allow any exits
...
svn:r16525
2008-08-13 12:45:53 +00:00
Peter Palfrader
4a74b9a7df
Fix condition statement for accept items, fix two asserts
...
svn:r16524
2008-08-13 12:45:44 +00:00
Peter Palfrader
34e083dde1
Make sure we don't run off the end of the list
...
svn:r16523
2008-08-13 12:45:34 +00:00
Peter Palfrader
b2344a9e4d
Move policy_summarize() prototype to or.h
...
svn:r16522
2008-08-13 12:45:28 +00:00
Peter Palfrader
49a616e0fa
Create string representation of exit summaries
...
svn:r16521
2008-08-13 12:45:23 +00:00
Peter Palfrader
7eaf5bd848
Nickm says I'm going to hell, but if I write that in a comment he might just save my soul
...
svn:r16520
2008-08-13 12:45:15 +00:00
Peter Palfrader
1adc12546e
implement policy_summary_accept and policy_summary_reject together with a set of helpers
...
svn:r16519
2008-08-13 12:45:09 +00:00
Peter Palfrader
f5adde1a17
Start with exit policy summaries
...
svn:r16518
2008-08-13 12:45:01 +00:00
Nick Mathewson
97245376d9
Next patch from Karsten: client-side configuration stuff for proposal 121.
...
svn:r16510
2008-08-12 16:12:26 +00:00
Nick Mathewson
30422b5df1
Rate-limit "too-many-sockets" messages; they can get needlessly verbose.
...
svn:r16480
2008-08-09 15:35:37 +00:00
Nick Mathewson
60a0ae198d
Patch cleanups from karsten
...
svn:r16479
2008-08-09 15:13:28 +00:00
Nick Mathewson
7994f49d43
Fix bug in my changes to karsten's patch
...
svn:r16477
2008-08-08 16:45:22 +00:00
Nick Mathewson
a8ddac96d8
handle ipv6 in socks5 requests.
...
svn:r16476
2008-08-08 16:41:59 +00:00
Nick Mathewson
22259a0877
The first of Karsten's proposal 121 patches: configure and maintain client authorization data. Tweaked a bit: see comments on or-dev.
...
svn:r16475
2008-08-08 14:36:11 +00:00
Nick Mathewson
f6879caa04
Try once again to make BSD compilation happy.
...
svn:r16474
2008-08-08 12:58:17 +00:00
Nick Mathewson
39f88641c1
r17692@tombo: nickm | 2008-08-07 22:41:26 -0400
...
Fix more compile errors on BSD pf stuff. How about now?
svn:r16472
2008-08-08 02:41:34 +00:00
Nick Mathewson
5ab6fe0051
r17680@tombo: nickm | 2008-08-07 16:06:30 -0400
...
Add a missing safe_str for a debug_log_message. Fix the bad part of bug 674.
svn:r16462
2008-08-07 20:06:40 +00:00
Nick Mathewson
b81d70addb
Oops. On recent linux kernels we were not detecting the linux/netfilter_ipv4.h header properly, since we needed to have in_addr and in6_addr and __u32 defined before trying to include it. Fix that.
...
svn:r16460
2008-08-07 19:39:52 +00:00
Nick Mathewson
48848537bc
r17667@tombo: nickm | 2008-08-07 15:13:30 -0400
...
Make the TransPort input code handle IPv6 addresses, I hope. This code may not compile. Possibly fix bug 796.
svn:r16459
2008-08-07 19:13:39 +00:00
Nick Mathewson
d9601c65e0
r17666@tombo: nickm | 2008-08-07 15:12:30 -0400
...
Make tor_addr_from_sockaddr also give away the port in a useful format
svn:r16458
2008-08-07 19:13:35 +00:00
Nick Mathewson
635f3c8aee
r17664@tombo: nickm | 2008-08-06 12:32:09 -0400
...
Patch from Christopher Davis: open /dev/pf before dropping privileges. Fixes bug 782. Backport candidate.
svn:r16450
2008-08-06 16:32:17 +00:00
Nick Mathewson
9855c1d06f
r17645@31-33-44: nickm | 2008-08-05 16:28:01 -0400
...
Make unspecified addresses also cause connection_is_rate_limited to say 0.
svn:r16437
2008-08-05 20:28:03 +00:00
Nick Mathewson
960a0f0a99
r17641@31-33-44: nickm | 2008-08-05 16:07:53 -0400
...
Initial conversion of uint32_t addr to tor_addr_t addr in connection_t and related types. Most of the Tor wire formats using these new types are in, but the code to generate and use it is not. This is a big patch. Let me know what it breaks for you.
svn:r16435
2008-08-05 20:08:19 +00:00
Peter Palfrader
0cfb68454e
Document that we break ties in favor of smaller SD digest if there are still ties after comparing the published timestamp
...
svn:r16432
2008-08-05 18:54:23 +00:00
Roger Dingledine
d01813a8dd
Take out the TestVia config option, since it was a workaround for
...
a bug that was fixed in Tor 0.1.1.21.
svn:r16409
2008-08-05 00:12:05 +00:00
Roger Dingledine
d5bb361977
minor fixes
...
svn:r16407
2008-08-04 23:59:38 +00:00
Karsten Loesing
d166b9dc45
Make check-spaces happy.
...
svn:r16406
2008-08-04 23:39:07 +00:00
Roger Dingledine
2a417700b4
don't log-warn on a bootstrapping status event if the recommendation
...
is to ignore.
svn:r16405
2008-08-04 23:38:32 +00:00
Karsten Loesing
1fe07f66f4
In some edge cases it occurs that the router descriptor of a previously picked introduction point becomes obsolete. In that case, don't stick to using that introduction point, but simply give up on it. Reverts some part of r15825.
...
svn:r16404
2008-08-04 23:35:12 +00:00
Karsten Loesing
ff9c3c006f
Remove dead code that was left from marking HiddenService(Exclude)Nodes obsolete in task 754.
...
svn:r16401
2008-08-04 22:42:27 +00:00
Karsten Loesing
3c9cd463d2
Fix a false assertion when extending a circuit to a relay to which a connection is already established. In that case the circuit should not need to memorize extend info for that relay. circuitbuild.c:389 contains a similar assertion.
...
svn:r16375
2008-08-03 17:45:24 +00:00
Karsten Loesing
ee44eadf4c
Fix a bug when generating router descriptors: The address part of exit policies was uninitialized.
...
svn:r16372
2008-08-03 12:43:18 +00:00
Roger Dingledine
fd4a30d198
bump to 0.2.1.3-alpha
...
svn:r16369
2008-08-03 05:35:42 +00:00
Roger Dingledine
bf066be654
note a feature (bugfix) we should do one day
...
svn:r16368
2008-08-03 05:35:18 +00:00
Nick Mathewson
1a76cd179a
When a struct ends with char a[1], the size of all earlier members of the struct is _not_ sizeof(st)-1; compilers add alignment. Problem spotted by rovv. Backport candidate.
...
svn:r16302
2008-07-31 12:18:14 +00:00
Nick Mathewson
186097906d
r17436@tombo: nickm | 2008-07-30 09:03:19 -0400
...
Move n_addr, n_port, and n_conn_id_digest fields of circuit_t into a separately allocated extend_info_t. Saves 22 bytes per connected circuit_t on 32-bit platforms, and makes me more comfortable with using tor_addr_t in place of uint32_t n_addr.
svn:r16257
2008-07-30 13:04:32 +00:00
Nick Mathewson
507b01357a
r17426@tombo: nickm | 2008-07-28 20:34:03 -0400
...
More test coverage for tor_addr_t; fix a couple of bugs.
svn:r16234
2008-07-29 00:34:50 +00:00
Nick Mathewson
056d97da0c
r17391@pc-10-8-1-079: nickm | 2008-07-25 17:11:17 +0200
...
Tor_addr_compare did a semantic comparison, such that ::1.2.3.4 and 1.2.3.4 were "equal". we sometimes need an exact comparison. Add a feature to do that.
svn:r16210
2008-07-25 15:11:21 +00:00
Nick Mathewson
016adc9a08
r17359@pc-10-8-1-079: nickm | 2008-07-25 16:42:48 +0200
...
whitespace fixes
svn:r16209
2008-07-25 14:47:19 +00:00
Nick Mathewson
9da0482007
r17358@pc-10-8-1-079: nickm | 2008-07-25 16:41:03 +0200
...
Split out the address manipulation functions from compat and util: they were about 21% of the total of those, and spread out too much.
svn:r16208
2008-07-25 14:43:24 +00:00
Nick Mathewson
3ce6e2fba2
r17346@aud-055: nickm | 2008-07-24 15:37:19 +0200
...
Make generic address manipulation functions work better. Switch address policy code to use tor_addr_t, so it can handle IPv6. That is a good place to start.
svn:r16178
2008-07-24 13:44:04 +00:00
Nick Mathewson
ed781e6971
r17338@aud-055: nickm | 2008-07-24 11:21:06 +0200
...
Refactor the router_choose_random_node interface: any function with 10 parameters, most of which are boolean and one of which is unused, should get refactored like this.
svn:r16167
2008-07-24 09:22:34 +00:00
Nick Mathewson
dff1ef7d06
r17337@aud-055: nickm | 2008-07-24 10:17:43 +0200
...
Refactor the is_vote field of networkstatus_t to add a third possibility ("opinion") in addition to vote and opinion. First part of implementing proposal 147.
svn:r16166
2008-07-24 09:22:27 +00:00
Nick Mathewson
ea95ce25b6
r17323@aud-055: nickm | 2008-07-23 17:58:25 +0200
...
Implement most of proposal 110.
svn:r16156
2008-07-23 15:58:38 +00:00
Nick Mathewson
2748afe609
r17322@aud-055: nickm | 2008-07-23 16:50:50 +0200
...
Make circid_t and streamid_t get used instead of uint16_t; it is possible we will soon want to make circid_t change to uint32_t.
svn:r16155
2008-07-23 15:58:30 +00:00
Nick Mathewson
15b2b8bd69
r17309@aud-055: nickm | 2008-07-23 16:05:43 +0200
...
Patch from Christian Wilms: remove (HiddenService|Rend)(Exclude)?Nodes options. They never worked properly, and nobody seems to be using them. Resolves bug 754.
svn:r16144
2008-07-23 14:07:32 +00:00
Nick Mathewson
cc46b23248
r17308@aud-055: nickm | 2008-07-23 15:57:41 +0200
...
In connection_edge_destroy, send a stream status control event when we have an AP connection. Previously, we would send an event when the connection was AP and non-AP at the same time. This didn't work so well. Patch from Anonymous Remailer (Austria). Backport candidate.
svn:r16143
2008-07-23 14:07:26 +00:00
Nick Mathewson
087094961b
r17302@aud-055: nickm | 2008-07-23 14:55:28 +0200
...
Never allow a circuit to be created with the same circid as a circuit that has been marked for close. May be a fix for bug 779. Needs testing. Backport candidate.
svn:r16136
2008-07-23 12:55:55 +00:00
Nick Mathewson
26746d7578
r17220@tombo: nickm | 2008-07-18 15:11:27 -0400
...
Fix bug in last patch: ADDR_POLICY_REJECT is not the same as ADDR_POLICY_REJECTED.
svn:r16065
2008-07-18 19:11:30 +00:00
Nick Mathewson
c8160bce1f
r17188@tombo: nickm | 2008-07-18 14:35:18 -0400
...
Add new ExcludeExitNodes option. Also add a new routerset type to handle Exclude[Exit]Nodes. It is optimized for O(1) membership tests, so as to make choosing a random router run in O(N_routers) time instead of in O(N_routers*N_Excluded_Routers).
svn:r16061
2008-07-18 18:36:32 +00:00
Nick Mathewson
bdcbd23e23
Stop trying to detect versions of Tor on the server-side older than 0.1.1.15-rc; they simply do not work any more. Also add comment about how or_is_obsolete is a terrible field name.
...
svn:r15982
2008-07-16 13:15:11 +00:00
Roger Dingledine
267e61d0f3
When relays do their initial bandwidth measurement, don't limit
...
to just our our entry guards for the test circuits. Otherwise we
tend to have multiple test circuits going through a single entry
guard, which makes our bandwidth test less accurate. Fixes part
of bug 654; patch contributed by Josh Albrecht.
(Actually, modify Josh's patch to avoid doing that when you're
a bridge relay, since it would leak more than we want to leak.)
svn:r15850
2008-07-11 21:42:09 +00:00
Nick Mathewson
787c66b70f
r16917@tombo: nickm | 2008-07-11 12:55:26 -0400
...
Remove token enum constant in routerparse.c that we do not actually use.
svn:r15841
2008-07-11 17:08:05 +00:00
Karsten Loesing
9231858ff5
Fix bug 763. When a hidden service is giving up on an introduction point candidate that was not included in the last published rendezvous descriptor, don't reschedule publication of the next descriptor.
...
svn:r15825
2008-07-10 21:02:01 +00:00
Nick Mathewson
c717e19a29
r16881@tombo: nickm | 2008-07-10 14:19:21 -0400
...
fix a rare segfault in bw-share-measuring code
svn:r15820
2008-07-10 18:31:28 +00:00
Nick Mathewson
0f8761f9fa
fix typos in last patch spotted by sebastian and karsten
...
svn:r15700
2008-07-06 18:47:27 +00:00
Nick Mathewson
615c64efb8
Apply fix from chrisw: call connection_ap_attach_pending when we get a rendezvous2 or rendezvous_established call. This is a bit brute-foce, but it is better than we had before, and might not even show up on profiles. Backport candidate, once tested.
...
svn:r15699
2008-07-06 18:34:45 +00:00
Karsten Loesing
28296ad6e8
Correct punctuation.
...
svn:r15690
2008-07-06 13:59:36 +00:00
Roger Dingledine
c411f83211
forward-port r15576
...
svn:r15577
2008-06-30 23:27:11 +00:00
Roger Dingledine
45742ce0b0
Make directory servers include the X-Your-Address-Is: http header in
...
their responses even for begin_dir conns. Now clients who only ever use
begin_dir connections still have a way to learn their IP address. Should
fix bug 737. Reported by goldy.
svn:r15571
2008-06-30 21:52:39 +00:00
Roger Dingledine
aec928e0b6
Send a bootstrap problem "warn" event on the first problem if the
...
reason is NO_ROUTE (that is, our network is down).
svn:r15443
2008-06-24 08:00:30 +00:00
Roger Dingledine
b7d00bd52e
whoops, i shouldn't've left that in
...
svn:r15434
2008-06-23 18:51:12 +00:00
Karsten Loesing
33ced73597
Added prefixes to testing-network-only configuration options.
...
svn:r15375
2008-06-20 17:03:13 +00:00
Roger Dingledine
8fa912a8c5
If we close our OR connection because there's been a circuit
...
pending on it for too long, we were telling our bootstrap status
events "REASON=NONE". Now tell them "REASON=TIMEOUT".
svn:r15369
2008-06-20 04:42:17 +00:00
Roger Dingledine
94dabd2c23
If you're using bridges, generate "bootstrap problem" warnings
...
as soon as you run out of working bridges, rather than waiting
for ten failures -- which will never happen if you have less than
ten bridges.
svn:r15368
2008-06-20 04:34:39 +00:00
Roger Dingledine
dd50ffb1de
Big bridge bugfixes. Backport candidates.
...
If you have more than one bridge but don't know their keys,
you would only learn a request for the descriptor of the first one
on your list. (Tor considered launching requests for the others, but
found that it already had a connection on the way for $0000...0000
so it didn't open another.)
If you have more than one bridge but don't know their keys, and the
connection to one of the bridges failed, you would cancel all
pending bridge connections. (After all, they all have the same
digest.)
svn:r15366
2008-06-20 03:13:16 +00:00
Roger Dingledine
d76d0493d6
start sending "COUNT=%d RECOMMENDATION=%s" key/values on bootstrap
...
problem status events, so the controller can hear about problems even
before tor decides they're worth reporting for sure.
svn:r15357
2008-06-19 04:50:06 +00:00
Roger Dingledine
ad6b2e7523
check-spaces, fix a typo
...
svn:r15355
2008-06-18 20:14:25 +00:00
Roger Dingledine
c6a94718cd
Directory authorities shouldn't complain about bootstrapping
...
problems just because they do a lot of reachability testing and
some of the connection attempts fail.
svn:r15348
2008-06-18 07:34:04 +00:00
Roger Dingledine
50d3adb819
I was on the second paragraph of my or-dev mail explaining why I chose to
...
set starting=1 to avoid potential bugs with having it conflict with 0,
which I used to mean uninitialized, when I realized I would be writing
many more lame-sounding paragraphs in the future. Just start it at 0
and handle the bugs.
svn:r15346
2008-06-18 05:35:19 +00:00
Nick Mathewson
ed174245c6
implement more fine-tuning options for stats code
...
svn:r15345
2008-06-18 04:34:52 +00:00
Karsten Loesing
024de76e5d
I was told there is an extend_info_free(). I won't leak memory again. I won't leak memory again. I won't ...
...
svn:r15335
2008-06-17 19:13:05 +00:00
Karsten Loesing
693d7e3e35
When establishing a hidden service, introduction points that originate from cannibalized circuits are completely ignored and not included in rendezvous service descriptors. Bugfix on 0.2.0.14-alpha. Backport candidate.
...
svn:r15332
2008-06-17 17:10:03 +00:00
Roger Dingledine
1ad83d74b1
Send an initial "Starting" bootstrap status event, so we have a
...
state to start out in.
svn:r15326
2008-06-17 08:15:42 +00:00
Roger Dingledine
c19392469d
add a getinfo so vidalia can query our current bootstrap state, in case
...
it attaches partway through and wants to catch up.
matt, is this a good format for you, or is there an even better format?
svn:r15325
2008-06-17 08:01:43 +00:00
Peter Palfrader
efeea9f6de
Fix .z suffix for intrumented download stats once more
...
svn:r15316
2008-06-16 22:40:26 +00:00
Peter Palfrader
6880df52eb
Fix .z suffix for intrumented download stats
...
svn:r15315
2008-06-16 22:39:23 +00:00
Nick Mathewson
dd6324b0c6
More bug 707 fixes: no #if/#endif pairs inside macro arguments.
...
svn:r15307
2008-06-16 18:35:21 +00:00
Nick Mathewson
6299f4429a
Clean up a macro/cpp interaction related to bug 707. Also, add a new "filename" config value type which is currently just a synonym for string, but which might be subject to expansion later.
...
svn:r15305
2008-06-16 18:09:53 +00:00
Nick Mathewson
44452c2756
r16341@tombo: nickm | 2008-06-15 22:04:25 -0400
...
Allow spaces to be omitted in approved-router file fingerprints. Requested by arma.
svn:r15296
2008-06-16 02:08:30 +00:00
Nick Mathewson
96bf9cd4c5
Comments and doc tweaks on Karsten's testing-dir-networks patch
...
svn:r15254
2008-06-14 16:11:37 +00:00
Nick Mathewson
0831cc3dbc
Patch from Karsten to implement proposal 135 ("Testing Tor Networks").
...
svn:r15253
2008-06-14 16:01:29 +00:00
Nick Mathewson
97c06691b9
Malloc does not return size_t. (bug noticed by lodger.)
...
svn:r15252
2008-06-14 15:42:29 +00:00
Peter Palfrader
54b3b48802
Make unit tests pass again
...
svn:r15237
2008-06-13 23:24:11 +00:00
Roger Dingledine
6dee2bad83
note a bug that karsten found
...
svn:r15236
2008-06-13 23:05:48 +00:00
Roger Dingledine
5ded5b58a4
> why would it need an anonymized connection?
...
> ah.
> yes, i think you're right. i was thinking 3-hop, but i think it is 1-hop.
svn:r15235
2008-06-13 22:52:17 +00:00
Peter Palfrader
4ef606b8fc
implement proposal 138: removing down routers from consensus
...
svn:r15230
2008-06-13 21:22:49 +00:00
Nick Mathewson
4630f0453d
Explain how my emacs setup works in the HACKING file. Someone else may care too.
...
svn:r15228
2008-06-13 19:57:52 +00:00
Peter Palfrader
1f3dc9b22b
Asking for a conditional consensus at .../consensus/<fingerprints> would crash
...
a dirserver if it did not already have a consensus.
svn:r15227
2008-06-13 18:58:58 +00:00
Roger Dingledine
52d3be06f1
steal some of the bootstrap phase strings from vidalia
...
svn:r15193
2008-06-13 06:23:46 +00:00
Nick Mathewson
bcde95509d
Actually reinstate errors that did not work on windows, and add a comment about reading the documentation of the S_CASE and E_CASE macros before adding new cases to the switch statements there.
...
svn:r15179
2008-06-13 03:52:58 +00:00
Roger Dingledine
b50206a9d2
ignore some errnos in hopes of building on windows again
...
svn:r15178
2008-06-13 02:07:17 +00:00
Roger Dingledine
6bd006bdb8
you can't strcasecmp on 20-byte digests
...
what if they contain nuls?
(worse, what if they *don't* contain nuls? ;)
svn:r15149
2008-06-11 22:46:31 +00:00
Nick Mathewson
a886e86cbd
r16171@tombo: nickm | 2008-06-11 13:47:41 -0400
...
Lower number of syscalls used to write data to ordinary sockets through use of writev. Disabled till I have time to test it.
svn:r15133
2008-06-11 17:56:52 +00:00
Roger Dingledine
62b507fee0
forward-port r15129, but also note the real way we should fix it.
...
svn:r15130
2008-06-11 11:12:29 +00:00
Roger Dingledine
8c85eef9b0
start sending "bootstrap problem" status events when we're having troubles
...
reaching relays.
svn:r15116
2008-06-11 01:14:23 +00:00
Roger Dingledine
42f21007a3
consolidate all our edge/circ/orconn reason-to-foo-or-back functions
...
svn:r15115
2008-06-11 00:17:02 +00:00
Karsten Loesing
33f846b313
In very rare situations new hidden service descriptors were published earlier than 30 seconds after the last change to the service, with the 30 seconds being the current voodoo saying that a descriptor is stable.
...
svn:r15113
2008-06-10 23:31:55 +00:00
Roger Dingledine
15680ce8d2
some cleanups in preparation for moving stuff around
...
svn:r15112
2008-06-10 23:13:14 +00:00
Roger Dingledine
45cc25c019
minor fixes and notes
...
svn:r15111
2008-06-10 23:00:11 +00:00
Nick Mathewson
67a1658da5
Fix last geoip bugs.
...
svn:r15106
2008-06-10 20:11:59 +00:00
Nick Mathewson
16b62a01e4
a couple more geoip bugfixes
...
svn:r15105
2008-06-10 19:51:48 +00:00
Nick Mathewson
e3d1ad67f6
r16139@tombo: nickm | 2008-06-10 15:25:23 -0400
...
Small formatting fixes for geoip-stats file.
svn:r15104
2008-06-10 19:25:25 +00:00
Nick Mathewson
8d484b64e4
r16137@tombo: nickm | 2008-06-10 15:10:55 -0400
...
sign error
svn:r15103
2008-06-10 19:11:02 +00:00
Nick Mathewson
1ec5705445
r16133@tombo: nickm | 2008-06-10 15:06:43 -0400
...
Pointers do not make good ints.
svn:r15102
2008-06-10 19:06:48 +00:00
Nick Mathewson
8fa2e80257
r16132@tombo: nickm | 2008-06-10 14:39:19 -0400
...
Whitespace fix
svn:r15101
2008-06-10 19:06:46 +00:00
Nick Mathewson
b87a7760e0
r16129@tombo: nickm | 2008-06-10 14:28:06 -0400
...
More geoip tweaks. Include in the file a rough estimator of our total share.
svn:r15099
2008-06-10 18:28:10 +00:00
Nick Mathewson
d0a4ad3a1c
r16127@tombo: nickm | 2008-06-10 14:03:01 -0400
...
Improved code for counting clients by country: support recording by number of directory status requests in addition to number of IPs seen.
svn:r15097
2008-06-10 18:08:56 +00:00
Roger Dingledine
f4e12fa66d
make the 'bootstrap problem' stuff quieter while i'm messing with it
...
svn:r15094
2008-06-09 22:15:08 +00:00
Nick Mathewson
55975452b4
r16121@tombo: nickm | 2008-06-09 16:14:39 -0400
...
fix compile with warnings on osx 10.5: double+int apparently gives a 64-bit value on some gccs
svn:r15093
2008-06-09 20:52:59 +00:00
Roger Dingledine
baa3cea213
Start noticing and reporting bootstrapping failures too. It looks like
...
we never bothered learning why OR conns fail, so next step is to add some
infrastructure for that.
svn:r15091
2008-06-09 18:32:43 +00:00
Peter Palfrader
dba6d8c55a
also count number of downloads, not just the bytes
...
svn:r15090
2008-06-09 17:07:53 +00:00
Roger Dingledine
ac795353c4
fix a bug where we were never reporting the
...
"Finishing handshake with entry guard" bootstrap phase
svn:r15087
2008-06-09 07:01:52 +00:00
Roger Dingledine
6aeb79af06
report partial bootstrapping progress as we fetch descriptors
...
svn:r15083
2008-06-09 06:33:29 +00:00
Roger Dingledine
eafb07ec96
extra points if you make it compile. boy, i'm on a roll.
...
svn:r15077
2008-06-09 05:17:52 +00:00
Roger Dingledine
3b730c7556
whoops -- the other half of r15074
...
svn:r15076
2008-06-09 05:16:47 +00:00
Roger Dingledine
1ca2ead8c4
when we haven't had any application requests lately, don't bother
...
logging when we have expired a bunch of descriptors.
svn:r15074
2008-06-09 05:13:33 +00:00
Roger Dingledine
3bb5d3ba6d
include tags in the bootstrap status events. also document the
...
bootstrapping process and how the phases break down.
svn:r15020
2008-06-08 02:53:32 +00:00
Roger Dingledine
00fcd66218
actually start sending the bootstrap status event, so matt
...
can start playing with it on his side.
svn:r15009
2008-06-07 09:26:41 +00:00
Roger Dingledine
5aeb89447e
infrastructure for the 'bootstrap status event' feature, so we can
...
tell the controller how we're doing at bootstrapping, and it can
tell the user.
svn:r15008
2008-06-07 05:27:34 +00:00
Roger Dingledine
56658956a1
minor comment cleanup and xxx
...
svn:r15006
2008-06-07 05:01:22 +00:00
Roger Dingledine
b4d697688e
revert r14970, since it didn't fix anything.
...
leave r14971 in place though.
svn:r15005
2008-06-07 05:00:06 +00:00
Roger Dingledine
ebab48769d
Stop reloading the router list from disk for no reason when we
...
run out of reachable directory mirrors. Once upon a time reloading
it would set the 'is_running' flag back to 1 for them. It hasn't
done that for a long time.
svn:r15004
2008-06-07 04:56:08 +00:00
Roger Dingledine
ce64ca48b8
make some log entries more accurate
...
svn:r14998
2008-06-06 22:31:36 +00:00
Roger Dingledine
b65b89d50f
make sure, when we're checking if we have enough dir info, that
...
we actually have the descriptor listed in the consensus, not just
any descriptor, for each relay.
don't backport this patch (yet); who knows what it might do.
svn:r14971
2008-06-05 11:37:40 +00:00
Roger Dingledine
ca416a78e3
When we switched to using v3 directories, we threw away the part of
...
the "do we have enough directory info?" calculation that checked
how many relays we believed to still be running based on our own
experience. So if we went offline, we never gave up trying to make
new circuits; worse, when we came back online we didn't recognize
that we should give all the relays another chance. Bugfix on
0.2.0.9-alpha; fixes bugs 648 and 675.
svn:r14970
2008-06-05 10:57:09 +00:00
Roger Dingledine
6782682ac6
changing v2 network status doesn't require us to recompute
...
anything about whether enough v3 dir info is here.
svn:r14969
2008-06-05 09:01:18 +00:00
Roger Dingledine
2c84c10196
remove some networkstatus consensus warnings for unnamed / invalid
...
relays. they weren't very specific, and were confusing people before
we reduced their log severity. now nobody even knows they exist.
svn:r14968
2008-06-05 08:20:23 +00:00
Nick Mathewson
fa0989fd67
Make unit tests pass again: new geoip behavior had freaked out.
...
svn:r14949
2008-06-04 18:38:37 +00:00
Roger Dingledine
b8bde32c3a
forward-port r14934
...
svn:r14936
2008-06-04 09:02:25 +00:00
Roger Dingledine
c6b3cf4b96
documentation bug
...
svn:r14935
2008-06-04 08:59:14 +00:00
Roger Dingledine
00405468aa
forward-port r14930
...
svn:r14931
2008-06-04 07:41:22 +00:00
Roger Dingledine
f3d679d4cc
blind-forward-port that, while i'm at it
...
svn:r14929
2008-06-04 07:08:05 +00:00
Peter Palfrader
01c1a355c2
Also add create/create fast/extends to the dir-usage stats.
...
svn:r14900
2008-06-02 15:09:35 +00:00
Peter Palfrader
cfb1f554e2
Make note_request() accessible from outside of directory.c
...
svn:r14899
2008-06-02 15:09:29 +00:00
Peter Palfrader
716558a6a1
Instrument all downloads that pass through connection_dir_client_reached_eof()
...
svn:r14897
2008-06-02 15:09:19 +00:00
Nick Mathewson
3a469018e5
Fix warning when compiling with dmalloc.
...
svn:r14829
2008-05-29 14:37:56 +00:00
Nick Mathewson
ac330d9ba7
New code to implement proposal for local geoip stats. Only enabled with --enable-geoip-stats passed to configure.
...
svn:r14802
2008-05-29 02:29:35 +00:00
Nick Mathewson
a335b94c8f
On win32, default to looking for the geoip file in the same directory as torrc. This is a dumb hack; it should turn into a general mechanism.
...
svn:r14796
2008-05-29 01:22:30 +00:00
Nick Mathewson
6bfa96bfc7
Fix bug noted by roger: rebuild extrainfo store from time to time, even if we have never actually downloaded an extrainfo. Bridge authorities need this, or they never clean the extrainfo store.
...
svn:r14792
2008-05-29 00:44:57 +00:00
Roger Dingledine
277dce9ecf
document the handle-comments-in-geoip file
...
svn:r14785
2008-05-28 21:10:46 +00:00
Nick Mathewson
6641152514
Fix some warnings.
...
svn:r14781
2008-05-28 18:34:10 +00:00
Nick Mathewson
bd3b86df3b
Several geoip changes/fixes as requested.
...
svn:r14780
2008-05-28 18:31:57 +00:00
Roger Dingledine
7f61dafe8d
include the geoip file in the tarball, and load it by default
...
when tor starts.
this breaks rpms and maybe other packages.
svn:r14764
2008-05-28 04:37:34 +00:00
Nick Mathewson
4ea2a4595e
Fix the first part of bug 681, as suggested by Robert Hogan on or-talk.
...
svn:r14754
2008-05-27 21:02:36 +00:00
Nick Mathewson
9975c4f6f8
Fix part of bug 681: always reattach tunneled directory connections, regardless of the setting for LeaveStreamsUnattached
...
svn:r14750
2008-05-27 20:26:40 +00:00
Nick Mathewson
09cd8fa371
r19795@catbus: nickm | 2008-05-16 14:54:24 -0400
...
Rename tor_addr_t manipulation functions for a consistent style.
svn:r14639
2008-05-16 19:19:49 +00:00
Nick Mathewson
0b6b356f71
r19725@catbus: nickm | 2008-05-13 08:47:18 -0400
...
Forward-port: update authority keys affected by Debian OpenSSL bug (See CVE-2008-0166 or http://lists.debian.org/debian-security-announce/2008/msg00152.html )
svn:r14603
2008-05-13 12:47:27 +00:00
Nick Mathewson
e1ef199cf6
r19714@catbus: nickm | 2008-05-12 17:11:47 -0400
...
Fwdport Bugfix: an authority signature is "unrecognized" if we lack a dirserver entry for it, even if we have an older cached certificate that says it is recognized. This affects clients who remove entries from their dirserver list without clearing their certificate cache.
svn:r14597
2008-05-12 21:12:21 +00:00
Nick Mathewson
42dc560b1a
r19705@catbus: nickm | 2008-05-12 11:40:15 -0400
...
Actually load the legacy key, not just the authority key twice.
svn:r14594
2008-05-12 15:40:36 +00:00
Nick Mathewson
08ba3355bc
r19694@catbus: nickm | 2008-05-12 00:21:37 -0400
...
Add unit tests for last patch; make it more testable; fix a bug or two.
svn:r14586
2008-05-12 04:22:01 +00:00
Nick Mathewson
f3f6ecef48
r19690@catbus: nickm | 2008-05-11 22:13:31 -0400
...
Implement a proposal to let a directory authority migrate its identity key without ceasing to sign consensuses.
svn:r14584
2008-05-12 02:14:01 +00:00
Roger Dingledine
755cbe5d44
cosmetic patch by Bernhard M. Wiedemann, so our comments follow
...
the socks5 protocol better
svn:r14552
2008-05-04 09:36:48 +00:00
Nick Mathewson
6d5a9c81b0
r19496@catbus: nickm | 2008-05-02 19:10:29 -0400
...
Even compile errors need closing quotes.
svn:r14533
2008-05-02 23:11:43 +00:00
Roger Dingledine
5ad9dc2244
apply patch from lodger to simplify code a bit
...
svn:r14474
2008-04-25 18:42:42 +00:00
Peter Palfrader
4fa1c69c44
Only using v3 authorities and using the proper digest works better
...
svn:r14455
2008-04-24 21:29:47 +00:00
Peter Palfrader
c3c7e7114e
Actually, do not use conditional consensus downloads until the authorities have upgraded
...
svn:r14453
2008-04-24 15:51:53 +00:00
Peter Palfrader
ca43044600
I bet I screwed up while merging in the changes from the feature branch into my git-svn repository. Undo r14451
...
svn:r14452
2008-04-24 15:43:25 +00:00
Peter Palfrader
016e67f941
Merge conditional consensus downloading
...
svn:r14451
2008-04-24 15:39:14 +00:00
Peter Palfrader
eaad3ab395
Spec compliance: sort id fingerprints in consensus get requests
...
svn:r14450
2008-04-24 15:39:10 +00:00
Peter Palfrader
901ee58c53
Enable conditional consensus downloading starting with 0.2.1.1-alpha servers
...
svn:r14449
2008-04-24 15:39:08 +00:00
Peter Palfrader
9d181ec106
Fix doxygen comments to not use <> for metavars since they have to be valid HTML
...
svn:r14447
2008-04-24 15:39:01 +00:00
Peter Palfrader
788404dacf
and the client part of the consensus-by-authority-fpr proposal (ifdef'ed out)
...
svn:r14446
2008-04-24 15:38:57 +00:00
Peter Palfrader
006b5762d3
Implement the server part of the consensus-by-authority-fpr proposal
...
svn:r14445
2008-04-24 15:38:54 +00:00
Roger Dingledine
d5be900986
forward-port the severity fixes
...
svn:r14442
2008-04-24 05:32:55 +00:00
Nick Mathewson
d02d6660a8
r15308@tombo: nickm | 2008-04-23 16:46:48 -0400
...
Free baddir and badexit policy lists on exit. fixes bug 672. only affects authorities.
svn:r14431
2008-04-23 20:47:53 +00:00
Nick Mathewson
05b184de01
r15304@tombo: nickm | 2008-04-23 16:31:40 -0400
...
Forward-port: I had apparently broken OSX and Freebsd by not initializing threading before we initialize the logging system. This patch should do so, and fix bug 671.
svn:r14430
2008-04-23 20:32:31 +00:00
Roger Dingledine
5dc8062afa
what, we went from v4 to v6?
...
svn:r14428
2008-04-23 18:37:24 +00:00
Roger Dingledine
a1366be7ee
forward-port r14421
...
svn:r14424
2008-04-23 00:31:20 +00:00
Nick Mathewson
41929c2684
r15287@tombo: nickm | 2008-04-22 17:09:25 -0400
...
Periodically launch requests for server/authority.z when it might help us learn our IP. Fix for bug 652.
svn:r14418
2008-04-22 21:10:41 +00:00
Roger Dingledine
d72b256f4f
When we choose to abandon a new entry guard because we think our
...
older ones might be better, close any circuits pending on that
new entry guard connection. Bugfix on 0.1.2.8-beta; found by lodger.
svn:r14417
2008-04-22 18:38:25 +00:00
Nick Mathewson
bc95a4dbcb
r15283@tombo: nickm | 2008-04-22 13:43:45 -0400
...
Correctly notify one-hop connections when a circuit build has failed. possible fix for bug 669. found by lodger.
svn:r14415
2008-04-22 17:44:28 +00:00
Nick Mathewson
21592ad429
r15278@tombo: nickm | 2008-04-22 13:17:37 -0400
...
Apply patch from mwenge to fix bug 646: makes stream events for dns requests get generated more consistently.
svn:r14413
2008-04-22 17:21:12 +00:00
Nick Mathewson
e623d9baff
r15277@tombo: nickm | 2008-04-22 13:14:18 -0400
...
Note a place to refactor.
svn:r14412
2008-04-22 17:21:09 +00:00
Nick Mathewson
ef9c34688c
r15273@tombo: nickm | 2008-04-22 12:32:28 -0400
...
apply patch from lodger: reject requests for reverse-dns lookup of names in private address space. make non-exits reject all dns requests. Fixes bug 619.
svn:r14410
2008-04-22 16:32:55 +00:00
Nick Mathewson
6e979489dc
r15269@tombo: nickm | 2008-04-22 12:23:30 -0400
...
Fix bug 663: warn less verbosely about clock skew from netinfo cells
svn:r14408
2008-04-22 16:23:47 +00:00
Peter Palfrader
0cbecbe050
Fix a pair of comments
...
svn:r14405
2008-04-22 15:20:46 +00:00
Nick Mathewson
1b9c06ab96
r15230@tombo: nickm | 2008-04-17 16:18:08 -0400
...
Do not allocate excess space for named_flag and unnamed_flag in dirvote.c. Fixes bug 662. Not a dangerous bug: sizeof(int*) is at least as big as sizeof(int) everywhere.
svn:r14391
2008-04-17 20:23:13 +00:00
Roger Dingledine
5e299b5e01
minor fixes that have been accumulating
...
svn:r14378
2008-04-16 00:12:44 +00:00
Roger Dingledine
2b4ff1718f
forward-port r14375 and try to make it less likely to happen again
...
svn:r14377
2008-04-16 00:10:39 +00:00
Roger Dingledine
20f927c2dd
forward-port r14373
...
svn:r14374
2008-04-15 23:06:31 +00:00
Nick Mathewson
b927ede48c
r15161@31-33-107: nickm | 2008-04-10 11:11:58 -0400
...
Make dumpstats() log the size and fullness of openssl-internal buffers, so I can test my hypothesis that many of them are empty, and my alternative hypothesis that many of them are mostly empty, against the null hypothesis that we really need to be burning 32K per open OR connection on this.
svn:r14350
2008-04-10 15:12:24 +00:00
Nick Mathewson
4901ee0a8c
r19273@catbus: nickm | 2008-04-09 14:44:23 -0400
...
Do a slightly better fix for r14329: don't call time() quite so much. Also note the time(NULL) hack we wanted to do in the TODO.
svn:r14334
2008-04-09 18:44:50 +00:00
Nick Mathewson
186df044cd
r19262@catbus: nickm | 2008-04-09 14:05:20 -0400
...
When writing relay cells to a buffer, update timestamp_last_added_nonpadding. Bugfix on 0.2.0.1-alpha. Backport candidate.
svn:r14329
2008-04-09 18:05:47 +00:00
Nick Mathewson
31153d6374
r19243@catbus: nickm | 2008-04-08 13:28:59 -0400
...
Use a freelist to hold a few recent memarea chunks. We do a kazillion memarea allocs and frees; that cant be good for us.
svn:r14319
2008-04-08 17:29:05 +00:00
Nick Mathewson
a627407fcb
r19233@catbus: nickm | 2008-04-08 13:06:34 -0400
...
When we remove old routers, use Bloom filters rather than a digestmap-based set in order to tell which ones we absolutely need to keep. This will save us roughly a kazillion little short-lived allocations for hash table entries.
svn:r14318
2008-04-08 17:06:41 +00:00
Nick Mathewson
0c9efd6a1e
r19231@catbus: nickm | 2008-04-07 12:45:58 -0400
...
Update last_listed_as_valid_until for new routers based on v2 networkstatus as well as consensus networkstatus.
svn:r14317
2008-04-08 17:06:38 +00:00
Nick Mathewson
2d68487e7f
r19229@catbus: nickm | 2008-04-07 12:28:22 -0400
...
Add a new SMARTLIST_FOREACH_JOIN macro to iterate through two sorted lists in lockstep. This happens at least 3 times in the code so far, and is likely to happen more in the future. Previous attempts to do so proved touchy, tricky, and error-prone: now, we only need to get it right in one place.
svn:r14309
2008-04-07 16:28:34 +00:00
Nick Mathewson
85db675911
r19202@catbus: nickm | 2008-04-04 17:18:47 -0400
...
Make last_served_at optional; make last_listed_as_valid_until take account (partially) of v2 statuses.
svn:r14299
2008-04-04 21:18:56 +00:00
Nick Mathewson
68407e6a9c
r19199@catbus: nickm | 2008-04-03 15:01:05 -0400
...
Fix bug 641 and 650, I think.
svn:r14297
2008-04-03 19:01:16 +00:00
Roger Dingledine
1ac11591d2
a potential fix for bug 641.
...
svn:r14281
2008-04-02 20:48:36 +00:00
Roger Dingledine
39c402c29f
when add_file_log() fails, tell us why.
...
svn:r14277
2008-04-01 21:05:31 +00:00
Nick Mathewson
d43a9d9440
r19152@catbus: nickm | 2008-03-30 23:20:11 -0400
...
Make unit tests pass again after Link protocol list change.
svn:r14254
2008-03-31 03:20:55 +00:00
Nick Mathewson
006530f037
r19140@catbus: nickm | 2008-03-30 14:13:36 -0400
...
Note in our router descriptors that we actually support link protocol version 2, now that it seems to work.
svn:r14246
2008-03-30 18:14:55 +00:00
Nick Mathewson
72ca7e5d88
r19138@catbus: nickm | 2008-03-30 11:59:26 -0400
...
oops; fix bug in descriptor metric logic.
svn:r14245
2008-03-30 15:59:32 +00:00
Nick Mathewson
e19d96637d
r19118@catbus: nickm | 2008-03-29 00:27:08 -0400
...
Code (disabled) to get way too much info about the contents of old_routers on USR1.
svn:r14230
2008-03-29 04:27:34 +00:00
Nick Mathewson
e89bf1c573
r19109@catbus: nickm | 2008-03-27 16:05:18 -0400
...
Replace a syntax error and a log message that was never emitted with a simple assert. Asserts are fun and easy.
svn:r14224
2008-03-27 20:05:44 +00:00
Peter Palfrader
9d132fbde6
Add --hush switch.
...
New --hush command-line option similar to --quiet. While --quiet disables all
logging to the console on startup, --hush limits the output to messages of
warning and error severity.
svn:r14222
2008-03-27 17:25:49 +00:00
Nick Mathewson
968ad93b0a
r19093@catbus: nickm | 2008-03-27 12:43:58 -0400
...
Only log a notice that dmalloc has been set up if it fails. Actually, since we have not added a temp log yet, I am not sure this ever does anything.
svn:r14216
2008-03-27 16:46:39 +00:00
Nick Mathewson
4e6b6e3ad7
r19092@catbus: nickm | 2008-03-27 12:43:29 -0400
...
Stop supporting anything besides CMD_RUN_TOR in ntmain.c. Based on patch from Sebastian Hahn.
svn:r14215
2008-03-27 16:46:36 +00:00
Nick Mathewson
12b217bce8
r19091@catbus: nickm | 2008-03-27 12:42:57 -0400
...
Stop reading torrc when all we want to do is --hash-password. Fix based on patch from Sebastian Hahn. Backport candidate.
svn:r14214
2008-03-27 16:46:34 +00:00
Nick Mathewson
02acee891c
r19089@catbus: nickm | 2008-03-27 11:05:23 -0400
...
Free some static hashtables and the log mutex on exit. Backport candidate.
svn:r14212
2008-03-27 15:05:28 +00:00
Nick Mathewson
fa15ed4b7b
r19079@catbus: nickm | 2008-03-26 17:16:46 -0400
...
Free authority certs on exit. Backport candidate.
svn:r14205
2008-03-26 21:16:56 +00:00
Nick Mathewson
944bd3dbed
r19074@catbus: nickm | 2008-03-26 17:08:32 -0400
...
Start new address policies with refcount of 1, not 2. Backport candidate once tested more.
svn:r14204
2008-03-26 21:08:39 +00:00
Nick Mathewson
e8cc756c13
r19072@catbus: nickm | 2008-03-26 13:50:24 -0400
...
Add code to debug memory area size. Use results of this code to set a couple of area sizes more sanely.
svn:r14201
2008-03-26 17:50:27 +00:00
Nick Mathewson
745f3c859a
r19066@catbus: nickm | 2008-03-26 13:24:15 -0400
...
Initialize logging before we log anything. Bugfix on 0.2.0.x-alpha.
svn:r14199
2008-03-26 17:25:16 +00:00
Nick Mathewson
762d82cf74
r19062@catbus: nickm | 2008-03-26 12:56:25 -0400
...
Fix whitespace
svn:r14197
2008-03-26 16:56:37 +00:00
Nick Mathewson
3af9e099f7
r19061@catbus: nickm | 2008-03-26 12:53:18 -0400
...
Now that every thing in routerparse.c is switched over to use memareas, there is no need to keep the heap-allocated token code.
svn:r14196
2008-03-26 16:56:34 +00:00
Nick Mathewson
6edab8569a
r19060@catbus: nickm | 2008-03-26 12:44:19 -0400
...
Make v2 hidden service descriptors use the new area allocation logic. This works for me, but Karsten should definitely have a look at it.
svn:r14195
2008-03-26 16:56:31 +00:00
Nick Mathewson
e4ebe3409e
r19049@catbus: nickm | 2008-03-26 12:33:25 -0400
...
Add new stacklike, free-all-at-once memory allocation strategy. Use it when parsing directory information. This helps parsing speed, and may well help fragmentation some too. hidden-service-related stuff still uses the old tokenizing strategies.
svn:r14194
2008-03-26 16:33:33 +00:00
Nick Mathewson
df6b256bc0
r19041@catbus: nickm | 2008-03-25 16:20:42 -0400
...
More unit tests to improve coverage.
svn:r14185
2008-03-25 20:20:45 +00:00
Nick Mathewson
41deb5cd7b
r19039@catbus: nickm | 2008-03-25 12:15:58 -0400
...
Add some unit tests, particularly for AES counter mode.
svn:r14180
2008-03-25 16:16:05 +00:00
Roger Dingledine
9047361007
Mar 24 08:43:30.014 [debug] circuit_find_to_cannibalize(): Hunting for
...
a circ to cannibalize: purpose 5, uptime 0, capacity 4, internal 0
svn:r14166
2008-03-24 18:43:01 +00:00
Roger Dingledine
13174b8f97
fix r14162 so it was what i meant. sometimes precedence is surprising!
...
svn:r14164
2008-03-24 07:24:09 +00:00
Roger Dingledine
a9acdb8f53
when our onehop circuits were failing, nobody was telling the
...
streams. so they waited 120 seconds before timing out. this
was particularly bad during bootstrapping, if an authority is
down or not answering right.
svn:r14163
2008-03-24 05:48:51 +00:00
Roger Dingledine
c26c77d24d
If our create-fast cell is mysteriously never answered for a begindir
...
attempt, notice more quickly. Some of our bootstrapping attempts have a 60
second delay while we sit there wondering why we're getting no response.
svn:r14162
2008-03-24 03:50:21 +00:00
Roger Dingledine
52b267b987
make it build, too
...
svn:r14151
2008-03-21 21:59:57 +00:00
Nick Mathewson
b5b77f8bf3
r19004@catbus: nickm | 2008-03-21 15:18:43 -0400
...
Use RAND_poll() again: the bug that made us stop using it has been fixed.
svn:r14150
2008-03-21 19:18:57 +00:00
Roger Dingledine
7ed6406ce9
forward-port 14113-r14115
...
svn:r14116
2008-03-18 23:12:41 +00:00
Nick Mathewson
e96d22e914
r18941@catbus: nickm | 2008-03-18 14:59:43 -0400
...
Likely fix for bug 632: do not call start_reading on a placeholder connection.
svn:r14109
2008-03-18 19:00:12 +00:00
Nick Mathewson
a62a24036d
r18937@catbus: nickm | 2008-03-18 14:50:39 -0400
...
Fix the other lingering part of bug 617: make ClientDNSRejectInternalAddresses actually work.
svn:r14107
2008-03-18 18:51:34 +00:00
Nick Mathewson
ba915e4211
r18913@catbus: nickm | 2008-03-18 10:30:39 -0400
...
16, not 64.
svn:r14094
2008-03-18 14:30:46 +00:00
Roger Dingledine
31d185a23b
point out another bug for nick. and if it's *not* a bug, that's
...
stunning and i want to know why. :)
svn:r14088
2008-03-18 03:08:48 +00:00
Roger Dingledine
2117abbe3f
forward-port the 0.2.0.22-rc changelog entry, plus remove
...
some duplicate items.
svn:r14086
2008-03-18 02:39:34 +00:00
Nick Mathewson
fe1b2a4ed4
r18900@catbus: nickm | 2008-03-17 18:32:25 -0400
...
Fix tests and routerdesc behavior on trunk.
svn:r14084
2008-03-17 22:32:28 +00:00
Nick Mathewson
e17e6371d1
r18896@catbus: nickm | 2008-03-17 16:10:54 -0400
...
Fix bug in earlier bugfix. Note stupidness of allowing NULL policies at all. Disallow empty exit policies in router descriptors.
svn:r14082
2008-03-17 20:10:57 +00:00
Nick Mathewson
80ec9e51dd
r18891@catbus: nickm | 2008-03-17 13:20:20 -0400
...
Patch from Sebastian Hahn: give an error message on "error replacing old router store."
svn:r14080
2008-03-17 17:21:12 +00:00
Nick Mathewson
9a24158c69
r18880@catbus: nickm | 2008-03-17 12:51:24 -0400
...
Fix policy-related crash bug found by lodger.
svn:r14077
2008-03-17 16:51:48 +00:00
Nick Mathewson
296289de82
r18873@catbus: nickm | 2008-03-17 00:06:31 -0400
...
oops. guard status logging change had a bug. it is non-obvious how to make the code perfect atm; just make it work.
svn:r14070
2008-03-17 04:07:56 +00:00
Nick Mathewson
e6b617bf05
r18872@catbus: nickm | 2008-03-16 23:56:48 -0400
...
Only dump all guard node status to the log when the guard node status actually changes. Downgrade the 4 most common remaining INFO log messages to DEBUG.
svn:r14069
2008-03-17 04:07:51 +00:00
Nick Mathewson
c59f66709d
r18862@catbus: nickm | 2008-03-16 23:33:11 -0400
...
Part of fix for bug 617: allow connection_ap_handshake_attach_circuit() to mark connections, to avoid double-mark warnings. Note that this is an incomplete refactoring.
svn:r14066
2008-03-17 03:37:54 +00:00
Nick Mathewson
bd547e3cfc
r18861@catbus: nickm | 2008-03-16 23:22:56 -0400
...
Fix a couple of bugs in setting control log callback severity.
svn:r14065
2008-03-17 03:37:52 +00:00
Nick Mathewson
46155aca17
r18804@catbus: nickm | 2008-03-13 18:18:31 -0400
...
Refactor log domain mask code so that nobody outside of log.c has to use SEVERITY_MASK_IDX. It is error-prone.
svn:r14016
2008-03-13 22:18:38 +00:00
Peter Palfrader
925ba96508
downgrade get_interface_address6 logging severity to LOG_DEBUG.
...
get_interface_address6() fails regardless of the allocator used,
wever logging to the original severity of 0 causes an assert
error only with the bsd allocator. weird.
svn:r14005
2008-03-13 16:15:16 +00:00
Nick Mathewson
365f16b199
r18787@catbus: nickm | 2008-03-13 11:11:52 -0400
...
Make set-option functions return sensible error codes from an enum, not mysterious negative integers
svn:r14004
2008-03-13 15:11:56 +00:00
Peter Palfrader
24884bb3ed
Use proper log levels with get_interface_address6() calls so we do not die in an assert error because of invalid log levels. Should a failure here fail our test suite?
...
svn:r14003
2008-03-13 15:10:35 +00:00
Nick Mathewson
11e464c331
r18753@catbus: nickm | 2008-03-11 14:56:39 -0400
...
Make some assert()s into tor_assert()s. Make some tor_assert()s called from logging into assert()s, and document why.
svn:r13977
2008-03-11 18:56:41 +00:00
Nick Mathewson
4b65ea0ec0
r18730@catbus: nickm | 2008-03-11 00:47:04 -0400
...
Forward-port: Fix the SVK version detection logic to work right on a branch: tolerate multiple "copied from" tags and only look at the first.
svn:r13959
2008-03-11 04:47:07 +00:00
Nick Mathewson
8b24e01599
r18723@catbus: nickm | 2008-03-11 00:25:30 -0400
...
Fix bug spotted by mwenge: a server_event should not be a sever_event. Also, fix compile errors in config.c and control.c with --enable-gcc-warnings.
svn:r13957
2008-03-11 04:30:14 +00:00
Peter Palfrader
2704a2e129
And appease the whitespace nazis among us
...
svn:r13950
2008-03-10 12:43:47 +00:00
Peter Palfrader
79f1ee8a2d
Implement LOADCONF control command
...
The LOADCONF control command allows posting a config file to Tor
over the control interface. This config file is then loaded as if
it had been read from disk. Sending a HUP signal to Tor will make
it try to load its old config from disk again, thereby forgetting
the config loaded with this command.
svn:r13948
2008-03-10 12:41:52 +00:00
Peter Palfrader
bc4095c70c
different exit codes for options_init_from_string()
...
Change options_init_from_string() so that it returns different exit codes in the
error case, depending on what went wrong. Also push the responsibility to log
the error to the caller.
svn:r13947
2008-03-10 12:41:49 +00:00
Peter Palfrader
8c71d7ea16
options_init_from_torrc(): split off options_init_from_string()
...
svn:r13946
2008-03-10 12:41:44 +00:00
Peter Palfrader
947fd064a3
Store options we got from commandline seperately from bare argv/argc
...
svn:r13945
2008-03-10 12:41:40 +00:00
Peter Palfrader
00d64fd213
options_init_from_torrc(): move code that loads torrc into its own function
...
move code that loads torrc from disk and sets torrc_fname into its own function
svn:r13944
2008-03-10 12:41:36 +00:00
Peter Palfrader
ded55fa296
options_init_from_torrc(): tread non-existing torrc like empty torrc.
...
Tread the case of a non-existing conffile, when allowed, exactly like the one
with an empty torrc.
svn:r13943
2008-03-10 12:41:33 +00:00
Peter Palfrader
e8f4d79ec1
options_init_from_torrc(): move code that looks for torrc into its own function
...
Part of options_init_from_torrc()'s job was looking for -f flags (to specify
an alternate config file) on the command line, complaining if more than one
is given or the given does not exist. If none is given then use the compiled-in
default location, accepting if it does not exist. This logic has been moved
into its own function in an attemped to make options_init_from_torrc() easier
to deal with.
svn:r13942
2008-03-10 12:41:29 +00:00
Peter Palfrader
4118e319c7
options_init_from_torrc(): Split argv processing into two parts
...
Split the argv processing loop into two poarts, one that deals with
figuring out which conffile to use, and the other that figures out
which "command" (hash fingerprint, verify config, list fpr, run tor)
the user asked for.
There is a third part further down that imports command line args
into the config but that is not touched.
svn:r13941
2008-03-10 12:41:26 +00:00
Peter Palfrader
8987bd2fd9
If we decrement incoming_cmd's length when receiving the ending CRLF "." CRLF for a multi-line control command, also truncate the string by nul-terminating it in the correct place.
...
svn:r13939
2008-03-10 12:13:43 +00:00
Roger Dingledine
0df1564298
forward-port recent changes
...
svn:r13935
2008-03-10 07:50:09 +00:00
Nick Mathewson
7587e16796
r18639@catbus: nickm | 2008-03-07 20:11:48 -0500
...
Change semantics of add-a-log functions to copy severity setup: that is way less error-prone. Fix up config.c to act accordingly.
svn:r13888
2008-03-08 01:11:54 +00:00
Nick Mathewson
f56ba5f3d6
r18630@catbus: nickm | 2008-03-05 17:31:33 -0500
...
Implement domain-selection for logging. Source is documented; needs documentation in manpage (maybe). For now, see doxygen comment on parse_log_severity_config in log.c
svn:r13875
2008-03-05 22:31:39 +00:00
Peter Palfrader
9e7b4400dc
minor cleanup
...
in options_act() we set running_tor to options->command == CMD_RUN_TOR
once and used that in all but one place. Now we use running_tor in that
place also.
svn:r13819
2008-03-03 12:48:13 +00:00
Roger Dingledine
5bf0a01011
forward-port r13799 and the 0.2.0.21-rc changelog
...
svn:r13808
2008-03-02 22:29:04 +00:00
Roger Dingledine
cf3e1b1309
we should consider dumping the v1 directory stuff from 0.2.1.x.
...
perhaps we would even replace the v1 directory with a static
page saying 'this is a tor server, let me tell you what that is'.
svn:r13797
2008-03-01 17:47:41 +00:00
Roger Dingledine
c5a7ff8e43
forward-port r13777
...
svn:r13778
2008-02-29 01:45:06 +00:00
Nick Mathewson
eefe2a3562
r18462@catbus: nickm | 2008-02-27 14:15:57 -0500
...
Add better warnings for the error that produced bug 614, and downgrade from a tor_assert() to a tor_fragile_assert().
svn:r13752
2008-02-27 19:19:34 +00:00
Nick Mathewson
d14f8f2547
r14516@tombo: nickm | 2008-02-27 03:10:26 -0500
...
Write some unit tests for a few functions and cases that needed them.
svn:r13751
2008-02-27 08:10:28 +00:00
Roger Dingledine
e7f3d6f76c
fix most of pnx's warnings on irix64
...
svn:r13706
2008-02-24 23:39:53 +00:00
Nick Mathewson
3452486ac6
r14422@tombo: nickm | 2008-02-24 17:09:56 -0500
...
Whitespace fixes
svn:r13700
2008-02-24 22:11:18 +00:00
Nick Mathewson
ee8dce3084
r14421@tombo: nickm | 2008-02-24 17:05:18 -0500
...
Patch from mwenge: always willingly serve our own extrainfo from the controlport
svn:r13699
2008-02-24 22:11:12 +00:00
Nick Mathewson
dde81de3dd
r14419@tombo: nickm | 2008-02-24 16:55:11 -0500
...
Patch from tup: use sizeof sockaddr_un as the size of a unix sockaddr. Fixes unix controlsocket binding on openbsd.
svn:r13697
2008-02-24 22:11:00 +00:00
Nick Mathewson
e0de72dd87
r14410@tombo: nickm | 2008-02-23 16:51:46 -0500
...
Fix the last of the -Wshorten-64-to-32 warnings.
svn:r13696
2008-02-24 22:10:08 +00:00
Roger Dingledine
31f72a3d80
Servers that don't know their own IP address should go to the
...
authorities for their first directory fetch, even if their DirPort
is off or if they don't know they're reachable yet. This will help
them bootstrap better. Bugfix on 0.2.0.18-alpha; fixes bug 609.
svn:r13688
2008-02-23 23:39:16 +00:00
Roger Dingledine
cd4b95e402
Make "HashedControlPassword" an alias for "__HashedControlSessionPassword"
...
if it appears on the commandline. should help with bug 586.
svn:r13683
2008-02-22 23:20:28 +00:00
Nick Mathewson
7589765ae9
r14401@tombo: nickm | 2008-02-22 15:33:42 -0500
...
Fix a really stupid parthensis error noticed by mwenge.
svn:r13681
2008-02-22 20:33:47 +00:00
Nick Mathewson
e7db789e82
r14399@tombo: nickm | 2008-02-22 14:09:38 -0500
...
More 64-to-32 fixes. Partial backport candidate. still not done.
svn:r13680
2008-02-22 19:09:45 +00:00
Roger Dingledine
5ec5a747d7
Quiet the "Exitrouter '%s' seems to be more restrictive than its exit
...
policy. Not using this router as exit for now." message, since it
legitimately appears every so often and there's no need to alarm users.
svn:r13677
2008-02-22 14:31:40 +00:00
Nick Mathewson
e68760ac0f
r14388@tombo: nickm | 2008-02-21 22:44:28 -0500
...
More 64-to-32 fixes.
svn:r13672
2008-02-22 03:44:36 +00:00
Nick Mathewson
69300eb606
r14374@tombo: nickm | 2008-02-21 16:57:39 -0500
...
Fix all remaining shorten-64-to-32 errors in src/common. Some were genuine problems. Many were compatibility errors with libraries (openssl, zlib) that like predate size_t. Partial backport candidate.
svn:r13665
2008-02-21 21:57:47 +00:00
Roger Dingledine
1cd90948ab
maybe appease the overflow detectors more
...
svn:r13663
2008-02-21 21:56:04 +00:00
Nick Mathewson
daefbfe691
r14371@tombo: nickm | 2008-02-21 16:13:18 -0500
...
Fix all -Wshorten-64-to-32 warnings that appear on my macbook.
svn:r13662
2008-02-21 21:15:31 +00:00
Nick Mathewson
5c03f82a65
r18345@catbus: nickm | 2008-02-21 13:45:04 -0500
...
Do the last part of arma's fix for bug 437: Track the origin of every addrmap, and use this info so we can remove all the trackhostexits-originated mappings for a given exit.
svn:r13660
2008-02-21 18:45:11 +00:00
Nick Mathewson
0ba2bfeef6
r14363@31-33-219: nickm | 2008-02-21 11:11:33 -0500
...
Answer the next-to-last XXX020rc item.
svn:r13658
2008-02-21 16:12:01 +00:00
Nick Mathewson
e2f25558b9
r14362@31-33-219: nickm | 2008-02-21 11:01:10 -0500
...
Change some of our log messages related to closed TLS connections in order to better reflect reality.
svn:r13657
2008-02-21 16:11:58 +00:00
Nick Mathewson
e18ee2a2ab
r14357@31-33-219: nickm | 2008-02-21 10:39:11 -0500
...
Fix bug-handling code for unhandled write errors, so that it does not try to flush any data on the failed connection. Bugfix on 0.1.2.x.
svn:r13655
2008-02-21 15:39:26 +00:00
Nick Mathewson
41eca067a1
r14356@31-33-219: nickm | 2008-02-21 10:38:26 -0500
...
Defer a couple of XXX020rc items, based on recommendation from arma.
svn:r13654
2008-02-21 15:39:24 +00:00
Nick Mathewson
8b1789c71f
r18336@catbus: nickm | 2008-02-21 09:33:15 -0500
...
Patch from Sebastian Hahn: remove obsolete timeval manipulation functions.
svn:r13653
2008-02-21 14:33:20 +00:00
Roger Dingledine
b3c0d066e5
other cleanups that have been sitting in my sandbox
...
svn:r13649
2008-02-21 09:01:32 +00:00
Roger Dingledine
a60f7caa54
start allowing clients to give up on trackhostexits targets if
...
five circuit attempts fail for a given stream. part of the fix
for bug 437. still an XXX020rc remaining.
svn:r13648
2008-02-21 09:00:54 +00:00
Roger Dingledine
18a209ffe6
Even though the man page said that "TrackHostExits ." should
...
work, nobody had ever implemented it. Bugfix on 0.1.0.x.
svn:r13647
2008-02-21 08:08:13 +00:00
Roger Dingledine
828c707812
Change the behavior of "getinfo status/good-server-descriptor"
...
so it doesn't return failure when any authority disappears.
svn:r13645
2008-02-21 06:06:45 +00:00
Roger Dingledine
b28a342e35
resolve one more, and leave two for nick.
...
svn:r13644
2008-02-21 05:53:50 +00:00
Roger Dingledine
1812a22a60
If we're trying to flush the last bytes on a connection (for
...
example, when answering a directory request), reset the
time-to-give-up timeout every time we manage to write something
on the socket. Bugfix on 0.1.2.x.
svn:r13643
2008-02-21 05:51:09 +00:00
Roger Dingledine
8889229407
and another useful answer
...
svn:r13642
2008-02-21 05:42:12 +00:00
Roger Dingledine
0ddc9d5707
answer one of nick's XXX020rc's usefully
...
svn:r13641
2008-02-21 05:38:19 +00:00
Nick Mathewson
063ced8903
r18296@catbus: nickm | 2008-02-20 23:30:11 -0500
...
Answer one xxx020 item; move 7 other ones to a new "XXX020rc" category: they should get fixed before we cut a release candidate. arma: please review these to see whether you have fixes/answers for any. Please check out the other 14 XXX020s to see if any look critical for the release candidate.
svn:r13640
2008-02-21 04:30:14 +00:00
Nick Mathewson
47e6247673
r18294@catbus: nickm | 2008-02-20 22:42:44 -0500
...
Fix a spelling error and clean up a recent veracode-induced integer overflow check. Both spotted by Chris Palmer.
svn:r13639
2008-02-21 03:42:56 +00:00
Nick Mathewson
1df0647c66
r18291@catbus: nickm | 2008-02-20 22:35:32 -0500
...
Resolve all DOCDOC issues, and document some other undocumented code, and fix a changelog entry.
svn:r13638
2008-02-21 03:38:46 +00:00
Nick Mathewson
ae507a61cc
r18288@catbus: nickm | 2008-02-20 21:18:38 -0500
...
Recover from bad tracked-since value in mtbf history file. This may finally close bug 537.
svn:r13636
2008-02-21 02:18:41 +00:00
Nick Mathewson
0e9dcfab97
r18286@catbus: nickm | 2008-02-20 21:10:33 -0500
...
Fix a bug that kept buf_find_string_offset from finding a string at the very end of the buffer. Add a unit test for this. Also, do not save a pointer to a chunk that might get reallocated by buf_pullup().
svn:r13635
2008-02-21 02:10:38 +00:00
Nick Mathewson
3b58f9929f
r18283@catbus: nickm | 2008-02-20 18:58:31 -0500
...
Fix assertion when searching for a string in an empty chunk.
svn:r13634
2008-02-20 23:58:48 +00:00
Nick Mathewson
304bdfdc6b
r18279@catbus: nickm | 2008-02-20 18:38:48 -0500
...
Log message to try to detect error in buffers.c
svn:r13633
2008-02-20 23:38:57 +00:00
Nick Mathewson
8b8d38162b
r18278@catbus: nickm | 2008-02-20 18:29:07 -0500
...
Unit tests for buf_find_string_offset()
svn:r13632
2008-02-20 23:38:55 +00:00
Nick Mathewson
f0e523c6ef
r18272@catbus: nickm | 2008-02-20 18:20:33 -0500
...
add a flag to suppress overwriting the certificates file with new certificates, so we do not overwrite all certs when starting as an authority.
svn:r13630
2008-02-20 23:20:36 +00:00
Nick Mathewson
93aa335516
r18269@catbus: nickm | 2008-02-20 17:28:24 -0500
...
Apply patch from Sebastian Hahn: stop imposing an arbitrary maximum on the number of file descriptors used for busy servers. Bug reported by Olaf Selke.
svn:r13626
2008-02-20 22:28:26 +00:00
Nick Mathewson
384a8ab777
r18267@catbus: nickm | 2008-02-20 16:57:45 -0500
...
Suppress signed/unsigned comparison warnings in buffers.c
svn:r13624
2008-02-20 21:57:48 +00:00
Nick Mathewson
7521ef9a00
r18264@catbus: nickm | 2008-02-20 12:48:21 -0500
...
fix bufs in buf_pos_t implementation.
svn:r13623
2008-02-20 17:48:39 +00:00
Nick Mathewson
5dd9d16b94
r18263@catbus: nickm | 2008-02-20 12:45:15 -0500
...
Oops. not supposed to use tor_assert() in eventdns.c
svn:r13622
2008-02-20 17:48:37 +00:00
Nick Mathewson
dc949b846a
r18259@catbus: nickm | 2008-02-20 12:03:15 -0500
...
Make the last of the veracode warning issues get fixed.
svn:r13620
2008-02-20 17:03:16 +00:00
Nick Mathewson
cefe0a1959
r18255@catbus: nickm | 2008-02-20 11:44:55 -0500
...
Add asserts and refactor some comparisons in order to fix some veracode-identified issues. Note a bug in buffers.c
svn:r13618
2008-02-20 16:57:39 +00:00
Roger Dingledine
1c8bd320be
pass bucket sizes num_read and num_written around as size_ts
...
rather than ints
svn:r13610
2008-02-20 02:17:41 +00:00
Roger Dingledine
f2ed011813
We were comparing the raw BridgePassword entry with a base64'ed
...
version of it, when handling a "/tor/networkstatus-bridges"
directory request. Now compare correctly. Noticed by Veracode.
svn:r13609
2008-02-20 02:05:28 +00:00
Roger Dingledine
f34d46e7dd
similarly, don't throw around an int for the uint8_t circ->state
...
svn:r13608
2008-02-20 01:01:09 +00:00
Roger Dingledine
7427cf5d56
don't throw around an int for relay_command if we're going to
...
squeeze it into a uint8_t later. also reported by veracode.
svn:r13607
2008-02-20 00:57:37 +00:00
Roger Dingledine
0977c29196
notice an integer overflow if we ever get source files with more
...
than 65k lines in them. also pointed out by veracode.
svn:r13606
2008-02-20 00:46:09 +00:00
Roger Dingledine
e9474ed28e
if you thought r13604 was a kludge, how about this.
...
svn:r13605
2008-02-20 00:30:41 +00:00
Roger Dingledine
56a7c9238e
be more clear about a possible integer underflow problem. this
...
should probably be fixed better somehow.
svn:r13604
2008-02-20 00:11:52 +00:00
Roger Dingledine
e0beb6cc5e
check return value for crypto_pk_asn1_encode here too. thanks veracode.
...
svn:r13603
2008-02-19 23:59:16 +00:00
Nick Mathewson
260c37c14c
r18236@catbus: nickm | 2008-02-19 18:55:21 -0500
...
Explain why I am right and veracode is wrong in routerparse.c line 1141. Using math!
svn:r13602
2008-02-19 23:57:06 +00:00
Roger Dingledine
913f66278c
rearrange our assert so we don't possibly overflow rh.length before
...
triggering the assert. reported by veracode.
svn:r13601
2008-02-19 23:54:17 +00:00
Nick Mathewson
0399538b90
r18233@catbus: nickm | 2008-02-19 18:46:07 -0500
...
Count sockets returned from socketpair() too. This is probably not the socket counting bug.
svn:r13600
2008-02-19 23:46:08 +00:00
Roger Dingledine
707da4f73f
start checking the return value of crypto_pk_asn1_encode() while
...
we're trying to establish an introduction point. bug reported
by veracode.
svn:r13599
2008-02-19 23:33:02 +00:00
Nick Mathewson
42c4670e27
r18230@catbus: nickm | 2008-02-19 18:29:43 -0500
...
Add a few asserts to catch possible errors found by veracode.
svn:r13598
2008-02-19 23:29:45 +00:00
Roger Dingledine
319c0d8933
is_reverse in our struct is uint8_t. don't make it be an int
...
elsewhere. bug reported by veracode.
svn:r13597
2008-02-19 23:14:34 +00:00
Nick Mathewson
dbcf29d301
r18228@catbus: nickm | 2008-02-19 18:05:53 -0500
...
Chris Palmer notes that almost nobody is using smartlist_set_capacity(). Chris Palmer is right. Remove this basically pointless function.
svn:r13596
2008-02-19 23:05:56 +00:00
Nick Mathewson
9479dd3768
r18226@catbus: nickm | 2008-02-19 18:01:01 -0500
...
Brown-paper-bag time. We were failing to count all the sockets from accept().
svn:r13595
2008-02-19 23:01:07 +00:00
Roger Dingledine
d1a195d3cb
call a "number of characters" a size_t, not an int
...
svn:r13594
2008-02-19 22:52:50 +00:00
Roger Dingledine
c126b79f07
be more explicit about a harmless thing that freaked veracode out
...
svn:r13592
2008-02-19 22:32:32 +00:00
Nick Mathewson
4ccffd7aea
r18218@catbus: nickm | 2008-02-19 17:27:40 -0500
...
When SafeLogging is off, have TLS errors and messages logged with their associated addresses.
svn:r13591
2008-02-19 22:27:44 +00:00
Roger Dingledine
810bfe970c
make explicit that we don't care if a rename() call fails.
...
potential bug reported by veracode.
svn:r13590
2008-02-19 22:25:20 +00:00
Roger Dingledine
23e4c849c9
resolve another edge case in staying dormant
...
svn:r13586
2008-02-19 22:01:45 +00:00
Roger Dingledine
da7f0315e6
maybe it should compile too.
...
svn:r13585
2008-02-19 21:41:43 +00:00
Roger Dingledine
d964beac16
If we only ever used Tor for hidden service lookups or posts, we
...
would stop building circuits and start refusing connections after
24 hours, since we false believed that Tor was dormant. Reported
by nwf; bugfix on 0.1.2.x.
svn:r13583
2008-02-19 21:30:24 +00:00
Roger Dingledine
33c754315b
clear up another connlimit lie
...
svn:r13582
2008-02-19 21:08:27 +00:00
Nick Mathewson
b98c437fcc
r18195@catbus: nickm | 2008-02-19 14:11:15 -0500
...
TOR_PERF has not not been a sane thing for ages. Remove it.
svn:r13579
2008-02-19 19:30:37 +00:00
Roger Dingledine
be8a85dc1c
document that if you enable TOR_PERF, you won't be compatible with the
...
main Tor network.
svn:r13577
2008-02-19 18:54:44 +00:00
Nick Mathewson
8c6b5d6640
r14246@tombo: nickm | 2008-02-17 19:33:02 -0500
...
Fix a wide line in control.c; make the check-spaces target ignore the openbsd malloc file.
svn:r13566
2008-02-19 05:08:27 +00:00
Nick Mathewson
3277e2a8ca
r18142@catbus: nickm | 2008-02-18 14:24:31 -0500
...
Our preferred spelling for a bitfield is "unsigned int", not "unsigned" or "uint8_t".
svn:r13560
2008-02-18 19:24:33 +00:00
Nick Mathewson
08f7842384
r18139@catbus: nickm | 2008-02-18 13:14:05 -0500
...
Clarify logic in trusted_dirs_load_certs_from_string(); avoid a maybe-impossible maybe-not double-free spotted by lodger.
svn:r13558
2008-02-18 18:14:34 +00:00
Nick Mathewson
9e9b447b87
r14243@tombo: nickm | 2008-02-17 14:51:26 -0500
...
Better debugging to track down bug 606. Also remove a break; that may have been the possible culprit
svn:r13547
2008-02-17 19:51:33 +00:00
Nick Mathewson
faa56a500b
r14236@tombo: nickm | 2008-02-17 13:44:55 -0500
...
Partial fix for bug 586: Add an ephemeral __HashedControlSessionPassword.
svn:r13543
2008-02-17 18:45:07 +00:00
Roger Dingledine
4c1e516a09
cleanups and changelog entry for r13540
...
svn:r13542
2008-02-17 16:52:24 +00:00
Roger Dingledine
bd959adcb7
patch from karsten:
...
Resolved problems with (re-)fetching hidden service descriptors.
Before, v0 descriptors were not fetched at all (fix on 0.2.0.18-alpha),
re-fetching of v2 descriptors did not stop when a v0 descriptor was
received (fix on 0.2.0.18-alpha), and re-fetching of v2 descriptors did
not work in all cases (fix on 0.2.0.19-alpha).
svn:r13540
2008-02-17 16:47:47 +00:00
Nick Mathewson
6366dcd8ee
r14186@tombo: nickm | 2008-02-15 18:38:52 -0500
...
Add an XXXX021 item so we eventually stop calling setuid() and setgid() unnecessarily.
svn:r13533
2008-02-15 23:39:17 +00:00
Nick Mathewson
24e8e1fb36
r14185@tombo: nickm | 2008-02-15 18:05:54 -0500
...
Replace the hefty tor_strpartition with a simple function to replace its only (trivial) use.
svn:r13532
2008-02-15 23:39:14 +00:00
Nick Mathewson
f5ed1f8469
r14183@tombo: nickm | 2008-02-15 17:37:53 -0500
...
Add initial unit tests for test_addr_compare_masked
svn:r13531
2008-02-15 23:39:10 +00:00
Nick Mathewson
ca4eb987c8
r14182@tombo: nickm | 2008-02-15 17:20:51 -0500
...
Defer, downgrade, or address more XXX020s. The remaining ones are all ones we should deal with before release.
svn:r13530
2008-02-15 23:39:08 +00:00
Nick Mathewson
418c2e1b6b
r14181@tombo: nickm | 2008-02-15 16:48:17 -0500
...
Fix all but 2 DOCDOC items; defer many XXX020s (particularly those where fixing them would fix no bugs at the risk of introducing some bugs).
svn:r13529
2008-02-15 23:39:04 +00:00
Nick Mathewson
ff64e78b20
r14170@tombo: nickm | 2008-02-15 11:50:38 -0500
...
Fix or downgrade a bunch of xxx020 items.
svn:r13527
2008-02-15 19:20:53 +00:00
Nick Mathewson
275bb57a77
r18068@catbus: nickm | 2008-02-13 11:33:19 -0500
...
Patch from karsten: make hidden service code respect SafeLogging.
svn:r13493
2008-02-13 16:34:00 +00:00
Nick Mathewson
d48f6425e5
r18066@catbus: nickm | 2008-02-13 11:22:19 -0500
...
Bugfix from Karsten: "Reversed r13439; v2 rendezvous descriptors were only re-fetched when a directory connection did not finish, not when a directory correctly replied with an error code like 404; bug found by nwf.
svn:r13492
2008-02-13 16:23:28 +00:00
Nick Mathewson
7ae3f6a491
r18056@catbus: nickm | 2008-02-12 17:21:10 -0500
...
Add roger's responses from IRC to some XXX020 items.
svn:r13487
2008-02-12 22:21:20 +00:00
Roger Dingledine
3abafccd0e
Start choosing which bridge to use proportional to its advertised
...
bandwidth, rather than uniformly at random. This should speed up Tor
for bridge users. Also do this for people who set StrictEntryNodes.
svn:r13486
2008-02-12 22:02:47 +00:00
Nick Mathewson
f3eaeb99a3
r18051@catbus: nickm | 2008-02-12 15:20:43 -0500
...
Re-tune mempool parametes based on testing on peacetime: use smaller chuncks, free them a little more aggressively, and try very hard to concentrate allocations on fuller chunks. Also, lots of new documentation.
svn:r13484
2008-02-12 20:20:52 +00:00
Nick Mathewson
aace52320c
r18041@catbus: nickm | 2008-02-11 23:43:18 -0500
...
Make version negotiation and handshaking messages more useful and accurate.
svn:r13477
2008-02-12 04:43:25 +00:00
Nick Mathewson
8682293388
r18029@catbus: nickm | 2008-02-11 12:36:39 -0500
...
Fix command.c compilation with gcc 4.2 warnings enabled.
svn:r13475
2008-02-12 04:37:00 +00:00
Roger Dingledine
a89e523f19
note a simplification for the future
...
svn:r13466
2008-02-11 06:34:10 +00:00
Roger Dingledine
28483467d0
Directory mirrors no longer include a guess at the client's IP
...
address if the connection appears to be coming from the same /24
network; it was producing too many wrong guesses.
svn:r13464
2008-02-11 05:31:56 +00:00
Nick Mathewson
65ee9dc585
r14108@tombo: nickm | 2008-02-10 20:09:10 -0500
...
add some documentation
svn:r13462
2008-02-11 01:09:24 +00:00
Nick Mathewson
ab0c85eea6
r14103@tombo: nickm | 2008-02-10 13:40:09 -0500
...
Fix some XXX020s in command.c, and make it not-allowed to negotiate v1 using the v2 connection protocol: it is too hard to test, and pointless to support.
svn:r13460
2008-02-10 18:40:29 +00:00
Nick Mathewson
b5c03f05d8
r14102@tombo: nickm | 2008-02-10 13:30:04 -0500
...
Remove some deadcode.
svn:r13459
2008-02-10 18:40:27 +00:00
Nick Mathewson
a4db22f675
r14101@tombo: nickm | 2008-02-10 13:24:27 -0500
...
Merge connection_or_act_on_netinfo into command.c; remove some fields from or_handshake_state().
svn:r13458
2008-02-10 18:40:23 +00:00
Roger Dingledine
5a0f214908
patch from tup to fix bug 605
...
svn:r13453
2008-02-09 22:52:29 +00:00
Roger Dingledine
d2528e6b48
"fix" the unit tests on openbsd/netbsd
...
svn:r13450
2008-02-09 21:41:49 +00:00
Roger Dingledine
965afb4970
cleanups on r13442.
...
oh, and this should be backported too.
svn:r13444
2008-02-09 10:46:22 +00:00
Roger Dingledine
b42c9d69f0
Patch from "Andrew S. Lists" to catch when we contact a directory mirror
...
at IP address X and he says we look like we're coming from IP address X.
svn:r13442
2008-02-09 10:36:49 +00:00
Roger Dingledine
509d2912dc
doxygen and other cleanups
...
svn:r13440
2008-02-09 03:11:10 +00:00
Nick Mathewson
be1e577d5e
Re-fetch v2 rendezvous descriptor only when first try failed. Patch from karsten.
...
svn:r13439
2008-02-09 02:51:20 +00:00
Roger Dingledine
1f034cc5c7
note a question for nick
...
svn:r13437
2008-02-09 02:34:00 +00:00
Nick Mathewson
8f7fcdd64e
r17991@catbus: nickm | 2008-02-08 18:41:26 -0500
...
More protocol negotiation work. Make the negotiation actually complete and set the state to open. Fix a crash bug that occured when we forcibly stopped the connection from writing.
svn:r13434
2008-02-08 23:41:29 +00:00
Nick Mathewson
272d37deb3
r17989@catbus: nickm | 2008-02-08 18:09:23 -0500
...
Fix a new segfault when poisoning a non-present socks request.
svn:r13433
2008-02-08 23:09:26 +00:00
Nick Mathewson
a378bb5f5a
r17985@catbus: nickm | 2008-02-08 16:30:02 -0500
...
Bugfix from Karsten Loesing: Retry v2 rend descriptors on intro point failure.
svn:r13431
2008-02-08 21:30:07 +00:00
Nick Mathewson
141a5877f3
r14063@tombo: nickm | 2008-02-08 15:48:32 -0500
...
Add a bunch more code documentation; change the interface of fetch_var_cell_from_buf() so it takes the current link protocol into account and can't get confused by weird command bytes on v1 connections.
svn:r13430
2008-02-08 21:13:15 +00:00
Nick Mathewson
de827f89df
r14062@tombo: nickm | 2008-02-08 15:17:07 -0500
...
Change DNs in x509 certificates to be harder to fingerprint. Raise common code. Refactor random hostname generation into crypto.c
svn:r13429
2008-02-08 21:13:12 +00:00
Nick Mathewson
809227a121
r14061@tombo: nickm | 2008-02-08 14:30:42 -0500
...
Add a couple of (currently disabled) strategies for trying to avoid using too much ram in memory pools: prefer putting new cells in almost-full chunks, and be willing to free the last empty chunk if we have not needed it for a while. Also add better output to mp_pool_log_status to track how many mallocs a given memory pool strategy is saving us, so we can tune the mempool parameters.
svn:r13428
2008-02-08 21:13:08 +00:00
Nick Mathewson
5d250d3e1b
r14060@tombo: nickm | 2008-02-08 13:36:52 -0500
...
Fix warning in onion.c
svn:r13427
2008-02-08 21:13:05 +00:00
Nick Mathewson
8ab4b0d302
r14059@tombo: nickm | 2008-02-08 13:36:34 -0500
...
downgrade xxxs in test.c
svn:r13426
2008-02-08 21:13:02 +00:00
Nick Mathewson
23a9c9695b
r17968@catbus: nickm | 2008-02-07 14:11:02 -0500
...
Clean up IPv6-testing code in test.c; resolve a bunch of XXX020s.
svn:r13425
2008-02-08 21:09:35 +00:00
Nick Mathewson
729555e1ca
r17967@catbus: nickm | 2008-02-07 11:44:51 -0500
...
Fix some warnings identified by building with -D_FORTIFY_SOURCE=2. Remove a redundant (and nuts) definition of _FORTIFY_SOURCE from eventdns.c.
svn:r13424
2008-02-08 21:09:29 +00:00
Nick Mathewson
eecc44dab8
r17963@catbus: nickm | 2008-02-07 10:14:25 -0500
...
Be more thorough about memory poisoning and clearing. Add an in-place version of aes_crypt in order to remove a memcpy from relay_crypt_one_payload.
svn:r13414
2008-02-07 16:10:33 +00:00
Nick Mathewson
842a33ff20
Update some copyright notices: it is now 2008.
...
svn:r13412
2008-02-07 05:31:47 +00:00
Nick Mathewson
46b1a21dc4
r17955@catbus: nickm | 2008-02-06 16:53:07 -0500
...
The SSL portion of the revised handshake now seems to work: I just finally got a client and a server to negotiate versions. Now to make sure certificate verification is really happening, connections are getting opened, etc.
svn:r13409
2008-02-06 21:53:13 +00:00
Nick Mathewson
4d70094b6e
r17951@catbus: nickm | 2008-02-06 14:34:13 -0500
...
Add more documentation; change the behavior of read_to_buf_tls to be more consistent. Note a longstanding problem with current read/write interfaces.
svn:r13407
2008-02-06 19:34:32 +00:00
Nick Mathewson
6e2946fb5d
r17949@catbus: nickm | 2008-02-06 13:21:12 -0500
...
Fix bandwidth bucked calculations again, I think. Bugfix on 0.1.2.x. Backport candidate.
svn:r13406
2008-02-06 18:21:16 +00:00
Nick Mathewson
a869574c56
r17947@catbus: nickm | 2008-02-06 11:57:53 -0500
...
Fix a bunch of DOCDOC items; document the --quiet flag; refactor a couple of XXXX020 items.
svn:r13405
2008-02-06 16:58:05 +00:00
Roger Dingledine
f76cdc1a61
misc small fixes
...
svn:r13403
2008-02-06 12:46:46 +00:00
Roger Dingledine
c054f90f02
New config option ServerDNSAllowBrokenResolvConf to start a relay
...
even when the local resolv.conf file is missing, broken, or contains
only unusable nameservers.
Now I can run a local network on my laptop when I'm on an airplane.
svn:r13402
2008-02-06 12:46:17 +00:00
Roger Dingledine
bbcf406d9f
If the networkstatus consensus lists no recommended versions, don't
...
complain to the user and demand that they upgrade to one of "".
svn:r13401
2008-02-06 12:45:04 +00:00
Roger Dingledine
e49d712b8a
if i'm a v3 authority, tell myself about my cert when i startup.
...
otherwise i'll keep asking other authorities for it, which probably
isn't the best way to get it. this made bootstrapping a new network
very hard.
svn:r13400
2008-02-06 12:39:25 +00:00
Roger Dingledine
55971c71b6
if we have a networkstatus concensus but only 0 or 1 descriptors,
...
don't declare that we're ready to build circuits yet. we're not.
svn:r13399
2008-02-06 12:37:25 +00:00
Roger Dingledine
d1aafdc519
don't fetch or cache running-routers files if there are no v1
...
authorities
svn:r13398
2008-02-06 12:36:04 +00:00
Nick Mathewson
ec6c131da6
r17936@catbus: nickm | 2008-02-06 00:31:11 -0500
...
Fix/downgrade some more XXX020s.
svn:r13397
2008-02-06 05:31:21 +00:00
Nick Mathewson
368f62c79d
r17933@catbus: nickm | 2008-02-05 19:54:28 -0500
...
Stamp out a bunch of atoi users; make more tor_parse_long() users check their outputs.
svn:r13395
2008-02-06 00:54:47 +00:00
Nick Mathewson
12071df6c8
r17930@catbus: nickm | 2008-02-05 18:20:40 -0500
...
Initial attempts to track down bug 600, and refactor possibly offending code. 1) complain early if circuit state is set to OPEN when an onionskin is pending. 2) refactor onionskin field into one only used when n_conn is pending, and a separate onionskin field waiting for attention by a cpuworker. This might even fix the bug. More likely, it will make it fail with a more useful core.
svn:r13394
2008-02-05 23:20:49 +00:00
Nick Mathewson
ff9bd0fd3a
r17929@catbus: nickm | 2008-02-05 17:10:26 -0500
...
Fix or downgrade a few XXX020 items.
svn:r13393
2008-02-05 23:20:44 +00:00
Nick Mathewson
9c7eaa7a9d
r17918@catbus: nickm | 2008-02-05 16:39:17 -0500
...
Remove a few #if-0d items.
svn:r13392
2008-02-05 21:39:56 +00:00
Nick Mathewson
7dc70c2405
r17917@catbus: nickm | 2008-02-05 16:38:15 -0500
...
Oops; fix compilation of control.c
svn:r13391
2008-02-05 21:39:51 +00:00
Nick Mathewson
fac2cd3b03
r17916@catbus: nickm | 2008-02-05 16:29:35 -0500
...
Fix some XXX020 items in control.c: add a maximum line length and note that the number of versioning authorities is no longer apparent to clients.
svn:r13390
2008-02-05 21:39:49 +00:00
Nick Mathewson
cf6fe27616
r17915@catbus: nickm | 2008-02-05 16:28:57 -0500
...
Remove a dead function.
svn:r13389
2008-02-05 21:39:46 +00:00
Nick Mathewson
92aaf68d19
r17914@catbus: nickm | 2008-02-05 16:12:16 -0500
...
Remove or downgrade some XXX020 items.
svn:r13388
2008-02-05 21:39:44 +00:00
Nick Mathewson
c11c48fc78
r17913@catbus: nickm | 2008-02-05 16:11:33 -0500
...
Correctly register failures in connection_add() in dnsserv_launch_request()
svn:r13387
2008-02-05 21:39:40 +00:00
Nick Mathewson
83e740fa91
r17911@catbus: nickm | 2008-02-05 15:53:22 -0500
...
Fix a potential bug that would make authorities fail to vote under bizarre circumstances that probably never happened.
svn:r13385
2008-02-05 21:39:36 +00:00
Nick Mathewson
e09c207c3c
r17910@catbus: nickm | 2008-02-05 15:36:29 -0500
...
Check for correctness of AuthDir* options in options_validate; check for possible bugs where options_validate() is happy but parse_policies_from_options() is sad.
svn:r13384
2008-02-05 21:39:32 +00:00
Nick Mathewson
c8a689c9e8
r17909@catbus: nickm | 2008-02-05 14:48:22 -0500
...
As planned, rename networkstatus_vote_t to networkstatus_t, now that v3 networkstatuses are working and standard and v2 networkstatuses are obsolete.
svn:r13383
2008-02-05 21:39:29 +00:00
Nick Mathewson
a51deb9a9c
r17903@catbus: nickm | 2008-02-05 14:40:03 -0500
...
Remove some dead code; fix some XXX020s; turn some XXX020s into XXXX_IP6s (i.e., "needs to be fixed when we add ipv6 support").
svn:r13382
2008-02-05 19:40:26 +00:00
Nick Mathewson
2866c53eec
r17900@catbus: nickm | 2008-02-05 14:14:54 -0500
...
I wonder what the emacs command is for "exchange words?" I know that there _is_ one, because I apparently hit it by accident.
svn:r13381
2008-02-05 19:40:21 +00:00
Nick Mathewson
3958d7b16f
r17898@catbus: nickm | 2008-02-05 14:01:35 -0500
...
Add (and use) a MAP_DEL_CURRENT macro to augment a non-const variant of MAP_FOREACH.
svn:r13379
2008-02-05 19:40:17 +00:00
Nick Mathewson
2502359a5b
r17897@catbus: nickm | 2008-02-05 13:51:40 -0500
...
Whitespace cleanups
svn:r13378
2008-02-05 19:40:15 +00:00
Roger Dingledine
fdbefc8934
If we're a relay, avoid picking ourselves as an introduction point,
...
a rendezvous point, or as the final hop for internal circuits. Bug
reported by taranis and lodger. Bugfix on 0.1.2.x.
svn:r13372
2008-02-04 17:25:24 +00:00
Roger Dingledine
426a9bbde1
Don't trigger an assert if we start a directory authority with a
...
private IP address (like 127.0.0.1).
svn:r13371
2008-02-04 16:58:50 +00:00
Roger Dingledine
dad9f434e0
correct copyright statement
...
svn:r13370
2008-02-04 16:54:14 +00:00
Nick Mathewson
91bac90310
r17863@catbus: nickm | 2008-02-01 00:27:07 -0500
...
Bugfix from weasel: possible fix for 593: make connection_write_to_buf("") work when using zlib compression.
svn:r13347
2008-02-01 05:27:12 +00:00
Nick Mathewson
f013fb5e31
r17854@catbus: nickm | 2008-01-30 17:52:43 -0500
...
Periodically check whether we have an expired consensus networkstatus. If we do, and we think we have enough directory info, then call router_dir_info_changed(). Fixes bug 401. This bug was deferred from 0.1.2.x, but fixing it there is nontrivial.
svn:r13342
2008-01-30 22:52:46 +00:00
Nick Mathewson
1793aeafae
r17852@catbus: nickm | 2008-01-30 17:23:36 -0500
...
Correctly insert connections into the identity->connection map when we connect to a bridge without having specified its key. Fixes bug 574.
svn:r13341
2008-01-30 22:23:44 +00:00
Roger Dingledine
78633b3a03
suggest a better fix for bug 597
...
svn:r13340
2008-01-30 20:53:14 +00:00
Nick Mathewson
0b06546620
r17844@catbus: nickm | 2008-01-30 13:31:37 -0500
...
Fix bug 597: stop telling people to email Tor-ops. Also give a better suggestion when some other identity has been assigned the nickname we are using.
svn:r13337
2008-01-30 18:32:30 +00:00
Roger Dingledine
6dfd2f531c
Revert r13301 and part of r13304. I guess nick's svk messed up.
...
svn:r13305
2008-01-27 01:03:30 +00:00
Nick Mathewson
68cf666d04
Fix bug 571: associate certificates with keys, not dirservers, so that we can have certificates for dirservers we do not recognize.
...
svn:r13304
2008-01-26 23:18:30 +00:00
Nick Mathewson
ad07366da5
Fix compile with warnings enabled
...
svn:r13301
2008-01-26 22:03:13 +00:00
Roger Dingledine
42f90bdc14
"de" means to do something, and "in" means to undo it. right?
...
help prevent future versions of bug 593.
svn:r13288
2008-01-26 01:05:16 +00:00
Roger Dingledine
af4b735e9a
move hidden-service stuff out of directory.c
...
svn:r13287
2008-01-26 00:42:13 +00:00
Roger Dingledine
aa25bf1405
a slightly better interface for hid_serv_get_responsible_directories()
...
svn:r13271
2008-01-25 07:22:42 +00:00
Roger Dingledine
5fcc79185f
avoid calling smartlist_get(..., -1) if we have a consensus but no
...
hsdir nodes.
svn:r13270
2008-01-25 07:11:32 +00:00
Roger Dingledine
d72ccd95a8
clean out some proposal 114 stuff
...
svn:r13269
2008-01-25 06:47:46 +00:00
Roger Dingledine
1445e17a21
We were computing the wrong Content-Length: header for directory
...
responses that need to be compressed on the fly, causing clients
asking for those items to always fail. Bugfix on 0.2.0.x; fixes
bug 593.
svn:r13268
2008-01-25 01:45:06 +00:00
Roger Dingledine
649a63f435
don't pre-initialize some vars that we assign to right after
...
svn:r13267
2008-01-25 01:34:20 +00:00
Roger Dingledine
d262fff20d
patch "15" from karsten: don't retry a v2 renddesc fetch
...
if we have a perfectly good v0 renddesc.
svn:r13265
2008-01-24 22:49:14 +00:00
Roger Dingledine
cbe9863422
patch "14a" from karsten: don't fail if we can't find
...
REND_NUMBER_OF_CONSECUTIVE_REPLICAS v2 hsdirs.
svn:r13263
2008-01-24 22:46:29 +00:00
Peter Palfrader
ab79f53206
Some log messages during dirvoting - maybe downgrade to debug if you want
...
svn:r13261
2008-01-24 20:00:37 +00:00
Roger Dingledine
aca8d8fc03
patch from karsten to make vote logs more useful
...
svn:r13260
2008-01-24 19:48:16 +00:00
Roger Dingledine
ba7a37cf94
shrink it even more. coding is fun!
...
svn:r13258
2008-01-24 07:33:28 +00:00
Roger Dingledine
317f9e6551
more shrinking; get rid of selectible_dirs smartlist that was
...
leaking on error cases
svn:r13257
2008-01-24 07:22:59 +00:00
Roger Dingledine
529263f8ab
continue r13250 cleanup: remove some duplicate code
...
svn:r13256
2008-01-24 06:58:10 +00:00
Roger Dingledine
4637a61b3c
more cleanup on r13250: no need to log in both places
...
svn:r13253
2008-01-24 05:15:50 +00:00
Roger Dingledine
c973eb5e23
start to clean up r13250: retry v2 renddesc fetches when we
...
fail to reach the dirserver too.
svn:r13251
2008-01-24 04:45:30 +00:00
Roger Dingledine
6b1374556e
put in karsten's "patch 14". needs a lot of cleanup and a changelog.
...
svn:r13250
2008-01-24 03:28:50 +00:00
Roger Dingledine
980fcb1ca7
When we get a consensus that's been signed by more people than
...
we expect, don't log about it; it's not a big deal.
svn:r13249
2008-01-24 02:31:37 +00:00
Roger Dingledine
e67f23f897
weasel was worried there was a leak here. i don't think there
...
is. but i could be wrong.
svn:r13248
2008-01-24 01:14:50 +00:00
Peter Palfrader
12bd40931b
Fix a warning
...
svn:r13243
2008-01-23 09:05:40 +00:00
Peter Palfrader
1d91c156fe
Some people still think letters fall off the side of the code if they go farther than 80 chars
...
svn:r13242
2008-01-23 08:45:14 +00:00
Peter Palfrader
fc91704f78
Log where uploaded consensus signatures come from
...
svn:r13241
2008-01-23 08:38:05 +00:00
Roger Dingledine
9d1832dd5a
Set up dannenberg (run by CCC) as the sixth v3 directory
...
authority.
svn:r13231
2008-01-22 22:38:38 +00:00
Roger Dingledine
a49f14d0d4
When we setconf ClientOnly to 1, close any current OR and Dir
...
listeners. Reported by mwenge.
svn:r13214
2008-01-21 21:21:19 +00:00
Roger Dingledine
b79850d574
Make "ClientOnly 1" config option disable directory ports too.
...
svn:r13213
2008-01-21 21:00:50 +00:00
Roger Dingledine
ff62154ba3
New config options WarnPlaintextPorts and RejectPlaintextPorts so
...
Tor can warn and/or refuse connections to ports commonly used with
vulnerable-plaintext protocols.
We still need to figure out some good defaults for them.
svn:r13198
2008-01-20 05:54:15 +00:00
Roger Dingledine
a1f2817307
minor cleanups
...
svn:r13190
2008-01-19 20:00:53 +00:00
Roger Dingledine
7dde7b02a2
try to grow a convention about where we put the time_to_foo and
...
FOO_INTERVAL declarations.
svn:r13177
2008-01-18 05:00:35 +00:00
Roger Dingledine
43dce232ad
If we've gone 12 hours since our last bandwidth check, and we
...
estimate we have less than 50KB bandwidth capacity but we could
handle more, do another bandwidth test.
svn:r13176
2008-01-18 04:58:40 +00:00
Roger Dingledine
3d3663a123
Don't answer "/tor/networkstatus-bridges" directory requests if
...
the request isn't encrypted.
svn:r13175
2008-01-18 04:51:12 +00:00
Roger Dingledine
6228213647
minor typo
...
svn:r13174
2008-01-18 04:50:15 +00:00
Roger Dingledine
4682e5f924
when we're counting how many descriptors to not download, be a
...
little bit more accurate
svn:r13173
2008-01-18 04:47:03 +00:00
Roger Dingledine
06047bcec9
Avoid going directly to the directory authorities even if you're a
...
relay, if you haven't found yourself reachable yet or if you've
decided not to advertise your dirport yet. Addresses bug 556.
svn:r13172
2008-01-18 04:42:22 +00:00
Roger Dingledine
55e052b0a5
Assert error introduced in r11957:
...
Fix an assert if we post a general-purpose descriptor via the
control port but that descriptor isn't mentioned in our current
network consensus. Bug reported by Jon McLachlan; bugfix on
0.2.0.9-alpha.
svn:r13153
2008-01-17 05:25:21 +00:00
Nick Mathewson
4a3b7496f0
r17639@catbus: nickm | 2008-01-15 19:09:21 -0500
...
Fix some hard to trigger but nonetheless real memory leaks spotted by an anonymous contributor. Needs review. Partial backport candidate.
svn:r13147
2008-01-16 05:27:19 +00:00
Nick Mathewson
24aae484c9
r17624@catbus: nickm | 2008-01-15 00:42:01 -0500
...
Fixes to more anonymously-reported typos and logic errors.
svn:r13136
2008-01-15 05:57:19 +00:00
Nick Mathewson
a984011814
r17623@catbus: nickm | 2008-01-15 00:22:04 -0500
...
bulletproof option_get_canonical_name()
svn:r13135
2008-01-15 05:57:14 +00:00
Nick Mathewson
89dfec02d8
r17614@catbus: nickm | 2008-01-14 13:55:25 -0500
...
Add a missing "goto err" when parsing v2 ns docs
svn:r13133
2008-01-14 19:00:33 +00:00
Nick Mathewson
581ba51c5c
r17612@catbus: nickm | 2008-01-14 13:46:04 -0500
...
Oops; fix compile
svn:r13131
2008-01-14 19:00:26 +00:00
Nick Mathewson
3b8f76aa51
r17611@catbus: nickm | 2008-01-14 13:44:16 -0500
...
add some missing checks for failing return values.
svn:r13130
2008-01-14 19:00:23 +00:00
Nick Mathewson
e49229caf8
r17610@catbus: nickm | 2008-01-14 13:20:49 -0500
...
Fix a bogus free() call on a base64 failure in router_append_dirobj_signature().
svn:r13129
2008-01-14 19:00:19 +00:00
Nick Mathewson
edf5e70784
r15891@tombo: nickm | 2008-01-12 19:20:24 -0500
...
Basic hacks to get TLS handshakes working: remove dead code; fix post-handshake logic; keep servers from writing while the client is supposed to be renegotiating. This may work. Needs testing.
svn:r13122
2008-01-13 00:20:47 +00:00
Nick Mathewson
ae6df065ed
r15890@tombo: nickm | 2008-01-12 17:19:51 -0500
...
Add a --disable-buffer-freelists configure argument to build without buffer RAM chunk freelists, so we can benchmark the impact of this.
svn:r13121
2008-01-13 00:20:44 +00:00
Nick Mathewson
705b4670d3
r17580@catbus: nickm | 2008-01-11 20:40:30 -0500
...
Fix policies.c build on gcc 4.2 with warnings.
svn:r13112
2008-01-12 05:52:59 +00:00
Roger Dingledine
4e9a701d4b
fix unit tests after r13092
...
svn:r13100
2008-01-10 23:11:13 +00:00
Nick Mathewson
b84955285a
r17564@catbus: nickm | 2008-01-10 13:19:59 -0500
...
Fix bug in r13094: be sure to set the purpose and send_unencrypted fields correctly in our own routerinfo and extrainfo.
svn:r13098
2008-01-10 18:20:04 +00:00
Nick Mathewson
10d86f7615
r17558@catbus: nickm | 2008-01-10 13:07:41 -0500
...
If we do not serve v2 directory info, and our cached v2 networkstatus files are very old, remove them. If the directory is old, remove that too. (We already did this for obsolete routers files.)
svn:r13096
2008-01-10 18:08:42 +00:00
Roger Dingledine
2ac1e36248
minor cleanups
...
svn:r13095
2008-01-10 17:54:24 +00:00
Nick Mathewson
04263648c4
r17554@catbus: nickm | 2008-01-10 12:48:29 -0500
...
Do not send bridge descriptors over unencrypted connections.
svn:r13094
2008-01-10 17:48:40 +00:00
Nick Mathewson
29b0f51a73
r17553@catbus: nickm | 2008-01-10 12:18:27 -0500
...
Add connection_dir_is_encrypted() so that we can refrain from sending bridge descriptors over an unencrypted link.
svn:r13093
2008-01-10 17:48:36 +00:00
Nick Mathewson
59fdab43cd
r17552@catbus: nickm | 2008-01-10 12:13:43 -0500
...
Make bridge geoip data get rounded up, not down.
svn:r13092
2008-01-10 17:48:32 +00:00
Nick Mathewson
ca5f670fab
r17548@catbus: nickm | 2008-01-10 11:08:12 -0500
...
Make proposal-109 behavior optional.
svn:r13090
2008-01-10 16:08:47 +00:00
Roger Dingledine
a7eef34a03
Jan 08 19:55:01.865 [notice] Added -2 pending signatures while building consensus.
...
svn:r13080
2008-01-09 01:06:19 +00:00
Roger Dingledine
7d3bf1608b
Set up gabelmoo (run by Karsten Loesing) as the fifth v3 directory
...
authority.
svn:r13079
2008-01-08 23:51:48 +00:00
Roger Dingledine
8609c825e9
our defensive programming plan hid a bug. switch to offensive programming.
...
svn:r13078
2008-01-08 23:35:03 +00:00
Roger Dingledine
50f4cd10ad
don't rebuild the router store for all those times when we
...
fetch one descriptor and then we don't like it
svn:r13077
2008-01-08 23:31:25 +00:00
Roger Dingledine
58d88dfc7f
make new v3 authorities that aren't in the DirServers list believe
...
in themselves again. bug experienced by karsten.
svn:r13076
2008-01-08 23:08:39 +00:00
Nick Mathewson
177d5102d5
r17503@catbus: nickm | 2008-01-07 14:15:30 -0500
...
Change set_current_consensus interface to take a flags variable. Do not try to fetch certificates until after we have tried loading the fallback consensus. Should fix bug 583.
svn:r13058
2008-01-07 19:15:34 +00:00
Nick Mathewson
a62ab48d30
r17500@catbus: nickm | 2008-01-07 13:54:51 -0500
...
More messing about with bug 557 issues: do not let bizarre settings for myfamily or contactinfo muck with generated router descriptors.
svn:r13057
2008-01-07 18:54:58 +00:00
Nick Mathewson
dd35fe59c4
r17499@catbus: nickm | 2008-01-07 13:39:46 -0500
...
Bugfix on fix for 557: Make values containing special characters work right with getconf, setconf, and saveconf. Document this in control-spec.txt
svn:r13056
2008-01-07 18:54:55 +00:00
Nick Mathewson
a63eb68fe1
r17495@catbus: nickm | 2008-01-07 12:48:56 -0500
...
Consequence of fix for 539: when a client gets a 503 response with a nontrivial body, pretend it got a 200 response. This lets clients use information erroneously sent to them by old buggy servers.
svn:r13054
2008-01-07 17:49:13 +00:00
Roger Dingledine
ea2280ada7
hack at networkstatus.c until we actually try to load our
...
fallback consensus. nick, can you take a closer look at this,
and add a changelog entry if it's a valid fix?
svn:r13050
2008-01-07 15:41:47 +00:00
Roger Dingledine
5a912aa1c8
cleanups on r13037
...
svn:r13045
2008-01-06 23:37:48 +00:00
Nick Mathewson
d73b791969
r17473@catbus: nickm | 2008-01-05 22:15:05 -0500
...
Add a reverse mapping from SSL to tor_tls_t*: we need this in order to do a couple of things the sensible way from inside callbacks. Also, add a couple of missing cases in connection_or.c
svn:r13040
2008-01-06 03:16:11 +00:00
Roger Dingledine
5aa7ce2915
patch from karsten to complain less when a node loses
...
its hsdir status
svn:r13037
2008-01-06 01:54:09 +00:00
Nick Mathewson
17036de8b7
r17469@catbus: nickm | 2008-01-05 20:14:07 -0500
...
Fix bug 579: Count DNSPort and hidden services when checking whether Tor is going to do anything. Change "no configured ports" from fatal to warning.
svn:r13036
2008-01-06 01:14:11 +00:00
Nick Mathewson
614dc52623
r17467@catbus: nickm | 2008-01-05 19:54:20 -0500
...
fix whitespace
svn:r13035
2008-01-06 00:54:22 +00:00
Nick Mathewson
58de695f90
r15787@tombo: nickm | 2008-01-02 01:59:07 -0500
...
Allow config values in quotes to contain special characters, with full C escape syntax. With tests. Addresses bug 557.
svn:r13021
2008-01-02 06:59:15 +00:00
Nick Mathewson
86f5180853
r15786@tombo: nickm | 2008-01-02 01:11:51 -0500
...
Push the strdups used for parsing configuration lines into parse_line_from_string(). This will make it easier to parse more complex value formats, which in turn will help fix bug 557
svn:r13020
2008-01-02 06:59:12 +00:00
Nick Mathewson
c0ec281565
r15784@tombo: nickm | 2008-01-02 00:38:06 -0500
...
Fix bug 575: protect the list of logs with a mutex. I couldn't find any appreciable change in logging performance on osx, but ymmv. You can undef USE_LOG_MUTEX to see if stuff gets faster for you.
svn:r13019
2008-01-02 05:38:53 +00:00
Nick Mathewson
feb1c60e9d
r15782@tombo: nickm | 2008-01-01 23:57:43 -0500
...
Bugfix for bug 569: do not try to download nonexistant certificates with signing key 000000000000000.
svn:r13018
2008-01-02 04:57:48 +00:00
Nick Mathewson
11fff225fa
r15779@tombo: nickm | 2008-01-01 23:43:24 -0500
...
Use reference-counting to avoid allocating a zillion little addr_policy_t objects. (This is an old patch that had been sitting on my hard drive for a while.)
svn:r13017
2008-01-02 04:43:44 +00:00
Nick Mathewson
48d7adca8a
r15768@tombo: nickm | 2007-12-31 16:12:09 -0500
...
Patch from Tup: make NS events work again.
svn:r13009
2007-12-31 21:12:16 +00:00
Nick Mathewson
46a27c2f93
r15750@tombo: nickm | 2007-12-29 19:12:51 -0500
...
Make HTTP-processing code in buffers.c faster: do not pull up 50K of text into the first chunk if the headers end earlier than that.
svn:r13006
2007-12-30 00:13:07 +00:00
Nick Mathewson
cd85eac0d3
r17433@catbus: nickm | 2007-12-29 12:35:57 -0500
...
Incomplete code to avoid doing needless pull-ups on HTTP. Also, use memstr instead of strstr to find the content-length header.
svn:r13005
2007-12-29 17:36:03 +00:00
Nick Mathewson
f4f5dc4aca
r15745@tombo: nickm | 2007-12-29 00:15:17 -0500
...
Try even harder not to allocate chunks bigger than MAX_CHUNK_ALLOC.
svn:r13003
2007-12-29 05:16:30 +00:00
Nick Mathewson
bd32982c77
r17426@catbus: nickm | 2007-12-28 21:12:29 -0500
...
Remove need for buf_pullup in fetch_line_from_buf().
svn:r13002
2007-12-29 02:33:42 +00:00
Nick Mathewson
d7f5a73173
r17410@catbus: nickm | 2007-12-27 09:20:27 -0500
...
Exciting new entries in buf_dump_freelist_sizes() to make sure our freelist sizes are reasonable.
svn:r12996
2007-12-27 14:20:30 +00:00
Nick Mathewson
1a2b6c2ae3
r17407@catbus: nickm | 2007-12-27 00:18:31 -0500
...
Fix windows compile error
svn:r12995
2007-12-27 05:18:36 +00:00
Nick Mathewson
119b4e1edf
r17405@catbus: nickm | 2007-12-26 22:27:37 -0500
...
And clean up an assertion failure.
svn:r12993
2007-12-27 03:27:48 +00:00
Nick Mathewson
148e2e1c48
r17403@catbus: nickm | 2007-12-26 22:23:50 -0500
...
Apparently loops work better when you actually increment/decrement the loop variable. Who knew?
svn:r12992
2007-12-27 03:23:57 +00:00
Nick Mathewson
1503021ee5
r15723@tombo: nickm | 2007-12-26 19:25:51 -0500
...
Actually trim freelists.
svn:r12991
2007-12-27 00:25:54 +00:00
Nick Mathewson
3a5bee150f
r15721@tombo: nickm | 2007-12-26 17:07:10 -0500
...
Fix a nasty infinite loop in flush_buf[_tls].
svn:r12990
2007-12-26 22:07:14 +00:00
Nick Mathewson
27220fb395
r15719@tombo: nickm | 2007-12-26 14:02:12 -0500
...
More tweaks on 0-byte TLS writes.
svn:r12989
2007-12-26 19:02:15 +00:00
Nick Mathewson
80151b42df
r15717@tombo: nickm | 2007-12-26 13:55:53 -0500
...
Oops. flush_buf_tls can request more than the requested number of bytes. When that happens, do not let the size_t sz wrap around.
svn:r12988
2007-12-26 18:55:56 +00:00
Nick Mathewson
84b6e26c50
r15715@tombo: nickm | 2007-12-26 13:09:27 -0500
...
Peacetime managed to run overnight in paranoia mode. Disabling paranoia, so that buffers.c can be a little speedy again.
svn:r12987
2007-12-26 18:09:36 +00:00
Nick Mathewson
fb8cbc8642
r15710@tombo: nickm | 2007-12-25 19:36:03 -0500
...
Fix in flush_buf_tls: it is okay to flush an empty buffer, since we may have a partial TLS record pending.
svn:r12984
2007-12-26 00:36:05 +00:00
Nick Mathewson
a7ef07b4bd
r15693@tombo: nickm | 2007-12-25 19:11:29 -0500
...
Here, have some terribly clever new buffer code. It uses a mbuf-like strategy rather than a ring buffer strategy, so it should require far far less extra memory to hold any given amount of data. Also, it avoids access patterns like x=malloc(1024);x=realloc(x,1048576);x=realloc(x,1024);append_to_freelist(x) that might have been contributing to memory fragmentation. I've tested it out a little on peacetime, and it seems to work so far. If you want to benchmark it for speed, make sure to remove the #define PARANOIA; #define NOINLINE macros at the head of the module.
svn:r12983
2007-12-26 00:12:08 +00:00
Roger Dingledine
c6788cc0de
The bridge GeoIP stats were counting other relays, for example
...
self-reachability and authority-reachability tests.
svn:r12960
2007-12-25 00:07:13 +00:00
Roger Dingledine
5925bc972c
tweaks
...
svn:r12959
2007-12-24 23:51:22 +00:00
Roger Dingledine
15c048bdc5
Fix several remotely triggerable asserts based on DirPort requests
...
for a v2 or v3 networkstatus object before we were prepared. This
was particularly bad for 0.2.0.13 and later bridge relays, who
would never have a v2 networkstatus and would thus always crash
when used. Bugfixes on 0.2.0.x.
Estimate the v3 networkstatus size more accurately, rather than
estimating it at zero bytes and giving it artificially high priority
compared to other directory requests. Bugfix on 0.2.0.x.
svn:r12952
2007-12-24 11:25:45 +00:00
Roger Dingledine
4fb573fddd
bugfix on r10612:
...
When we load a bridge descriptor from the cache,
and it was previously unreachable, mark it as retriable so we won't
just ignore it. Also, try fetching a new copy immediately.
svn:r12950
2007-12-24 10:31:39 +00:00
Nick Mathewson
da06bfb80f
r15653@tombo: nickm | 2007-12-23 14:15:12 -0500
...
Refactor circuit_launch* functions to take a bitfield of flags rather than 4 separate nonconsecutive flags arguments. Also, note a possible but in circuit_find_to_cannibalize, which seems to be ignoring its purpose argument.
svn:r12948
2007-12-23 19:15:22 +00:00
Nick Mathewson
473725e1a4
r15648@tombo: nickm | 2007-12-23 13:27:30 -0500
...
Support building for iPhone; patch from cjacker huang.
svn:r12946
2007-12-23 18:27:47 +00:00
Roger Dingledine
c10faf5085
fix some irix compile complaints; make "kbytes" work as a memory unit
...
svn:r12936
2007-12-23 04:22:55 +00:00
Roger Dingledine
9dcde682f5
minor other things in my sandbox
...
svn:r12934
2007-12-23 01:28:25 +00:00
Roger Dingledine
61bd5583d9
If we receive a general-purpose descriptor and then receive an
...
identical bridge-purpose descriptor soon after, don't discard
the next one as a duplicate.
svn:r12933
2007-12-23 01:18:14 +00:00
Roger Dingledine
fe006ad880
and clean up after myself
...
svn:r12930
2007-12-22 11:54:33 +00:00
Roger Dingledine
88503e25c7
If bridge authorities set BridgePassword, they will serve a
...
snapshot of known bridge routerstatuses from their DirPort to
anybody who knows that password. Unset by default.
svn:r12929
2007-12-22 11:48:17 +00:00
Roger Dingledine
87a616e128
Fix a crash on startup if you install Tor 0.2.0.13-alpha fresh
...
without a datadirectory from a previous Tor install. Reported
by Zax.
svn:r12928
2007-12-22 11:42:12 +00:00
Roger Dingledine
abf9fadcca
start working on serving bridge status from the dirport, for
...
bridge communities.
svn:r12927
2007-12-22 10:54:21 +00:00
Roger Dingledine
ce636beff9
If the user sets RelayBandwidthRate but doesn't set
...
RelayBandwidthBurst, then make them equal rather than erroring out.
svn:r12925
2007-12-22 09:13:24 +00:00
Roger Dingledine
be906a836a
If BridgeRelay is set to 1, then the default for
...
PublishServerDescriptor is now "bridge" rather than "v2,v3".
svn:r12923
2007-12-22 09:04:46 +00:00
Roger Dingledine
39d910e97b
Make PublishServerDescriptor default to 1, so the default doesn't
...
have to change as we invent new directory protocol versions.
svn:r12922
2007-12-22 08:27:42 +00:00
Roger Dingledine
6097e46420
Fix a crash when we load a bridge descriptor from disk but we don't
...
currently have a Bridge line for it in our torrc. Bugfix on
0.2.0.12-alpha.
svn:r12921
2007-12-22 06:11:49 +00:00
Roger Dingledine
366c273d27
Make "GETINFO/desc-annotations/id/<OR digest>" actually work.
...
svn:r12919
2007-12-22 05:27:30 +00:00
Roger Dingledine
869858bf57
add a little note about matt's 0.2.0.12-alpha crash
...
svn:r12918
2007-12-22 05:26:36 +00:00
Roger Dingledine
a223f5db03
Fix a crash when accessing hidden services: it would work the first
...
time you use a given introduction point for your service, but
on subsequent requests we'd be using garbage memory. Fixed by
Karsten Loesing. Bugfix on 0.2.0.12-alpha.
svn:r12913
2007-12-21 23:28:23 +00:00
Roger Dingledine
73ff2e5d5e
Fix a crash when we fetch a descriptor that turns out to be
...
unexpected (it used to be in our networkstatus when we started
fetching it, but it isn't in our current networkstatus), and we
aren't using bridges. Bugfix on 0.2.0.x.
svn:r12911
2007-12-21 22:58:22 +00:00
Roger Dingledine
c1af7de6e4
the better fix for the unit tests
...
svn:r12907
2007-12-21 10:44:10 +00:00
Roger Dingledine
46bb4a40ee
Make the unit tests build again.
...
svn:r12905
2007-12-21 10:40:40 +00:00
Roger Dingledine
3f4080d15d
tiny tweaks on r12900
...
svn:r12901
2007-12-21 09:33:11 +00:00
Roger Dingledine
90fcfade4e
revert r12841 and r12842, and commit karsten's "patch 13"
...
svn:r12900
2007-12-21 09:28:22 +00:00
Roger Dingledine
7b60d6c526
Directory authorities should only automatically download Extra Info
...
documents if they're v1, v2, or v3 authorities.
svn:r12898
2007-12-21 06:33:02 +00:00
Roger Dingledine
e2dc45a2e1
some more refactoring
...
svn:r12897
2007-12-21 06:28:59 +00:00
Roger Dingledine
9ebf86bb66
new config option FetchDirInfoEarly for tup/ioerror and the tordnsel
...
svn:r12896
2007-12-21 06:08:00 +00:00
Roger Dingledine
f0e7c4f0da
Only Tors that want to mirror the v2 directory info should
...
create the "cached-status" directory in their datadir. All Tors
used to create it. Bugfix on 0.1.2.x.
Bridge relays with DirPort set to 0 no longer cache v1 or v2
directory information; there's no point. Bugfix on trunk.
svn:r12887
2007-12-20 06:47:59 +00:00
Roger Dingledine
acd8bc1fd9
make r12871 do what i meant
...
svn:r12886
2007-12-20 06:36:44 +00:00
Nick Mathewson
2f922937d3
r17274@catbus: nickm | 2007-12-20 01:14:09 -0500
...
Don't try to create the datadir when we are only verifying the configuration or hashing a password. Resolves bug 540.
svn:r12884
2007-12-20 06:15:09 +00:00
Nick Mathewson
6de2b484cf
r17270@catbus: nickm | 2007-12-20 00:04:21 -0500
...
When we decide to send a 503 in response to a request for server descriptors, disable spooling so that we do not then send the descriptors anyway. Fixes bug 539.
svn:r12882
2007-12-20 05:06:02 +00:00
Nick Mathewson
5c33c0632e
r17268@catbus: nickm | 2007-12-19 23:53:53 -0500
...
Initialize [un]named_server_map to empty strmaps when router_reload_consensus_networkstatus fails completely. Resolves bug 538.
svn:r12881
2007-12-20 04:54:06 +00:00
Roger Dingledine
4aa5e678cd
and the obligatory 'make it compile' follow-up
...
svn:r12872
2007-12-19 05:04:05 +00:00
Roger Dingledine
f405f9b614
Make getinfo ns/purpose/bridge actually work
...
Also, dump our bridge router status entries to disk every 30 minutes.
svn:r12871
2007-12-19 04:58:58 +00:00
Nick Mathewson
a697573ce9
r15562@tombo: nickm | 2007-12-18 23:23:59 -0500
...
Remove the LearnAuthorityAddrFromCerts option; make it always-on. One option down, ~160 options to go.
svn:r12870
2007-12-19 04:24:05 +00:00
Nick Mathewson
95fecd6fbc
r15560@tombo: nickm | 2007-12-18 23:18:21 -0500
...
Add a bit of missing documentation.
svn:r12869
2007-12-19 04:18:28 +00:00
Nick Mathewson
95d500f33f
r15558@tombo: nickm | 2007-12-18 22:55:23 -0500
...
Re-parse annotations in another place. Good catch, arma.
svn:r12868
2007-12-19 03:55:40 +00:00
Roger Dingledine
07c7f9e9e7
When we were reading router descriptors from cache, we were ignoring
...
the annotations -- including reading in bridge-purpose descriptors
as general-purpose descriptors.
svn:r12867
2007-12-19 03:11:02 +00:00
Nick Mathewson
d07122ba47
r17246@catbus: nickm | 2007-12-18 18:45:17 -0500
...
Fix some xxx020 items.
svn:r12864
2007-12-18 23:45:24 +00:00
Nick Mathewson
076097281d
r17239@catbus: nickm | 2007-12-18 16:57:02 -0500
...
Sort GeoIP results in descending order of IP counts.
svn:r12863
2007-12-18 23:45:19 +00:00
Roger Dingledine
74d05f4b2c
answer getinfo ns/purpose/bridge queries
...
svn:r12860
2007-12-18 22:39:15 +00:00
Roger Dingledine
b63a247c68
Make bridge authorities test reachability of bridges.
...
Added two XXX020's that we need to think harder about.
svn:r12859
2007-12-18 21:37:58 +00:00
Nick Mathewson
d2fe8542df
r17232@catbus: nickm | 2007-12-18 16:22:10 -0500
...
Whitespace fix.
svn:r12857
2007-12-18 21:27:10 +00:00
Nick Mathewson
5488bc3e16
r17231@catbus: nickm | 2007-12-18 16:21:55 -0500
...
Document and clean-up geoip code; give it some unit tests.
svn:r12856
2007-12-18 21:27:08 +00:00
Nick Mathewson
b8ac050e85
r15532@tombo: nickm | 2007-12-17 17:41:05 -0500
...
clean up whitesapce and debug a little on geoip stuff.
svn:r12847
2007-12-17 22:44:18 +00:00
Nick Mathewson
25f78498f9
r15531@tombo: nickm | 2007-12-17 17:19:24 -0500
...
Support raw IP-to-country as well as postprocessed format. Include GEOIP summary in extrainfo of bridges.
svn:r12846
2007-12-17 22:44:16 +00:00
Nick Mathewson
820159cac5
r15530@tombo: nickm | 2007-12-17 16:54:03 -0500
...
First wodge of geoip code so bridges can figure out which countries are blocking them.
svn:r12845
2007-12-17 22:44:11 +00:00
Roger Dingledine
b3e6c66a05
and another in the unit tests
...
svn:r12842
2007-12-16 20:47:20 +00:00
Roger Dingledine
e70d9a7f4d
fix another mem leak, and point out another for karsten
...
svn:r12841
2007-12-16 20:46:23 +00:00
Roger Dingledine
98a56a386d
our unit tests leak memory like a sieve.
...
fix two actual memory leaks found while cleaning up a bit.
svn:r12829
2007-12-16 08:20:10 +00:00
Roger Dingledine
71c84abdff
cleanups on r12825
...
svn:r12826
2007-12-15 20:50:56 +00:00
Roger Dingledine
31324f3e7f
apply karsten's "patch 12"
...
svn:r12825
2007-12-15 20:28:09 +00:00
Roger Dingledine
1d8a8063b9
clean up copyrights, and assign 2007 copyrights to The Tor Project, Inc
...
svn:r12786
2007-12-12 21:09:01 +00:00
Roger Dingledine
40efd7d47b
but don't disable all the default v1 authorities quite yet
...
svn:r12778
2007-12-12 04:46:16 +00:00
Roger Dingledine
3b2dd8d763
Three new config options (AlternateDirAuthority,
...
AlternateBridgeAuthority, and AlternateHSAuthority) that let the
user selectively replace the default directory authorities, rather
than the all-or-nothing replacement that DirServer offers.
svn:r12777
2007-12-12 04:38:54 +00:00
Nick Mathewson
3208b102d6
r17089@catbus: nickm | 2007-12-11 17:33:34 -0500
...
Patch from mwenge: fix consensus status lookup by nickname when nickname is a hexdigest.
svn:r12766
2007-12-11 23:06:45 +00:00
Roger Dingledine
78f532678c
Relays were publishing their server descriptor to v1 and v2
...
directory authorities, but they didn't try publishing to v3-only
authorities. Fix this; and also stop publishing to v1 authorities.
svn:r12759
2007-12-11 20:18:12 +00:00
Roger Dingledine
52363d23d7
If we can't expand our list of entry guards (e.g. because we're
...
using bridges or we have StrictEntryNodes set), don't mark relays
down when they fail a directory request. Otherwise we're too quick
to mark all our entry points down.
svn:r12755
2007-12-10 17:16:41 +00:00
Roger Dingledine
ee6ae92670
New config options AuthDirBadDir and AuthDirListBadDirs for
...
authorities to mark certain relays as "bad directories" in the
networkstatus documents. Also supports the "!baddir" directive in
the approved-routers file.
svn:r12754
2007-12-10 16:49:54 +00:00
Roger Dingledine
d95e7c7d67
also clear the hsdir status flag in routerinfo_t when the relay is no
...
longer listed in the relevant networkstatus document.
svn:r12752
2007-12-10 16:40:14 +00:00
Roger Dingledine
25a444b698
emo teh
...
svn:r12747
2007-12-09 19:11:22 +00:00
Roger Dingledine
be337eb0ad
fix a memory leak in authority_certs_fetch_missing() every time
...
we try to call it but don't have enough dir info.
svn:r12743
2007-12-09 17:43:43 +00:00
Roger Dingledine
6dfd47467e
Allow multiple HashedControlPassword config lines, to support
...
multiple controller passwords.
svn:r12732
2007-12-09 04:59:27 +00:00
Roger Dingledine
9b162ef430
only clear the bridge list if options->Bridges is set.
...
this doesn't matter yet so we aren't adding them in other
ways yet.
svn:r12730
2007-12-09 03:38:57 +00:00
Roger Dingledine
ae1aa5a1bb
Set up lefkada (run by Geoff Goodell) as the fourth v3 directory
...
authority.
svn:r12724
2007-12-08 20:16:34 +00:00
Roger Dingledine
2b8ca7b4a4
patch from karsten to clean up documentation and to integrate
...
more fixes into rend-spec.txt.
svn:r12715
2007-12-07 21:27:58 +00:00
Nick Mathewson
2e378295d6
r16997@catbus: nickm | 2007-12-06 18:56:33 -0500
...
Make http://torproject urls into https://torproject urls. Patch from steve.
svn:r12708
2007-12-06 23:56:36 +00:00
Nick Mathewson
92372b156a
r16995@catbus: nickm | 2007-12-06 18:42:53 -0500
...
patch from steve: replace more tor.eff.org instances with torproject.org
svn:r12707
2007-12-06 23:42:59 +00:00
Roger Dingledine
75c38a2c88
Bridges now behave like clients with respect to time intervals for
...
downloading new consensus documents. Bridge users now wait until
the end of the interval, so their bridge will be sure to have a
new consensus document.
svn:r12696
2007-12-06 17:01:16 +00:00
Roger Dingledine
b277954501
put a note so the distant future developers can simplify tor
...
svn:r12691
2007-12-06 11:19:00 +00:00
Roger Dingledine
a107a1624b
extra points if it compiles
...
svn:r12688
2007-12-06 07:17:05 +00:00
Roger Dingledine
8de470cf69
Add "GETINFO/desc-annotations/id/<OR digest>" so controllers can
...
ask about source, timestamp of arrival, purpose, etc. We need
something like this to help Vidalia not do GeoIP lookups on bridge
addresses.
svn:r12687
2007-12-06 07:15:06 +00:00
Roger Dingledine
3ff63b6f4e
When the DANGEROUS_VERSION controller status event told us we're
...
running an obsolete version, it used the string "OLD" to describe
it. Yet the "getinfo" interface used the string "OBSOLETE". Now use
"OBSOLETE" in both cases.
svn:r12686
2007-12-05 19:32:58 +00:00
Roger Dingledine
343242d9ae
update an XXX020 for nick later
...
svn:r12684
2007-12-05 19:23:03 +00:00