Nick Mathewson
6d84972eb8
Add a function to schedule a periodic event once, then disable it
2018-11-15 11:17:22 -05:00
Nick Mathewson
2070765c7c
Use macros to make the periodic event table less verbose.
2018-11-15 11:17:22 -05:00
teor
44ced9b750
Merge branch 'bug28096-029-squashed' into bug28096-035-squashed
...
Move the get_uname() changes from src/common/compat.c to
src/lib/osinfo/uname.c
2018-11-15 12:23:29 +10:00
teor
2fbc58cf07
Windows: fix uname on recent Windows versions
...
Correctly identify Windows 8.1, Windows 10, and Windows Server 2008
and later from their NT versions.
On recent Windows versions, the GetVersionEx() function may report
an earlier Windows version than the running OS. To avoid user
confusion, add "[or later]" to Tor's version string on affected
versions of Windows.
Remove Windows versions that were never supported by the
GetVersionEx() function.
Stop duplicating the latest Windows version in get_uname().
Fixes bug 28096; bugfix on 0.2.2.34; reported by Keifer Bly.
2018-11-15 12:19:11 +10:00
Nick Mathewson
12175987fc
Merge branch 'maint-0.3.5'
2018-11-14 15:43:49 -05:00
Nick Mathewson
d598d834f5
Merge branch 'ticket27750_034_01_squashed' into maint-0.3.5
2018-11-14 15:43:46 -05:00
David Goulet
c99f220f78
conn: Close the read side of a closing connection when write limit is reached
...
In conn_close_if_marked(), we can decide to keep a connection open that still
has data to flush on the wire if it is being rate limited on the write side.
However, in this process, we were also looking at the read() side which can
still have token in its bucket and thus not stop the reading. This lead to a
BUG() introduced in 0.3.4.1-alpha that was expecting the read side to be
closed due to the rate limit but which only applies on the write side.
This commit removes any bandwidth check on the read side and simply stop the
read side on the connection regardless of the bucket state. If we keep the
connection open to flush it out before close, we should not read anything.
Fixes #27750
Signed-off-by: David Goulet <dgoulet@torproject.org>
2018-11-14 15:42:52 -05:00
Nick Mathewson
cec58ae55c
Merge branch 'maint-0.3.5'
2018-11-14 07:56:52 -05:00
Nick Mathewson
a58b19465d
Merge remote-tracking branch 'teor/bug28441-035' into maint-0.3.5
2018-11-14 07:56:48 -05:00
Nick Mathewson
3deb01e1a4
Merge branch 'maint-0.3.5'
2018-11-14 07:55:07 -05:00
Nick Mathewson
eba989bf0e
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-11-14 07:55:07 -05:00
Nick Mathewson
1043532a51
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-14 07:55:07 -05:00
Nick Mathewson
db3acb3aa3
Work around check-spaces.
2018-11-14 07:54:57 -05:00
Martin Kepplinger
7ba1f39116
libtorrunner: fix memory leak in child() error path
...
This avoids leaking memory in case libtorrunner's child() function fails.
2018-11-14 07:49:51 -05:00
Nick Mathewson
586c3a7c90
Merge branch 'maint-0.3.5'
2018-11-14 07:42:56 -05:00
teor
16ca6fdfdb
log: stop talking about the Named flag in log messages
...
Clients have ignored the Named flag since 0.3.2.
Fixes bug 28441; bugfix on 0.3.2.1-alpha.
2018-11-14 18:16:34 +10:00
teor
9daf06d171
comment: circuit_list_path_impl() does not check Named any more
2018-11-14 18:06:14 +10:00
teor
a7aa3f76ec
comment: Fix a typo in nodes_in_same_family()
2018-11-14 18:06:05 +10:00
Nick Mathewson
a6a7a1f3ed
Merge branch 'maint-0.3.5'
2018-11-13 16:48:26 -05:00
Nick Mathewson
021187f915
Merge branch 'bug28183_029' into maint-0.3.5
2018-11-13 16:48:21 -05:00
David Goulet
342f2b1873
Merge branch 'tor-github/pr/501'
2018-11-13 10:48:23 -05:00
David Goulet
8fb318860e
Merge branch 'maint-0.3.5'
2018-11-13 10:43:03 -05:00
David Goulet
6f2151be9a
Merge branch 'tor-github/pr/487' into maint-0.3.5
2018-11-13 10:37:25 -05:00
Neel Chauhan
ec93385cb2
Comment for rend_cache_failure in feature/rend/rendcache.c: "usuable" should be "usable"
2018-11-13 10:33:51 -05:00
Nick Mathewson
42be1c668b
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-13 08:27:29 -05:00
Nick Mathewson
d000e798ac
Merge branch 'maint-0.3.5'
2018-11-13 08:27:29 -05:00
Nick Mathewson
ae4c94bb64
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-11-13 08:27:29 -05:00
Nick Mathewson
54d1a2d805
Merge branch 'maint-0.2.9' into maint-0.3.3
2018-11-13 08:27:17 -05:00
Nick Mathewson
1a11702a9a
Fix a compiler warning in aes.c.
...
Apparently some freebsd compilers can't tell that 'c' will never
be used uninitialized.
Fixes bug 28413; bugfix on 0.2.9.3-alpha when we added support for
longer AES keys to this function.
2018-11-12 15:39:28 -05:00
Nick Mathewson
0e5378feec
seccomp2: Add "shutdown" to the list of permitted system calls.
...
We don't use this syscall, but openssl apparently does.
(This syscall puts a socket into a half-closed state. Don't worry:
It doesn't shut down the system or anything.)
Fixes bug 28183; bugfix on 0.2.5.1-alpha where the sandbox was
introduced.
2018-11-12 08:23:58 -05:00
Nick Mathewson
1fce9d1296
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-11 18:05:45 -05:00
Nick Mathewson
d1e9285b1d
Merge branch 'maint-0.3.5'
2018-11-11 18:05:45 -05:00
Nick Mathewson
896d0ebb99
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-11-11 18:05:45 -05:00
Nick Mathewson
93b6d41374
Merge branch 'maint-0.2.9' into maint-0.3.3
2018-11-11 18:05:45 -05:00
Nick Mathewson
46796623f9
Fix a bug in usage of SSL_set1_groups_list()
...
Apparently, even though the manpage says it returns an int, it
can return a long instead and cause a warning.
Bug not in any released Tor. Part of #28399
2018-11-11 18:03:50 -05:00
rl1987
100136ca86
Create new periodic event for pruning old info about Tor routers
2018-11-11 20:31:24 +02:00
Nick Mathewson
e27dff08a3
Merge branch 'maint-0.3.5'
2018-11-11 11:57:54 -05:00
Nick Mathewson
6b2ff4fff8
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-11 11:57:53 -05:00
Nick Mathewson
76ed869ff9
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-11-11 11:57:53 -05:00
Nick Mathewson
d0c3723c38
Merge branch 'maint-0.2.9' into maint-0.3.3
2018-11-11 11:57:52 -05:00
Karsten Loesing
5ba3d09a89
Update geoip and geoip6 to the November 6 2018 database.
2018-11-11 11:25:59 +01:00
Nick Mathewson
91355c0fac
Annotate subsystem list with their levels.
2018-11-09 22:17:18 -05:00
Nick Mathewson
bf4f55a13d
Merge branch 'subsystems'
2018-11-09 15:01:49 -05:00
Nick Mathewson
60d1081236
Log before performing a subsystem operation
2018-11-09 11:56:26 -05:00
Nick Mathewson
ba722e4799
Add list of levels in subsystem_list.c
2018-11-09 11:15:27 -05:00
Nick Mathewson
c6336727ca
Rename subsystem callback functions to make them consistent
2018-11-09 11:12:12 -05:00
Nick Mathewson
e80595f562
fixup! Make initialization for the "err" library into a subsystem.
...
Check for failure to install backtrace handler.
2018-11-09 11:00:31 -05:00
Nick Mathewson
61695e3d62
Document that subsystem callbacks are optional.
2018-11-09 10:58:20 -05:00
Nick Mathewson
4fe4bcf8a1
Explain that configuration should happen elsewhere, but not init.
2018-11-09 10:55:18 -05:00
Nick Mathewson
5d73f87ced
Merge branch 'maint-0.3.5'
2018-11-09 10:49:48 -05:00
Nick Mathewson
591a189fa4
Merge branch 'maint-0.3.3' into maint-0.3.4
2018-11-09 10:49:47 -05:00
Nick Mathewson
2ac2d0a426
Merge branch 'maint-0.3.4' into maint-0.3.5
2018-11-09 10:49:47 -05:00
Nick Mathewson
c06b7f090c
Merge branch 'maint-0.2.9' into maint-0.3.3
2018-11-09 10:49:47 -05:00
Nick Mathewson
1ba1a1ceca
Always declare groups when building with openssl 1.1.1 APIs
...
Failing to do on clients was causing TLS 1.3 negotiation to fail.
Fixes bug 28245; bugfix on 0.2.9.15, when we added TLS 1.3 support.
2018-11-09 10:10:25 -05:00
Nick Mathewson
6560346a45
Bump version to 0.3.5.4-alpha-dev.
2018-11-08 09:00:59 -05:00
Nick Mathewson
8e3bae566a
Merge branch 'maint-0.3.5'
2018-11-07 16:27:26 -05:00
Nick Mathewson
212bd9778b
Make the hibernate.c changes for systemd compile.
2018-11-07 16:27:20 -05:00
Nick Mathewson
f229c4e66a
Bump to 0.3.5.4-alpha
2018-11-07 14:40:26 -05:00
Nick Mathewson
c7b6ed1d80
Merge remote-tracking branch 'tor-github/pr/271'
2018-11-07 11:21:13 -05:00
Roger Dingledine
6e828ced56
simplify now that it uses tor's copyright and license
2018-11-07 11:02:26 -05:00
Nick Mathewson
9e48d9a920
Change version on master to 0.4.0.0-alpha-dev.
2018-11-07 10:54:03 -05:00
Nick Mathewson
9807da9c20
Merge branch 'ticket27225_squashed'
2018-11-07 10:47:29 -05:00
Nick Mathewson
6d93820499
Memoize summarize_protover_flags()
...
Our tests showed that this function is responsible for a huge number
of our malloc/free() calls. It's a prime candidate for being
memoized.
Closes ticket 27225.
2018-11-07 10:47:07 -05:00
Nick Mathewson
a7a060a637
Switch ctassert.h to 3bsd (with permission)
2018-11-07 10:37:02 -05:00
Neel Chauhan
f89f14802e
At intro points, don't close circuits on NACKs
2018-11-06 17:04:08 -05:00
Nick Mathewson
770653ff45
Allow lib/cc to include its own files.
2018-11-06 16:59:39 -05:00
Nick Mathewson
d9508d8ede
Change copyright statement (with permission)
2018-11-06 15:42:18 -05:00
Nick Mathewson
6b706bcf19
Remove a tab.
2018-11-06 15:41:32 -05:00
Nick Mathewson
3c9dd9ef2d
Add parentheses to the ctassert macro expansions
2018-11-06 15:41:14 -05:00
Nick Mathewson
e69a4ad6b3
Add a user of CTASSERT().
2018-11-06 15:39:58 -05:00
Taylor R Campbell
1a6060fa42
New macro CTASSERT(condition) to assert condition at compile-time.
...
To get it, use: #include "lib/cc/ctassert.h"
2018-11-06 15:36:58 -05:00
Nick Mathewson
c8892b53ec
Merge remote-tracking branch 'tor-github/pr/466'
2018-11-06 15:35:45 -05:00
Nick Mathewson
8020d6fb05
Merge remote-tracking branch 'tor-github/pr/464'
2018-11-06 15:33:25 -05:00
Nick Mathewson
ba28704b29
Merge branch 'maint-0.3.5'
2018-11-06 15:22:11 -05:00
Nick Mathewson
c60f3ea607
Merge remote-tracking branch 'tor-github/pr/474' into maint-0.3.5
2018-11-06 15:21:45 -05:00
Nick Mathewson
bb9044381e
Merge branch 'maint-0.3.5'
2018-11-06 15:20:01 -05:00
Nick Mathewson
8a5590ebac
Merge remote-tracking branch 'tor-github/pr/484' into maint-0.3.5
2018-11-06 15:19:04 -05:00
Nick Mathewson
bcba6a4918
Merge branch 'maint-0.3.5'
2018-11-06 15:17:52 -05:00
Kris Katterjohn
daaa2751ed
Include sys/time.h in timers.c and time_fmt.c
...
This fixes compilation on OpenBSD.
Signed-off-by: Kris Katterjohn <katterjohn@gmail.com>
2018-11-06 15:15:22 -05:00
Roger Dingledine
3a2cb83685
refuse to start with relative paths + RunAsDaemon
...
Resume refusing to start with relative file paths and RunAsDaemon
set (regression from the fix for bug 22731).
Fixes bug 28298; bugfix on 0.3.3.1-alpha.
2018-11-06 15:50:56 +01:00
Nick Mathewson
313b5b956c
Merge branch 'maint-0.3.5'
2018-11-06 09:16:25 -05:00
Nick Mathewson
9431d35074
Merge branch 'bug28348_034' into bug28348_035
2018-11-06 07:42:55 -05:00
Nick Mathewson
2aff02eb3d
Actually disable NEED_NET periodic events when DisableNetwork is set
...
Fixes bug 28348; bugfix on 0.3.4.1-alpha
2018-11-06 07:40:02 -05:00
Nick Mathewson
32b23a4c40
Make tortls use the subsystems interface
...
This one only needs a shutdown right now.
2018-11-05 09:22:02 -05:00
Nick Mathewson
019a044e5e
Turn "compress" into a subsystem.
2018-11-05 09:22:02 -05:00
Nick Mathewson
207253df8d
Move monotonic time setup into a subsystem
2018-11-05 09:22:02 -05:00
Nick Mathewson
cad61f0f6d
Move prefork, postfork, and thread-exit hooks into subsys
...
So far, crypto is the only module that uses them, but others are
likely to do so in the future.
2018-11-05 09:22:02 -05:00
Nick Mathewson
50436ccea4
Add crypto module as a subsystem.
2018-11-05 09:22:02 -05:00
Nick Mathewson
cfe5b35edb
Move networking startup/cleanup logic into a subsystem.
2018-11-05 09:22:02 -05:00
Nick Mathewson
05b54f6a6a
Use subsystems manager for subsystems used in tests.
2018-11-05 09:22:02 -05:00
Nick Mathewson
a0ee54549f
Turn the wallclock module into a subsystem.
...
(This may be slightly gratuitous.)
2018-11-05 09:22:02 -05:00
Nick Mathewson
d3e4afcc9b
Turn the logging code into a subsystem
2018-11-05 09:22:02 -05:00
Nick Mathewson
b8c50eabfe
Add a subsystem for our threading support
2018-11-05 09:22:02 -05:00
Nick Mathewson
178c1821b2
Make the windows process parameter initialization a subsystem
...
Also, move it from "main" into lib/process
2018-11-05 09:22:02 -05:00
Nick Mathewson
175153a329
Make initialization for the "err" library into a subsystem.
2018-11-05 09:22:02 -05:00
Nick Mathewson
6e7ff8cba0
Move the code that knows our tor version into a lowest-level lib
2018-11-05 09:22:02 -05:00
Nick Mathewson
7bb76b24cf
Code to manage the list of subsystems.
2018-11-05 09:22:02 -05:00
Neel Chauhan
45b28167d7
In count_acceptable_nodes(), count direct and indirect nodes with node_has_preferred_descriptor()
2018-11-05 08:26:02 -05:00
Alex Xu (Hello71)
0d6d3e1f26
Notify systemd of ShutdownWaitLength
2018-11-05 11:46:28 +10:00
Nick Mathewson
674ef53a7e
Add a warning if we can't write networkstatus-bridges
...
Fixes CID 1440818.
2018-11-02 13:32:43 -04:00