Commit Graph

25714 Commits

Author SHA1 Message Date
rl1987
dcb75f00e1 Disable parts of test_protover_all_supported() that cause fatal exceptions when ALL_BUGS_ARE_FATAL 2020-03-06 19:25:54 +02:00
rl1987
0732513f16 Also skip dir/purpose_needs_anonymity_returns_true_by_default when ALL_BUGS_ARE_FATAL 2020-03-06 19:25:54 +02:00
rl1987
3db65bc218 Skip test_new_route_len_unhandled_exit() when ALL_BUGS_ARE_FATAL 2020-03-06 17:55:21 +02:00
Nick Mathewson
ba8d71d9c3 Merge remote-tracking branch 'tor-github/pr/1774/head' 2020-03-05 09:10:24 -05:00
Nick Mathewson
8e5c75e896 Merge remote-tracking branch 'tor-github/pr/1772/head' 2020-03-05 09:09:16 -05:00
Nick Mathewson
7177eeddf1 Merge branch 'maint-0.4.3' 2020-03-05 08:48:40 -05:00
Nick Mathewson
686494f0f7 Merge branch 'clang_format_prep_3' 2020-03-05 08:23:32 -05:00
Roger Dingledine
29542ccdcc Remove surprising empty line in info-level cbt log
Fixes bug 33531; bugfix on 0.3.3.1-alpha.
2020-03-04 13:45:34 -05:00
George Kadianakis
edc0bf5089 Merge branch 'tor-github/pr/1763' 2020-03-03 14:35:31 +02:00
Nick Mathewson
a5bc08579f shared_random: Improve fallback for client no-live-consensus case.
In this case, when we're looking for the voting interval, we should
try looking at the _latest_ consensus if we have one.  When we're
looking for the start of the current voting period, we can use our
existing fallback logic without complaint, since the voting interval
code will already have given us a reasonable voting interval, and we
want to have a round starting time based on the current time.
2020-03-03 14:35:01 +02:00
Nick Mathewson
9a7b10e23f Comment updates from review. 2020-03-03 14:35:01 +02:00
Nick Mathewson
1b66b39699 Make voting_schedule.h work correctly when dirauth-mode is disabled. 2020-03-03 14:35:01 +02:00
Nick Mathewson
9fb18756df Stop using all dirauth-only options in shared_random_client.c
This is not as clean a patch as I would like: see the comment on
ASSUME_AUTHORITY_SCHEDULING. This issue here is that the unit tests
sometimes assume that we are going to be looking at the dirauth
options and behaving like a dirauth, but without setting the options
to turn is into one.

This isn't an issue for actually running Tor, as far as I can tell
with chutney.
2020-03-03 14:35:01 +02:00
Neel Chauhan
2ef2fef711 Correct spacing in dns_launch_correctness_checks() 2020-02-26 15:48:45 -08:00
Nick Mathewson
6472d9cfdf Run "make autostyle" 2020-02-26 16:45:33 -05:00
Nick Mathewson
2c792d1e0e In typed_var_kvassign, include config names in error messages.
This should improve the usability of our configuration error messages.
2020-02-26 14:18:40 -05:00
Nick Mathewson
7e7aff9b6a confmgt: when a units value is invalid, include a meaningful error.
Part of 33460.
2020-02-26 13:03:10 -05:00
Nick Mathewson
b133325a3e confmgt: when an int/enum value is invalid, say which values are ok.
Part of 33460.
2020-02-26 13:02:28 -05:00
Nick Mathewson
11adf0f46f Merge remote-tracking branch 'tor-github/pr/1750/head' 2020-02-25 12:58:23 -05:00
Nick Mathewson
7777f1df49 Dirauth-specific function to get voting interval. 2020-02-24 10:55:06 -05:00
Nick Mathewson
d865a50296 Extract most of dirauth_sched_get_next_valid_after_time()
Most of this function was about recreating a voting schedule on
demand if it didn't exist yet or was not up-to-date.  I've made that
into its own function.
2020-02-24 10:13:07 -05:00
Nick Mathewson
4fb6d8675f Rename voting_schedule_*() functions.
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
2020-02-24 10:07:09 -05:00
Nick Mathewson
b7ba558f56 Move one voting schedule fn into networkstatus.c
The 'voting_schdule_get_start_of_next_interval' function isn't
actually dirauth-specific.
2020-02-24 10:04:01 -05:00
Nick Mathewson
e1cf10ceb7 Move voting_schedule.[ch] to src/feature/dirauth/ 2020-02-24 10:00:51 -05:00
Nick Mathewson
d4d5d9d1d1 Merge branch 'ticket33316_squashed' 2020-02-24 07:49:45 -05:00
Nick Mathewson
e067cb426a Move process subsystem after evloop.
Process uses evloop, and so should be initialized after it.
2020-02-24 07:49:39 -05:00
Nick Mathewson
63b7dabdea Merge ocirc and orconn events into or subsystem.
Pubsub events are not supposed to have their own subsystems; they're
supposed to be part of a parent subsystem.
2020-02-24 07:49:39 -05:00
Nick Mathewson
2e5d555c0e Initialize all subsystems during the unit tests
Previously we had initialized only the library subsystems.  This
made it hard to write some tests, and encouraged people to put their
subsystems at a level lower than they really belonged at.  Instead,
it probably just makes sense to initialize everything before we
start the tests.

