aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-10Defer reporting directory bootstrap progressTaylor Yu
Existing cached directory information can cause misleadingly high bootstrap percentages. To improve user experience, defer reporting of directory information progress until at least one connection has succeeded to a relay or bridge. Closes ticket 27169.
2018-09-10Track bootstrap phase independently of progressTaylor Yu
Track bootstrap phase (enumerated by bootstrap_status_t) independently from the bootstrap progress (which can represent intermediate progress). This allows control_event_bootstrap_problem() to avoid doing a linear search through the bootstrap progress space to find the current bootstrap phase.
2018-09-10Refactor control_event_bootstrap_core() moreTaylor Yu
Eliminate a few conditional expressions in control_event_bootstrap_core() by overwriting the status parameter.
2018-09-10Refactor control_event_bootstrap() somewhatTaylor Yu
Move the mostly-invariant part of control_event_boostrap() into a helper control_event_bootstrap_core(). The helper doesn't modify any state beyond doing logging and control port notifications.
2018-09-10Deindent much of control_event_bootstrapTaylor Yu
2018-09-10Make control_event_bootstrap() return voidTaylor Yu
Simplify control_event_bootstrap() by making it return void again. It is currently a fairly complicated function, and it's made more complicated by returning an int to signal whether it logged at NOTICE or INFO. The callers conditionally log messages at level NOTICE based on this return value. Change the callers to unconditionally log their verbose human-readable messages at level INFO to keep NOTICE logs less cluttered. This partially reverts the changes of #14950.
2018-09-10Copy changelogs and releasenotes to masterNick Mathewson
2018-09-10Merge branch 'maint-0.3.4'Nick Mathewson
"ours" to avoid version bump.
2018-09-10Bump to 0.3.4.8-devNick Mathewson
2018-09-10Merge branch 'maint-0.3.3' into maint-0.3.4Nick Mathewson
"ours" to avoid version bump.
2018-09-10Bump to 0.3.3.10-dev.Nick Mathewson
2018-09-10Merge branch 'maint-0.3.2' into maint-0.3.3Nick Mathewson
"ours" to avoid version bump.
2018-09-10Merge branch 'maint-0.2.9' into maint-0.3.2Nick Mathewson
"ours" to avoid version bump.
2018-09-10Bump to 0.3.2.12-devNick Mathewson
2018-09-10Bump to 0.2.9.17-devNick Mathewson
2018-09-09Refactor initialization in curve25519_basepoint_spot_checkNick Mathewson
This is an attempt to work around what I think may be a bug in OSS-Fuzz, which thinks that uninitialized data might be passed to the curve25519 functions.
2018-09-08make ipv6-only config complaint clearerRoger Dingledine
(a relay operator hit this on #tor-relays and couldn't make sense of it. i couldn't either until i went to go read the code.)
2018-09-07Merge branch 'maint-0.3.4'Nick Mathewson
2018-09-07Merge branch 'maint-0.3.3' into maint-0.3.4Nick Mathewson
"ours" to avoid bump.
2018-09-07Merge branch 'maint-0.3.2' into maint-0.3.3Nick Mathewson
"ours" to avoid bump
2018-09-07Merge branch 'maint-0.2.9' into maint-0.3.2Nick Mathewson
"ours" to avoid bump
2018-09-07Bump to 0.3.3.10Nick Mathewson
2018-09-07Bump to 0.3.2.12Nick Mathewson
2018-09-07Bump to 0.2.9.17Nick Mathewson
2018-09-07Merge remote-tracking branch 'dgoulet/ticket20700_035_03'Nick Mathewson
2018-09-07HSv3: Don't assert when reading bad client-side privkeys.George Kadianakis
2018-09-07HSv3: Add subcredential in client auth KDF on the client-side.George Kadianakis
2018-09-07HSv3: Add subcredential in client auth KDF on the service-side.George Kadianakis
Also update some client auth test vectors that broke...
2018-09-07hs-v3: Make hs_desc_build_fake_authorized_client() return an objectDavid Goulet
Return a newly allocated fake client authorization object instead of taking the object as a parameter. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07bug: Use PATH_SEPARATOR instead of slashSuphanat Chunhapanya
In function get_fname_suffix, previously it uses /, but in fact it should use PATH_SEPARATOR.
2018-09-07hs-v3: Improve v3 client authorization loggingDavid Goulet
Part of #20700. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Log client auth load activities client sideSuphanat Chunhapanya
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Log client auth load activities service sideSuphanat Chunhapanya
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Rename client_pk to client_auth_pkSuphanat Chunhapanya
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Rename client_sk to client_auth_skSuphanat Chunhapanya
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07test: HS v3 client auth is config equal functionSuphanat Chunhapanya
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Republish descriptors if client auth changesSuphanat Chunhapanya
When reloading tor, check if our the configured client authorization have changed from what we previously had. If so, republish the updated descriptor. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Make all descriptor content free functions publicSuphanat Chunhapanya
Series of functions that we now need in hs_service.c. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Re-enable the decoding in the encoding functionSuphanat Chunhapanya
Previously, the validation by decoding a created descriptor was disabled because the interface had to be entirely changed and not implemented at the time. This commit re-enabled it because it is now implemented. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07test: HS v3 descriptor decoding with client authorizationSuphanat Chunhapanya
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Decrypt the descriptor with client private keySuphanat Chunhapanya
Parse the client authorization section from the descriptor, use the client private key to decrypt the auth clients, and then use the descriptor cookie to decrypt the descriptor. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Refactor the descriptor decryption/decodingSuphanat Chunhapanya
This commit refactors the existing decryption code to make it compatible with a new logic for when the client authorization is enabled. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Refactor secret data building logicSuphanat Chunhapanya
Because this secret data building logic is not only used by the descriptor encoding process but also by the descriptor decoding, refactor the function to take both steps into account. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07test: HS v3 client authorization loading secret keySuphanat Chunhapanya
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Load client authorization secret key from fileSuphanat Chunhapanya
The new ClientOnionAuthDir option is introduced which is where tor looks to find the HS v3 client authorization files containing the client private key material. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07test: HS v3 descriptor encoding with client authorizationSuphanat Chunhapanya
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Encrypt the descriptor using a cookieSuphanat Chunhapanya
Previously, we encrypted the descriptor without the descriptor cookie. This commit, when the client auth is enabled, the descriptor cookie is always used. I also removed the code that is used to generate fake auth clients because it will not be used anymore. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07test: Build an HSv3 descriptor with authorized clientSuphanat Chunhapanya
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07test: HS v3 building a descriptor with client authSuphanat Chunhapanya
This commit tests that the descriptor building result, when the client authorization is enabled, includes everything that is needed. Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-09-07hs-v3: Generate all descriptor related keysSuphanat Chunhapanya
We need to generate all the related keys when building the descriptor, so that we can encrypt the descriptor. Signed-off-by: David Goulet <dgoulet@torproject.org>