- 08 Mar, 2017 5 commits
-
-
Alexander Færøy authored
This patch removes the `tor_fgets()` wrapper around `fgets(3)` since it is no longer needed. The function was created due to inconsistency between the returned values of `fgets(3)` on different versions of Unix when using `fgets(3)` on non-blocking file descriptors, but with the recent changes in bug #21654 we switch from unbuffered to direct I/O on non-blocking file descriptors in our utility module. We continue to use `fgets(3)` directly in the geoip and dirserv module since this usage is considered safe. This patch also removes the test-case that was created to detect differences in the implementation of `fgets(3)` as well as the changes file since these changes was not included in any releases yet. See: https://bugs.torproject.org/21654
-
Alexander Færøy authored
This patch changes a number of read loops in the util module to use less-than comparison instead of not-equal-to comparison. We do this in the case that we have a bug elsewhere that might cause `numread` to become larger than `count` and thus become an infinite loop.
-
Alexander Færøy authored
This patch adds a test case for the get_string_from_pipe() function found in the utility module. See: See: https://bugs.torproject.org/21654
-
Alexander Færøy authored
This patch removes the buffered I/O stream usage in process_handle_t and its related utility functions. This simplifies the code and avoids racy code where we used buffered I/O on non-blocking file descriptors. See: https://bugs.torproject.org/21654
-
This patch modifies `tor_read_all_handle()` to use read(2) instead of fgets(3) when reading the stdout from the child process. This should eliminate the race condition that can be triggered in the 'slow/util/*' tests on slower machines running OpenBSD, FreeBSD and HardenedBSD. See: https://bugs.torproject.org/21654
-
- 07 Mar, 2017 3 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- 06 Mar, 2017 3 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- 05 Mar, 2017 7 commits
-
-
Nick Mathewson authored
-
teor authored
Closes ticket 21598.
-
Nick Mathewson authored
-
teor authored
Use an existing flag to check if an introduction point is established. Cleanup after 21596. Fixes bug 21599; bugfix on 0.2.7.2-alpha.
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- 03 Mar, 2017 1 commit
-
-
Nick Mathewson authored
These are from today's stable releases in 0.2.4 through 0.2.8
-
- 02 Mar, 2017 3 commits
-
-
teor authored
Fixes bug 21576; bugfix on Tor 0.2.9.3-alpha. Reported by alecmuffett.
- 01 Mar, 2017 18 commits
-
-
Nick Mathewson authored
-
Nick Mathewson authored
"ours" to avoid version bump
-
Nick Mathewson authored
-
Alexander Færøy authored
This patch resets `buf` in test_util_fgets_eagain() after each succesful ivocation to avoid stray artifacts left in the buffer by erroneous tor_fgets() calls.
-
Alexander Færøy authored
This patch changes our use of fgets() to tor_fgets() for more consistent error handling across different versions of the C library.
-
Alexander Færøy authored
This patch adds the `tor_fgets()` function to our compatibility layer. `tor_fgets()` adds an additional check for whether the error-bit have been enabled for the given file stream, if that is the case and `errno` is set to `EAGAIN` we make sure that we always return NULL. Unfortunately `fgets(3)` behaves differently on different versions of the C library. See: https://bugs.torproject.org/21416 See: https://bugs.torproject.org/20988
-
Nick Mathewson authored
-
Nick Mathewson authored
In that chutney test, the bridge client is configured to connect to the same bridge at 127.0.0.1:5003 _and_ at [::1]:5003, with no change in transports. That meant, I think, that the descriptor is only assigned to the first bridge when it arrives, and never the second.
-
Nick Mathewson authored
-
Nick Mathewson authored
-
asn authored
-
Nick Mathewson authored
-
asn authored
- Make sure we check at least two guards for descriptor before making circuits. We typically use the first primary guard for circuits, but it can also happen that we use the second primary guard (e.g. if we pick our first primary guard as an exit), so we should make sure we have descriptors for both of them. - Remove BUG() from the guard_has_descriptor() check since we now know that this can happen in rare but legitimate situations as well, and we should just move to the next guard in that case.
-
Nick Mathewson authored
-
Nick Mathewson authored
"Ours" merge to avoid version bump
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-