aboutsummaryrefslogtreecommitdiff
path: root/src/ext
Commit message (Collapse)AuthorAge
* Add ATTR_UNUSED to HT_FINDNick Mathewson2014-06-14
| | | | | | The fix for bug 8746 added a hashtable instance that never actually invoked HT_FIND. This caused a warning, since we didn't mark HT_FIND as okay-not-to-use.
* Fix numerous type errors in the unit testsNick Mathewson2014-05-08
| | | | | | Remove tinytest casts that were suppressing them. Fix for #11825.
* Mention siphash in src/ext/READMENick Mathewson2014-05-07
|
* Fix compilation with DEBUG_DNS_CACHENick Mathewson2014-05-06
| | | | | | | Reported by cypherpunks. Fix for #11761; bugfix on 0.2.3.13-alpha where we made ht.h stop using _identifiers.
* scan-build: truncate tinytest hexified outputs to 1024 bytes.Nick Mathewson2014-04-19
| | | | | | scan-build didn't like the unlimited version since we might need to overflow size_t to hexify a string that took up half our address space. (!)
* scan-build: limit hashtable size so it always fits in SSIZE_MAXNick Mathewson2014-04-19
| | | | | | | | | | | | scan-build recognizes that in theory there could be a numeric overflow here. This can't numeric overflow can't trigger IRL, since in order to fill a hash table with more than P=402653189 buckets with a reasonable load factor of 0.5, we'd first have P/2 malloced objects to put in it--- and each of those would have to take take at least sizeof(void*) worth of malloc overhead plus sizeof(void*) content, which would run you out of address space anyway on a 32-bit system.
* Merge remote-tracking branch 'public/bug11426'Nick Mathewson2014-04-08
|\
| * Make csiphash use the proper endian-converter on solarisNick Mathewson2014-04-07
| | | | | | | | | | fixes bug 11426; bugfix on 0.2.5.3-alpha, where csiphash was introduced.
* | Merge remote-tracking branch 'public/bug10363_024_squashed'Nick Mathewson2014-04-07
|\ \ | |/ |/|
| * Another 10363 instance -- this one in the eventdns.c codeNick Mathewson2014-04-07
| |
* | csiphash: don't attempt unaligned accessNick Mathewson2014-03-18
| | | | | | | | | | | | | | In digestmap_set/get benchmarks, doing unaligned access on x86 doesn't save more than a percent or so in the fast case. In the slow case (where we cross a cache line), it could be pretty expensive. It also makes ubsan unhappy.
* | Update to latest tinytestNick Mathewson2014-03-14
| | | | | | | | (This pulls in some fixes to tinytest_demo.c, which Tor doesn't build.)
* | Upgrade to the latest version of tinytest.Nick Mathewson2014-03-06
| | | | | | | | | | | | | | This brings us to tinytest commit 709a36ba63ff16d8. The only big change tor-side is that we don't need our own test_mem_op operation any longer.
* | tinytest tt_{mem,str}_op now handle NULLs betterNick Mathewson2014-03-06
| | | | | | | | | | | | Now a NULL argument to either makes it fail, not crash. Fies bug 9004; bugfix on 0.2.2.4-alpha.
* | Merge remote-tracking branch 'public/bug8788'Nick Mathewson2014-03-05
|\ \
| * | eventdns.c: survive broken resolv.conf filesNick Mathewson2014-02-12
| | | | | | | | | | | | | | | | | | | | | | | | If you had a resolv.conf file with a nameserver line containing no nameserver IP, we would crash. That's not terrible, but it's not desirable. Fixes bug 8788; bugfix on 0.1.1.23. Libevent already has this fix.
* | | Appropriately condition the _le64toh macro definition for OpenBSD.dana koch2014-02-17
| | | | | | | | | | | | This corrects a linker error on OpenBSD, where the function is called letoh64. See also http://git.kernel.org/cgit/docs/man-pages/man-pages.git/tree/man3/endian.3#n84.
* | | Merge branch 'bug4900_siphash_v2'Nick Mathewson2014-02-15
|\ \ \
| * | | Remove string hash in ht.h so we can't accidentally use itNick Mathewson2014-02-15
| | | |
| * | | Randomize the global siphash key at startupNick Mathewson2014-02-12
| | | | | | | | | | | | | | | | This completes our conversion to using siphash for our hash functions.
| * | | Siphash-2-4 is now our hash in nearly all cases.Nick Mathewson2014-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've made an exception for cases where I'm sure that users can't influence the inputs. This is likely to cause a slowdown somewhere, but it's safer to siphash everything and *then* look for cases to optimize. This patch doesn't actually get us any _benefit_ from siphash yet, since we don't really randomize the key at any point.
| * | | csiphash: Add functions to take a global key.Nick Mathewson2014-02-12
| | | |
| * | | Tests for siphash, from reference implementation.Nick Mathewson2014-02-12
| | | |
| * | | csiphash: avoid unaligned access on non-x86Nick Mathewson2014-02-12
| | | |
| * | | Get csiphash better integrated with our build systemNick Mathewson2014-02-12
| | | |
| * | | Raw import of Marek Majkowski's cisphash.cNick Mathewson2014-02-12
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | siphash is a hash function designed for producing hard-to-predict 64-bit outputs from short inputs and a 128-bit key. It's chosen for security and speed. See https://131002.net/siphash/ for more information on siphash. Source: https://github.com/majek/csiphash/
* | | Merge remote-tracking branch 'origin/maint-0.2.4'Nick Mathewson2014-02-15
|\ \ \ | |/ / |/| |
| * | gcc/clang: Mark macro-generated functions as possible unusedSebastian Hahn2014-02-14
| |/ | | | | | | | | | | | | clang 3.4 introduced a new by-default warning about unused static functions, which we triggered heavily for the hashtable and map function generating macros. We can use __attribute__ ((unused)) (thanks nickm for the suggestion :-) ) to silence these warnings.
* / Prepare patch for ticket 5129 for merging.Peter Retzlaff2013-08-02
|/ | | | | | - Preserve old eventdns code. - Add function to close sockets cross-platform, without accounting. - Add changes/ file.
* Remove an unused local variable.Nick Mathewson2013-03-18
|
* Check return values from fcntl and setsockoptNick Mathewson2013-03-18
| | | | (Based on a patch from flupzor; bug #8206)
* Use torint.h in curve25519-donna*.cNick Mathewson2013-02-14
| | | | This will get it building on systems that lack stdint.h
* Whoops: evdns_log, not tor_log, in src/ext/eventdns.cNick Mathewson2013-02-04
|
* Rename log() to tor_log() for loggingNick Mathewson2013-02-01
| | | | | | | | | | | | | This is meant to avoid conflict with the built-in log() function in math.h. It resolves ticket 7599. First reported by dhill. This was generated with the following perl script: #!/usr/bin/perl -w -i -p s/\blog\(LOG_(ERR|WARN|NOTICE|INFO|DEBUG)\s*,\s*/log_\L$1\(/g; s/\blog\(/tor_log\(/g;
* Rename all of the macros in tor_queue.h to start with TOR_Nick Mathewson2013-01-30
|
* Update the copyright date to 201.Nick Mathewson2013-01-16
|
* Handle EWOULDBLOCK as EAGAIN if they happen to be different.Nick Mathewson2013-01-11
| | | | Fixes bug 7935. Reported by 'oftc_must_be_destroyed'.
* Update our copy of curve25519-donna-c64.Nick Mathewson2013-01-03
| | | | | This now matches upstream at version 59a896970a1ad0a6cd7d0. (Adam took my patches.)
* Use always_inline only with inline; otherwise GCC gripesNick Mathewson2013-01-03
|
* curve25519-donna-c64: make endian-neutralness fns staticNick Mathewson2013-01-02
|
* curve25519-donna-c64: work on bigendian and alignment-happy systemsNick Mathewson2013-01-02
| | | | | | | | There was one place in curve25519-donna-c64 that was relying on unaligned access and relying on little-endian values. This patch fixes that. I've sent Adam a pull request.
* Make curve25519-donna work with our compiler warnings.Nick Mathewson2013-01-02
|
* Add fallback implementations for curve25519: curve25519_donnaNick Mathewson2013-01-02
| | | | | This is copied from Adam Langley's curve25519-donna package, as of commit 09427c9cab32075c06c3487aa01628030e1c5ae7.
* Add an SLIST_ENTRY definition back on non-win32Nick Mathewson2012-11-03
| | | | | | Otherwise we break openbsd headers. Fixes bug 7293; bug not on any released Tor.
* Rename SLIST_ENTRY to TOR_SLIST_ENTRY to fix windows compilationNick Mathewson2012-11-01
| | | | | | Apparently winnt.h defines a different SLIST_ENTRY of its own. Bug not in any version of Tor.
* Add a copy of the queue(3) manpage to the git repository.Nick Mathewson2012-10-30
| | | | See 7105
* Merge branch 'bsd_queue' of ssh://git-rw.torproject.org/nickm/torAndrea Shepard2012-10-30
|\
| * Add a copy of OpenBSD's sys/queue.h as tor_queue.hNick Mathewson2012-10-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are as many divergent implementations of sys/queue.h as there are operating systems shipping it, it would seem. They have some code in common, but have drifted apart, and have added other stuff named differently. So I'm taking a relatively sane one, and hoping for the best. I'm taking OpenBSD's in particular because of the lack of external dependencies, the presence of a CIRCLEQ (we could use one of those in places), and the liberal licensing terms. I'm naming the file tor_queue.h, since historically we've run into trouble having headers with the same names as system headers (log.h, for example.)
* | Fix a reserved identifier that my scripts missedNick Mathewson2012-10-15
| | | | | | | | | | | | | | | | | | My scripts missed it because it was in eventdns.c, which was in ext, but it _was_ using one of our identifiers. That's probably because eventdns.c has drifted a bit since we forked it. I'm not going to fix the other reserved identifiers in eventdns.c, since that would make it drift even more.
* | Merge remote-tracking branch 'public/bug1031'Nick Mathewson2012-10-15
|\ \