aboutsummaryrefslogtreecommitdiff
path: root/src/ext
AgeCommit message (Collapse)Author
2017-11-13Merge branch 'maint-0.3.0' into maint-0.3.1Nick Mathewson
2017-11-13Merge branch 'maint-0.2.9' into maint-0.3.0Nick Mathewson
2017-11-13Merge branch 'bug22895_027' into maint-0.2.9Nick Mathewson
2017-09-19Merge branch 'bug23583_029'Nick Mathewson
2017-09-19Avoid integer error in TEST_BITOPS testsNick Mathewson
If "1" is not 64 bits wide already, then "1 << i" will not actually work. This bug only affects the TEST_BITOPS code, and shouldn't matter for the actual use of the timeout code (except if/when it causes this test to fail). Reported by dcb314@hotmail.com. Fix for bug 23583. Not adding a changes file, since this code is never compiled into Tor.
2017-09-15sched: Groundwork before KIST implementationMatt Traudt
- HT_FOREACH_FN defined in an additional place because nickm did that in an old kist prototype - Make channel_more_to_flush mockable for future sched tests - Add empty scheduler_{vanilla,kist}.c files and put in include.am Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-09-11Merge branch 'maint-0.2.9' into maint-0.3.0Nick Mathewson
2017-09-11Fix GCC 7 -Wimplicit-fallthrough warningsAndreas Stieger
Add magic comments recognized by default -Wimplicit-fallthrough=3 or break, as required.
2017-09-11Fix GCC 7 -Wimplicit-fallthrough warnings (32 bit)Andreas Stieger
Add magic comments recognized by default -Wimplicit-fallthrough=3 Follow-up to e5f464, fixes Ticket 22446 for 32 bit. [nick notes: Backport from 0.3.1.3-alpha.]
2017-08-24Re-run trunnel. Cosmetic changes only.Nick Mathewson
2017-08-08Merge branch 'ticket20657_nickm_bugfixes_squashed'Nick Mathewson
2017-08-08Don't double hash the ed25519 blind key parameter.George Kadianakis
We used to do: h = H(BLIND_STRING | H(A | s | B | N ) when we should be doing: h = H(BLIND_STRING | A | s | B | N) Change the logic so that hs_common.c does the hashing, and our ed25519 libraries just receive the hashed parameter ready-made. That's easier than doing the hashing on the ed25519 libraries, since that means we would have to pass them a variable-length param (depending on whether 's' is set or not). Also fix the ed25519 test vectors since they were also double hashing.
2017-07-27Merge branch 'bug22895_027'Nick Mathewson
2017-07-27Remove unused variables in donna's SSE2 codecypherpunks
Fixes unused-const-variable warnings with GCC on 32-bit x86 systems. Closes #22895.
2017-06-28ed25519: Also check that retval in the ref10 implementation.George Kadianakis
2017-06-28ed25519: Check retval of unpack_negative_vartime in donna.George Kadianakis
2017-06-27Merge branch 'asn_bug22006_final_squashed'Nick Mathewson
2017-06-27ed25519: Add func that checks for torsion component in pubkeys.George Kadianakis
See https://lists.torproject.org/pipermail/tor-dev/2017-April/012213.html .
2017-05-31Fix GCC 7 -Wimplicit-fallthrough warnings (32 bit)Andreas Stieger
Add magic comments recognized by default -Wimplicit-fallthrough=3 Follow-up to e5f464, fixes Ticket 22446 for 32 bit.
2017-05-30Fix GCC 7 -Wimplicit-fallthrough warningsAndreas Stieger
Add magic comments recognized by default -Wimplicit-fallthrough=3 or break, as required.
2017-05-19Allow Rust build using locally supplied crates or crates.ioSebastian Hahn
This adds a couple of configure commands to control whether we're requiring all dependencies to be available locally (default) or not (--enable-cargo-online-mode). When building from a tarball, we require the RUST_DEPENDENCIES variable to point to the local repository of crates. This also adds src/ext/rust as a git submodule that contains such a local repository for easy setup.
2017-04-11hs: Change trunnel prop224 cell's namespaceDavid Goulet
One of the goals of this change is to have trunnel API/ABI being more explicit so we namespace them with "trn_*". Furthermore, we can now create hs_cells.[ch] without having to confuse it with trunnel which used to be "hs_cell_*" before that change. Here are the perl line that were used for this rename: perl -i -pe 's/cell_extension/trn_cell_extension/g;' src/*/*.[ch] perl -i -pe 's/cell_extension/trn_cell_extension/g;' src/trunnel/hs/*.trunnel perl -i -pe 's/hs_cell_/trn_cell_/g;' src/*/*.[ch] perl -i -pe 's/hs_cell_/trn_cell_/g;' src/trunnel/hs/*.trunnel And then "./scripts/codegen/run_trunnel.sh" with trunnel commit id 613fb1b98e58504e2b84ef56b1602b6380629043. Fixes #21919 Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-04-07Use DIGEST512_LEN macro in crypto_hash_sha512.h in ref10Nick Mathewson
2017-03-31Make our ed25519 implementations no longer use openssl directly.Nick Mathewson
2017-03-15Run the copyright update script.Nick Mathewson
2017-03-14Improve keccak-tiny performance by 15% on LE intelNick Mathewson
The 64-bit load and store code was generating pretty bad output with my compiler, so I extracted the code from csiphash and used that instead. Close ticket 21737
2017-02-03Use the standard OpenBSD preprocessor definitioncypherpunks
2016-12-08Update to trunnel 1.5.1Nick Mathewson
2016-10-26Regenerate trunnel code with trunnel 1.5Nick Mathewson
2016-10-11Fix a new compilation warning with broken-mulodi i386 clang builds. :(Nick Mathewson
2016-09-11Merge remote-tracking branch 'public/solaris_warnings_028'Nick Mathewson
2016-08-11Add some how-to documentation for ht.h. Closes #19896Nick Mathewson
2016-07-28Re-run trunnel.Nick Mathewson
2016-07-28Fix a large pile of solaris warnings for bug 19767.Nick Mathewson
In nearly all cases, this is a matter of making sure that we include orconfig.h before we include any standard c headers.
2016-07-28Fix a huge pile of -Wshadow warnings.Nick Mathewson
These appeared on some of the Jenkins platforms. Apparently some GCCs care when you shadow globals, and some don't.
2016-07-28Fix a set of variable-shadowing warnings in curve25519-donna.cNick Mathewson
2016-07-04Raise libevent dependency to 2.0.10-stable or newerSebastian Hahn
Only some very ancient distributions don't ship with Libevent 2 anymore, even the oldest supported Ubuntu LTS version has it. This allows us to get rid of a lot of compat code.
2016-06-17Use the Autoconf macro AC_USE_SYSTEM_EXTENSIONScypherpunks
The Autoconf macro AC_USE_SYSTEM_EXTENSIONS defines preprocessor macros which turn on extensions to C and POSIX. The macro also makes it easier for developers to use the extensions without needing (or forgetting) to define them manually. The macro can be safely used because it was introduced in Autoconf 2.60 and Tor requires Autoconf 2.63 and above.
2016-06-11Fix build on 32-bit systems.Nick Mathewson
2016-06-11Merge branch 'bug19180_easy_squashed'Nick Mathewson
2016-06-11Add -Wmissing-variable-declarations, with attendant fixesNick Mathewson
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.
2016-06-11Use autoconf, not gcc version, to decide which warnings we haveNick Mathewson
This gives more accurate results under Clang, which can only help us detect more warnings in more places. Fixes bug 19216; bugfix on 0.2.0.1-alpha
2016-06-11Add -Wunused-const-variable=2 on GCC >=6.1Nick Mathewson
This caused a trivial warning in curve25519-donna-64bit.h, which had two unused constants. I commented them out.
2016-06-11Enable -Wnull-dereference (GCC >=6.1), and fix the easy casesNick Mathewson
This warning, IIUC, means that the compiler doesn't like it when it sees a NULL check _after_ we've already dereferenced the variable. In such cases, it considers itself free to eliminate the NULL check. There are a couple of tricky cases: One was the case related to the fact that tor_addr_to_in6() can return NULL if it gets a non-AF_INET6 address. The fix was to create a variant which asserts on the address type, and never returns NULL.
2016-05-30Replace nearly all XXX0vv comments with smarter onesNick Mathewson
So, back long ago, XXX012 meant, "before Tor 0.1.2 is released, we had better revisit this comment and fix it!" But we have a huge pile of such comments accumulated for a large number of released versions! Not cool. So, here's what I tried to do: * 0.2.9 and 0.2.8 are retained, since those are not yet released. * XXX+ or XXX++ or XXX++++ or whatever means, "This one looks quite important!" * The others, after one-by-one examination, are downgraded to plain old XXX. Which doesn't mean they aren't a problem -- just that they cannot possibly be a release-blocking problem.
2016-05-20Whoops. We use -Wmussing-prototypes.Nick Mathewson
2016-05-18Add __mulodi4 source to src/extNick Mathewson
We need to define this function when compiling with clang -m32 -ftrapv, since otherwise we get link errors, since apparently some versions of libclang_rt.builtins don't define a version of it that works? Or clang doesn't know to look for it? This definition is taken from the LLVM source at https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/builtins/mulodi4.c I've also included the license (dual BSD-ish/MIT-ish).
2016-05-12Merge branch 'ftrapv_v3'Nick Mathewson
There were some conflicts here, and some breakage to fix concerning library link order in newer targets.
2016-05-12Add -ftrapv to gcc-hardening ... mostly!Nick Mathewson
We know there are overflows in curve25519-donna-c32, so we'll have to have that one be fwrapv. Only apply the asan, ubsan, and trapv options to the code that does not need to run in constant time. Those options introduce branches to the code they instrument. (These introduced branches should never actually be taken, so it might _still_ be constant time after all, but branch predictors are complicated enough that I'm not really confident here. Let's aim for safety.) Closes 17983.
2016-05-12Use tor_queue.h, not sys/queue.h, in timeouts.[ch].Nick Mathewson
Closes 19041.