Without this fix, 33316 breaks our tests because of raising the
level of the ocirc/orconn events.
2020-02-24 07:49:39 -05:00
Nick Mathewson
90524de0b2 Move winprocess_sys into a new low-level hardening module
This code was in our process module, but it doesn't belong there:
process is for launching and monitoring subprocesses, not for
hardening the current process.

This change lets us have our subsystem init order more closely match
our dependency order.
2020-02-24 07:49:39 -05:00
Nick Mathewson
caa392a73a Merge remote-tracking branch 'tor-github/pr/1685/head' 2020-02-24 07:45:20 -05:00
George Kadianakis
93cb8072be Final touches to #32709 based on Nick's feedback.
- Fix a bug and add unittest.
- Add changes file.
- Add man page entry.
2020-02-24 12:15:35 +02:00
Nick Mathewson
84f2e28204 Use PRIu64 and TOR_PRIuSZ, to fix 32-bit build error. 2020-02-20 20:49:38 -05:00
Nick Mathewson
ce9eeefbcc Make direclient_dump_total_dls() respect SafeLogging and pass tests.
Don't dump totals with anonymous purposes.  Additionally, don't dump
headers that have nothing underneath them.
2020-02-20 12:26:32 -05:00
Nick Mathewson
66bbdadbbe Merge branch 'extract_routerkeys_squashed' 2020-02-20 10:41:12 -05:00
Nick Mathewson
1d068625dd Move relay_handshake.[ch] into src/feature/relay, and make it optional 2020-02-20 10:41:06 -05:00
Nick Mathewson
e425ffc637 Disable routerkeys.c with --disable-relay-mode. 2020-02-20 10:41:06 -05:00
Nick Mathewson
09fb7987c5 Merge branch 'maint-0.4.3' 2020-02-20 08:50:18 -05:00
Nick Mathewson
f733b8acd6 Merge remote-tracking branch 'tor-github/pr/1719/head' into maint-0.4.3 2020-02-20 08:48:17 -05:00
Nick Mathewson
d559ca3d5a Move router_reset_reachability() into correct header, add a stub
Without this, -O0 builds fail, which is a sign that LTO builds may
fail too.
2020-02-20 08:36:40 -05:00
Nick Mathewson
5149c100ed run "make autostyle" 2020-02-20 08:33:40 -05:00
Nick Mathewson
b9cc4cc50a Merge branch 'ticket4631_squashed' 2020-02-20 08:17:47 -05:00
teor
bed3b292ad dirvote: Improve the posted vote log message
Cleanup after 4631.
2020-02-20 08:17:37 -05:00
Nick Mathewson
dd4fa9b468 Extract relay-only handshake code into its own file.
This is not the only relay-only handshake code, but it is most of
such code that is in connection_or.c.
2020-02-19 19:11:57 -05:00
Nick Mathewson
a65efa7e83 Merge branch 'extract_relay_dns' 2020-02-19 13:58:53 -05:00
Nick Mathewson
65b75ef3d5 Merge branch 'extract_ext_orport' 2020-02-19 13:55:18 -05:00
Nick Mathewson
defd941fe7 Make dns_cancel_pending_resolve() STATIC.
It is not called by anything outside of the tests and dns.c.
2020-02-19 12:30:09 -05:00
Nick Mathewson
f739aa7962 Remove assert_all_pending_dns_resolves_ok().
It hasn't been used since 2009.
2020-02-19 12:27:49 -05:00
Nick Mathewson
51b470dbc8 dns.h: label functions that are only used inside feature/relay 2020-02-19 12:17:13 -05:00
Nick Mathewson
9b21a5d254 Note module-local functions in ext_orport.h
Since these are only used inside the feature/relay module, they
don't need stubs.
2020-02-19 12:12:00 -05:00
Nick Mathewson
df6191f620 Make connection_or_get_by_ext_or_id() testing-only
Apparently it is only used by the unit tests: tor doesn't want it at
all.

