- 30 Jul, 2020 2 commits
-
-
Nick Mathewson authored
We found this in #40076, after we started using buf_move_all() in more places. Fixes bug #40076; bugfix on 0.3.3.1-alpha. As far as I know, the crash only affects master, but I think this warrants a backport, "just in case".
-
Nick Mathewson authored
The failing case is #if'd out for now, but will be fixed in the next commit. Testing for a fix for #40076.
-
- 08 Jan, 2020 1 commit
-
-
Nick Mathewson authored
-
- 16 Jan, 2019 2 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- 14 Nov, 2018 1 commit
-
-
Nick Mathewson authored
-
- 05 Jul, 2018 1 commit
-
-
Nick Mathewson authored
I am very glad to have written this script.
-
- 01 Jul, 2018 1 commit
-
-
Nick Mathewson authored
or.h should really include only the minimum of stuff from or/*, common/*, and lib/*.
-
- 28 Jun, 2018 1 commit
-
-
Nick Mathewson authored
-
- 21 Jun, 2018 1 commit
-
-
Nick Mathewson authored
-
- 20 Jun, 2018 2 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- 06 Apr, 2018 1 commit
-
-
Isis Lovecruft authored
* ADD new /src/common/crypto_rand.[ch] module. * ADD new /src/common/crypto_util.[ch] module (contains the memwipe() function, since all crypto_* modules need this). * FIXES part of #24658: https://bugs.torproject.org/24658
-
- 27 Nov, 2017 1 commit
-
-
Nick Mathewson authored
The goal here is to replace our use of msec-based timestamps with something less precise, but easier to calculate. We're doing this because calculating lots of msec-based timestamps requires lots of 64/32 division operations, which can be inefficient on 32-bit platforms. We make sure that these stamps can be calculated using only the coarse monotonic timer and 32-bit bitwise operations.
-
- 27 Sep, 2017 1 commit
-
-
Nick Mathewson authored
No other code changes.
-
- 05 Sep, 2017 7 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
By convention, a function that frobs a foo_t should be called foo_frob, and it should have a foo_t * as its first argument. But for many of the buf_t functions, the buf_t was the final argument, which is silly.
-
Nick Mathewson authored
Our convention is that functions which manipulate a type T should be named T_foo. But the buffer functions were super old, and followed all kinds of conventions. Now they're uniform. Here's the perl I used to do this: \#!/usr/bin/perl -w -i -p s/read_to_buf\(/buf_read_from_socket\(/; s/flush_buf\(/buf_flush_to_socket\(/; s/read_to_buf_tls\(/buf_read_from_tls\(/; s/flush_buf_tls\(/buf_flush_to_tls\(/; s/write_to_buf\(/buf_add\(/; s/write_to_buf_compress\(/buf_add_compress\(/; s/move_buf_to_buf\(/buf_move_to_buf\(/; s/peek_from_buf\(/buf_peek\(/; s/fetch_from_buf\(/buf_get_bytes\(/; s/fetch_from_buf_line\(/buf_get_line\(/; s/fetch_from_buf_line\(/buf_get_line\(/; s/buf_remove_from_front\(/buf_drain\(/; s/peek_buf_startswith\(/buf_peek_startswith\(/; s/assert_buf_ok\(/buf_assert_ok\(/;
-
Nick Mathewson authored
-
Nick Mathewson authored
Also, put ext_or function in new module; it had accidentally gotten into proto_socks.c
-
Nick Mathewson authored
This lets us drop the testing-only function buf_get_first_chunk_data(), and lets us implement proto_http and proto_socks without looking at buf_t internals.
-
Nick Mathewson authored
This commit does not change the implementation of any function: it only moves code and adds new includes as necessary. Part of #23149.
-
- 24 Aug, 2017 1 commit
-
-
This patch fixes the operator usage in src/test/*.c to use the symbolic operators instead of the normal C comparison operators. This patch was generated using: ./scripts/coccinelle/test-operator-cleanup src/test/*.[ch]
-
- 21 Jun, 2017 1 commit
-
-
Nick Mathewson authored
-
- 02 May, 2017 1 commit
-
-
Nick Mathewson authored
These required some special-casing, since some of the assumption about real compression algorithms don't actually hold for the identity transform. Specifically, we had assumed: - compression functions typically change the lengths of their inputs. - decompression functions can detect truncated inputs - compression functions have detectable headers None of those is true for the identity transformation.
-
- 01 May, 2017 1 commit
-
-
Nick Mathewson authored
We shouldn't call it lzma, because we are imposing a limit on the memory needed for decoding.
-
- 27 Apr, 2017 2 commits
-
-
Nick Mathewson authored
-
Alexander Færøy authored
This patch refactors the buffer compression tests to support multiple comprssion backends. See: https://bugs.torproject.org/22085
-
- 17 Apr, 2017 4 commits
-
-
Alexander Færøy authored
See https://bugs.torproject.org/21663
-
Alexander Færøy authored
See https://bugs.torproject.org/21663
-
Alexander Færøy authored
This patch refactors our streaming compression code to allow us to extend it with non-zlib/non-gzip based compression schemas. See https://bugs.torproject.org/21663
-
Alexander Færøy authored
To allow us to use the API name `tor_compress` and `tor_uncompress` as the main entry-point for all compression/uncompression and not just gzip and zlib. See https://bugs.torproject.org/21663
-
- 15 Mar, 2017 1 commit
-
-
Nick Mathewson authored
-
- 14 Feb, 2017 1 commit
-
-
Nick Mathewson authored
Fixes bug 20894; bugfix on 0.2.0.16-alpha. We already applied a workaround for this as 20834, so no need to freak out (unless you didn't apply 20384 yet).
-
- 13 Sep, 2016 1 commit
-
-
Nick Mathewson authored
Also, add tests for the function. Closes 20081; bugfix on 0.2.0.16-alpha. This is a Guido Vranken issue. Thanks, Guido!
-
- 02 Aug, 2016 2 commits
-
-
Nick Mathewson authored
These functions were there so that we could abstract the differences between evbuffer and buf_t. But with the bufferevent removal, this no longer serves a purpose.
-
Nick Mathewson authored
-
- 28 Jul, 2016 1 commit
-
-
Nick Mathewson authored
This is a partial fix for 18902.
-
- 21 Jul, 2016 1 commit
-
-
Nick Mathewson authored
-
- 11 Jun, 2016 1 commit
-
-
Nick Mathewson authored
This is a big-ish patch, but it's very straightforward. Under this clang warning, we're not actually allowed to have a global variable without a previous extern declaration for it. The cases where we violated this rule fall into three roughly equal groups: * Stuff that should have been static. * Stuff that was global but where the extern was local to some other C file. * Stuff that was only global when built for the unit tests, that needed a conditional extern in the headers. The first two were IMO genuine problems; the last is a wart of how we build tests.
-