Nick Mathewson
dc9ec519b5
Merge remote-tracking branch 'public/bug7890'
2017-06-22 08:04:12 -04:00
Isis Lovecruft
28344b74ba
config: Fix duplicate error message for nonlocal SocksPorts.
...
If `validate_only` is true, then just validate the configuration without warning
about it. This way, we only emit warnings when the listener is actually opened.
(Otherwise, every time we parse the config we will might re-warn and we would
need to keep state; whereas the listeners are only opened once.)
* FIXES #4019 .
2017-06-22 00:28:31 +00:00
Roger Dingledine
005500e14d
make assign_onionskin_to_cpuworker failure case more clear
...
now it looks like the other time we call it
2017-06-21 17:42:10 -04:00
Nick Mathewson
3a8a92fddd
Merge branch 'callgraph_reduction_v2'
2017-06-21 16:47:55 -04:00
Nick Mathewson
5dcc6bef1e
Add GETINFO targets to determine whether md/desc fetching is enabled
...
Closes ticket 22684.
2017-06-21 16:45:31 -04:00
Nick Mathewson
1c0a2335cd
Extract channel_do_open_actions() from non-open _change_state cases
...
This reduces the size of the largest SCC in the callgraph by 30
functions, from 58 to 28.
2017-06-21 14:03:00 -04:00
Nick Mathewson
5d3f484f4a
Merge branch 'maint-0.3.1'
2017-06-21 13:54:07 -04:00
Nick Mathewson
784b29a2bf
Merge branch 'bug22356_029' into maint-0.3.1
2017-06-21 13:54:02 -04:00
Nick Mathewson
72b132e2a4
changes file for ticket22311
2017-06-21 13:49:17 -04:00
Nick Mathewson
35d6313500
Call it a BUG to use -1 in authdir_mode_handles_descs
2017-06-21 13:49:17 -04:00
huyvq
ad97714f22
Remove obsolete authdir_mode_any_nonhidserv()
...
- Replace it with authdir_mode()
2017-06-21 13:49:17 -04:00
huyvq
18cd1993ca
Convert authdir_mode_handles_descs() to alternative wrappers
...
-authdir_mode_handles_descs(options, ROUTER_PURPOSE_BRIDGE) to authdir_mode_bridge(options).
- authdir_mode_handles_descs(options, ROUTER_PURPOSE_GENERAL) to authdir_mode_v3(options).
2017-06-21 13:49:17 -04:00
huyvq
d92b999757
Convert authdir_mode_handles_descs(options, -1) with authdir_mode(options)
2017-06-21 13:49:17 -04:00
huyvq
0471c905a1
Remove obsolete authdir_mode_any_main()
2017-06-21 13:49:17 -04:00
Nick Mathewson
f0a5416f95
Merge branch 'Ryman-bug5847-squashed'
2017-06-21 12:19:55 -04:00
Kevin Butler
0a96d11539
Better error message for GETINFO desc/(id|name) whenever microdescriptors are in use. Fixes #5847 .
2017-06-21 12:19:01 -04:00
Nick Mathewson
6595f55020
unit tests for peek_buf_startswith()
2017-06-21 11:20:33 -04:00
Nick Mathewson
aafeffe02a
Fix the changes file
2017-06-21 11:15:44 -04:00
Nick Mathewson
ed4bc55450
Replace peek_buf_startswith() with a safe version
...
It's not okay to assume that the data in a buf_t is contiguous in
the first chunk.
2017-06-21 11:10:58 -04:00
Nick Mathewson
acf65544bb
Fix compilation on 1667 code.
2017-06-21 10:35:35 -04:00
Ravi Chandra Padmala
417d778652
Respond meaningfully to HTTP requests on the control port. Fix #1667
...
(Squashed with bufferevents portions removed, by nickm)
2017-06-21 10:34:26 -04:00
Nick Mathewson
884c0ffe3b
Merge branch 'maint-0.3.1'
2017-06-20 20:29:00 -04:00
Nick Mathewson
e51e7bd38b
Merge branch 'bug22502_redux_031' into maint-0.3.1
2017-06-20 20:27:48 -04:00
Nick Mathewson
c999e84436
Merge branch 'bug22672_031' into maint-0.3.1
2017-06-20 20:26:45 -04:00
Nick Mathewson
3830599a63
Merge branch 'maint-0.3.1'
2017-06-20 14:18:35 -04:00
Nick Mathewson
c4152a25e3
Note that bw_accounting is obsoleted by values in the state file
...
Closes ticket 16082.
2017-06-20 14:18:10 -04:00
Nick Mathewson
fa2bd196b4
Merge branch 'maint-0.3.1'
2017-06-20 13:54:35 -04:00
Nick Mathewson
fecc66d1e6
Note that pkgconfig is now needed, and has been for a few releases.
2017-06-20 13:54:30 -04:00
Nick Mathewson
a9a76aa6ae
Merge branch 'maint-0.3.1'
2017-06-20 13:35:44 -04:00
Nick Mathewson
392e5457b8
Merge remote-tracking branch 'argonblue/bug22638' into maint-0.3.1
2017-06-20 13:35:38 -04:00
Nick Mathewson
9328bd524e
Enforce the rule that COMPRESS_OK means progress was made.
...
If COMPRESS_OK occurs but data is neither consumed nor generated,
treat it as a BUG and a COMPRESS_ERROR.
This change is meant to prevent infinite loops in the case where
we've made a mistake in one of our compression backends.
Closes ticket 22672.
2017-06-20 12:26:57 -04:00
Nick Mathewson
945256188a
mingw/windows printf lacks %zd ; use %lu and casts instead
...
(This approach can lose accuracy, but it's only in debug-level messages.)
Fixes windows compilation. Bugfix on recent compress.c changes; bug
not in any released Tor.
2017-06-20 12:12:55 -04:00
Nick Mathewson
5537e1fc45
If we successfully decompress an HTTP body, return immediately.
...
This prevents us from calling
allowed_anonymous_connection_compression_method() on the unused
guessed method (if any), and rejecting something that was already
safe to use.
2017-06-20 12:08:12 -04:00
Nick Mathewson
d8cd68caf1
If a _guessed_ compression method fails, it is never PROTOCOL_WARN.
...
Rationale: When use a guessed compression method, we already gave a
PROTOCOL_WARN when our guess differed from the declared method,
AND we gave a PROTOCOL_WARN when the declared method failed. It is
not a protocol problem that the guessed method failed too; it's just
a recovery attempt that failed.
2017-06-20 12:08:11 -04:00
Nick Mathewson
7b3161f008
It should be a PROTOCOL_WARN when we have an incorrect content-encoding.
...
Rationale: The server did not obey the protocol, and its
content-encoding got munged. That's what PROTOCOL_WARN is for.
2017-06-20 12:08:11 -04:00
Nick Mathewson
9018da06c7
Short-circuit the no-decompression-needed case, for clarity
...
This commit is mostly just deindentation.
2017-06-20 11:46:54 -04:00
Nick Mathewson
c0e9698fca
Extract "decompress" portion of connection_dir_client_reached_eof()
2017-06-20 11:43:37 -04:00
Taylor Yu
25edb41e6f
Fix compress_none.c header comment
...
The Doxygen \file markup for compress_none.c had the wrong filename.
Fixes #22638 .
2017-06-20 11:27:17 -04:00
Nick Mathewson
782eb02b79
Send the correct content-encoding when serving cached_dir_t objects
...
A cached_dir_t object (for now) is always compressed with
DEFLATE_METHOD, but in handle_get_status_vote() to we were using the
general compression-negotiation code decide what compression to
claim we were using.
This was one of the reasons behind 22502.
Fixes bug 22669; bugfix on 0.3.1.1-alpha
2017-06-20 11:26:51 -04:00
Nick Mathewson
eb632afb17
Correct the fix to bug 22629 to permit trailing non-garbage
...
This change makes it so that we can decompress concatenated zstd
outputs.
2017-06-20 10:24:22 -04:00
Nick Mathewson
94a1b8b66c
Add a unit test for decompressing concatenated inputs.
2017-06-20 10:21:35 -04:00
Nick Mathewson
dd9f255e5b
Merge branch 'maint-0.3.1'
2017-06-20 10:12:47 -04:00
Nick Mathewson
c1c938e80c
add a changes file for 22626, 22628, and 22629 (parts of 22502)
2017-06-20 10:12:40 -04:00
Nick Mathewson
2341368515
Merge branch 'maint-0.3.1'
2017-06-20 10:06:19 -04:00
Nick Mathewson
1c0459f19a
Merge remote-tracking branch 'teor/bug22502' into maint-0.3.1
2017-06-20 10:04:16 -04:00
Nick Mathewson
32e486de97
Don't expand guard sample set unless consensus is "reasonably live"
...
Fixes what I think is the main root cause of 22400. Bugfix on
0.3.0.1-alpha.
2017-06-19 15:48:47 -04:00
Nick Mathewson
1721487bea
Remove hardwired libfuzzer path; closes 22105.
2017-06-19 15:35:46 -04:00
Nick Mathewson
c2e546aa23
Merge remote-tracking branch 'argonblue/bug22410'
2017-06-19 15:30:23 -04:00
Nick Mathewson
e3efc076c5
Downgrade "assign_to_cpuworker failed" to INFO.
...
Closes ticket 22356
2017-06-19 15:24:33 -04:00
Taylor Yu
027614c263
Ensure that uint8_t is unsigned char
...
Many places in our code assume that uint8_t is the same type as
unsigned char. Test this assumption in the configure script. This is
important because of the privileged aliasing properties of character
types in C.
Fixes #22410 .
2017-06-19 14:28:36 -04:00