I've opened a new ticket (33383) to we if we should remove this
whole feature.
2020-02-19 12:11:23 -05:00
Nick Mathewson
7b6e81f8e6 Merge branch 'extract_selftest' 2020-02-19 11:58:17 -05:00
teor
15192f88c0
dirvote: Remove an incorrect log message
Cleanup after 4631.
2020-02-19 11:09:21 +10:00
teor
4dd594d33c
Merge remote-tracking branch 'tor-github/pr/1744' 2020-02-19 10:09:29 +10:00
teor
6e76570ede
Makefile: Tweak the test-network* chuttney networks
In "make test-network", add tests for single onion services v2 and v3.

In "make test-network-all", test onion services v2 and v3 in the same
network.

Part of 33334.
2020-02-19 09:29:02 +10:00
Steven Engler
9a68eca3a7 Small changes to scheduler comments and state changes
Tries to make some of the comments in scheduler.c easier to follow,
and simplifies a couple of the scheduler channel state changes.
2020-02-18 13:56:58 -05:00
Nick Mathewson
e85f46b7be Do not build selftest.c when running relay mode is disabled. 2020-02-18 13:31:33 -05:00
Nick Mathewson
a1a3a4d585 Make ext_orport.c relay-mode-only. 2020-02-18 13:23:50 -05:00
Nick Mathewson
1f958b6020 Move ext_orport identifier map into ext_orport.c
There's no need to move the declarations: those were already in
ext_orport.h.

This shrinks connection_or.c a little.
2020-02-18 13:10:57 -05:00
Nick Mathewson
8ce15933e5 Move some declarations into proto_ext_or.h
They are for functions declared in that file.
2020-02-18 13:07:33 -05:00
Nick Mathewson
eb07166eb8 Make sure callers can handle NULL ext-or auth cookie filename 2020-02-18 12:55:57 -05:00
Nick Mathewson
c43a245292 Disable dns.c when relay mode is disabled.
This saves about 1% for me on a binary compiled without relay mode.

Closes ticket 33366.
2020-02-18 12:46:10 -05:00
Nick Mathewson
1f06f494c8 Move DNS TTL manipulation code to src/core/or
This removes a dependency from the client code on feature/relay.
2020-02-18 12:08:29 -05:00
Nick Mathewson
dcbc45e6b2 Replace identifiers related to clipping DNS ttls.
This is an automated commit, generated by this command:

./scripts/maint/rename_c_identifier.py \
        MIN_DNS_TTL_AT_EXIT MIN_DNS_TTL \
        MAX_DNS_TTL_AT_EXIT MAX_DNS_TTL \
        dns_clip_ttl clip_dns_ttl
2020-02-18 12:00:24 -05:00
Nick Mathewson
93af83e16a Remember dirctory bw usage, and log it in the heartbeat
Closes ticket 32720.
2020-02-18 11:25:18 -05:00
George Kadianakis
975102869a Fix issues pointed out by Nick.
- Loose the asserts on num_pkeys.
- Straighten some dangling &.
- Fix some unpredictable memcpys.
2020-02-18 12:37:34 +02:00
teor
f298706326
dirauth: Update disabled dirvote_add_vote()
Update the function that handles directory authority votes when the
dirauth module is disabled.

Part of 4631.
2020-02-18 13:23:33 +10:00
teor
8b5b574a81
dirauth: Refactor dirvote_add_vote()
Refactor dirvote_add_vote() by splitting some code out into static
functions.

