Nick Mathewson
75741c6b3a
Merge remote-tracking branch 'tor-github/pr/1659'
2020-01-14 12:40:07 -05:00
Neel Chauhan
8d288eb3a7
Deprecate the ClientAutoIPv6ORPort option
2020-01-13 14:55:16 -08:00
Nick Mathewson
73ac1add3f
Split core/include.am into per-subdirectory include.am files
...
Closes ticket 32137.
2020-01-13 09:34:17 -05:00
David Goulet
bbe90e3ec1
hs-v2: Always check rend_cache validity before using it
...
When looking up an entry in the rend_cache, stop asserting that it exists but
rather confirm it exists and if not, return that no entry was found.
The reason for that is because the hs_circ_cleanup_on_free() function (which
can end up looking at the rend_cache) can be called from the
circuit_free_all() function that is called _after_ the rend cache is cleaned
up in tor_free_all().
We could fix the free all ordering but then it will just hide a future bug.
Instead, handle a missing rend_cache as a valid use case as in while we are in
the cleanup process.
As Tor becomes more modular, it is getting more and more difficult to ensure
subsystem callstack ordering thus this fix aims at making the HSv2 subsystem
more robust at being called while tor is pretty much in any kind of state.
Fixes #32847 .
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-01-13 09:25:26 -05:00
Nick Mathewson
5888db4967
Merge branch 'disable_ns_macro'
2020-01-09 16:02:41 -05:00
Nick Mathewson
93894fb770
Merge branch 'ticket22029_attempt_squashed'
2020-01-09 15:27:32 -05:00
Neel Chauhan
9129de7017
Add dirserv_load_fingerprint_file() test
2020-01-09 15:27:26 -05:00
Neel Chauhan
d0068be0dd
Allow ed25519 keys to be banned in approved-routers
2020-01-09 15:27:26 -05:00
Nick Mathewson
e28e41dd78
Fix wide lines from NS() removal fallout.
2020-01-09 11:43:49 -05:00
Nick Mathewson
42c6fc851e
Remove NS*() macros from test.h.
...
We never used them very much, and although they had potential to
clarify some of our tests, they also made some of the logic harder
for people to follow. Clang-format can't make head or tail of them,
so the time has come to say goodbye to them.
2020-01-09 11:09:31 -05:00
Nick Mathewson
23c77f79fd
Remove all usage of the NS*() macros in test*.c
...
This is an automatically generated commit, made with the following
kludgey perl script. It results in a number of wide lines, which
I'll clean up in a subsequent commit.
#/usr/bin/perl -w -i
$mod = "NS_MODULE";
$submod = "NS_SUBMODULE";
$last_was_empty = 0;
while (<>) {
s/\bASPECT\(\s*(\w+)\s*,\s*(\w+)\s*\)/$1_$2/;
if (/# *define +NS_MODULE +(\w+)/) {
$mod = $1;
next;
} elsif (/# *define +NS_SUBMODULE +(\w+)/) {
$submod = $1;
next;
}
next if (/#undef NS_(SUB)?MODULE/);
s/NS\(\s*test_main\s*\)/test_${mod}_${submod}/;
s/NS\(\s*(\w+)\s*\)/${mod}_${submod}_$1/g;
s/NS_FULL\(\\s*(\w+)\s*,\s*(\w+),\s*(\w+)\s*\)/$1_$2_$3/;
s/^(\s*)NS_MOCK\(\s*(\w+)\s*\)/$1MOCK($2,\n$1 ${mod}_${submod}_$2)/;
s/NS_UNMOCK\(\s*(\w+)\s*\)/UNMOCK($1)/;
s/TEST_CASE\(\s*(\w+)\s*\)/{ "$1", test_${mod}_$1, TT_FORK, NULL, NULL }/;
s/TEST_CASE_ASPECT\(\s*(\w+)\s*,\s*(\w+)\s*\)/{ "$1_$2", test_${mod}_$1_$2, TT_FORK, NULL, NULL }/;
s/NS_DECL\(\s*([^,]+)\s*,\s*([^,]+)\s*,\s*(\(.*)\);/static $1 ${mod}_${submod}_$2$3;\nATTR_UNUSED static int ${mod}_${submod}_$2_called = 0;/;
s/\bCALLED\(\s*(\w+)\s*\)/${mod}_${submod}_$1_called/;
if (/^$/) {
print if (! $last_was_empty);
$last_was_empty = 1;
} else {
$last_was_empty = 0;
print;
}
if (eof) {
$mod = "NS_MODULE";
$submod = "NS_SUBMODULE";
$last_was_empty = 0;
}
}
# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date: Thu Jan 9 10:26:10 2020 -0500
#
# On branch disable_ns_macro
# Changes to be committed:
# modified: src/test/test_accounting.c
# modified: src/test/test_compat_libevent.c
# modified: src/test/test_dir.c
# modified: src/test/test_dir_handle_get.c
# modified: src/test/test_dns.c
# modified: src/test/test_options.c
# modified: src/test/test_procmon.c
# modified: src/test/test_rendcache.c
# modified: src/test/test_router.c
# modified: src/test/test_routerset.c
# modified: src/test/test_status.c
# modified: src/test/test_tortls.c
# modified: src/test/test_tortls_openssl.c
# modified: src/test/test_util_format.c
# modified: src/test/test_util_process.c
#
# Untracked files:
# experiments/
# locate_options.sh
# un_ns.pl
#
# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date: Thu Jan 9 10:26:10 2020 -0500
#
# On branch disable_ns_macro
# Changes to be committed:
# modified: src/test/test_accounting.c
# modified: src/test/test_compat_libevent.c
# modified: src/test/test_dir.c
# modified: src/test/test_dir_handle_get.c
# modified: src/test/test_dns.c
# modified: src/test/test_options.c
# modified: src/test/test_procmon.c
# modified: src/test/test_rendcache.c
# modified: src/test/test_router.c
# modified: src/test/test_routerset.c
# modified: src/test/test_status.c
# modified: src/test/test_tortls.c
# modified: src/test/test_tortls_openssl.c
# modified: src/test/test_util_format.c
# modified: src/test/test_util_process.c
#
# Untracked files:
# experiments/
# locate_options.sh
# un_ns.pl
#
2020-01-09 11:09:22 -05:00
Nick Mathewson
c9855f23c1
Replace various NS_MODULE/SUBMODULE vals with shorter names.
...
This will help avoid wide lines in our output.
2020-01-09 11:08:18 -05:00
Nick Mathewson
e2fcfc6e52
Put all NS_DECL invocations on single lines.
...
This is going to make my script happier; these lines will soon
disappear.
2020-01-09 10:06:35 -05:00
Nick Mathewson
1ffba2f121
Always define NS_MODULE and NS_SUBMODULE when NS is used.
...
When these macros aren't defined, the expansions of the NS macros
can get particularly ugly.
2020-01-09 09:56:41 -05:00
Nick Mathewson
e45810113b
Merge branch 'pre_formatter_cleanups_squashed'
2020-01-09 07:32:39 -05:00
Nick Mathewson
3ad518cd97
process.h: include stdbool.h
...
We use bool, so we should include stdbool.
2020-01-09 07:30:35 -05:00
Nick Mathewson
ca9d605fa7
conscache.h: declare config_line_t structure.
...
This frees us from a dependency on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
09f03e6e3f
Turn authdir_mode_v3() into a non-inline function
...
This change means that authmode.h no longer needs to see
or_options_t, and frees us from an ordering dependency.
2020-01-09 07:30:35 -05:00
Nick Mathewson
2f7a2c42d2
Include ht.h in all headers that use HT_ENTRY()
...
Without this change, compilation success depends on include order in
several tricky ways.
2020-01-09 07:30:35 -05:00
Nick Mathewson
afa36682f9
consdiffmgr.h: use struct declarations for several types
...
This prevents a dependency on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
06d977b569
hs_circuitmap.h: use a struct declaration
...
This fixes a case where our compilation would depend on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
887bf05c24
routerparse.h: include parsecommon.h when exposing token table.
...
Without this include, our compilation depends more on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
774d1092fd
process.h: add a struct declaration for buf_t.
...
This lets us avoid a dependency on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
dd5dda78f6
timers.h: add declaration for timeval.
...
This frees us from some dependencies on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
25354171b5
lib/conf: include torint.h in files that use it.
...
This frees us from some dependencies on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
8d4b4aa932
control_hs.h: use a couple of struct delcarations
...
Doing this frees us from some assumptions about include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
8b7eeea39d
connection.h: new includes and struct declarations
...
Using these frees us from several dependencies on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
c4ac5adc4a
siphash.h: include stdint.
...
Doing this gives us a valid uint64_t type, freeing us from
dependencies on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
6a6486a7bf
hs_circuit: use struct declaration.
...
This frees us from a dependency on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
d7b8377c28
or_options_st.h: Add an include and a struct declaration.
...
This frees us from some dependencies on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
8bb686d8a0
Include x509.h in tortls_internal.h.
...
This gives us the definition of tor_x509_cert_impl_t, and makes us
less dependent on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
b1dceeca5a
Include sys/types.h in fdio.h, for "off_t".
...
Otherwise our compilation depends on include order.
2020-01-09 07:30:35 -05:00
Nick Mathewson
7b0d8834f2
Use raw_assert in ht.h
...
Also, include torerr.h from ht.h if we are using raw_assert.
Otherwise, our includes need to be ordered so that ht.h comes after
util_log.h.
2020-01-09 07:30:35 -05:00
Nick Mathewson
73b83b8f1a
Remove extra ; from tt_assert() macro definition.
...
We were actually omitting the semicolon in a few places, leading to
confusing indentation and some cocci failures.
2020-01-09 07:30:35 -05:00
Nick Mathewson
3ce2304c6d
Use new ENABLE/DISABLE_GCC_WARNING
...
This is an automated commit, generated by:
perl -i -pe 'next if /define/; s/((?:ENABLE|DISABLE)_GCC_WARNING)\(([A-Za-z0-9_\-]+)\)/$1(\"-W$2\")/' src/*/*/*.[ch] src/*/*.[ch]
2020-01-09 07:30:35 -05:00
Nick Mathewson
792e5b2403
Replace DISABLE/ENABLE_GCC_WARNING with something that will confuse clang-format less
2020-01-09 07:30:35 -05:00
Nick Mathewson
a48cb9fa43
core/include.am: spelling fix
2020-01-08 20:50:02 -05:00
Nick Mathewson
4f02812242
It's 2020. Update the copyright dates with "make update-copyright"
2020-01-08 18:39:17 -05:00
Nick Mathewson
2d27a3ecc0
Run "make autostyle"; add an endif comment
2020-01-08 18:38:24 -05:00
teor
a58cffe195
router: Improve port search function comments
2020-01-08 17:47:08 +10:00
Roger Dingledine
81fd8aad24
speaking of utf-8, remove strange char from comment
2020-01-07 18:25:17 -05:00
Nick Mathewson
e231cd5b61
Merge branch 'ticket32845_squashed'
2020-01-07 10:16:15 -05:00
teor
0e3fd4df99
string: Check UTF-8 string pointer and length
...
If they are inconsistent, output a raw bug log.
Part of 32845.
2020-01-07 10:16:08 -05:00
Nick Mathewson
17a1ae025a
Merge remote-tracking branch 'tor-github/pr/1640'
2020-01-07 08:59:31 -05:00
Nick Mathewson
c48068ece3
test_helpers: add a missing free for CID 1457527.
2020-01-07 08:22:02 -05:00
Nick Mathewson
f2aeaaf71d
Add new state to connection_proxy_state_to_string()
...
Also, add a CTASSERT() to make sure that we don't let this array get
out-of-sync again.
Found by coverity; this is CID 1457528.
2020-01-07 08:09:27 -05:00
teor
d62dbb6762
string: Add extra UTF-8 test cases
...
These test cases are validated differently by some
programming languages, because those languages have
incorrect UTF-8 implementations.
We want to make sure that tor validates them correctly.
Closes ticket 32845.
2020-01-07 17:05:48 +10:00
Neel Chauhan
ee015d36f8
Space the a-d unsigned ints in tor_inet_aton()
2020-01-06 20:20:38 -08:00
Nick Mathewson
1b63eea66c
Merge branch 'haxxpop/tcp_proxy_squashed' into tcp_proxy_squshed_and_merged
2020-01-06 13:41:20 -05:00
Suphanat Chunhapanya
4264717ca3
test: HTTP CONNECT protocol
2020-01-06 13:39:10 -05:00
Suphanat Chunhapanya
de58a49a2d
test: HAPRoxy protocol
2020-01-06 13:39:10 -05:00
Suphanat Chunhapanya
41b9dca07b
test: Implement haproxy
2020-01-06 13:39:10 -05:00
Suphanat Chunhapanya
119004e87d
circuit: Implement haproxy
2020-01-06 13:39:10 -05:00
Nick Mathewson
1f498220bd
Merge remote-tracking branch 'tor-github/pr/1620'
2020-01-06 13:28:10 -05:00
Nick Mathewson
48f7341783
Merge branch 'maint-0.4.2'
2020-01-06 13:24:01 -05:00
Nick Mathewson
6da989cfe8
Merge remote-tracking branch 'tor-github/pr/1612' into maint-0.4.2
2020-01-06 13:20:57 -05:00
Nick Mathewson
4f6901d7cc
When initializing pthreads, always set the main thread.
...
Fixes bug 32884. This is a bugfix on 0.3.3.1-alpha, when we started
allowing restart-in-process with tor_api.h.
2020-01-06 09:37:12 -05:00
Nick Mathewson
b6f099672b
Make ntmain.h functions stubs when NT_SERVICE not enabled.
...
This lets us simplify main.c a little, and avoid a practracker
exception.
Followup from #32883 .
2020-01-06 09:25:23 -05:00
Nick Mathewson
5c240db0bf
Restore feature where nt-services detect non-"run_tor" modes.
...
Followup for #32883 .
2020-01-06 09:25:23 -05:00
Nick Mathewson
54eec5342d
Initialize publish/subscribe code when running as an NT service.
...
Fixes bug 32778; bugfix on 0.4.1.1-alpha.
2020-01-06 09:22:57 -05:00
Nick Mathewson
13216f848a
Merge branch 'maint-0.4.2'
2020-01-06 08:08:59 -05:00
Nick Mathewson
16e94dc7a7
Merge branch 'maint-0.4.1' into maint-0.4.2
2020-01-06 08:06:54 -05:00
Peter Gerber
b9d81282e0
Fix sandbox crash during reload of logging configuration
...
Allow calls to dup() which was introduced in commit a22fbab986
.
From a security perspective, I don't think this should impact the
security of the sandbox significantly. As far as I can tell, there
is nothing an adversary can do with a duplicated FD that can't be
done with the original.
2020-01-05 15:24:45 +00:00
Neel Chauhan
b062e0f0a4
Fix spacing in tor_sscanf() call in tor_inet_aton()
2019-12-20 14:11:03 -05:00
Neel Chauhan
01c6fde326
Fix spacing in tor_inet_aton() function header
2019-12-20 14:10:43 -05:00
Nick Mathewson
5c6fc5250e
test_util: remove UTIL_LEGACY_NO_WIN.
...
It was only used in one place.
2019-12-20 09:57:52 -05:00
Hans-Christoph Steiner
a96317a79d
Android: skip tests that check UNIX user account setup
...
* there is no ~ or HOME in Android
* UIDs and GIDs in Android represent apps, not users, and Android apps
cannot ever change UIDs
This should be replaced by whatever @nmathewson wants to name this stuff:
https://github.com/torproject/tor/pull/1436
2019-12-20 09:53:16 -05:00
Nick Mathewson
33a0f15b21
Merge branch 'bug29819_035'
2019-12-20 07:37:47 -05:00
teor
8c23ac4ae7
Replace several C identifiers.
...
This is an automated commit, generated by this command:
./scripts/maint/rename_c_identifier.py \
EXPOSE_CLEAN_BACKTRACE BACKTRACE_PRIVATE \
TOR_CHANNEL_INTERNAL_ CHANNEL_OBJECT_PRIVATE \
CHANNEL_PRIVATE_ CHANNEL_FILE_PRIVATE \
EXPOSE_ROUTERDESC_TOKEN_TABLE ROUTERDESC_TOKEN_TABLE_PRIVATE \
SCHEDULER_PRIVATE_ SCHEDULER_PRIVATE
2019-12-20 13:27:58 +10:00
teor
cd160291a7
Code Style: Delete headers that are included twice
...
These changes were created using the "make autostyle" from
32522, and then split into commits.
2019-12-20 09:53:31 +10:00
teor
d8b868e483
Code Style: Delete PRIVATE defines that are never used
...
Some ".c" files define *_PRIVATE macros, but those macros are
not used in any header file. Delete them.
These changes were created using the "make autostyle" from
32522, and then split into commits.
2019-12-20 09:50:50 +10:00
teor
57b6678d52
Run "make autostyle"
2019-12-20 09:45:53 +10:00
Nick Mathewson
1bdbb4e9eb
Change conf_examples test for ConsensusParams option.
2019-12-19 12:09:03 -05:00
Nick Mathewson
42e31b5c45
Mark TestingEstimatedDescriptorPropagationTime as obsolete.
...
We stopped looking at this option in 85cf6dcba3
, back when we
implemented the minimal pieces of prop275. Since then, we've had
code to validate and adjust this option, and to give it a different
value in testing networks, but the option hasn't actually done
anything.
We can safely mark it as OBSOLETE, since doing so does not make any
old configuration get rejected.
Closes ticket 32807.
2019-12-19 11:04:48 -05:00
Nick Mathewson
3210598c30
Move TestingDirVote{Exit,Guard,HSdir}{,IsStrict} to dirauth module
2019-12-19 10:42:44 -05:00
Nick Mathewson
87f7c2d018
Correct the type for config_decl_ROUTERSET
...
This needs to be a point so that the CONF_VAR() macro can work
correctly.
2019-12-19 10:42:10 -05:00
Nick Mathewson
3739503404
Move TestingMin{Exit,Fast}FlagThreshold to dirauth module.
2019-12-19 10:14:09 -05:00
Nick Mathewson
cde5abfdc6
Move TestingDirAuthTimeToLearnReachability into dirauth module.
2019-12-19 10:08:22 -05:00
Nick Mathewson
be9bc5981f
Move MinMeasuredBWsForAuthToIgnoreAdvertised to dirauth module.
2019-12-19 09:51:11 -05:00
Nick Mathewson
0c7fd83123
Move ConsensusParams to dirauth module.
2019-12-19 09:46:14 -05:00
Nick Mathewson
77dea66e19
Move MinUptimeHidServDirectoryV2 to dirauth module.
2019-12-19 09:43:25 -05:00
Nick Mathewson
b1d029b9a1
Move AuthDirTestEd25519LinkKeys to the dirauth module.
2019-12-19 09:38:25 -05:00
Nick Mathewson
f4f70e1f13
Move AuthDirSharedRandomness to dirauth module.
2019-12-19 09:34:27 -05:00
Nick Mathewson
99874ecc1d
Move AuthDirPinKeys to dirauth module.
2019-12-19 09:34:18 -05:00
Nick Mathewson
9386b0b28a
Move AuthDirListBadExits to dirauth module.
2019-12-19 09:24:57 -05:00
Nick Mathewson
eedab30a7b
Move AuthDirHasIPv6Connectivity into dirauth module.
2019-12-19 09:19:02 -05:00
Nick Mathewson
bc0f1076d5
Move get_foo_options() test helpers into a new test module.
...
Some of these helpers will be needed in multiple places in the unit
tests, so we should move them now.
2019-12-19 09:19:02 -05:00
Nick Mathewson
7d5e360c3b
Move BW-guarantee options in to dirauth module.
2019-12-19 08:57:47 -05:00
Nick Mathewson
ea91edff15
Dirauth options: move versioning options to dirauth module
...
This commit moves VersioningAuthoritativeDirectory,
RecommendedClientVersions, and RecommendedServerVersions.
2019-12-19 08:57:47 -05:00
Nick Mathewson
a6ba56761b
Merge branch 'dirauth_config_squashed'
2019-12-19 07:55:06 -05:00
Nick Mathewson
13df744921
Declare relay/dirauth subsystem levels in a header.
...
This way, we can't get out of sync between the two declarations.
2019-12-19 07:54:56 -05:00
Nick Mathewson
8d474e4dc5
Add an integration test for options disabled by dirauth subsystem.
2019-12-19 07:54:56 -05:00
Nick Mathewson
ffa3499d81
Add config object for dirauth; move one option there.
...
I've chosen the "AuthDirMaxServersPerAddr" option here for
simplicity, since it is used literally nowhere else besides the dirauth
module. Once we have all the infrastructure in place for this, we
can move more options into this structure.
2019-12-19 07:54:56 -05:00
Nick Mathewson
419ba97df5
Allow struct_magic to be disabled.
...
When a subsystem is disabled, there will be no corresponding object
allocated, and no magic numbers on it.
2019-12-19 07:54:56 -05:00
Nick Mathewson
9082a6db3f
Support a flag to indicate that a config var is disabled
...
Like "obsolete" variables, these variables produce a warning when
you try to set them, but the warning says that the relevant module
doesn't have support.
The confdecl macros now have a CONF_CONTEXT that you can define to
make all the modules in a given table disabled.
2019-12-19 07:54:56 -05:00
Nick Mathewson
5e2318165d
Add "stub" files for disabled modules.
...
These modules are only built when the selected modules are disabled.
The provide stub implementations of the subsystem blocks. Later,
other stub implementations could move here.
Having real subsystem blocks here will let us handle disabled
configuration options better.
2019-12-19 07:54:56 -05:00
George Kadianakis
b7304027f6
Merge branch 'tor-github/pr/1587'
2019-12-18 14:19:15 +02:00
Nick Mathewson
08bfc2d71a
Merge branch 'ticket32172_once_again'
2019-12-17 15:02:06 -05:00
Peter Gerber
0d64bafcfe
Correct how we use libseccomp
...
This fixes a startup crash with libseccomp v2.4.0 if Sandbox is
set to 1.
2019-12-17 09:47:28 -05:00
Nick Mathewson
5f9808d1d7
Merge remote-tracking branch 'tor-github/pr/1596'
2019-12-17 09:39:50 -05:00
David Goulet
47d69d981e
Merge branch 'tor-github/pr/1608'
2019-12-17 09:30:19 -05:00
Nick Mathewson
b4977d1aa9
Fix formatting in tor_assertf() message in struct_check_magic().
...
Closes 32771; bugfix on 0.4.2.1-alpha.
2019-12-16 15:31:23 -05:00
Nick Mathewson
df5c81fec0
Merge branch 'bug32765_041' into bug32771_042
2019-12-16 15:27:18 -05:00
Nick Mathewson
1b619a627c
Use CHECK_PRINTF() for printf-like functions in util_bug.h
2019-12-16 15:14:13 -05:00
Neel Chauhan
ec35593e42
Compact lines in test_e2e_rend_circuit_setup()
2019-12-16 14:26:12 -05:00
Neel Chauhan
f684fd79e9
Remove extra space from helper_get_circ_and_stream_for_test() call in test_e2e_rend_circuit_setup()
2019-12-16 14:19:55 -05:00
teor
648399d6c2
Merge remote-tracking branch 'tor-github/pr/1505'
2019-12-16 08:15:19 +10:00
Nick Mathewson
1d0ccda595
Add torint.h include to confdecl.h.
...
This change allows other modules to include confdecl.h without
having first to include integer types they might not even use.
2019-12-15 11:46:05 -05:00
teor
0bb879e821
src/ext: Add __future__ imports for python 3 compatibility
...
Closes ticket 32732.
2019-12-12 15:59:47 +10:00
teor
1619f14a04
python: Add __future__ imports for python 3 compatibility
...
Except for src/ext, which we may not want to modify.
Closes ticket 32732.
2019-12-12 15:58:51 +10:00
Taylor Yu
0fd49c6663
Document high-level architecture goals
...
Create a high-level description of the long-term software architecture
goals. Closes ticket 32206.
2019-12-10 16:47:38 -06:00
Hans-Christoph Steiner
4d4cbf739f
set up tmp dir for test suite to run on Android
...
There is no /tmp or mkdtemp on Android, there is /data/local/tmp for
root and the shell user. So this fakes mkdtemp. Also, FYI, tor might
not like the default perms of /data/local/tmp, e.g. 0770.
https://trac.torproject.org/projects/tor/ticket/32172
2019-12-10 15:55:40 -05:00
Neel Chauhan
a8b5b9a1bc
In cancel_descriptor_fetches(), use connection_list_by_type_purpose() instead of connection_list_by_type_state()
2019-12-10 12:00:38 -05:00
George Kadianakis
a38014e5c6
Merge branch 'tor-github/pr/1581'
2019-12-10 18:34:00 +02:00
David Goulet
fc32349adc
hs-v3: Handle client rendezvous circuit timeout
...
With v3, the "pending_final_cpath" of a circuit is always NULL which means
that for v3, established client rendezvous circuit waiting for the intro point
to ACK, will always end up timing out quickly.
This can increase the delays to which you connect to a service since in order
to succeed, the rendezvous circuit needs to fully established
(CIRCUIT_PURPOSE_C_REND_JOINED) within the cutoff of the introduction circuit
as well which is these days around 2-3 seconds.
Fixes #32021
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-12-10 18:33:48 +02:00
David Goulet
71767b06ae
Merge branch 'tor-github/pr/1583'
2019-12-10 09:42:09 -05:00
George Kadianakis
c959ea7558
hs-v3: Fix memory leak in test_hs_control_store_permanent_creds()
2019-12-10 09:42:05 -05:00
Nick Mathewson
b7d18f8610
bump to 0.4.2.5-dev
2019-12-09 16:03:31 -05:00
Nick Mathewson
7174a80edd
bump to 0.4.1.7-dev
2019-12-09 16:02:36 -05:00
Nick Mathewson
b9504f788c
Bump version to 0.4.0.6-dev
2019-12-09 16:01:56 -05:00
Nick Mathewson
0c4f0ec977
bump to 0.3.5.9-dev
2019-12-09 16:01:11 -05:00
Taylor Yu
bfe38878b2
Rename control_reply_add_1kv
...
Part of ticket 30984.
2019-12-09 09:55:04 -06:00
Taylor Yu
9b196f1563
simplify getinfo using reply lines
...
Simplify handle_control_getinfo() by using the new reply lines
abstraction. Previously, this function explicitly checked for whether
it should generate a MidReplyLine, a DataReplyLine, or an
EndReplyLine. control_write_reply_lines() now abstracts this check.
Part of #30984 .
2019-12-08 22:40:00 -06:00
Taylor Yu
a08f43ba04
use control reply lines for protocolinfo
...
Simplify handle_control_protocolinfo() by using the new reply line
abstraction.
Part of #30984 .
2019-12-08 22:40:00 -06:00
Taylor Yu
2143bae6c4
refactor handle_control_protocolinfo
...
Factor out the parts of handle_control_protocolinfo() that assemble
the AUTHMETHODS and COOKIEFILE strings.
Part of #30984 .
2019-12-08 22:40:00 -06:00
Taylor Yu
c744d23c8d
simplify getconf by using reply lines
...
In handle_control_getconf(), use the new control reply line
abstraction to simplify output generation. Previously, this function
explicitly checked for whether it should generate a MidReplyLine or an
EndReplyLine. control_write_reply_lines() now abstracts this check.
Part of #30984 .
2019-12-08 22:40:00 -06:00
Taylor Yu
1a68a18093
reply lines structures
...
Part of #30984 .
2019-12-08 22:40:00 -06:00
Taylor Yu
1e8bb79bbe
add KV_RAW to kvline.c
...
Add the KV_RAW flag to kvline_encode(). This allows generation of
output that is compatible with some quirks of the control protocol.
Part of #30984 .
2019-12-08 17:09:43 -06:00
Taylor Yu
4b22c739fe
clean up kvline_can_encode_lines()
...
Add a check for '=' characters in needs_escape(). This simplifies the
logic in kvline_can_encode_lines().
Part of #30984 .
2019-12-08 17:09:42 -06:00
Nick Mathewson
089466eff3
Merge branch 'maint-0.4.2'
2019-12-06 16:02:08 -05:00
Nick Mathewson
3248630fc8
Merge branch 'maint-0.4.1' into maint-0.4.2
2019-12-06 16:02:08 -05:00
Nick Mathewson
6513102b9d
Merge branch 'maint-0.4.0' into maint-0.4.1
2019-12-06 16:02:08 -05:00
Nick Mathewson
c7ca3fc186
Merge branch 'maint-0.3.5' into maint-0.4.0
2019-12-06 16:02:07 -05:00
Nick Mathewson
74cae547e5
Merge branch 'maint-0.2.9' into maint-0.3.5
2019-12-06 16:02:07 -05:00
Karsten Loesing
b7b467d3af
Update geoip and geoip6 to the December 3 2019 database.
2019-12-06 11:50:35 +01:00
Nick Mathewson
0a33522b62
Bump to 0.4.2.5
2019-12-05 13:32:30 -05:00
Nick Mathewson
8933c7908d
bump version to 0.4.1.7
2019-12-05 13:31:46 -05:00
Nick Mathewson
e66533befa
Bump to 0.4.0.6
2019-12-05 13:31:01 -05:00
Nick Mathewson
c53567c36f
Bump version to 0.3.5.9
2019-12-05 13:29:49 -05:00
teor
cfa9cc34aa
Merge branch 'maint-0.4.0' into maint-0.4.1
2019-12-05 10:14:01 +10:00
teor
92fb099067
Merge branch 'maint-0.3.5' into maint-0.4.0
2019-12-05 10:13:53 +10:00
teor
46057ec5ae
Merge remote-tracking branch 'tor-github/pr/1424' into maint-0.4.0
2019-12-05 10:13:15 +10:00
teor
aee966cb06
Merge remote-tracking branch 'tor-github/pr/1277' into maint-0.3.5
2019-12-05 10:11:18 +10:00
Nick Mathewson
fcb5656128
Merge branch 'ticket32609_squashed'
2019-12-04 12:15:28 -05:00
teor
9ad569c71d
practracker: Add missing .may_include files
...
All of these files contain "*.h", except for:
* src/app/config/.may_include
* src/test/.may_include
which also contain "*.inc".
This change prevents includes of "*.c" files, and other
unusually named files.
Part of 32609.
2019-12-04 12:15:22 -05:00
George Kadianakis
2693bf47e8
control-port: Include HS address in ONION_CLIENT_AUTH_VIEW reply.
2019-12-04 13:33:07 +02:00
David Goulet
3b64c6b6fc
hs-v3: Fix NULL deref. in hs_circ_service_get_established_intro_circ()
...
Found by Stem regression tests. Reported by atagar.
Fixes #32664
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-12-03 10:11:42 -05:00
David Goulet
65759f2901
Merge branch 'tor-github/pr/1563'
2019-12-03 09:22:21 -05:00
George Kadianakis
12305b6bb6
hsv3: ONION_CLIENT_AUTH_REMOVE now also removes the credential file.
2019-12-03 09:22:17 -05:00
George Kadianakis
8ed8707f0a
hsv3: Abstract parts of hs_config_client_authorization() into func.
...
Now we have a function that reads a file and returns a credential. We need that
for the REMOVE control port command.
2019-12-03 09:22:17 -05:00