Age | Commit message (Collapse) | Author |
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
|
|
This mechanism isn't perfect, and sometimes it will guess wrong,
but it will help our automation.
|
|
|
|
I don't believe any of these represent a real timing vulnerability
(remote timing against memcmp() on a modern CPU is not easy), but
these are the ones where I believe we should be more careful.
|
|
For memeq and friends, "tor_" indicates constant-time and "fast_"
indicates optimized. I'm fine with leaving the constant-time
"safe_mem_is_zero" with its current name, but the "tor_" prefix on
the current optimized version is misleading.
Also, make the tor_digest*_is_zero() uniformly constant-time, and
add a fast_digest*_is_zero() version to use as needed.
A later commit in this branch will fix all the users of
tor_mem_is_zero().
Closes ticket 30309.
|
|
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
Signed-off-by: David Goulet <dgoulet@torproject.org>
|
|
|
|
|
|
|
|
This function decodes something different from the usual c-escaped
format.
It is only used in controller authorization.
|
|
|
|
The two options are mutually exclusive, since otherwise an entry
like "Foo" would be ambiguous. We want to have the ability to treat
entries like this as keys, though, since some controller commands
interpret them as flags.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When releasing OpenSSL patch-level maintenance updates,
we do not want to rebuild binaries using it.
And since they guarantee ABI stability, we do not have to.
Without this patch, warning messages were produced
that confused users:
https://bugzilla.opensuse.org/show_bug.cgi?id=1129411
Fixes bug 30190; bugfix on 0.2.4.2-alpha commit 7607ad2bec
Signed-off-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
|
|
The smartlist functions take great care to reset unused pointers inside
the smartlist memory to NULL.
The function smartlist_remove_keeporder does not clear memory in such
way when elements have been removed. Therefore call memset after the
for-loop that removes elements. If no element is removed, it is
effectively a no-op.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
|
|
Fix from Gisle Vanem; fixes bug 30179. Bug not in any released
version of Tor.
|
|
|
|
Previously, our use of abort() would break anywhere that we didn't
include stdlib.h. This was especially troublesome in case where
tor_assert_nonfatal() was used with ALL_BUGS_ARE_FATAL, since that
one seldom gets tested.
As an alternative, we could have just made this header include
stdlib.h. But that seems bloaty.
Fixes bug 30189; bugfix on 0.3.4.1-alpha.
|
|
|
|
|
|
Part of 29960.
|
|
We had a typo in this check, so that coverity wasn't taking the
right path.
Bug not in any released Tor.
|
|
This is CID 1437438. No backport needed: this is unreachable, and
guarded with a BUG() check.
|
|
|
|
|
|
|
|
|
|
In current NSS versions, these ciphersuites don't work with
SSL_ExportKeyingMaterial(), which was causing relays to fail when
they tried to negotiate the v3 link protocol authentication.
Fixes bug 29241; bugfix on 0.4.0.1-alpha.
|
|
Diagnostic for 29241.
|
|
|
|
|
|
|
|
Comment-only change.
Part of 29660.
|
|
base64_decode() does not require padding.
Part of 29660.
|
|
Also remove all checks for the return value, which were redundant anyway,
because the function never failed.
Part of 29660.
|
|
And fix the documentation on the function: it does produce trailing
"="s as padding.
Also remove all checks for the return value, which were redundant anyway,
because the function never failed.
Part of 29660.
|
|
... and ed25519_public_to_base64(). Also remove all checks for the return
values, which were redundant anyway, because the functions never failed.
Part of 29960.
|
|
Part of 29660.
|
|
(These functions look pretty unified to me.)
Part of 29660.
|
|
|
|
|
|
|