Cleanup after 4631.
2020-02-18 13:23:27 +10:00
teor
56f715d300
test/dir: Add specific tests for late vote rejection
Part of 4631.
2020-02-18 13:23:23 +10:00
teor
2b7eec7590
test/dir: Update the tests for late vote rejection
Part of 4631.
2020-02-18 12:44:50 +10:00
Roger Dingledine
acb5b0d535
Don't accept posted votes after :52:30
If we receive via 'post' a vote from a dir auth after the
fetch_missing_votes cutoff, that means we didn't get it by the time we
begin the "fetching missing votes from everybody else" phase, which means
it is very likely to cause a consensus split if we count it. Instead,
we reject it.

But we still allow votes that we fetch ourselves after that cutoff.

This is a demo branch for making progress on #4631.

I've been running it on moria1 and it catches and handles real buggy
behavior from directory authorities, e.g.

Jan 28 15:59:50.804 [warn] Rejecting vote from 199.58.81.140 received at 2020-01-28 20:59:50; our cutoff for received votes is 2020-01-28 20:52:30
Jan 28 15:59:50.805 [warn] Rejected vote from 199.58.81.140 ("Vote received too late, would be dangerous to count it").
Jan 29 01:52:52.667 [warn] Rejecting vote from 204.13.164.118 received at 2020-01-29 06:52:52; our cutoff for received votes is 2020-01-29 06:52:30
Jan 29 01:52:52.669 [warn] Rejected vote from 204.13.164.118 ("Vote received too late, would be dangerous to count it").
Jan 29 04:53:26.323 [warn] Rejecting vote from 204.13.164.118 received at 2020-01-29 09:53:26; our cutoff for received votes is 2020-01-29 09:52:30
Jan 29 04:53:26.326 [warn] Rejected vote from 204.13.164.118 ("Vote received too late, would be dangerous to count it").
2020-02-18 12:44:41 +10:00
teor
da280a4309 Makefile: Add an IPv6 mixed chutney network
This network is used in make test-network-all and test-network-ipv6.

Closes 33334.
2020-02-17 14:55:05 +10:00
teor
85eb170923 Makefile: Add v3 onion services to the mixed network
This network is used in make test-network-all and test-network-ipv4.

Part of 33334.
2020-02-17 14:54:24 +10:00
teor
f231827946
Merge remote-tracking branch 'tor-github/pr/1731' 2020-02-17 13:49:23 +10:00
teor
334469cc39
Merge branch 'bug33195_master' into ticket33280_master
Conflicts:
* Keep the changes from ticket33280_master
2020-02-17 13:46:09 +10:00
Nick Mathewson
a6509cb867 Merge remote-tracking branch 'tor-github/pr/1727/head' 2020-02-14 08:20:21 -05:00
Nick Mathewson
a010dbf94c Merge branch 'maint-0.4.3' 2020-02-14 08:17:16 -05:00
Nick Mathewson
a79841fd83 Merge branch 'ticket33290_v2_042' into maint-0.4.3 2020-02-14 08:16:22 -05:00
Nick Mathewson
393bbd823e Merge branch 'ticket33290_v2_041' into ticket33290_v2_042 2020-02-14 08:16:01 -05:00
Nick Mathewson
c1649ab015 Wipe the entire hashent structure, not just the first sizeof(void*) 2020-02-14 08:15:37 -05:00
teor
ed1ee2001f
dirvote: Update the comments for required protocols
Add doxygen comments to the new recommended and required subprotocol
version strings.

Add a warning to the required protocol documentation, because requiring
the wrong protocols can break the tor network. Also reference
proposal 303: When and how to remove support for protocol versions.

Part of 33285.
2020-02-14 12:49:38 +10:00
teor
98899f20ad
mainloop: Explain local connections better
Some connections aren't counted for statistics or accounting,
because they have been specifically configured by the user to
local addresses.

Comment-only change.

Closes 33201.
2020-02-14 10:13:00 +10:00
Nick Mathewson
691d271b2e Re-order thread initialization to follow logging, and remove a comment.
lib/log no longer uses lib/thread; lib/log only uses lib/lock, which
is at a lower level.
2020-02-13 12:55:05 -05:00
Nick Mathewson
67d59d7d1f Re-order most subsystems to correspond to dependency order. 2020-02-13 12:53:15 -05:00
Nick Mathewson
1ab7c05231 Merge branch 'maint-0.4.3' 2020-02-13 10:47:43 -05:00
Nick Mathewson
baeff46d36 Merge branch 'ticket33290_v2_042' into ticket33290_v2_043
Conflicts:
	src/core/or/circuitmux_ewma.c
