Age | Commit message (Collapse) | Author |
|
|
|
|
|
Closes #40033
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
This changes a LOT of code but in the end, behavior is the same.
Unfortunately, many functions had to be changed to accomodate but in majority
of cases, to become simpler.
Functions are also removed specifically those that were there to convert an
IPv4 as a host format to a tor_addr_t. Those are not needed anymore.
The IPv4 address field has been standardized to "ipv4_addr", the ORPort to
"ipv4_orport" (currently IPv6 uses ipv6_orport) and DirPort to "ipv4_dirport".
This is related to Sponsor 55 work that adds IPv6 support for relays and this
work is needed in order to have a common interface between IPv4 and IPv6.
Closes #40043.
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
These parameters do not suppress checks, but they tell relays that
it's okay to publish even when those checks fail.
I have chosen lowercase hyphenated names, since these seem to be
more common in networkstatus params.
Closes #33224 and part of #34064.
|
|
The purpose of having this function was to inform other code that
the consensus has changed, so it should go there.
|
|
|
|
This is an automated commit, generated by this command:
./scripts/maint/rename_c_identifier.py \
voting_schedule_recalculate_timing dirauth_sched_recalculate_timing \
voting_schedule_get_start_of_next_interval voting_sched_get_start_of_interval_after \
voting_schedule_get_next_valid_after_time dirauth_sched_get_next_valid_after_time
|
|
The 'voting_schdule_get_start_of_next_interval' function isn't
actually dirauth-specific.
|
|
|
|
|
|
* ticket 32695 removed networkstatus_consensus_has_ipv6(),
keep that change in master.
* ticket 20218 modifies the function name and comment for
routerstatus_has_visibly_changed(), keep that change
in ticket20218_rebased_squashed.
|
|
|
|
This is an automated commit, generated by this command:
./scripts/maint/rename_c_identifier.py \
routerstatus_has_changed routerstatus_has_visibly_changed
It was generated with --no-verify, since it introduces a wide line.
I'll fix it in a subsequent commit.
|
|
|
|
We no longer need or need to test:
* node_awaiting_ipv6()
* networkstatus_consensus_has_ipv6().
|
|
|
|
Closes ticket 32695.
|
|
|
|
- Check all fields that might change in a routerstatus
- Document the refactoring
Signed-off-by: Victor Nepveu <victor.nepveu@imt-atlantique.net>
|
|
This is an automated commit, generated by this command:
./scripts/maint/rename_c_identifier.py \
directory_must_use_begindir dirclient_must_use_begindir \
directory_fetches_from_authorities dirclient_fetches_from_authorities \
directory_fetches_dir_info_early dirclient_fetches_dir_info_early \
directory_fetches_dir_info_later dirclient_fetches_dir_info_later \
directory_too_idle_to_fetch_descriptors dirclient_too_idle_to_fetch_descriptors
|
|
I had incorrectly identified these functions as dircache-only, when
in fact they apply to everyone who acts a directory client.
|
|
|
|
- Allows control port to read microdesc consensus using:
GETINFO dir/status-vote/microdesc/consensus
add: Helper function `getinfo_helper_current_consensus`
test: check if GETINFO commands return expected consensus data.
Resolves 31684.
|
|
Part of #15516
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
|
|
For various reasons, this was a nontrivial movement. There are
several places in the code where we do something like "update the
flags on this routerstatus or node if we're an authority", and at
least one where we pretended to be an authority when we weren't.
|
|
|
|
|
|
Closes ticket 30294.
|
|
|
|
In this patch we lower the log level of the failures for the three calls
to unlink() in networkstatus_set_current_consensus(). These errors might
trigger on Windows because the memory mapped consensus file keeps the
file in open state even after we have close()'d it. Windows will then
error on the unlink() call with a "Permission denied" error.
The consequences of ignoring these errors is that we leave an unused
file around on the file-system, which is an easier way to fix this
problem right now than refactoring networkstatus_set_current_consensus().
See: https://bugs.torproject.org/29930
|
|
|
|
|
|
|
|
|
|
When we fixed 28614, our answer was "if we failed to load the
consensus on windows and it had a CRLF, retry it." But we logged
the failure at "warn", and we only logged the retry at "info".
Now we log the retry at "notice", with more useful information.
Fixes bug 30004.
|
|
Also, split the formatting code shared by control.c and
control_events.c into controller_fmt.c.
|
|
|
|
Fixes bug 28614; bugfix on 0.4.0.1-alpha when we started mmapping
the consensus.
|
|
This will help us out on windows now that we mmap files. Fixes part
of ticket 28614.
|
|
|
|
|
|
|
|
Co-authored-by: George Kadianakis <desnacked@riseup.net>
|
|
|
|
|
|
|
|
|
|
When Tor's clock is behind the clocks on the authorities, allow Tor to
bootstrap successfully.
Fixes bug 28591; bugfix on 0.2.0.9-alpha.
|