summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* tor-keymgr: Encode whether the key is public or private in the file extension.Gabriela Moldovan2023-10-131-0/+0
| | | | | | | | | | | | | | There are 2 reasons to make this change: * because having the word `private` in the extension will make it more difficult to accidentally misuse or misplace a private key (see https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1618#note_2947461) * because `Keystore`s will soon grow a `list()` function returning all `(ArtiPath, KeyType)`s in the keystore, and in order for `ArtiNativeKeystore` to implement this function, it will need to be able to reverse the `KeyType -> file extension` mapping (if two different `KeyType`s are mapped to the same extension, `ArtiNativeKeystore`s won't be able to reverse the mapping)
* tor-keymgr: Fix typo in key names.Gabriela Moldovan2023-09-121-0/+0
| | | | The secret keys are prefixed with `KS`, not `KP`.
* tor-keymgr: Remove redundant _private suffix from key extension.Gabriela Moldovan2023-09-121-0/+0
| | | | The privateness of the keys is encoded in their name.
* keymgr: Do not expect x25519 keys to be stored as ed25519 ssh keys.Gabriela Moldovan2023-08-162-6/+6
| | | | | | | | | | | | | | | | | | | | | | Previously, the Arti key store would store x25519 secret keys as ed25519 OpenSSH keys, which it would convert to x25519 upon loading (using the conversion function added in !1297 (merged)). This approach isn't good enough though: most people will probably want to bring their existing x25519 keys, and in order to store those in OpenSSH format, we'd need convert them to ed25519, which is impossible (because the secret part of an x25519 key contains a SHA512'd secret, whereas the corresponding, "un-expanded", ed25519 secret key contains the secret itself rather than the SHA). Now that `ssh-key` has support for ssh keys with [custom algorithm names], we can store x25519 in OpenSSH format directly. This commit changes the storage format used by the keymgr for x25519 client auth keys (from ed25519-ssh to our own custom key type with an algorithm name of `"[email protected]"`). Closes #936 [custom algorithm names]: https://github.com/RustCrypto/SSH/pull/136
* arti-client: Use the config struct from tor-keymgr.Gabriela Moldovan2023-07-131-2/+3
|
* CI: Reduce the success threshold for the HS client integration tests.Gabriela Moldovan2023-07-121-1/+17
| | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1399#note_2921505
* CI: Add client auth integration test.Gabriela Moldovan2023-07-1213-1/+80
|
* make chutney setup script more portabletrinity-1686a2023-07-101-3/+1
|
* fix chutney in CItrinity-1686a2023-07-081-3/+12
|
* articlient-onion: don't filter onion addressesJim Newsome2023-07-033-1/+5
|
* Dedupe arti configs and match TestingTorNetworks HS configJim Newsome2023-07-039-49/+17
|
* shadow test: disable trace-level loggingJim Newsome2023-07-031-2/+0
| | | | | | Some hosts were configured to log at trace level instead of the global default (debug level). This was resulting in quite large shadow log output.
* shadow test: disable worker spinningJim Newsome2023-07-031-0/+1
| | | | | This optimization doesn't seem to help much for this test; disable it to avoid burning CI runner CPU.
* shadow test: enable arti's `log_sensitive_information` optionJim Newsome2023-07-033-0/+9
|
* shadow test: fix hidden service dir permissionsJim Newsome2023-07-031-0/+5
|
* shadow test: add 2 more relaysJim Newsome2023-07-0321-0/+24
| | | | | Without this, the onion client was failing to find a guard. We recently made this change in shadow's "tor minimal" test as well.
* shadow test: fail the test if streams didn't succeedJim Newsome2023-07-031-0/+1
|
* shadow test: add and validate arti onion clientJim Newsome2023-07-034-1/+63
|
* shadow test: add onion serverJim Newsome2023-07-039-0/+32
|
* shadow-ci: check for successful transfers on bridge-client as wellJim Newsome2023-05-221-7/+9
|
* shadow ci: bump shadowJim Newsome2023-05-223-13/+32
|
* shell: use /usr/bin/env instead of absolute pathsEmil Engler2023-01-256-6/+6
| | | | | | | | | | This commit changes the shebang in all shell scripts from absolute paths (such as `/bin/bash` or `/usr/bin/python3`) to the `/usr/bin/env` binary with the accompanying interpreter as it's argument. The reason for this are as follows: - NixOS cannot work with absolute paths - BSD systems install their packages in /usr/local/bin
* shadow ci: avoid hard coding tgen and tor bin pathsJim Newsome2022-12-192-11/+11
| | | | | As of shadow 2.3, shadow can locate executables from the PATH, letting us avoid hard-coded paths here.
* shadow ci: only do pcap capture for bridge clientJim Newsome2022-12-191-4/+2
|
* Fix typoDimitris Apostolou2022-12-121-1/+1
|
* verify leakage and run shadow with less shmtrinity-1686a2022-11-301-3/+21
|
* add vanila bridge to shadow simtrinity-1686a2022-11-3011-2/+56
|
* shadow ci: Set stop time to 30m instead of 27mJim Newsome2022-10-141-4/+1
| | | | | This was a temporary stop-gap to work around a busy loop that seemed to happen before. I am no longer able to reproduce any such problem.
* Create a shadow-based integration testJim Newsome2022-10-0552-0/+544
| | | | Fixes https://gitlab.torproject.org/tpo/core/arti/-/issues/174
* test/chutney/setup: Set allow_running_as_root as needed.Nick Mathewson2022-08-241-1/+9
|
* add default chutney path to arti-bench scripttrinity-1686a2022-05-261-3/+11
|
* make almost all scripts use bash and set euo pipefailtrinity-1686a2022-05-253-5/+7
|
* chutney/teardown: validate that pid is setJim Newsome2022-05-231-1/+1
|
* chutney test stop network when arti died or did not starttrinity-1686a2022-05-052-15/+15
|
* Use port 35353 for testing, not 5353.Nick Mathewson2022-03-152-3/+3
| | | | | Apparently 5353 is commonly used for mDNS, and so counts as "already in use" on many consumer machines.
* comment AAAA test and explain why it's disabledtrinity-1686a2022-03-141-1/+4
|
* add simple unit test on UDPtrinity-1686a2022-03-141-1/+1
|
* add integration test and fill semver_statustrinity-1686a2022-03-142-1/+7
|
* tests/chutney/setup: Transfer changes from just-deleted codeIan Jackson2022-03-111-3/+3
| | | | | | | It turns out that the clone-and-hack in tests/chutney/arti-bench was not identical to the original in tests/chutney/setup. I diffed the two and preferred the version from arti-bench.
* tests/chutney: Merge chutney-launching scriptsNick Mathewson2022-03-102-28/+53
| | | | | | | | | Formerly, the "launch a chutney network" code was duplicated in "setup" and "arti-bench", since "setup" always launched an arti proxy, while "arti-bench" didn't want that functionality. Now the "setup" script launches an arti proxy conditionally, depending on whether the "proxy" argument is given.
* chutney/setup: Wait for port 9150 to open after launching artiNick Mathewson2022-02-281-1/+15
| | | | | This is not a replacement for a real startup protocol, but it may help repair our CI.
* tests/chutney/setup: Reduce sleepIan Jackson2022-02-181-1/+3
| | | | Now that arti listens immediately, a very short sleep ought to do.
* rename *.sh scripts to bare nameIan Jackson2022-02-184-1/+1
| | | | | | | | | As per #309 Update all references. There is one remaining hit for git-grep '\.sh\b' namely "build.sh" in maint/reproducible_build, which I think is the build script for osxcross - ie, an external project.
* arti-bench: run the benchmarks in CI, and keep the resultseta2022-02-031-0/+16
| | | | | This adds `arti-bench` to the `integration` job in the CI pipelines, and keeps around the JSON benchmark output for later comparison.
* Fix/suppress shellcheck errors in teardown.shNick Mathewson2022-01-271-0/+14
| | | | Rationale: It's good to have all of our scripts pass shellcheck.
* arti-bench.sh: Handle the case where CHUTNEY_PATH is set.Nick Mathewson2021-12-211-8/+32
| | | | | Previously, this case would cause arti-bench to hang forever, trying to bootstrap against one network while another network was running.
* arti-bench.sh: set $RUST_LOG if it isn't set.Nick Mathewson2021-12-211-0/+5
| | | | (An empty $RUST_LOG no output, and confuse the nickm^Wuser.)
* tests/chutney/setup.sh: Fix a shellcheck warning.Nick Mathewson2021-12-212-2/+4
| | | | | shellcheck doesn't like `export FOO="$(bar)"` as one line, since it has the possibility of missing errors.
* Introduce an experimental benchmarking utility for Artieta2021-12-161-0/+14
| | | | | | | | | | | | | | | | | | | The new `arti-bench` crate does a simple end-to-end benchmark test embedding Arti: it generates some random data (of configurable amount, depending on command-line parameters), and then sends said data back and forth via Arti (which should be configured to use a local Chutney network). Additionally, the benchmark can also be run via a local SOCKS5 server (in order to benchmark the performance via a local Chutney node, for comparison). The `tests/chutney/arti-bench.sh` sets up and tears down Chutney as required to make this work. This is very much a first cut; there are many things that should eventually get added, such as support for multiple connections, JSON output capabilities, running multiple tests, ...
* chutney: Make $target relative to ${CHUTNEY_PATH}Nick Mathewson2021-12-052-6/+11
| | | | This is per a suggestion from @trinity-1686a.