2020-02-13 09:21:47 -05:00
Nick Mathewson
fd1686c7d8 Merge branch 'ticket33290_v2_041' into ticket33290_v2_042 2020-02-13 09:12:48 -05:00
Nick Mathewson
fff1054d17 Before freeing ewma objects, use memwipe instead of resetting magic. 2020-02-13 09:11:35 -05:00
teor
02f494360a
Makefile: Use chutney's latest default network
Use bridges+hs-v23 for "make test-network",
rather than using chutney's old default.

This change requires a recent version of chutney,
because the old bridges+hs-v23 did not work.
(See chutney's 33302 for details.)

Closes 28208.
2020-02-13 13:00:18 +10:00
teor
9d352028e6
Makefike: Add an IPv6 test to test-network
The IPv6 test only runs if IPv6 is available.

Also, explicitly use the bridges+hs-v2 network for the IPv4-only test.
This network was chutney's default as of January 2020.

Closes 33300.
2020-02-13 13:00:15 +10:00
teor
e849881d3a Run "make autostyle"
But only take the changes that were caused by the rest of the 33087
branch.

Part of 33087.
2020-02-13 09:28:21 +10:00
Nick Mathewson
e231d84dd5 Merge branch 'maint-0.4.3' 2020-02-12 18:26:08 -05:00
Nick Mathewson
d0c3350218 Run "make autostyle". 2020-02-12 18:25:51 -05:00
Nick Mathewson
80e3dc4727 Use more memory poisoning and better asserts around ewma code
Attempt to diagnose 32464; fixes 33290.
2020-02-12 14:17:19 -05:00
teor
8a23393eda
log: Stop duplicating error file fds
Since we're not closing these fds, they don't need to be duplicated
any more.

Cleanup after 33087.
2020-02-13 00:01:47 +10:00
teor
3d1ef3b6f8
err/log: Stop closing stderr and stdout during shutdown
Closing these file descriptors can hide sanitiser logs.

Instead, flush the logs before tor exits, using fsync().
Some Windows environments don't have fsync(), so we check
for it at compile time.

Fixes bug 33087; bugfix on 0.4.1.6.
2020-02-13 00:00:41 +10:00
teor
4fed49e0dd protover: Sort tor's supported protocol versions
As recommended by the tor directory specification.

Fixes bug 33285; bugfix on 0.4.0.1-alpha.
2020-02-12 22:15:17 +10:00
teor
14cb337e80 test/protover: Test hard-coded protover sorting
Make sure that the following hard-coded protocol version lists are
sorted:
  * supported protocols
  * recommended relay and client protocols
  * required relay and client protocols

This test currently fails, because the supported protocols are not
sorted.

Tests for 33285.
2020-02-12 22:07:26 +10:00
teor
64bb6e622d dirvote: Reorder required protocol lists
Use a consistent order, because the current order is going to trip
someone up eventually.

Preparation for 33285.
2020-02-12 22:06:11 +10:00
teor
78051c8808 dirvote: Move required protos into private header
Move the recommended and required protocol version lists into the
private section of the dirvote header, and turn them into macros.

Preparation for 33285.
2020-02-12 22:03:19 +10:00
teor
bc493ce0f2
protover: Update a comment about protover parsing
Comment-only change.
2020-02-12 20:59:25 +10:00
teor
e0ea7407a4
Merge remote-tracking branch 'tor-github/pr/1725' into maint-0.4.3 2020-02-12 14:14:11 +10:00
David Goulet
88489cd290
hs-v3: Remove BUG() that can occur normally
Fixes #28992

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-12 14:09:40 +10:00
teor
ff52205362
Merge branch 'maint-0.4.1' into maint-0.4.2 2020-02-12 12:22:04 +10:00
teor
5298113da9
Merge branch 'maint-0.3.5' into maint-0.4.1 2020-02-12 12:21:57 +10:00
Alexander Færøy
b9c7c61ea5
Lowercase the BridgeDistribution value from torrc in descriptors.
This patch ensures that we always lowercase the BridgeDistribution from
torrc in descriptors before submitting it.

See: https://bugs.torproject.org/32753
2020-02-12 12:21:41 +10:00
George Kadianakis
9892cc3b12 Merge branch 'tor-github/pr/1707' 2020-02-11 18:42:22 +02:00
David Goulet
40a321659a hs-v3: Remove BUG() that can occur normally
Fixes #28992

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 18:40:55 +02:00
David Goulet
f0964628e6 Merge branch 'ticket33029_042_01' into ticket33029_043_03
Conflicts:
	doc/tor.1.txt
	src/app/config/config.c
	src/app/config/or_options_st.h
	src/core/mainloop/connection.h

Between 042 and 043, the dirauth options were modularized so this merge commit
address this by moving the AuthDirRejectUncompressedRequests to the module
along with a series of accessors.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 10:30:29 -05:00
David Goulet
7b4d9fabef dirauth: Rename function for better clarity
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 10:15:23 -05:00
David Goulet
33414e5494 test: Add unit test for connection_dir_is_global_write_low()
Part of #33029

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 10:15:04 -05:00
David Goulet
6d9113d2f6 dirauth: Resume sending 503 directory error code
Authorities were never sending back 503 error code because by design they
should be able to always answer directory requests regardless of bandwidth
capacity.

However, that recently backfired because of a large number of requests from
unknown source using the DirPort that are _not_ getting their 503 code which
overloaded the DirPort leading to the authority to be unable to answer to its
fellow authorities.

This is not a complete solution to the problem but it will help ease off the
load on the authority side by sending back 503 codes *unless* the connection
is from a known relay or an authority.

Fixes #33029

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:58:28 -05:00
David Goulet
735aa208b1 dirauth: Add option AuthDirRejectRequestsUnderLoad
This controls the previous feature added that makes dirauth send back a 503
error code on non relay connections if under bandwidth pressure.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:57:05 -05:00
David Goulet
bd4f4cb5f0 dirlist: Add configured trusted dir to the nodelist address set
The configured, within the torrc or hardcoded, directory authorities addresses
are now added to the nodelist address set.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:35:54 -05:00
David Goulet
4152c349b4 nodelist: Helper to add an address to the nodelist address set
We separate v4 and v6 because we often use an IPv4 address represented with
a uint32_t instead of a tor_addr_t.

This will be used to also add the trusted directory addresses taken from the
configuration.

The trusted directories from the consensus are already added to the address
set from their descriptor.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:35:50 -05:00
David Goulet
872f95ca06 mainloop: Modernize a bit connection_dir_is_global_write_low()
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:35:46 -05:00
David Goulet
c1e0ac63b8 mainloop: Remove unused parameter from connection_dir_is_global_write_low()
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:35:40 -05:00
David Goulet
ee55823a11 mainloop: Rename global_write_bucket_low()
That function is only used to test the global bucket write limit for a
directory connection.

It should _not_ be used for anything else since that function looks to see if
we are a directory authority.

Rename it to something more meaningful. No change in behavior at this commit,
only renaming.

Part of #33029

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 09:34:55 -05:00
Nick Mathewson
384a771fcc Merge branch 'ticket32362_squashed' 2020-02-11 08:47:19 -05:00
Neel Chauhan
777d90fa23 Check for leading zeros in tor_inet_aton() 2020-02-11 08:47:13 -05:00
Nick Mathewson
71d96cefc0 Update to 0.4.4.0-alpha-dev 2020-02-10 19:43:54 -05:00
Nick Mathewson
5d56c1f4b2 Update to 0.4.3.2-alpha-dev 2020-02-10 19:42:31 -05:00
George Kadianakis
901ed35709 Make n_subcredentials a size_t .
Based on David's review.
2020-02-11 02:13:40 +02:00
Nick Mathewson
eb8841cd95 Merge branch 'bug33104_041' 2020-02-10 14:23:13 -05:00
Nick Mathewson
0c90fc37ec Merge branch 'maint-0.4.1' into maint-0.4.2 2020-02-10 14:17:10 -05:00
Nick Mathewson
71c49f7356 Merge branch 'maint-0.4.0' into maint-0.4.1 2020-02-10 14:17:10 -05:00
Nick Mathewson
d9144700af Merge branch 'maint-0.4.2' 2020-02-10 14:17:10 -05:00
Nick Mathewson
f3fa22bf1b Merge branch 'maint-0.3.5' into maint-0.4.0 2020-02-10 14:17:09 -05:00
Nick Mathewson
dab0b1c3a7 bump to 0.4.3.2-alpha 2020-02-10 13:37:59 -05:00
Nick Mathewson
99d044d553 Fix a Rust compilation warning; resolve bug 33212. 2020-02-10 13:32:09 -05:00
Nick Mathewson
d9e211ab70 Use semicolons after HT_PROTOTYPE and HT_GENERATE. 2020-02-10 12:54:43 -05:00
Nick Mathewson
a9cc4ce0eb ht.h: Require a semicolon after HT_PROTOTYPE and HT_GENERATE[2] 2020-02-10 12:54:06 -05:00
Nick Mathewson
b2c3cb1b26 Add tests for control_event_signal. 2020-02-10 11:38:36 -05:00
teor
5e6021bdae
stats: Fix a function comment typo in rephist.c
Comment-only change.
2020-02-10 15:58:25 +10:00
Nick Mathewson
fbc1eaa0af Try to shorten an #error in address.c 2020-02-06 17:21:34 -05:00
Nick Mathewson
1651f92c16 Break CONNECTION_TESTCAE_ARG across multiple lines 2020-02-06 17:21:34 -05:00
Nick Mathewson
8a5a1600cd Extract verbatim table in uname.c 2020-02-06 17:06:12 -05:00
Nick Mathewson
7036ed3471 Fix a couple more long warning lines
These are not a problem with 2-space indentation, but cocci will
start getting confused when clang-format wraps them with 4-space
indentation.
2020-02-06 16:25:56 -05:00
Nick Mathewson
6076adde25 circuitbuild: expect bug message that clang-format will generate.
clang-format wants to put no space here, so we need to tell the test
to expect a lack of a space.
2020-02-06 15:34:06 -05:00
Nick Mathewson
99a5aecbc7 Wrap columnar tables in "clang-format off/on"
These tables have aligned comments, so we don't want clang-format to
mess with them.
2020-02-06 14:54:04 -05:00
Nick Mathewson
06a6130666 Use parentheses to avoid mis-indentations of stringified macro args
clang-format sometimes thinks that "#name" should be written as
"#     name" if it appears at the start of a line.  Using () appears
to suppress this, while confusing Coccinelle.
2020-02-06 14:54:04 -05:00
Nick Mathewson
6104c407e0 maps: do not include _ as part of expected prefix in macros.
Doing this makes our macro usage a little clear IMO, and also avoids
having to use an unadorned "new" within a macro.  (Clang-format
seems to think that "new" means we're doing C++, and so it generates
some output that checkSpace.pl doesn't care for.)
2020-02-06 14:54:04 -05:00
Nick Mathewson
87b71a692a Remove senseless CHECK_PRINTF()s from util_bug.c
These belong in util_bug.h (and they already are there).

Their presence made clang-format misindent these functions in a way
that checkSpace.pl dislikes.
2020-02-06 14:54:04 -05:00
Nick Mathewson
efa5020a9c log_test_helpers: remove semicolons from end of macros
We want our code to require semicolons after use of these macros,
so that our code formatters and/or analysis tools don't get
confused.
2020-02-06 14:54:04 -05:00
Nick Mathewson
60f01da78e Use smaller CPP error messages
Clang-format wants to split these messages across multiple lines,
which confuses the heck out of coccinelle.
2020-02-06 14:54:04 -05:00
Nick Mathewson
e9b663beaf onion_queue.c: use TAILQ_HEAD less confusingly.
When we use macro inline, clang-format likes to break it in the
middle, which makes checkSpace get confused.
2020-02-06 14:33:05 -05:00
Nick Mathewson
9feeb4cf97 prob_distr: use "clang-format off" to avoid wide lines for URLs 2020-02-06 14:33:05 -05:00
Nick Mathewson
98fdc3e41a Use a compile-time assert in control_events.h
(The original idiom here led clang-format to generating a too-wide line.)
2020-02-06 14:33:05 -05:00
Nick Mathewson
21f45197a2 Merge branch 'bug33103' 2020-02-06 08:28:25 -05:00
David Goulet
a8456d2a11 test: Missing hs_init() in some hs_control tests
Without the hs_init(), the caches are not initialized and the previous commit
was causing an assert due to the missing caches.

But regardless of that, those tests were not initializing but were calling
hs_free_all().

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-06 12:54:54 +02:00
David Goulet
9278a24729 hs-v3: Remove descriptor when we remove client authorization
When the ONION_CLIENT_AUTH_REMOVE command is given to tor, now also remove the
descriptor associated with the client authorization credentials.

Fixes #33148

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-06 12:54:54 +02:00