Nick Mathewson
a321f8f4af
Merge branch 'buf_for_stringbuffer_squashed'
2017-11-02 10:01:30 -04:00
Nick Mathewson
095e15f8ac
Add a zero-copy buffer move implementation.
2017-11-02 10:00:32 -04:00
Nick Mathewson
d5ba4851bd
Add buf_t API helpers for using buffers to construct outputs.
2017-11-02 10:00:32 -04:00
Nick Mathewson
cd606d5ad3
Merge remote-tracking branch 'public/owning_control_fd'
2017-11-01 13:28:31 -04:00
Nick Mathewson
b76a161e01
Merge branch 'fix-torrcd-sandbox-22605v2'
2017-10-31 13:58:33 -04:00
Nick Mathewson
30a681553f
Merge remote-tracking branch 'public/exit_carefully'
2017-10-27 11:13:05 -04:00
Nick Mathewson
fa78546dbc
Make sure all C files have copyright/license notices
2017-10-27 10:59:36 -04:00
Nick Mathewson
f5e9e2748f
Merge branch 'protover-rust-impl_squashed'
2017-10-27 10:05:30 -04:00
Chelsea Holland Komlo
91bca5c31b
move to allocating c strings from rust
2017-10-27 10:02:08 -04:00
Chelsea Holland Komlo
be583a34a3
use tor allocator for string allocation in rust
2017-10-27 10:02:08 -04:00
Chelsea Holland Komlo
0c04b54d4d
minimize scope for unsafe
...
update documentation
missing check for null
2017-10-27 10:02:08 -04:00
Chelsea Holland Komlo
d1820c1516
rust implementation of protover
2017-10-27 10:02:08 -04:00
Nick Mathewson
f0c3b62381
Expose a new function to make the event loop exit once and for all.
...
Instead of calling tor_cleanup(), exit(x), we can now call
tor_shutdown_event_loop_and_exit.
2017-10-20 11:39:17 -04:00
Nick Mathewson
35746a9ee7
Comment-only change: annotate exit() calls.
...
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.
2017-10-19 13:42:28 -04:00
Nick Mathewson
0956242158
Mark some unreachable code in compat_winthreads.c as unreachable
2017-10-19 13:21:48 -04:00
Nick Mathewson
4eb5753bd2
New function for Tor to treat itself as the "owner" of a socket
...
Our socket accounting functions assumed that we'd never be asked to
close a socket that we didn't open ourselves. But now we want to
support taking control sockets that we inherit -- so we need a way
of taking ownership of them, so we don't freak out later on when we
close them.
2017-10-18 12:17:44 -04:00
Nick Mathewson
5bcd8dc5c4
Make the mark_socket_open() no-op treat the socket as used.
...
This is preliminary for extracting the "take socket ownership" code
into its own function.
2017-10-18 12:13:26 -04:00
Nick Mathewson
b0ddaac074
Make some assertions nonfatal to help prevent bug23690 recurrence.
2017-09-29 10:29:33 -04:00
Alexander Færøy
44dc4b73ec
Better error handling when trying to compress/decompress into empty buffer.
...
This patch ensures that we return TOR_COMPRESS_BUFFER_FULL in case we
have a input bytes left to process, but are out of output buffer or in
case we need to finish where the compression implementation might need
to write an epilogue.
See: https://bugs.torproject.org/23551
2017-09-28 18:58:15 +02:00
Alexander Færøy
c3b7f9d762
Fix whitespace issue in compress.c
2017-09-28 18:58:15 +02:00
Alexander Færøy
a196fdb622
Fix typo in buffers.c.
2017-09-28 18:58:09 +02:00
Nick Mathewson
3a073c463d
Improve unit test coverage for compression code.
...
These tests try uncompressing garbage, verify that we won't
make compression bombs, and verify that we won't uncompress
compression bombs.
2017-09-28 12:20:02 -04:00
Nick Mathewson
14614a592e
Fix spelling: compressing, not compresing
2017-09-28 12:17:34 -04:00
Nick Mathewson
55873107d0
Correct docs for config_lines_dup_and_filter
2017-09-28 09:40:04 -04:00
Nick Mathewson
a64d79ca4c
Move around some LCOV_EXCLs in src/common
...
Apparently, my compiler now generates coverage markers for
label-only lines, so we need to exclude those too if they are meant
to be unreachable.
2017-09-28 09:25:17 -04:00
Nick Mathewson
01d67a9071
Note an unreachable (?) section in buffers.c
2017-09-28 08:35:24 -04:00
Nick Mathewson
ff0aabc35d
Merge branch 'maint-0.3.1'
2017-09-20 09:45:07 -04:00
Andreas Stieger
427c2cc9e8
in zstd compression, fix 32 bit build
...
format '%lu' expects argument of type 'long unsigned int', but argument ... has type 'size_t'
Closes ticket 23568.
2017-09-20 09:43:08 -04:00
David Goulet
5dea4b565f
Add a BASE32_DIGEST_LEN define
...
Use this value instead of hardcoded values of 32 everywhere. This also
addresses the use of REND_DESC_ID_V2_LEN_BASE32 in
hs_lookup_last_hid_serv_request() for the HSDir encoded identity digest length
which is accurate but semantically wrong.
Fixes #23305 .
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-09-19 12:33:04 -04:00
Nick Mathewson
76c33f7ff4
Merge branch 'scan-build-032'
2017-09-15 16:40:11 -04:00
Nick Mathewson
c1deabd3b0
Run our #else/#endif annotator on our source code.
2017-09-15 16:24:44 -04:00
Nick Mathewson
7a597718bb
Split some long #if lines to make the #endif annotator happy
2017-09-15 16:24:21 -04:00
Nick Mathewson
9201e4c74b
Merge branch 'bug23487_029'
2017-09-15 14:27:58 -04:00
Nick Mathewson
75659fd548
Use different variable names for pw_uid usages
...
Catalyst points out that using pw_uid for two different purposes
here is likely to be confusing.
2017-09-15 14:26:59 -04:00
Nick Mathewson
0f4f40b70f
Merge remote-tracking branch 'dgoulet/ticket12541_032_02'
2017-09-15 12:00:50 -04:00
David Goulet
6e598bbcd8
sched: Add sandbox support for KIST
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-09-15 11:40:59 -04:00
teor
42e7d0ea14
Explain the restrictions on divisor in round*_to_next_multiple_of
...
Closes 23528.
2017-09-15 16:06:17 +10:00
Nick Mathewson
4ff170d7b1
Fix warnings about passing uninitialized buffers into functions
...
Most of these buffers were never actually inspected, but it's still
bad style.
2017-09-12 21:32:42 -04:00
Nick Mathewson
f2f729e26b
Clear up dead-assignment warnings from scan-build
2017-09-12 21:32:34 -04:00
Nick Mathewson
a4847ffa91
clang scan-build: Fix "dead increment" warnings.
...
For the most part, these indicated a spot where the code could have
been better.
2017-09-12 19:03:04 -04:00
Nick Mathewson
7ee486c15f
Log correctly on owner/user mismatch.
...
Found with clang's scan-build while looking at dead assignments.
Fixes bug 23487; bugfix on 1135405c8c
in 0.2.9.1-alpha
2017-09-12 17:37:25 -04:00
Nick Mathewson
bac160b4e0
One more implicit fallthrough warning to fix on GCC 7
2017-09-12 09:22:50 -04:00
Nick Mathewson
6a49e3360b
Fix mixed-sign comparison warning in fix for 22797.
2017-09-11 16:29:06 -04:00
Nick Mathewson
a25d97e530
Merge branch 'teor-bug22797-025' into maint-0.2.9
2017-09-11 16:28:59 -04:00
Nick Mathewson
52c40330c8
Merge branch 'maint-0.3.1'
2017-09-11 13:49:20 -04:00
Nick Mathewson
72ea4a8f08
Extract the important parts of the run-pending-timers function.
...
Our unit tests will need this, so that they can simulate advancing
time without getting libevent involved.
2017-09-11 13:48:39 -04:00
Nick Mathewson
c151f46445
Merge branch 'ticket20119'
2017-09-08 08:56:53 -04:00
Nick Mathewson
1502bf03fd
Add a module comment to util_bug.h
...
Closes ticket 22824.
2017-09-07 09:31:30 -04:00
Nick Mathewson
ab18e5e5fc
Better error on failure to load seccomp2 sandbox
...
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.
2017-09-06 14:23:47 -04:00
Nick Mathewson
1098893e4f
Exit when we can't write to a configured pid file
...
This is probably what the user wants, according to 20119.
2017-09-06 11:50:22 -04:00