| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
| |
This commit is just the necessary plumbing. The config is currently
empty. We'll add something to it, for padding control, later.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
Closes #503.
|
| |
|
|
|
| |
This option doesn't take an argument. This change drops the argument
from the `--help` message.
|
| |\
| |
| |
| |
| |
| |
| | |
Move environment-variable checking into fs-mistrust
Closes #483
See merge request tpo/core/arti!630
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |/
|
|
| |
Also, make private a function that had formerly been `pub`.
|
| |
|
|
| |
Update all lint blocks
|
| |
|
|
| |
of the proxy port.
|
| |\
| |
| |
| |
| |
| |
| | |
Implement support for reachable_addrs
Closes #491 and #93
See merge request tpo/core/arti!583
|
| | |
| |
| |
| | |
(This doesn't do anything yet.)
|
| |\ \
| | |
| | |
| | |
| | | |
Use impl_standard_builder more and remove manual Default/builder impls
See merge request tpo/core/arti!594
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Config handling and logging fixes
Closes #480
See merge request tpo/core/arti!589
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Prompted by review
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/589#note_2813596
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Right now this is an IEFI and therefore a no-op.
|
| | | | |
| | | |
| | | |
| | | | |
It contains only sections, but we want to detect when that is a problem!
|
| | |/ /
| | |
| | |
| | | |
We're going to call this new closure another time.
|
| |\ \ \
| | |/
| |/|
| | | |
# Conflicts:
# crates/arti-client/Cargo.toml
|
| | |\ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
Add "full" and "experimental" features to arti, arti-client, and below.
Closes #499
See merge request tpo/core/arti!584
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
| | |
| | |
| | |
| | | |
As per point 1 in
https://gitlab.torproject.org/tpo/core/arti/-/issues/488
|
| | |/
|/|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
lints: Make lint blocks consistent and ensure they stay that way
Closes #469
See merge request tpo/core/arti!557
|
| | |
| |
| |
| | |
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 is the final piece of #457.
|
| | |
| |
| |
| |
| | |
This allows us to add the proper default example to the arti example
config file.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now the validated configuration will never be `Some(0)`, even if that
is what was written in the config file. The arti CLI parser can still
produce this, so we don't touch the code that actually uses this.
(Without the canonicalisation the default builder produces `None` for
the `dns_port`, but the example would produce `Some(0)`, which is
semantically identical but fails the test.)
See https://gitlab.torproject.org/tpo/core/arti/-/issues/488 for some
background.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Canonicalise the `logging.journald` setting in the validated
configuration. Now it will never be `Some("")`, even if that is what
was written in the config file.
This allows us to write `journald = ""` in the example configuration.
(Without the canonicalisation the default builder produces `None` and
the example would produce `Some("")`, which are semantically identical
but fail the test.)
See https://gitlab.torproject.org/tpo/core/arti/-/issues/488 for some
background.
|
| | |
| |
| |
| |
| | |
These weren't previously discussed. It's not practical or useful to
show the actual default values here.
|
| | |
| |
| |
| | |
Found by my forthcoming test.
|
| | |
| |
| |
| |
| | |
This makes the config default parser see just "[ ]", an empty list,
which is indeed the default.
|
| | |
| |
| |
| | |
That this remained was an oversight.
|
| |/ |
|