Age | Commit message (Collapse) | Author |
|
|
|
Sometimes when we call exit(), it's because the process is
completely hopeless: openssl has a broken AES-CTR implementation, or
the clock is in the 1960s, or something like that.
But sometimes, we should return cleanly from tor_main() instead, so
that embedders can keep embedding us and start another Tor process.
I've gone through all the exit() and _exit() calls to annotate them
with "exit ok" or "XXXX bad exit" -- the next step will be to fix
the bad exit()s.
First step towards 23848.
|
|
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
There are two reasons this is likeliest to happen -- no kernel
support, and some bug in Tor. We'll ask people to check the former
before they report. Closes 23090.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes bug 20247. We started setting V6ONLY in 0.2.3.13-alpha and
added the sandbox on 0.2.5.1-alpha.
|
|
Fixes #22750.
|
|
This patch fixes a crash in our LZMA module where liblzma will allocate
slightly more data than it is allowed to by its limit, which leads to a
crash.
See: https://bugs.torproject.org/22751
|
|
|
|
|
|
Fixes bug 22516; bugfix on 0.2.5.4-alpha.
|
|
|
|
|
|
Increase the maximum allowed size passed to mprotect(PROT_WRITE)
from 1MB to 16MB. This was necessary with the glibc allocator
in order to allow worker threads to allocate more memory --
which in turn is necessary because of our new use of worker
threads for compression.
Closes ticket #22096. Found while working on #21648.
|
|
We hadn't needed this before, because most getpid() callers on Linux
were looking at the vDSO version of getpid(). I don't know why at
least one version of OpenSSL seems to be ignoring the vDSO, but this
change should fix it.
Fixes bug 21943; bugfix on 0.2.5.1-alpha when the sandbox was
introduced.
|
|
|
|
|
|
|
|
Patch from cypherpunks. Fixes bug 20710; bugfix on 0.2.5.5-alpha.
|
|
Permit sched_yield() and sigaltstack() in the sandbox.
Closes ticket 20063
|
|
Closes ticket 19942; patch from "cypherpunks"
|
|
|
|
It says, 'Incorrect expression (IDENTICAL_BRANCHES)'
Fix for CID 1364127. Not in any released Tor.
|
|
|
|
|
|
|
|
|
|
If we did not find a non-private IPaddress by iterating over interfaces,
we would try to get one via
get_interface_address6_via_udp_socket_hack(). This opens a datagram
socket with IPPROTO_UDP. Previously all our datagram sockets (via
libevent) used IPPROTO_IP, so we did not have that in the sandboxing
whitelist. Add (SOCK_DGRAM, IPPROTO_UDP) sockets to the sandboxing
whitelist. Fixes bug 19660.
|
|
Fixes #18397 which prevented tor starting with Sandbox 1.
|
|
I grepped and hand-inspected the "it's" instances, to see if any
were supposed to be possessive. While doing that, I found a
"the the", so I grepped to see if there were any more.
|
|
The Autoconf macro AC_USE_SYSTEM_EXTENSIONS defines preprocessor macros
which turn on extensions to C and POSIX. The macro also makes it easier
for developers to use the extensions without needing (or forgetting) to
define them manually.
The macro can be safely used because it was introduced in Autoconf 2.60
and Tor requires Autoconf 2.63 and above.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I didn't want to grant blanket permissions for chmod() and chown(),
so here's what I had to do:
* Grant open() on all parent directories of a unix socket
* Write code to allow chmod() and chown() on a given file only.
* Grant chmod() and chown() on the unix socket.
|
|
We call setrlimit under some circumstances, and it can call prlimit
and prlimit64 under the hood.
Fixes bug 15221.
|
|
|
|
Previously, we had a problem due to the check_private_dir() rewrite.
Bug not in any released Tor.
|
|
|
|
|
|
|