aboutsummaryrefslogtreecommitdiff
path: root/src/test
AgeCommit message (Collapse)Author
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-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 'teor/feature14175-chutney-performance-v2'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-23Fix a couple more msvc issues, reported by gisle vanemNick Mathewson
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-20typo fix; spotted by armaNick Mathewson
2015-07-20Fix testcases where scrypt APIs are used wrong.rl1987
2015-07-16Break some wide linesNick Mathewson
2015-07-16Fix most check-spaces issuesNick Mathewson
2015-07-11Fix a leak in test_microdesc (CID 1311631)Nick Mathewson
2015-07-09Fix missing-macro errorsNick Mathewson
2015-07-09Merge branch 'libscrypt_eq_openssl_squashed'Nick Mathewson
2015-07-09Assert interoperability betweeen libscrypt and OpenSSL EBP_PBE_scrypt().rl1987
Add a new and slow unit test that checks if libscrypt_scrypt() and EBP_PBE_scrypt() yield the same keys from test vectors. squash! Assert interoperability betweeen libscrypt and OpenSSL EBP_PBE_scrypt(). squash! Assert interoperability betweeen libscrypt and OpenSSL EBP_PBE_scrypt(). squash! Assert interoperability betweeen libscrypt and OpenSSL EBP_PBE_scrypt().
2015-07-06Integrate and enable ed25519-donna.Yawning Angel
The runtime sanity checking is slightly different from the optimized basepoint stuff in that it uses a given implementation's self tests if available, and checks if signing/verification works with a test vector from the IETF EdDSA draft. The unit tests include a new testcase that will fuzz donna against ref0, including the blinding and curve25519 key conversion routines. If this is something that should be done at runtime (No?), the code can be stolen from there. Note: Integrating batch verification is not done yet.
2015-07-06Integrate the accelerated Curve25519 scalar basemult.Yawning Angel
Integration work scavanged from nickm's `ticket8897_9663_v2` branch, with minor modifications. Tor will still sanity check the output but now also attempts to catch extreme breakage by spot checking the optimized implementation vs known values from the NaCl documentation. Implements feature 9663.
2015-07-06Add chutney performance testing support to src/test/test-network.shteor
The following arguments change how chutney verifies the network: --bytes n sends n bytes per test connection (10 KBytes) --connections n makes n test connections per client (1) --hs-multi-client 1 makes each client connect to each HS (0) Requires the corresponding chutney performance testing changes. Note: using --connections 7 or greater on a HS will trigger #15937. Patch by "teor".
2015-07-03Make test_workqueue.c faster, and on-by-default.Nick Mathewson
Instead of having a 30-second timer be the only way to end the test, add a 2 second shutdown timer when the test is actually about to be over.
2015-06-29More tweaks for windows compilation. (ick)Nick Mathewson
2015-06-29Remove checks for visual C 6.Nick Mathewson
2015-06-25Merge remote-tracking branch 'origin/maint-0.2.6'Nick Mathewson
2015-06-24Work around nytimes.com's broken hostnames in our SOCKS checks.Yawning Angel
RFC 952 is approximately 30 years old, and people are failing to comply, by serving A records with '_' as part of the hostname. Since relaxing the check is a QOL improvement for our userbase, relax the check to allow such abominations as destinations, especially since there are likely to be other similarly misconfigured domains out there.
2015-06-22Repair breakage in early-error case of microdesc parsingNick Mathewson
When I fixed #11243, I made it so we would take the digest of a descriptor before tokenizing it, so we could desist from download attempts if parsing failed. But when I did that, I didn't remove an assertion that the descriptor began with "onion-key". Usually, this was enforced by "find_start_of_next_microdescriptor", but when find_start_of_next_microdescriptor returned NULL, the assertion was triggered. Fixes bug 16400. Thanks to torkeln for reporting and cypherpunks_backup for diagnosing and writing the first fix here.
2015-06-03Remove undefined directive-in-macro in test_util_writepidteor
clang 3.7 complains that using a preprocessor directive inside a macro invocation in test_util_writepid in test_util.c is undefined. Fix on 79e85313aa61 on 0.2.7.1-alpha.
2015-06-01Add a master-key-ed25519 line for convenienceNick Mathewson
2015-06-01More check-spaces fixesNick Mathewson
2015-06-01Fix some memory leaks in ed25519 code and testsNick Mathewson
2015-06-01Appease make check-spacesAndrea Shepard
2015-05-29Fix another int-to-ptr cast.Nick Mathewson
2015-05-29Fix a sizeof(ptr) mistake in test-memwipe.cNick Mathewson
2015-05-28Merge remote-tracking branch 'origin/maint-0.2.6'Nick Mathewson
2015-05-28There sure are a lot of these in test_hs.c. CID 1301385Nick Mathewson
2015-05-28Another test_hs leak. CID 1301383.Nick Mathewson
2015-05-28Memory leak in tor_cert_parse. CID 1301382.Nick Mathewson
2015-05-28Fix leak-on-test-failure in test_routerkeys.cNick Mathewson
CID 1301379
2015-05-28Memory leak in test_hs_rend_dataNick Mathewson
CID 1301377
2015-05-28Fix memory leak in test_routerkeysNick Mathewson
CID 1301376
2015-05-28Avoid dereferencing null on unit test failure for link handshakes.Nick Mathewson
This fixes CID 1301368 -- found by coverity
2015-05-28Merge branch '12498_ed25519_keys_v6'Nick Mathewson
Fixed numerous conflicts, and ported code to use new base64 api.
2015-05-28Do not allocate our ed-link crosscert till after tls ctxNick Mathewson
We need this to prevent some annoying chutney crash-at-starts
2015-05-28Generate weird certificates correctlyNick Mathewson
(Our link protocol assumes that the link cert certifies the TLS key, and there is an RSA->Ed25519 crosscert)
2015-05-28# This is a combination of 2 commits.Nick Mathewson
# The first commit's message is: Regenerate ed25519 keys when they will expire soon. Also, have testing-level options to set the lifetimes and expiration-tolerances of all key types, plus a non-testing-level option to set the lifetime of any auto-generated signing key. # The 2nd commit message will be skipped: # fixup! Regenerate ed25519 keys when they will expire soon.
2015-05-28Sign extrainfo documents with ed25519Nick Mathewson
Extrainfo documents are now ed-signed just as are router descriptors, according to proposal 220. This patch also includes some more tests for successful/failing parsing, and fixes a crash bug in ed25519 descriptor parsing.
2015-05-28Revise makedesc.py: teach it how to emit ed signatures and crosscertsNick Mathewson
Also, add a trivial ed25519-signed routerinfo to the tests.
2015-05-28Fix memory leaks in test_link_handshake.cNick Mathewson
2015-05-28Tests for AUTHENTICATE cell functionality.Nick Mathewson
2015-05-28Start testing cell encoders/processers for the v3 handshake.Nick Mathewson
An earlier version of these tests was broken; now they're a nicer, more robust, more black-box set of tests. The key is to have each test check a handshake message that is wrong in _one_ way.
2015-05-28Include ed25519 keys in microdescriptors.Nick Mathewson