Nick Mathewson
8362f8854a
Merge branch 'less_charbuf_rebased' into maint-0.2.4
...
Conflicts:
src/or/dirserv.c
src/or/dirserv.h
src/test/test_dir.c
2013-04-18 11:13:36 -04:00
Nick Mathewson
992bbd02f9
Re-enable test for parsing and generating descriptor with exit policy
...
Looks like I turned this off in 6ac42f5e
back in 2003 and never got
around to making it work again. There has been no small amount of
code drift.
2013-04-18 11:04:58 -04:00
Nick Mathewson
cb75519bbf
Refactor dirobj signature generation
...
Now we can compute the hash and signature of a dirobj before
concatenating the smartlist, and we don't need to play silly games
with sigbuf and realloc any more.
2013-04-18 11:04:57 -04:00
Nick Mathewson
fd93622cc8
Use chunks, not buffers, for router descriptors
2013-04-18 11:04:56 -04:00
Nick Mathewson
0cf327dc78
Merge remote-tracking branch 'public/unused_stuff' into maint-0.2.4
2013-03-15 12:17:23 -04:00
Nick Mathewson
07e26005a6
Treat a changed IPv6 ORPort like an IPv4 one in retry_all_listeners()
...
Fix for bug 6026
2013-03-11 17:20:43 -04:00
Roger Dingledine
0196647970
start part-way through the ssl cert lifetime
...
also, snap the start time and end time to a day boundary, since most
certs in the wild seem to do this.
2013-03-10 23:38:18 -04:00
Roger Dingledine
edd6f02273
randomize SSLKeyLifetime by default
...
resolves ticket 8443.
2013-03-10 23:38:18 -04:00
Roger Dingledine
599aeef9bc
parameterize SSLKeyLifetime
...
no actual changes in behavior yet
2013-03-10 23:38:18 -04:00
Nick Mathewson
5bfa373eee
Remove some totally unused functions
2013-02-23 23:31:31 -05:00
Roger Dingledine
f2199763cf
touchups on 78582760
2013-02-19 04:07:36 -05:00
Nick Mathewson
7858276066
Revise some comments in router.c
...
Avoid the phrase "legally valid" (as opposed to valid but not legal)?
And document what functions really do.
Fix for bug 6935.
2013-02-19 02:43:36 -05:00
Nick Mathewson
d6634001c9
Merge remote-tracking branch 'public/wide_circ_ids'
...
Conflicts:
src/or/channel.h
src/or/connection_or.c
src/or/cpuworker.c
2013-02-15 16:23:43 -05:00
Nick Mathewson
5e0ce4c578
oops; add a missing semicolon
...
(Cherry-picked from fc35ee4910
)
2013-02-12 10:51:20 -05:00
Roger Dingledine
178599f026
get rid of the new caching notion in resolve_my_address()
...
and replace it with the good old-fashioned two functions approach
2013-02-12 04:25:42 -05:00
Roger Dingledine
17089302fd
Stop trying to resolve our hostname so often
...
For example, we were doing a resolve every time we think about doing a
directory fetch. Now we reuse the cached answer in some cases.
Fixes bugs 1992 (bugfix on 0.2.0.20-rc) and 2410 (bugfix on
0.1.2.2-alpha).
2013-02-11 21:48:18 -05:00
Roger Dingledine
cc896f7c84
Teach resolve_my_address() to return a cached answer
...
I didn't make any of the callers use this feature yet.
2013-02-11 17:09:10 -05:00
Nick Mathewson
fc35ee4910
oops; add a missing semicolon
2013-02-11 16:17:33 -05:00
Nick Mathewson
fd8ef8dc57
Merge remote-tracking branch 'public/bug8208'
2013-02-11 16:06:02 -05:00
Nick Mathewson
e3578d52e4
Check whether ei is non-NULL before altering it.
...
This fixes a crash bug if we fail to generate an extrainfo
descriptor.
Fixes bug 8208; bugfix on 0.2.3.16-alpha.
2013-02-11 16:05:03 -05:00
Nick Mathewson
36e2eb6775
Avoid generating extra spaces when explaining how we guessed our address
2013-02-11 13:29:56 -05:00
Roger Dingledine
92ea0b86de
Refactor resolve_my_address() so logs are more accurate / helpful
...
It returns the method by which we decided our public IP address
(explicitly configured, resolved from explicit hostname, guessed from
interfaces, learned by gethostname).
Now we can provide more helpful log messages when a relay guesses its IP
address incorrectly (e.g. due to unexpected lines in /etc/hosts). Resolves
ticket 2267.
While we're at it, stop sending a stray "(null)" in some cases for the
server status "EXTERNAL_ADDRESS" controller event. Resolves bug 8200.
2013-02-11 13:29:56 -05:00
Roger Dingledine
dfbb12cabf
log the hostname that resolve_my_address() used to guess our IP
2013-02-11 13:29:56 -05:00
Roger Dingledine
74e6a47a80
stop setting, or using, router->address
...
resolves ticket 5528.
2013-02-09 22:07:22 -05:00
Roger Dingledine
002c860cae
use me->addr when adding our address to our exit policy
...
(rather than me->address)
2013-02-09 21:17:44 -05:00
Roger Dingledine
e1ec03f819
use router->addr for log messages and controller events
...
(rather than router->address)
2013-02-09 21:10:07 -05:00
Roger Dingledine
ccaefd65a4
stop passing "address" around the directory_initiate_command* funcs
...
since it was always just the string version of "addr" anyway
2013-02-09 20:49:55 -05:00
Nick Mathewson
3433216268
Merge remote-tracking branch 'public/easy_ratelim'
...
Conflicts:
src/or/connection.c
2013-02-07 17:13:51 -05:00
Nick Mathewson
0061d42890
Merge remote-tracking branch 'public/bug7816_024'
2013-02-07 15:13:21 -05:00
Nick Mathewson
7301339e33
fix wide lines from tor_log rename
2013-02-01 16:19:02 -05:00
Nick Mathewson
a141430ec3
Rename log() to tor_log() for logging
...
This is meant to avoid conflict with the built-in log() function in
math.h. It resolves ticket 7599. First reported by dhill.
This was generated with the following perl script:
#!/usr/bin/perl -w -i -p
s/\blog\(LOG_(ERR|WARN|NOTICE|INFO|DEBUG)\s*,\s*/log_\L$1\(/g;
s/\blog\(/tor_log\(/g;
2013-02-01 15:43:37 -05:00
Nick Mathewson
49e619c1cf
Rename *_isin to *_contains
...
This is an automatically generated commit, from the following perl script,
run with the options "-w -i -p".
s/smartlist_string_num_isin/smartlist_contains_int_as_string/g;
s/smartlist_string_isin((?:_case)?)/smartlist_contains_string$1/g;
s/smartlist_digest_isin/smartlist_contains_digest/g;
s/smartlist_isin/smartlist_contains/g;
s/digestset_isin/digestset_contains/g;
2013-01-16 16:57:11 -05:00
Nick Mathewson
4da083db3b
Update the copyright date to 201.
2013-01-16 01:54:56 -05:00
Nick Mathewson
b1bdecd703
Merge branch 'ntor-resquashed'
...
Conflicts:
src/or/cpuworker.c
src/or/or.h
src/test/bench.c
2013-01-03 11:52:41 -05:00
Nick Mathewson
d3de0b91fb
Check all crypto_rand return values for ntor.
2013-01-03 11:29:49 -05:00
Nick Mathewson
94cb7bd24d
Complete all DOCDOC entries from the ntor branch
2013-01-03 11:29:48 -05:00
Nick Mathewson
b286373908
Enable the ntor handshake on the client side.
...
"works for me"
2013-01-03 11:29:47 -05:00
Nick Mathewson
f58d4dfcd6
Massive refactoring of the various handshake types
...
The three handshake types are now accessed from a unified interface;
their state is abstracted from the rest of the cpath state, and so on.
2013-01-03 11:29:46 -05:00
Nick Mathewson
5b3dd1610c
Wrangle curve25519 onion keys: generate, store, load, publish, republish
...
Here we try to handle curve25519 onion keys from generating them,
loading and storing them, publishing them in our descriptors, putting
them in microdescriptors, and so on.
This commit is untested and probably buggy like whoa
2013-01-02 14:11:14 -05:00
Nick Mathewson
ee1d8dc480
Fix a leak-on-error case in 0.2.4 spotted by coverity
...
This one hits if the snprintf() fails when we're writing our IPv6
exit policy. It's new in 0.2.4.7-alpha. Part of bug 7816.
2012-12-28 22:59:32 -05:00
Nick Mathewson
a7334f5122
Use log_fn_ratelim in a few places.
2012-12-26 11:07:15 -05:00
Nick Mathewson
25afecdbf9
Make ECDHE group configurable: 224 for public, 256 for bridges (default)
2012-12-25 20:22:46 -05:00
Nick Mathewson
90f6071d8d
New FallbackDir option to add extra directories for bootstraping
...
This replaces the old FallbackConsensus notion, and should provide a
way -- assuming we pick reasonable nodes! -- to give clients
suggestions of placs to go to get their first consensus.
2012-12-06 11:28:49 -05:00
Nick Mathewson
46a62e3256
Refactor add_trusted_dir_server
...
Now creating a dir_server_t and adding it are separate functions, and
there are frontend functions for adding a trusted dirserver and a
fallback dirserver.
2012-12-06 11:28:48 -05:00
Nick Mathewson
705ee3b5d4
Rename trusted_dir_server_t to dir_server_t. Automatic renaming.
2012-12-06 11:27:20 -05:00
Nick Mathewson
bb2145b45b
Fix a bug in policy_is_reject_star() that was making IPv4 exits break
...
IPv4-only exits have an implicit "reject [::]/0", which was making
policy_is_reject_star() return 1 for them, making us refuse to do
hostname lookups.
This fix chanes policy_is_reject_star() to ask about which family we meant.
2012-11-14 23:16:57 -05:00
Nick Mathewson
004f3f4e53
Actually advertise IPv6 exit policies.
...
I have a theory that my tests will work better if the code I'm testing
isn't disabled.
2012-11-14 23:16:40 -05:00
Nick Mathewson
a58e17bcc3
Change signature of router_compare_to_my_exit_policy so dns can use it
...
Also, fix the function so it actually looks at our ipv6 exit policy.
2012-11-14 23:16:25 -05:00
Nick Mathewson
111321ed16
Rename ipv{4,6}_only to bind_ipv{4,6}_only
...
This is to avoid confusion with the ipv{4,6}_traffic flags.
2012-11-14 23:16:23 -05:00
Nick Mathewson
9016d9e829
Add an IPv6Exit configuration option
...
Don't advertise an IPv6 exit policy, or accept IPv6 exit requests,
if IPv6Exit is not true.
2012-11-14 23:16:22 -05:00