| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/717#note_2834307
|
| | |
|
| |
|
|
|
|
|
|
| |
For example, see
https://tpo.pages.torproject.net/core/doc/rust/arti/fn.run.html :
this isn't labeled as `experimental-api`, but it should be.
These APIs were found by poking around in the `arti` crate.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/602#note_2830847
|
| |
|
|
|
|
|
| |
This commit largely follows the example for resolve_alternative_specs.
The difference is that there are two fields, so we use a macro to
avoid recapitulating the field names.
|
| |
|
|
| |
Fixes #474 aka #271
|
| | |
|
| |
|
|
|
|
| |
This can be overridden with `application.allow_running_as_root`.
Part of #523.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This is a compile-time feature with an associated configuration
flag, both enabled by default.
When it's turned on, hardening prevents the arti process from
dumping core or being attached to by low-privileged processes.
(This is a defense-in-depth measure, not an absolute way to prevent
attacks. For more information, see
[`secmem_proc`](https://docs.rs/secmem-proc/0.1.1/secmem_proc/).)
Closes #364.
|
| | |
|
| |
|
|
| |
Closes #522.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The remaining unconditionally public APIs are those related to our
configuration objects, and the main_main() API.
The rationale for making main_main() public is to have an actual
entry point.
The rationale for making the config APIs public is:
1. We really do intend for others to be able to read our
configuration files using this API.
2. The structure of our configuration files is already part of our
interface.
Closes #530.
|
| |
|
|
|
|
|
| |
It remains on-by-default, so users shouldn't notice a difference,
but it may help when we want to save a few bytes of binary size.
Closes #532
|
| |
|
|
|
| |
This option doesn't take an argument. This change drops the argument
from the `--help` message.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Now that configuring the environment variables related to fs
permissions works properly, we don't need to use the "override"
feature any more: we can just add the option to the configuration
when appropriate.
With this design, `--disable-fs-permission-checks` is now mostly an
alias for
`--option storage.permissions.dangerously_trust_everyone=true`
Enabled by #483.
|
| |
|
|
|
|
|
| |
The variable is now handled when building the configuration, and no
longer needs to be special-cased.
Closes #483.
|
| |
|
|
| |
Update all lint blocks
|
| |
|
|
| |
of the proxy port.
|
| |\
| |
| |
| |
| |
| |
| | |
Config handling and logging fixes
Closes #480
See merge request tpo/core/arti!589
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Right now this is an IEFI and therefore a no-op.
|
| |\ \
| | |
| | |
| | | |
# Conflicts:
# crates/arti-client/Cargo.toml
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Rustls uses ring, which uses code from BoringSSL, which derived from
OpenSSL before OpenSSL changed their license. So ring is currently
under 3BSD/SSLEay licenses, which aren't GPL-compatible, which may
be a problem for some people.
See #493.
|
| |/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These need to be optional: they improve performance by shifting to
asm implementations, which may not be everybody's idea of good practice.
These are not 'pure' features, since they select one implementation
but disable another. Therefore they don't go in `full`.
Closes #441.
|
| |/
|
|
|
| |
Also, unify the features documentation format for those two crates,
and document previously undocumented features there.
|
| |
|
|
| |
The remaining consequences of running add_warning
|
| |
|
|
|
| |
From running add_warning, with manual picking of the right
hunks/lines.
|
| |
|
|
| |
These need to survive.
|
| |
|
|
|
|
| |
This was the result of:
maint/add_warning crates/*/src/{lib,main}.rs
and then manually curating the results.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This gets rid of `#[serde(flatten)]` which prevents serde_ignored (and
other kinds of introspection) from working properly.
The price is now that the toplevel has to deal with two configuration
objects.
The Resolvable trait is overkill right now, but is going to do More
Things in a moment. In particular, we need the impl on tuples, so
that the whole config can be processed in one go.
|
| | |
|
| |
|
|
|
|
| |
This change requires a little refactoring of TorClientBuilder: now,
instead of enabling or disabling mistrust, it enables or disables
the decision to _override_ the mistrust in the config.
|
| |
|
|
|
| |
This is an approximately minimal revision to get Builder in place;
subsequent commits will clean up the API.
|
| |
|
|
|
|
|
|
| |
Generally, change the paths that mention the crate name to go via a
module-level "use".
This involves adding tor-config as a direct dependency for a few
crates.
|
| |
|
|
|
|
|
| |
As per
https://gitlab.torproject.org/tpo/core/arti/-/issues/472
Experimentation convinced me the Mistrust should be within the
ConfigurationSources.
|
| |
|
|
|
| |
The defaults are built into the code. This is a doc-commented example
file, not the primary specification of what the defaults are.
|
| | |
|
| |
|
|
|
| |
This does involve unwrap, but of course that can't fail unless the
formats fail, which would already panic (that's implied by format!).
|
| |
|
|
| |
This will let other embedders use it.
|