Taylor Yu
0900367996
Changes file for ticket30007
2019-04-30 13:18:46 -05:00
Taylor Yu
68caca58a8
Clean up formatting after Coccinelle
...
Clean up some minor formatting quirks after the Coccinelle run.
2019-04-30 13:18:46 -05:00
Taylor Yu
983452e221
Run Coccinelle for control.c refactor
2019-04-30 13:18:46 -05:00
Taylor Yu
58ec88e806
Coccinelle scripts for control.c refactor
2019-04-30 13:18:46 -05:00
Taylor Yu
769eb07a7a
Manually fix some control replies
...
Manually fix up some reply-generating code that the Coccinelle scripts
won't match. Some more complicated ones remain -- these are mostly
ones that accumulate data to send, and then call connection_buf_add()
or connection_write_str_to_buf() directly.
2019-04-30 13:18:46 -05:00
Taylor Yu
61976a4b1c
Factor out control reply output
...
Create a set of abstractions for controller commands and events to
output replies to the control channel. The control protocol has a
relatively consistent SMTP-like structure, so it's helpful when code
that implements control commands and events doesn't explicitly format
everything on its own.
2019-04-30 13:18:46 -05:00
Taylor Yu
482437754a
Add clarifying comments to control_proto.c
...
Refer to control-spec.txt grammar productions in comments in
control_proto.c for clarity.
2019-04-30 13:18:46 -05:00
Taylor Yu
8e7316bae4
Split reply formatting out of control_fmt.c
...
Split the core reply formatting code out of control_fmt.c into
control_proto.c. The remaining code in control_format.c deals with
specific subsystems and will eventually move to join those subsystems.
2019-04-30 13:18:46 -05:00
Taylor Yu
965c2064da
Correct file name in doxygen comment
2019-04-30 13:18:46 -05:00
George Kadianakis
847fc3280d
Merge branch 'maint-0.4.0'
2019-04-30 19:26:30 +03:00
George Kadianakis
e1d4e2badb
Merge branch 'tor-github/pr/978' into maint-0.4.0
2019-04-30 19:26:14 +03:00
George Kadianakis
f2800b53ad
Merge branch 'tor-github/pr/985'
2019-04-30 19:25:32 +03:00
George Kadianakis
d885ed867f
Merge branch 'tor-github/pr/937'
2019-04-30 19:21:46 +03:00
George Kadianakis
9084a90b00
Merge branch 'tor-github/pr/936'
2019-04-30 19:21:15 +03:00
George Kadianakis
a44aca5453
Merge branch 'tor-github/pr/993'
2019-04-30 19:13:57 +03:00
George Kadianakis
86f8dfe419
Merge branch 'tor-github/pr/983'
2019-04-30 19:13:30 +03:00
David Goulet
43c119fedb
Merge branch 'tor-github/pr/980'
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-30 11:50:36 -04:00
David Goulet
e543c4e20c
Merge branch 'tor-github/pr/909'
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-30 11:17:45 -04:00
Nick Mathewson
b7cc631d23
Rename and clarify some functions for periodic events
...
When we tell the periodic event manager about an event, we are
"registering" that event. The event sits around without being
usable, however, until we "connect" the event to libevent. In the
end, we "disconnect" the event and remove its libevent parts.
Previously, we called these operations "add", "setup", and
"destroy", which led to confusion.
2019-04-30 11:14:59 -04:00
Nick Mathewson
9a62a820fb
Remove now-extraneous calls to initialize_periodic_events().
...
This is now the responsibility of the mainloop's subsystem initializer.
2019-04-30 11:14:59 -04:00
Nick Mathewson
7e03500eef
Changes file for periodic event movement
2019-04-30 11:14:59 -04:00
Nick Mathewson
b5a62b1ef5
Move dirauth periodic events into dirauth module.
...
Closes ticket 30294.
2019-04-30 11:14:59 -04:00
Nick Mathewson
6eb1b8da0a
Turn 'mainloop' into a subsystem.
...
We need a little refactoring for this to work, since the
initialization code for the periodic events assumes that libevent is
already initialized, which it can't be until it's configured.
This change, combined with the previous ones, lets other subsystems
declare their own periodic events, without mainloop.c having to know
about them. Implements ticket 30293.
2019-04-30 11:14:59 -04:00
Nick Mathewson
48e1ab1720
Changes file for 29732.
2019-04-30 11:11:39 -04:00
Nick Mathewson
730dddc380
Make sure that the rng is not replaced if it is already replaced.
2019-04-30 11:11:39 -04:00
Nick Mathewson
604e849d36
Make the deterministic and reproducible rng test code handle fast_rng
2019-04-30 11:11:39 -04:00
Nick Mathewson
587a525cc5
Add improved debugging support to crypto_rand_fast code.
2019-04-30 11:11:39 -04:00
Nick Mathewson
e66b5153bd
Extract add-entropy code from crypto_fast_rng to a new function
2019-04-30 11:11:39 -04:00
Nick Mathewson
c6a93beed8
Use preloaded-rng code in test_hs_descriptor.c
2019-04-30 11:11:39 -04:00
Nick Mathewson
7086a9f90e
Make rng mock code also cover strongest_rand.
2019-04-30 11:11:39 -04:00
Nick Mathewson
0a9fb6938d
Use prefilled PRNG replacement in test_extorport
...
This is the last remaining place where our tests had mocked
crypto_rand.
2019-04-30 11:11:39 -04:00
Nick Mathewson
7bd34698af
Use prefilled_rng in test_addr.c in place of existing code.
2019-04-30 11:11:39 -04:00
Nick Mathewson
fe173ce0bc
Add a testing PRNG replacement that returns canned data.
2019-04-30 11:11:39 -04:00
Nick Mathewson
64d5ed0415
Update circuit_timeout test to use deterministic prng
2019-04-30 11:11:39 -04:00
Nick Mathewson
d3526d3f2c
Update test_prob_distr to use new reproducible RNG override code
2019-04-30 11:11:39 -04:00
Nick Mathewson
11eaed66bb
Add support for deterministic override of crypto_rand() in tests
...
We had this previously, but we did it differently in different
places. This implementation is pulled from test_prob_distr.c
2019-04-30 11:11:39 -04:00
rl1987
b05b165a75
Add changes file
2019-04-30 09:16:36 +03:00
rl1987
10c71105e6
Travis: remove sudo configuration
...
See: https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration
2019-04-30 09:16:33 +03:00
rl1987
6b2d8b1a7c
Add changes file
2019-04-30 09:15:35 +03:00
rl1987
5c00b25c0e
Travis: remove sudo configuration
...
See: https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration
2019-04-30 09:15:31 +03:00
Nick Mathewson
821dd54586
Merge branch 'bug30316_035' into bug30316_040
...
Fixes conflicts and also moves bandwidth-file-digest.
2019-04-29 14:34:03 -04:00
Nick Mathewson
0ab4dc7ef7
Move bandwidth-file-headers line to appear in the correct vote section
...
Fixes bug 30316; bugfix on 0.3.5.1-alpha.
2019-04-29 14:31:09 -04:00
Nick Mathewson
44e6663b8a
Merge remote-tracking branch 'tor-github/pr/972'
2019-04-29 13:36:35 -04:00
David Goulet
535ba0d7c5
practracker: Update exceptions for #26288
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-29 12:27:53 -04:00
David Goulet
0f2ff267c5
sendme: Do not poke at crypto.sendme_digest directly
...
As per review from nickm, keep as much as we can the relay_crypto_t object
opaque.
Part of #26288
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-29 12:17:57 -04:00
David Goulet
0d8b9b56c5
sendme: Better function names
...
From nickm's review, improve the names of some functions.
Part of #26288
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-29 12:17:57 -04:00
David Goulet
67c2254183
sendme: Move note_cell_digest() to relay_crypto module
...
Because this function is poking within the relay_crypto_t object, move the
function to the module so we can keep it opaque as much as possible.
Part of #26288
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-29 12:17:57 -04:00
David Goulet
d084f9115d
sendme: Better handle the random padding
...
We add random padding to every cell if there is room. This commit not only
fixes how we compute that random padding length/offset but also improves its
safety with helper functions and a unit test.
Part of #26288
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-29 12:17:57 -04:00
David Goulet
c7385b5b14
sendme: Keep cell digest only if a SENDME is next
...
This way, we reduce the load by only hashing when we absolutely must.
Part of #26288
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-29 12:17:57 -04:00
David Goulet
805c81efed
sendme: Add helper to note the cell digest
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-29 12:17:57 -04:00