summaryrefslogtreecommitdiff
path: root/src/ext
AgeCommit message (Collapse)Author
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.
2016-02-24Silence clang-scan warnings in ed25519_donnateor (Tim Wilson-Brown)
2016-02-22Update to trunnel 1.4.4 to fix 18373Nick Mathewson
2016-02-16Merge branch 'bug17852_revised'Nick Mathewson
2015-12-20Repair "make distcheck".Nick Mathewson
2015-12-19Use tor specific headers and memwipe() instead of memset_s(), and build.Yawning Angel
This is where things get tor specific. It's just replacing stdint.h and memset_s with the tor compat code so going back is trivial...
2015-12-19Expose an incremental API in addition to the one-shot routines.Yawning Angel
The digest routines use init/update/sum, where sum will automatically copy the internal state to support calculating running digests. The XOF routines use init/absorb/squeeze, which behave exactly as stated on the tin.
2015-12-18Clean import of keccak-tiny (https://github.com/coruus/keccak-tiny)Yawning Angel
As of commit: 64b6647514212b76ae7bca0dea9b7b197d1d8186
2015-12-15Replace usage of INLINE with inlinecypherpunks
This patch was generated using; sed -i -e "s/\bINLINE\b/inline/" src/*/*.[ch] src/*/*/*.[ch]
2015-12-10Merge remote-tracking branch 'public/feature17694_strongest_027'Nick Mathewson
2015-12-08Always hash crypto_strongest_rand() along with some prngNick Mathewson
(before using it for anything besides feeding the PRNG) Part of #17694
2015-12-01ext/eventdns.c multiple replacements of snprintf() with tor_snprintf() which ↵Jeremy
always null terminates and returns -1 if result is truncated.
2015-11-05Fix SipHash-2-4 performance for non multiple of 8 buffers.Yawning Angel
Code cribbed from Andrew Moon's Public Domain SipHash-2-4 implementation (which IMO is also cleaner). Fixes bug 17544.
2015-09-16Don't enable SSE2 on X86-64.Sebastian Hahn
This removes a comment presumably introduced for debugging that was left in accidentally. Bug not in any released version of Tor. Fixes bug 17092.
2015-09-04Fix an alignment issue in our extensions to ed25519_donnaNick Mathewson
Apparently this only happens with clang (or with some particular clang versions), and only on i386. Fixes 16970; bug not in any released Tor. Found by Teor; fix from Yawning.