Age | Commit message (Collapse) | Author |
|
|
|
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
|
|
|
|
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).
|
|
Give size_mul_check() external linkage and use it in base64_decode() to
avoid a potential integer wrap.
Closes #19222
|
|
(We previously added support for generating the spaceless
2016-11-14T19:58:12 variant, but not for actually parsing it.)
|
|
Add smartlist_add_strdup(sl, string) - replaces the use of
smartlist_add(sl, tor_strdup(string)). Fixes bug 20048.
|
|
Feature 18753 -- all this to allow spaces.
|
|
The functions it warns about are:
assert, memcmp, strcat, strcpy, sprintf, malloc, free, realloc,
strdup, strndup, calloc.
Also, fix a few lingering instances of these in the code. Use other
conventions to indicate _intended_ use of assert and
malloc/realloc/etc.
|
|
|
|
Apparently remembering euclid's algorithm does pay off sooner or later.
|
|
* Raise limit: 16k isn't all that high.
* Don't log when limit exceded; log later on.
* Say "over" when we log more than we say we log.
* Add target version to changes file
|
|
|
|
Trivial Conflicts:
src/or/or.h
src/or/routerparse.c
|
|
|
|
|
|
|
|
|
|
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
|
|
All of our code just uses parse_config_line_from_str_verbose.
|
|
it's important, and we should make sure we got it right.
|
|
|
|
|
|
|
|
|
|
Fixes #18339
|
|
Closes ticket 18242.
The rationale here is that I like having coverage on by default in my
own working directory, but I always want assertions turned on unless
I'm doing branch coverage specifically.
|
|
|
|
|
|
The base64 and base32 functions used to be in crypto.c;
crypto_format.h had no header; some general-purpose functions were in
crypto_curve25519.c.
This patch makes a {crypto,util}_format.[ch], and puts more functions
there. Small modules are beautiful!
|
|
|
|
Also, add some sample tests to be examples.
|
|
Use it in the sample_laplace_distribution function to make sure we return
the correct converted value after math operations are done on the input
values.
Thanks to Yawning for proposing a solution.
Signed-off-by: David Goulet <dgoulet@ev0ke.net>
|
|
|
|
This is a fair amount of maintainance burden, and doesn't help much
more than the git microversion.
Closes ticket 14742.
|
|
Background processes spawned by Tor now will have a valid stdin.
Pluggable transports can detect this behavior with the aformentioned
enviornment variable, and exit if stdin ever gets closed.
|
|
This removes roughly 5000 branches in my testing. We never want to
trigger assertions even during tests, so this is sane. Implements #15400.
|
|
|
|
|
|
Introduces two new circuit status name-value parameters: SOCKS_USERNAME
and SOCKS_PASSWORD. Values are enclosing in quotes and unusual characters
are escaped.
Example:
650 CIRC 5 EXTENDED [...] SOCKS_USERNAME="my_username" SOCKS_PASSWORD="my_password"
|
|
This helps avoid undefined behavior from casting big double values to
int64_t. Fixes #14090.
|
|
bug13111-empty-key-files-fn-empty
Conflicts:
src/or/connection_edge.c
Merged in favour of origin.
|
|
Conflicts:
src/or/router.c
Choose newer comment.
Merge changes to comment and function invocation.
|
|
|
|
Have clients and authorities both have new behavior, since the
fix for bug 11243 has gone in. But make clients still accept
accept old bogus HSDir descriptors, to avoid fingerprinting trickery.
Fixes bug 9286.
|
|
|
|
|
|
Instead, generate new keys, and overwrite the empty key files.
Adds FN_EMPTY to file_status_t and file_status.
Fixes bug 13111.
Related changes due to review of FN_FILE usage:
Stop generating a fresh .old RSA key file when the .old file is missing.
Avoid overwriting .old key files with empty key files.
Skip loading zero-length extra info store, router store, stats, state,
and key files.
|
|
Conflicts:
src/or/config.c
|
|
Conflicts:
src/or/buffers.c
|