aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-08-18Add comments for thread-local storage functionsNick Mathewson
2015-08-18Use thread-local storage to block event_queue recursion.Nick Mathewson
2015-08-18Multithreading support for event-queue code.Nick Mathewson
2015-08-18Refactor initialization logic for control-event-queueNick Mathewson
This puts the init logic in a separate function, which we will need once we have locking.
2015-08-18Make the control/events test run TT_FORKNick Mathewson
Some of them like to munge the global event mask, so it's important to have that behavior isolated.
2015-08-18Remove obsolete event_format_tNick Mathewson
We used to use this when we had some controllers that would accept long names and some that wouldn't. But it's been obsolete for a while, and it's time to strip it out of the code.
2015-08-18Refactor our logic for sending events to controllersNick Mathewson
Previously we'd put these strings right on the controllers' outbufs. But this could cause some trouble, for these reasons: 1) Calling the network stack directly here would make a huge portion of our networking code (from which so much of the rest of Tor is reachable) reachable from everything that potentially generated controller events. 2) Since _some_ events (EVENT_ERR for instance) would cause us to call connection_flush(), every control_event_* function would appear to be able to reach even _more_ of the network stack in our cllgraph. 3) Every time we generated an event, we'd have to walk the whole connection list, which isn't exactly fast. This is an attempt to break down the "blob" described in http://archives.seul.org/tor/dev/Mar-2015/msg00197.html -- the set of functions from which nearly all the other functions in Tor are reachable. Closes ticket 16695.
2015-07-29Merge remote-tracking branch 'origin/maint-0.2.6'Nick Mathewson
2015-07-29Merge remote-tracking branch 'origin/maint-0.2.5' into maint-0.2.6Nick Mathewson
2015-07-29Merge remote-tracking branch 'origin/maint-0.2.4' into maint-0.2.5Nick Mathewson
2015-07-29Merge remote-tracking branch 'teor/feature14175-chutney-performance-v2'Nick Mathewson
2015-07-29Update geoip and geoip6 to the July 8 2015 database.Karsten Loesing
2015-07-27Bump version to 0.2.7.2-alpha-devNick Mathewson
2015-07-27Merge remote-tracking branch 'yawning/bug16674'Nick Mathewson
2015-07-27Allow a single trailing `.` when validating FQDNs from SOCKS.Yawning Angel
URI syntax (and DNS syntax) allows for a single trailing `.` to explicitly distinguish between a relative and absolute (fully-qualified) domain name. While this is redundant in that RFC 1928 DOMAINNAME addresses are *always* fully-qualified, certain clients blindly pass the trailing `.` along in the request. Fixes bug 16674; bugfix on 0.2.6.2-alpha.
2015-07-27Fix ed25519-donna with SSP on non-x86.Yawning Angel
The only reason 16 byte alignment is required is for SSE2 load and store operations, so only align datastructures to 16 byte boundaries when building with SSE2 support. This fixes builds with GCC SSP on platforms that don't have special case code to do dynamic stack re-alignment (everything not x86/x86_64). Fixes bug #16666.
2015-07-23Bump version (and explain how)Nick Mathewson
2015-07-23Re-run trunnel to capture change for msvc.Nick Mathewson
2015-07-23Fix a couple more msvc issues, reported by gisle vanemNick Mathewson
2015-07-22Merge branch 'ticket2325_squashed'Nick Mathewson
2015-07-21Remove casting of void pointers when handling signals.cypherpunks
2015-07-21Improve the workqueue test help message.cypherpunks
The workqueue test help message has two issues. First, the message uses 4 space indentation when 2 space indentation seems more common. Second, the help message misses some options. This commit fixes both issues.
2015-07-21Limit the number of inflight items to the number of items.cypherpunks
2015-07-21Fix some potential memory leaks in the thread pool code.cypherpunks
2015-07-20typo fix; spotted by armaNick Mathewson
2015-07-20Document the torrc format as thoroughly as possibleNick Mathewson
Closes ticket 2325
2015-07-20Fix testcases where scrypt APIs are used wrong.rl1987
2015-07-16Merge remote-tracking branch 'public/feature_16580'Nick Mathewson
2015-07-16Merge remote-tracking branch 'public/ticket16543'Nick Mathewson
2015-07-16Merge remote-tracking branch 'sysrqb/bug15220_026_sysrqb'Nick Mathewson
2015-07-16Break some wide linesNick Mathewson
2015-07-16Fix most check-spaces issuesNick Mathewson
2015-07-15Use C99 variadic macros when not on GCC.Nick Mathewson
1) We already require C99. 2) This allows us to support MSVC again (thanks to Gisle Vanem for this part) 3) This change allows us to dump some rotten old compatibility code from log.c
2015-07-15Merge branches 'feature_16582' and 'feature_16581'Nick Mathewson
2015-07-15Don't allow INIT_ED_KEY_{NO_REPAIR,NEEDCERT} to be used together.Nick Mathewson
We haven't implemented NO_REPAIR for NEEDCERT, and we don't need it: but it's safest to stop any attempt to use it that way.
2015-07-15Add more EINVAL errno setting on key read failuresNick Mathewson
Teor found these. This is for part of #16582.
2015-07-14Add changes file for 8712; apply it to HSDir flag as well.Nick Mathewson
2015-07-14Vote for relays to be fast and stable even when they aren't currently active.Peter Retzlaff
2015-07-14Change the name for the keypinning file; delete the old one if foundNick Mathewson
This is a brute-force fix for #16580, wherein #16530 caused some routers to do bad things with the old keypinning journal.
2015-07-14Add more consistency checks in load_ed_keysNick Mathewson
Make sure that signing certs are signed by the right identity key, to prevent a recurrence of #16530. Also make sure that the master identity key we find on disk matches the one we have in RAM, if we have one. This is for #16581.
2015-07-14Do more consistency checks in ed_key_init_from_file()Nick Mathewson
When there is a signing key and the certificate lists a key, make sure that the certificate lists the same signing key. When there are public key and secret key stored in separate files, make sure they match. Use the right file name when we load an encrypted secret key and then find a problem with it. This is part of 16581.
2015-07-14If loading an ed25519 master key fails with errno != ENOENT, give up.Nick Mathewson
This implements feature 16582: if we get EMFILE or something when loading our master key, we should not at that point attempt to overwrite it.
2015-07-14Preserve errno when loading encrypted ed25519 keys.Nick Mathewson
2015-07-14Make file-reading and key-reading preserve errnoNick Mathewson
This is an important part of #16582.
2015-07-14Remove empty rend_service_validate_intro_early functionJohn Brooks
2015-07-14Rename ambiguous introduction point functionsJohn Brooks
Task #15824
2015-07-12Try to convince coverity not to worry about this loop eitherNick Mathewson
2015-07-12Try to convince coverity not to worryh about this loopNick Mathewson
2015-07-12Tell coverity to tolerate ed25519_verifyNick Mathewson
2015-07-12Bump maint-0.2.6 to 0.2.6.10-devNick Mathewson