summaryrefslogtreecommitdiff
path: root/tests/shadow
Commit message (Collapse)AuthorAgeFilesLines
...
* CI: Don't build arti with experimental features in rust-latest.Gabriela Moldovan2024-03-141-1/+1
| | | | | | | | Some experimental features (i.e. `vanguards`) break the shadow integration tests. Since the examples enable `experimental`, we need `rust-latest` to build arti using `-p arti`, rather than from the workspace level (because cargo does feature unification when building the packages as a workspace).
* tor-hsclient: Remove client nickname from the client key specifiers.Gabriela Moldovan2024-02-221-0/+0
| | | | Closes #1283
* arti, arti-client, tor-keymgr: Remove keystore dir configuration.Gabriela Moldovan2024-02-211-1/+3
| | | | Closes #1202
* tor-hsservice: Rename the service keystore dir to "hss".Gabriela Moldovan2024-02-012-0/+0
| | | | | | | | | | | The onion service keys now live in the `hss/<nickname>` subdirectory within the keystore. This layout change is **not** backwards-compatible, so if you want to use your existing hidden service keys, you will need to manually move them to `<keystore_root>/hss`. Closes #1260
* tor-keymgr: Lowercase the role when building the ArtiPath.Gabriela Moldovan2024-01-313-1/+1
| | | | | | | The role is a slug, and slugs are not allowed to contain uppercase characters. Closes #1195
* tor-keymgr: Strip .onion suffix from HsId before building Slug.Gabriela Moldovan2024-01-311-0/+0
| | | | | | We are about to replace `ArtiPathComponent` with `Slug`, but `Slug`s don't support `.`, so let's strip the `.onion` suffix before encoding it in the `ArtiPath`.
* shadow ci: add instructions for building arti-extraJim Newsome2024-01-161-2/+20
|
* shadow test: Update the test client auth keys.Gabriela Moldovan2023-12-142-7/+6
| | | | | The algorithm name for x25519 keys has changed, so the test keys need to be updated.
* shadow test: Update hidden service keys.Gabriela Moldovan2023-12-143-8/+8
| | | | | The algorithm name for expanded ed25519 keys has changed, so the test keys need to be updated.
* shadow test: remove workaround for #1170Jim Newsome2023-12-131-9/+0
| | | | | | | Disabling the shadow option --model-unblocked-syscall-latency causes this bug not to surface. Better to remove this workaround for now so that we can revisit again if/when it does rather than continue to mask it.
* shadow test: disable --model-unblocked-syscall-latencyJim Newsome2023-12-131-1/+0
| | | | | | | | | This option is mostly a workaround for busy loops and other subtle race conditions. While having it enabled can let us ignore some benign busy loops and timing edge cases, it can also hide real problems; e.g. burning extra CPU in a busy-loop. https://shadow.github.io/docs/guide/limitations.html#busy-loops
* shadow test: add tor client connecting to arti hsJim Newsome2023-12-134-1/+16
|
* shadow test: add client for arti hsJim Newsome2023-12-135-1/+64
| | | | | This also adds a workaround - the arti service doesn't appear to register itself (set up intro points) unless first used as a client.
* shadow test: add hidden service keystore to templateJim Newsome2023-12-132-0/+9
| | | | This is to ensure a stable HS address.
* shadow test: add fileserver-onion-artiJim Newsome2023-12-132-0/+24
|
* shadow ci: use proxy.sock_listen instead of socks_portJim Newsome2023-12-131-5/+5
| | | | socks_port is deprecated
* shadow ci: reformat arti argument lists (no-op)Jim Newsome2023-12-131-5/+33
| | | | | Put one argument per line and use a yaml list instead of string (shadow accepts either here).
* shadow ci: add host articlient-extraJim Newsome2023-12-073-1/+20
| | | | | | | | | | | The arti-extra binary has several experimental features enabled. Currently it is used to test experimental onion service features, but it would be useful also do a test of the arti-extra binary in the same configuration and workload as the arti binary (which has the default featureset). In a follow-up commit, we'll enable the experimental ntor-v3 handshake implementation in the arti-extra binary.
* 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
|
* 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-251-1/+1
| | | | | | | | | | 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