summaryrefslogtreecommitdiff
path: root/src/ext
AgeCommit message (Collapse)Author
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.
2016-05-11fix 'make dist' which was broken by ticket 18365's mergeRoger Dingledine
2016-05-09Merge branch 'timeouts_v2_squashed'Nick Mathewson
2016-05-09Fix an OSX/clang compilation warningNick Mathewson
2016-05-09Add wrappers to tie the new timeouts into libevent.Nick Mathewson
2016-05-03Merge branch 'maint-0.2.8'Nick Mathewson
2016-05-03Fix keccak-tiny portability on `exotic` platforms.Yawning Angel
* SHA-3/SHAKE use little endian for certain things, so byteswap as needed. * The code was written under the assumption that unaligned access to quadwords is allowed, which isn't true particularly on non-Intel.
2016-04-15Disambiguate: Avoid defining two static functions both called gettweak()Nick Mathewson
2016-04-15Quick function to find out the timeout object's view of "now"Nick Mathewson
2016-04-15Fix compilation of timeout.c with our flags and warnings.Nick Mathewson
2016-04-15Add timeouts to libor-event.aNick Mathewson
2016-04-15Import timeouts.c directly from William Ahern's git.Nick Mathewson
Imported from here: https://github.com/wahern/timeout Imported as of upstream e5a9e8bfaa9c631bdc54002181795931b65bdc1a. All sources unmodified.
2016-04-05Don't call the system toupper or tolower.Nick Mathewson
Yes, we could cast to unsigned char first, but it's probably safest to just use our own (in test_util), or remove bad-idea features that we don't use (in readpassphrase.c). Fixes 18728.