summaryrefslogtreecommitdiff
path: root/crates/arti/src/dns.rs
Commit message (Collapse)AuthorAgeFilesLines
* arti: Fix up proxy launching documentationNick Mathewson2026-02-191-2/+3
|
* arti: Extract responsibility for port listing.Nick Mathewson2026-02-191-18/+19
| | | | | Instead of doing this when we construct the listeners, we can do it in a separate method, to simplify the return type.
* arti: Refactor dns proxy launcher function.Nick Mathewson2026-02-191-6/+30
| | | | Part of #2301.
* arti: Export the chosen ports in a ports_info.json file.Nick Mathewson2025-12-161-5/+17
| | | | | This allows applications to find out where arti is listening when arti has been configured to listen with the port "auto".
* arti: Change how proxy futures are returned.Nick Mathewson2025-12-161-7/+20
| | | | | | | | | | | | | | Previously, the proxy and dns modules only had "be a proxy" functions that ran forever. Now they have functions that bind to listeners and return a separate "be a proxy" future that runs forever. This lets us simplify some kludges in subcommands::proxy. More importantly, it will let us return the bound-to ports so that subcommands::proxy can write them to disk. This is a break in experimental-apis, which does not require a semver change.
* arti: tweak docs, add TODOs with respect to Listener.Nick Mathewson2025-12-161-0/+1
|
* arti: Log the actual addresses we are listening on.Nick Mathewson2025-12-161-2/+6
|
* tor-config: rename `Listen::is_localhost_only` to `is_loopback_only`Steven Engler2025-12-021-1/+1
| | | | Assumes that 0.37.0 will be the next version number.
* Add a notion of isolation strong enough to enable long-lived circuits.Nick Mathewson2025-11-121-0/+4
| | | | Part of prop368.
* all: replace all uses of `futures::task::SpawnExt` with `tor_rtcompat::SpawnExt`Steven Engler2025-11-041-1/+1
|
* *: suppress cognitive_complexity warnings from nightlyNick Mathewson2025-05-291-0/+2
| | | | | | | | | | | | | Apparently clippy nightly is better (or worse?) about detecting complex functions than before, so I'm suppressing these warnings where they occur. I have mixed feelings about these warnings: On the plus side, they really do help to detect functions that are twistier than they need to be. On the minus side, they get confused by tracing macros, and the "allows" do pile up. But on the plus side, those "allows" do provide a way to find functions that need to be refactored, and they are never uglier than the functions they decorate.
* arti: Warn when listening on non-loopback addresses.Nick Mathewson2024-09-251-0/+4
|
* Move from `trust-dns` to `hickory`Andrew2023-11-301-6/+6
| | | | | | This is not a change of ownership but just rebranding. Signed-off-by: Andrew <[email protected]>
* Treat only EAFNOSUPPORT as a warningJani Monoses2023-09-261-4/+6
|
* Handle address already in useJani Monoses2023-09-221-0/+4
|
* arti, tor-config: Allow listening on generic addresses for SOCKS and DNS.Jani Monoses2023-09-221-14/+18
|
* Bump to trust-dns-proto 0.23.0Nick Mathewson2023-09-051-4/+4
|
* Throughout: Use *_report!() macros for reporting Errors.Nick Mathewson2023-07-071-8/+5
| | | | | | | | | | | | | | | I identified the cases to replace by searching for the string `.report()`. There are a few that I didn't change: * A couple of cases that used anyhow::Error, * One case that reported two Errors. * Two cases in `tor_hsclient::err` that just did `error!("Bug: {}")`. I have also not audited the cases in `tor-hsclient` where we're using `tor_error::Report` manually. Nonetheless, closes #949.
* Use ErrorReport - run rustfmtIan Jackson2023-01-301-1/+5
| | | | Split off for ease of review and possible rebase.
* Apply safelog to DNS response serialisation errors, but report themIan Jackson2023-01-301-5/+11
| | | | | | With safe logging disabled, print the error too. With safe logging enabled, do not print the message or the error.
* Use ErrorReport/Report for errors in warn! in artiIan Jackson2023-01-301-3/+4
|
* arti: Adjust severity on per-socks-request log.Nick Mathewson2022-08-251-1/+3
| | | | | Also, note why we aren't hiding the addrs that we're listening on here.
* arti: Move most public APIs behind `experimental-api`.Nick Mathewson2022-08-111-1/+2
| | | | | | | | | | | | | | | | | 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.
* try to differentiate transient from nontransient errortrinity-1686a2022-06-081-2/+0
|
* return nodata instead of servfail in some instancestrinity-1686a2022-06-081-3/+13
|
* deduplicate dns requests based on transaction idtrinity-1686a2022-05-301-49/+139
|
* rename *_isolation_group to *_isolationtrinity-1686a2022-03-241-1/+1
|
* Alternative API for set_isolation_group().Nick Mathewson2022-03-171-1/+1
| | | | | | | | | | | | Instead of requiring a `Box<dyn Isolation>`, it now takes either a `Box<dyn Isolation>`, or an arbitrary `T` that implements `Isolation`. This API still allows the user to pass in a `Box<dyn Isolation>` if that's what they have, but it doesn't require them to Box the isolation on their own. Part of #414.
* Merge branch 'test-isolation' into 'main'Nick Mathewson2022-03-171-6/+32
|\ | | | | | | | | new api for isolation See merge request tpo/core/arti!377
| * add isolation to dns requeststrinity-1686a2022-03-161-6/+32
| |
* | Fix typoDimitris Apostolou2022-03-161-1/+1
|/
* make run_dns_resolver public and fix typotrinity-1686a2022-03-151-3/+2
|
* fix typos and minor issuestrinity-1686a2022-03-141-2/+5
|
* actually add DNS supporttrinity-1686a2022-03-141-4/+80
|
* add skeleton for DNS handlingtrinity-1686a2022-03-141-6/+88
|
* add udp to runtimetrinity-1686a2022-03-141-0/+21