summaryrefslogtreecommitdiff
path: root/src/or/include.am
AgeCommit message (Collapse)Author
2016-09-26checkpoint basic protover backendNick Mathewson
2016-07-04Remove src/or/eventdns_tor.h based on cypherpunk's reviewSebastian Hahn
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-20prop250: Add memory and disk state in new filesDavid Goulet
This commit introduces two new files with their header. "shared_random.c" contains basic functions to initialize the state and allow commit decoding for the disk state to be able to parse them from disk. "shared_random_state.c" contains everything that has to do with the state for both our memory and disk. Lots of helper functions as well as a mechanism to query the state in a synchronized way. Signed-off-by: David Goulet <dgoulet@torproject.org> Signed-off-by: George Kadianakis <desnacked@riseup.net>
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-01-08Simplify micro-revision dependency rulescypherpunks
The Automake variable OBJEXT is automatically adjusted to the correct object file extension for the target platform.
2015-12-26Mark all object files built based on micro-revision.i as depending on itNick Mathewson
Fixes make -j for some users; fixes bug 17826. Bugfix on 0.2.5.1, when we started building testing versions of all the object files.
2015-12-19Add the SHA-3 hash functions to common/crypto.h.Yawning Angel
* DIGEST_SHA3_[256,512] added as supported algorithms, which do exactly what is said on the tin. * test/bench now benchmarks all of the supported digest algorithms, so it's possible to see just how slow SHA-3 is, though the message sizes could probably use tweaking since this is very dependent on the message size vs the SHA-3 rate.
2015-12-15Merge remote-tracking branch 'teor/feature15775-fallback-v9-squashed'Nick Mathewson
2015-12-16Add Fallback Directory Candidate Selection Scriptteor
"Tor has included a feature to fetch the initial consensus from nodes other than the authorities for a while now. We just haven't shipped a list of alternate locations for clients to go to yet. Reasons why we might want to ship tor with a list of additional places where clients can find the consensus is that it makes authority reachability and BW less important. We want them to have been around and using their current key, address, and port for a while now (120 days), and have been running, a guard, and a v2 directory mirror for most of that time." Features: * whitelist and blacklist for an opt-in/opt-out trial. * excludes BadExits, tor versions that aren't recommended, and low consensus weight directory mirrors. * reduces the weighting of Exits to avoid overloading them. * places limits on the weight of any one fallback. * includes an IPv6 address and orport for each FallbackDir, as implemented in #17327. (Tor won't bootstrap using IPv6 fallbacks until #17840 is merged.) * generated output includes timestamps & Onionoo URL for traceability. * unit test ensures that we successfully load all included default fallback directories. Closes ticket #15775. Patch by "teor". OnionOO script by "weasel", "teor", "gsathya", and "karsten".
2015-12-14Merge branch 'maint-0.2.7'Nick Mathewson
2015-12-14Only setup environment variables for testscypherpunks
Using the AM_TESTS_ENVIRONMENT variable ensures the environment variables are only set during test execution and not during the compilation phase.
2015-11-13Infrastructure for replacing global periodic events in main.cKevin Butler
(This is from Kevin's bug3199 patch series; nick extracted it into a new file and changed the interface a little, then did some API tweaks on it.)
2015-09-29No spaces around = in variable assignmentMarcin Cieślak
BSD make takes spaces around = literally and produces a "TESTING_TOR_BINARY " variable with a trailing space, which leads to test_keygen.sh failure. Fixes 17154
2015-09-02Include dns_structs.h in tarballNick Mathewson
2015-08-21Is this the syntax that will make freebsd make happy?Nick Mathewson
2015-08-18Use tabs in src/or/include.amSebastian Hahn
2015-06-18Add rendcache.{c|h}David Goulet
For now, rend_cache_entry_t has been moved from or.h to rendcache.h and those files have been added to the build system. In the next commit, these will contain hidden service descriptor cache ABI and API for both client and directory side. The goal is to consolidate the descriptor caches in one location to ease development, maintenance, review and improve documentation for each cache behavior and algorithm. Signed-off-by: David Goulet <dgoulet@ev0ke.net>
2015-05-28Merge branch '12498_ed25519_keys_v6'Nick Mathewson
Fixed numerous conflicts, and ported code to use new base64 api.
2015-05-28Refactor code that matches up routers with the same identity in votesNick Mathewson
This makes 'routerstatus collation' into a first-class concept, so we can change how that works for prop220.
2015-05-28Key-pinning back-end for directory authorities.Nick Mathewson
This module implements a key-pinning mechanism to ensure that it's safe to use RSA keys as identitifers even as we migrate to Ed25519 keys. It remembers, for every Ed25519 key we've seen, what the associated Ed25519 key is. This way, if we see a different Ed25519 key with that RSA key, we'll know that there's a mismatch. We persist these entries to disk using a simple format, where each line has a base64-encoded RSA SHA1 hash, then a base64-endoded Ed25519 key. Empty lines, misformed lines, and lines beginning with a # are ignored. Lines beginning with @ are reserved for future extensions.
2015-05-28prop220: Implement certificates and key storage/creationNick Mathewson
For prop220, we have a new ed25519 certificate type. This patch implements the code to create, parse, and validate those, along with code for routers to maintain their own sets of certificates and keys. (Some parts of master identity key encryption are done, but the implementation of that isn't finished)
2015-05-18Silence two make rulescypherpunks
2015-04-01Drop support for --digestsNick Mathewson
This is a fair amount of maintainance burden, and doesn't help much more than the git microversion. Closes ticket 14742.
2015-03-21Disable assertions during coverage buildsSebastian Hahn
This removes roughly 5000 branches in my testing. We never want to trigger assertions even during tests, so this is sane. Implements #15400.
2015-03-14Do not distribute common_sha1.i and or_sha1.i.cypherpunks
These files get generated automatically so there is need to include them in the distribution.
2015-03-14Clean up generated files.cypherpunks
Remove src/or/or_sha1.i and src/common/common_sha1.i on `make clean` and remove the temporary micro-revision file when its no longer needed. Additional changes; - show a message when generating the micro-revision file. - add the temporary micro revision file to the list of files to be removed on `make clean` just in case. - fix indentation of the make rule to improve readability.
2015-03-14Use output variables instead of relative paths.cypherpunks
Fixes the following rules in out-of-tree builds; - check-spaces - check-docs - check-logs - Doxygen - coverage-html And cleans up additional directories; - coverage_html - doc/doxygen
2015-03-04Revert "Missing dependencies; fixes 15127."Nick Mathewson
This reverts commit 930ab95e1fb0dfd5af35e7d84ca58ff21b65a605.
2015-03-04Merge remote-tracking branch 'public/bug15127_025' into maint-0.2.6Nick Mathewson
2015-03-04Missing dependencies; fixes 15127.Nick Mathewson
2015-01-06make "make test-stem" run stem tests on torNick Mathewson
Closes ticket 14107.
2014-12-23add support for systemd notification protocolMichael Scherer
This permit for now to signal readiness in a cleaner way to systemd.
2014-11-27Merge remote-tracking branch 'andrea/cmux_refactor_configurable_threshold'Nick Mathewson
Conflicts: src/or/or.h src/test/Makefile.nmake
2014-10-27Remove configure option to disable curve25519Sebastian Hahn
By now, support in the network is widespread and it's time to require more modern crypto on all Tor instances, whether they're clients or servers. By doing this early in 0.2.6, we can be sure that at some point all clients will have reasonable support.
2014-09-30Implement scheduler mechanism to track lists of channels wanting cells or ↵Andrea Shepard
writes; doesn't actually drive the cell flow from it yet
2013-10-31Move pathbias functions into a new file.Nick Mathewson
Does not compile yet. This is the "no code changed" diff.
2013-07-18Move Extended ORPort code to its own module.George Kadianakis
Move the code from the connection_or module to ext_orport. This commit only moves code: it shouldn't modify anything.
2013-07-10Coverage support: build with --enable-coverage to have tests run with gcovNick Mathewson
If you pass the --enable-coverage flag on the command line, we build our testing binaries with appropriate options eo enable coverage testing. We also build a "tor-cov" binary that has coverage enabled, for integration tests. On recent OSX versions, test coverage only works with clang, not gcc. So we warn about that. Also add a contrib/coverage script to actually run gcov with the appropriate options to generate useful .gcov files. (Thanks to automake, the .o files will not have the names that gcov expects to find.) Also, remove generated gcda and gcno files on clean.
2013-07-10Start work on fancy compiler tricks to expose extra stuff to our testsNick Mathewson
This is mainly a matter of automake trickery: we build each static library in two versions now: one with the TOR_UNIT_TESTS macro defined, and one without. When TOR_UNIT_TESTS is defined, we can enable mocking and expose more functions. When it's not defined, we can lock the binary down more. The alternatives would be to have alternate build modes: a "testing configuration" for building the libraries with test support, and a "production configuration" for building them without. I don't favor that approach, since I think it would mean more people runnning binaries build for testing, or more people not running unit tests.
2013-05-10Merge bug5595-v2-squashed into maint-0.2.4Andrea Shepard
2013-02-19Add src/or/micro-revision.i to CLEANFILES in case anybody has oneNick Mathewson
Fix for 7143.
2013-01-16Actually link against nacl when we want to use itNick Mathewson
Fixes more of bug 7972
2013-01-03Make libcurve25519_donna get built as a .aNick Mathewson
This lets us give it compiler flags differing from the rest of libor-crypto.a
2013-01-02Split onion.[ch] into onion{,_fast,_tap}.[ch]Nick Mathewson
I'm going to want a generic "onionskin" type and set of wrappers, and for that, it will be helpful to isolate the different circuit creation handshakes. Now the original handshake is in onion_tap.[ch], the CREATE_FAST handshake is in onion_fast.[ch], and onion.[ch] now handles the onion queue. This commit does nothing but move code and adjust header files.
2013-01-02Implementat the ntor handshakeNick Mathewson
The ntor handshake--described in proposal 216 and in a paper by Goldberg, Stebila, and Ustaoglu--gets us much better performance than our current approach.
2012-11-14Move address map into its own file.Nick Mathewson
2012-10-15Move the circuit build timeout code into its own file.Nick Mathewson
2012-10-11Move all externally maintained source files into src/extNick Mathewson
The rationale for treating these files differently is that we should be checking upstream for changes as applicable, and merging changes upstream as warranted.
2012-10-10Add initial circuitmux_ewma.{c,h}Andrea Shepard