Nick Mathewson
dece40fd77
Fix an assert when disabling ORPort with accounting disabled.
...
The problem was that the server_identity_key_is_set() function could
return true under conditions where we don't really have an identity
key -- specifically, where we used to have one, but we stopped being a
server.
This is a fix for 6979; bugfix on 0.2.2.18-alpha where we added that
assertion to get_server_identity_key().
2013-09-18 10:26:32 -04:00
Nick Mathewson
15b9a1ff10
Correctly re-process non-option cmdline args on sighup
...
Whenever we had an non-option commandline arguments *and*
option-bearing commandline arguments on the commandline, we would save
only the latter across invocations of options_init_from_torrc, but
take their existence as license not to re-parse the former. Yuck!
Incidentally, this fix lets us throw away the backup_arg[gv] logic.
Fix for bug 9746; bugfix on d98dfb3746
,
not in any released Tor. Found by Damian. Thanks, Damian!
2013-09-16 13:07:45 -04:00
Nick Mathewson
c5532889a8
Don't apply read/write buckets to cpuworker connections
...
Fixes bug 9731
2013-09-13 13:39:18 -04:00
Nick Mathewson
9205552daa
Don't apply read/write buckets to non-limited connections
...
Fixes bug 9731
2013-09-13 13:37:53 -04:00
Nick Mathewson
147a0f31bd
Fix a windows compilation warning from 4647 branch
2013-09-13 13:10:17 -04:00
Nick Mathewson
ccbf1cfacd
Whoops; make or_state_validate conform to validate_fn_t.
...
Bugfix on 1293835440
, which implemented
6752: Not in any released tor.
2013-09-13 12:56:14 -04:00
Nick Mathewson
25a3ae922f
Merge remote-tracking branch 'Ryman/bug6384'
...
Conflicts:
src/or/config.c
src/or/main.c
2013-09-13 12:55:53 -04:00
Nick Mathewson
e35c972851
Merge branch 'bug4647_squashed'
2013-09-13 12:36:55 -04:00
Nick Mathewson
aac4f30d23
Add a --dump-config option to help testing option parsing.
2013-09-13 12:36:40 -04:00
Nick Mathewson
7972af7073
Whoops; make options_validate conform to validate_fn_t.
...
This just goes to show: never cast a function pointer. Found while
testing new command line parse logic.
Bugfix on 1293835440
, which implemented
6752: Not in any released tor.
2013-09-13 12:36:40 -04:00
Nick Mathewson
a6cad4db70
Add '--digests' to "that which implies --hush."
...
And have these various commandline options imply "hush", not "quiet",
since we like to see warnings.
2013-09-13 12:36:40 -04:00
Nick Mathewson
75d795b1d7
Disallow --hash-password with no commandline arguments.
...
Fixes bug 9573.
Bugfix on 59453ac6e
in 0.0.9pre5, which fixed a crash in a silly way.
2013-09-13 12:36:40 -04:00
Nick Mathewson
b523167f2f
Make config_parse_commandline table-driven for its list of cmdline args
2013-09-13 12:36:40 -04:00
Nick Mathewson
a1096fe180
Use commandline parser for other options
...
These were previously allowed only in the initial position:
--help, -h , --version, --digests, --list-torrc-options
2013-09-13 12:36:39 -04:00
Nick Mathewson
34ec954f8e
Expose commandline parser so that we can use it for --quiet,etc.
...
Fix for bug 9578.
2013-09-13 12:36:39 -04:00
Cristian Toader
d98dfb3746
Patch for 4647 (rewrite command line parser)
2013-09-13 12:36:26 -04:00
Nick Mathewson
e0b2cd061b
Merge remote-tracking branch 'ctoader/gsoc-cap-stage2'
...
Conflicts:
src/common/sandbox.c
2013-09-13 12:31:41 -04:00
Karsten Loesing
b43a37bc5b
Pass const uint64_t pointers, document array length.
...
Suggested by nickm.
2013-09-12 10:51:55 +02:00
Karsten Loesing
d5f0d792dd
Pass around const struct timeval * instead of struct timeval.
...
Suggested by nickm.
2013-09-12 10:10:38 +02:00
Karsten Loesing
6553bdde8c
Don't format cell stats for unattached circuits.
2013-09-12 09:21:13 +02:00
Nick Mathewson
a2754d418d
Try using INT_MAX, not SOMAXCONN, to set listen() backlog.
...
Fall back to SOMAXCONN if INT_MAX doesn't work.
We'd like to do this because the actual maximum is overrideable by the
kernel, and the value in the header file might not be right at all.
All implementations I can find out about claim that this is supported.
Fix for 9716; bugfix on every Tor.
2013-09-11 13:30:45 -04:00
Nick Mathewson
4e00625bbe
Build correctly with older libevents
2013-09-09 15:29:19 -04:00
Nick Mathewson
00fd0cc5f9
Basic compilation fixes.
2013-09-09 14:55:47 -04:00
Nick Mathewson
c7113e702b
Merge remote-tracking branch 'public/bug9645'
2013-09-05 09:59:07 -04:00
Roger Dingledine
86907ea4db
Merge branch 'maint-0.2.4'
2013-09-05 02:34:58 -04:00
Roger Dingledine
2c877d2da4
collect and log statistics about onionskins received/processed
...
we skip onionskins that came from non-relays, so we're less likely to
run into privacy troubles.
starts to implement ticket 9658.
2013-09-05 01:44:52 -04:00
Roger Dingledine
f51add6dbc
Revert e443beff
and solve it a different way
...
Now we explicitly check for overflow.
This approach seemed smarter than a cascade of "change int to unsigned
int and hope nothing breaks right before the release".
Nick, feel free to fix in a better way, maybe in master.
2013-09-05 01:41:07 -04:00
Roger Dingledine
e443beffeb
don't let recently_chosen_ntors overflow
...
with commit c6f1668d
we let it grow arbitrarily large.
it can still overflow, but the damage is very small now.
2013-09-05 01:27:46 -04:00
Roger Dingledine
6156887adf
Merge branch 'maint-0.2.4'
...
Conflicts:
src/test/test.c
2013-09-04 23:44:39 -04:00
Roger Dingledine
c6f1668db3
nickm wants us to prioritize tap in a currently-rare edge case
2013-09-04 23:21:46 -04:00
Roger Dingledine
a4400952ee
Be more general in calculating expected onion queue processing time
...
Now we consider the TAP cells we'll process while draining the NTor
queue, and vice versa.
2013-09-04 23:21:45 -04:00
Roger Dingledine
a66791230f
let the NumNTorsPerTAP consensus param override our queue choice
2013-09-04 23:21:45 -04:00
Roger Dingledine
7acc7c3dc6
do a lopsided round-robin between the onion queues
...
that way tap won't starve entirely, but we'll still handle ntor requests
quicker.
2013-09-04 23:21:45 -04:00
Roger Dingledine
16b5c609a4
check bounds on handshake_type more thoroughly
2013-09-04 23:21:45 -04:00
Roger Dingledine
9d2030e580
add info-level logs to help track onion queue sizes
2013-09-04 23:21:45 -04:00
Roger Dingledine
bb32bfa2f2
refactor and give it unit tests
2013-09-04 23:21:45 -04:00
Roger Dingledine
87a18514ef
Separate cpuworker queues by handshake type
...
Now we prioritize ntor create cells over tap create cells.
Starts to address ticket 9574.
2013-09-04 23:21:45 -04:00
Nick Mathewson
d5e9573ed2
Merge remote-tracking branch 'origin/maint-0.2.4'
...
Conflicts:
src/or/circuituse.c
2013-09-04 16:11:20 -04:00
Nick Mathewson
a60d21a85d
Merge remote-tracking branch 'origin/maint-0.2.3' into maint-0.2.4
...
Conflicts:
src/or/circuitbuild.c
2013-09-04 16:08:02 -04:00
Nick Mathewson
4f3dbb3c0a
use !cbt_disabled in place of LearnCBT to avoid needless circs
...
This would make us do testing circuits "even when cbt is disabled by
consensus, or when we're a directory authority, or when we've failed
to write cbt history to our state file lately." (Roger's words.)
This is a fix for 9671 and an improvement in our fix for 5049.
The original misbehavior was in 0.2.2.14-alpha; the incomplete
fix was in 0.2.3.17-beta.
2013-09-04 15:54:05 -04:00
Nick Mathewson
264aa271a7
Fix bug 9645: don't forget an md just because we can't save it.
2013-09-03 14:25:01 -04:00
Nick Mathewson
5c9008e0b0
Fix some "ISO C90 forbids mixed declarations and code" warnings
2013-09-03 13:39:31 -04:00
Nick Mathewson
eb5f22eff2
Merge remote-tracking branch 'Ryman/bug4341'
2013-09-03 13:16:22 -04:00
Kevin Butler
db318dc77f
Minor changes to adhere to codebase conventions.
2013-09-03 17:47:03 +01:00
Nick Mathewson
270b4f030a
Handle HTTP minor versions greater than 9
...
(In practice they don't exist, but so long as we're making changes for
standards compliance...)
Also add several more unit tests for good and bad URL types.
2013-09-03 11:38:15 -04:00
Kevin Butler
5327605caa
Tougher validation for parsing urls from HTTP headers. Fixes #2767 .
2013-09-03 01:14:43 +01:00
Kevin Butler
b336e8c74e
No longer writing control ports to file if updating reversible options fail. Fixes #5605 .
2013-09-02 19:25:08 +01:00
Cristian Toader
fe6e2733ab
added contingency message to test for sandbox_getaddrinfo
2013-09-02 12:16:02 +03:00
Cristian Toader
1ef0b2e1a3
changed how sb getaddrinfo works such that it supports storing multiple results
2013-09-02 11:44:04 +03:00
Kevin Butler
6e17fa6d7b
Added --library-versions flag to print the compile time and runtime versions of libevent, openssl and zlib. Partially implements #6384 .
2013-09-01 17:38:01 +01:00