summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge branch 'allow-truncated-headers' into 'main'Ian Jackson2026-01-191-1/+10
|\ \ | |/ |/| | | | | | | | | Fix flaky `request_fail_ultimately` test Closes #2318 See merge request tpo/core/arti!3598
| * Fix flaky `request_fail_ultimately` testClara Engler2026-01-191-1/+10
|/ | | | | | | | | | | | | This commit fixes the flaky `request_fail_ultimately` in tor-dirserver, which is flaky due to the operating system's handling of TCP RSTs, which are generally detected stochastically and sometimes are not received even after the entire response has been parsed. This leads to tor-dirclient either returning a connection reset or a truncated header error, depending on whether it successfully or unsuccessfully reads zero bytes from the server. Fixes #2318
* Merge branch 'thanks' into 'main'Nick Mathewson2026-01-162-6/+6
|\ | | | | | | | | | | | | maint: Use 'C.UTF-8' locale for sorting `exclude_contributors.txt` Closes #2313 See merge request tpo/core/arti!3588
| * maint: add comment in `exclude_contributors.txt`Steven Engler2026-01-131-1/+2
| |
| * maint: use 'C.UTF-8' locale for sorting excl contrib fileSteven Engler2026-01-132-5/+4
| |
* | Merge branch 'opaque_arti_2.0' into 'main'Nick Mathewson2026-01-1511-107/+197
|\ \ | | | | | | | | | | | | | | | | | | Make all non-main APIs in arti experimental. Closes #2284, #2299, and #419 See merge request tpo/core/arti!3586
| * | arti: Edit README.md text about experimental-api.Nick Mathewson2026-01-141-1/+6
| | |
| * | bench,testing: Use experimental-api.Nick Mathewson2026-01-132-2/+2
| | | | | | | | | | | | These crates are "inherently experimental" and allowed to require it.
| * | arti: remove deprecated feature flags.Nick Mathewson2026-01-133-17/+6
| | | | | | | | | | | | Closes #2299.
| * | Reformatting in arti/Cargo.tomlNick Mathewson2026-01-131-33/+5
| | | | | | | | | | | | No semantic changes.
| * | arti: Resolve unreachable-pub warnings.Nick Mathewson2026-01-132-24/+63
| | |
| * | arti: tweak notes on experimental-apiNick Mathewson2026-01-131-4/+6
| | |
| * | arti: rename experimental-api "run" to "run_proxy".Nick Mathewson2026-01-131-1/+1
| | | | | | | | | | | | | | | Or rather, un-rename it. It's no longer a stable thing, so it doesn't need to have this particular name.
| * | Make arti crate opaque by defaultNick Mathewson2026-01-134-67/+59
| | | | | | | | | | | | | | | | | | Only fn main() is now pub when experimental-api is disabled. Closes #2284.
| * | Run check_arti_opacity from gitlab CI.Nick Mathewson2026-01-131-0/+8
| | |
| * | Add a script to test the APIs in the arti against a list.Nick Mathewson2026-01-131-0/+83
| | | | | | | | | | | | | | | We'll use this to enforce the opacity of the arti crate, once it is more opaque.
* | | Merge branch 'encoded-other' into 'main'Alexander Hansen Færøy2026-01-151-8/+16
|\ \ \ | | | | | | | | | | | | | | | | tor-netdoc: Remove remaining use of EP::Other See merge request tpo/core/arti!3595
| * | | tor-netdoc: Remove remaining use of EP::OtherClara Engler2026-01-151-8/+16
|/ / / | | | | | | | | | | | | | | | This commit replaces the last remaining uses of `EP::Other` in `tor-netdoc`, which got removed in arti!3561 but was still made use of in arti!3592 without causing a merge conflict.
* | | Merge branch 'encoded-authcert' into 'main'Ian Jackson2026-01-1516-292/+605
|\ \ \ | | | | | | | | | | | | | | | | Implement EncodedAuthCert and use it in poc for votes See merge request tpo/core/arti!3592
| * | | tor-netdoc: EncodedAuthCert: docs grammarIan Jackson2026-01-151-1/+1
| | | |
| * | | tor-netdoc: EncodedAuthCert: remove another bit of leftover debugIan Jackson2026-01-151-1/+0
| | | |
| * | | tor-netdoc: EncodedAuthCert: remove a hard tab in a commentIan Jackson2026-01-151-1/+1
| | | |
| * | | tor-netdoc: EncodedAuthCert: bodge the features for nowIan Jackson2026-01-151-2/+3
| | | | | | | | | | | | | | | | | | | | The feature arrangements in tor-netdoc are getting to be in need of a serious overhaul.
| * | | tor-netdoc: EncodedAuthCert: remove a bit of leftover debugIan Jackson2026-01-151-1/+1
| | | |
| * | | Abolish now-done plans for encoded authcertsIan Jackson2026-01-151-81/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The structural confusion hazard is now discussed extensively in torspec and referenced from the code. The proposal has been implemented.
| * | | tor-netdoc: EncodedAuthCert: move future plans to a commentIan Jackson2026-01-152-22/+22
| | | | | | | | | | | | | | | | This probably isn't going to happen, but let's keep the idea in-tree.
| * | | tor-netdoc: EncodedAuthCert: move/tidy rationale informationIan Jackson2026-01-152-53/+20
| | | | | | | | | | | | | | | | | | | | Move the information which still seems relevant out of the plan document.
| * | | tor-netdoc: EncodedAuthCert: use in poc integration test / demoIan Jackson2026-01-151-6/+15
| | | |
| * | | tor-netdoc: EncodedAuthCert: unit testsIan Jackson2026-01-151-0/+197
| | | |
| * | | tor-netdoc: EncodedAuthCert: implementIan Jackson2026-01-153-0/+214
| | | | | | | | | | | | | | | | As per doc/dev/notes/authcert-in-consensus.md.
| * | | tor-netdoc: Expose whole input string (rustfmt)Ian Jackson2026-01-151-2/+1
| | | |
| * | | tor-netdoc: Expose whole input stringIan Jackson2026-01-152-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The string so far is exposed already via whole_for_signatures. It is unusual for a doc parser to need this, but embedded documents can use this plus byte_position to get the original input text for their part of the outer document.
| * | | tor-netdoc: parse2: Provide NetdocParseable::is_structural_keyword (rustfmt)Ian Jackson2026-01-152-5/+3
| | | |
| * | | tor-netdoc: parse2: Provide NetdocParseable::is_structural_keywordIan Jackson2026-01-156-2/+87
| | | | | | | | | | | | | | | | Roughly as per the proposal in `doc/dev/notes/authcert-in-consensus.md`.
| * | | tor-netdoc: Abolish poc's AuthCert (rustfmt)Ian Jackson2026-01-152-8/+3
| | | |
| * | | tor-netdoc: Abolish poc's AuthCertIan Jackson2026-01-154-109/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can use the real AuthCert now that it implements the parse2 traits. The verification function is still used by poc's netstatus code and by a test case. We must change the field names in a few places, because the real AuthCert's struct field names are the keywords, whereas the poc's are the key names. (A shame that they're different!)
| * | | tor-netdoc: Prepare poc's DirAuthKeyCertSigned::verify_selfcertIan Jackson2026-01-151-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use accessors for the body. (Eventually this function will replace, be replaced by, or merge with, the existing signature code outside poc.)
| * | | tor-netdoc: Add an error variant we'll need for parsing embedded docsIan Jackson2026-01-151-0/+3
| | | |
| * | | tor-netdoc: Improve Keyword API slightlyIan Jackson2026-01-152-1/+13
| | | |
* | | | Merge branch 'dirmirror-authcert' into 'main'Clara Engler2026-01-1513-65/+945
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Implement authority certificate management See merge request tpo/core/arti!3561
| * | | | tor-dirserver: Small pre-merge fixesClara Engler2026-01-152-3/+2
| | | | |
| * | | | tor-dirserver: Add TODO wrt hex::encode_upperClara Engler2026-01-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Adding a comment suggesting to implement this as part of abstracting `Sha256` behind a more generic identifier.
| * | | | tor-dirserver: Fix clippy warningClara Engler2026-01-151-1/+1
| | | | |
| * | | | tor-dirserver: Use `INSERT OR REPLACE`Clara Engler2026-01-151-2/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit rpelaces the use of `INSERT` with `INSERT OR REPLACE` for handling insertion conflicts in `store_insert`. Because everything is content-addressed anyways, it does not matter to do this, because if we get a conflict on a SHA256, it means the data is equal.[1] [1]: Excluding SHA-2 collisions which are impractical as of 2026.
| * | | | tor-dirserver: Change store_insert logicClara Engler2026-01-152-49/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit modifies the database::store_insert logic to accept an iterator of the encodings to store the document in, instead of encoding it with all encodings we support.
| * | | | tor-netdoc: Change error variantsClara Engler2026-01-153-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes `ErrorProblem::Other` to `ErrorProblem::OtherBadDocument` while adding two new variants: * `ErrorProblem::Internal` * `ErrorProblem::BadApiUsage`
| * | | | tor-dirserver: Remove algorithm CHECK constraintClara Engler2026-01-151-2/+1
| | | | |
| * | | | tor-dirserver: Add TODO for hash agnostic type alias nameClara Engler2026-01-151-0/+1
| | | | |
| * | | | tor-dirmirror: Handle unparsable certificatesClara Engler2026-01-151-8/+69
| | | | | | | | | | | | | | | | | | | | Instead of failing, add them to missing and query them again.
| * | | | tor-dirserver: Improve note on query performanceClara Engler2026-01-151-6/+8
| | | | |