summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | dirmgr: Use HashMap::into_values.Nick Mathewson2026-04-211-2/+2
| | | |
| * | | circmgr: simplify a loop counter.Nick Mathewson2026-04-211-3/+1
| | | |
| * | | tor-netdoc: Simplify sort_by to sort_by_keyNick Mathewson2026-04-211-1/+1
| | | |
| * | | tor-proto: Simplify a match+if statement.Nick Mathewson2026-04-211-13/+5
| |/ /
* | | Merge branch 'geoip-datasegment' into 'main'Nick Mathewson2026-04-219-649639/+856
|\ \ \ | | | | | | | | | | | | | | | | Geoip: Move the data into the .data segment completely, and into an out-of-tree crate. See merge request tpo/core/arti!3900
| * | | Remove tor-geoip/data.Nick Mathewson2026-04-162-649499/+0
| | | |
| * | | geoip: Use tor-geoip-db as source of data.Nick Mathewson2026-04-164-16/+51
| | | |
| * | | geoip: Add export functionalityNick Mathewson2026-04-163-0/+75
| | | | | | | | | | | | | | | | | | | | This is perma-unstable: We'll use it to make an export tool, but that's it.
| * | | geoip: Mark CountryCode as repr(transparent)Nick Mathewson2026-04-161-0/+1
| | | |
| * | | geoip: Change CountryCode to NonZeroU16 internallyNick Mathewson2026-04-161-13/+20
| | | | | | | | | | | | | | | | | | | | This lets us guarantee that every bit sequence is a valid Option<CountryCode>.
| * | | geoip: Change DenseRangeMap to use Cow.Nick Mathewson2026-04-161-9/+30
| | | | | | | | | | | | | | | | | | | | This change allows us to provide the parts of the DenseRangeMap on the data segment.
| * | | geoip: rename internal get to get1.Nick Mathewson2026-04-152-41/+40
| | | |
| * | | geoip: Make asn data conditional.Nick Mathewson2026-04-154-97/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This abolishes the NetDefn type, and turns DenseRangeDb into a map to one or (optionally!) two types. For the DBs we ship, which don't have asn information, this saves about 2.5 MiB. (It also probably saves a bit more, since the niche optimization didn't apply to NetDefn as it existed before, since it tried to distinguish Some(None,None) from None.)
| * | | geoip: Migrate code to DenseRangeMap.Nick Mathewson2026-04-155-33/+47
| | | | | | | | | | | | | | | | | | | | This required correcting some errors in our previous ersatz geoip databases.
| * | | geoip: Extract common line-parsing code.Nick Mathewson2026-04-151-47/+71
| | | |
| * | | geoip: Add new internal DenseRangeMap typeNick Mathewson2026-04-154-0/+488
| | | | | | | | | | | | | | | | | | | | This type is more space-efficient than RangeInclusiveMap in the case where most ranges do not have gaps between them.
* | | | Merge branch 'nd-preamble' into 'main'Ian Jackson2026-04-2110-107/+337
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tor-netdoc: encoding for nd Preamble, and add known_flags field See merge request tpo/core/arti!3864
| * | | | tor-netdoc: Minimally avoid emitting bad netparams keywordsIan Jackson2026-04-211-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | See torspec#401 and https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3864#note_3397715
| * | | | tor-netdoc: Fix c&p error in commentIan Jackson2026-04-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3864#note_3397714
| * | | | tor-netdoc: Move the proto_statuses_parse2_encode module laterIan Jackson2026-04-211-88/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now it follows, rather than precedes, the parse2_impls and encode_impls modules that it imports things from. Pure code motion apart from deleting the todo.
| * | | | tor-netdoc: ns Premable: add missing field known_flagsIan Jackson2026-04-217-2/+10
| | | | |
| * | | | tor-netdoc: DocRelayFlags: add convenience constructorIan Jackson2026-04-212-0/+11
| | | | |
| * | | | tor-netdoc: ns Preamble: derive NetdocEncodableFieldsIan Jackson2026-04-212-0/+2
| | | | |
| * | | | tor-netdoc: ns Preamble: Use ConstructorIan Jackson2026-04-214-1/+17
| | | | |
| * | | | tor-netdoc: ns Preamble: use new deftly cfg approachIan Jackson2026-04-211-10/+8
| | | | |
| * | | | tor-netdoc: DocRelayFlags: rename VoteRepr to NoImplicitReprIan Jackson2026-04-213-5/+6
| | | | |
| * | | | tor-netdoc: DocRelayFlags: Provide encoderIan Jackson2026-04-211-3/+37
| | | | |
| * | | | tor-netdoc: DocRelayFlags: rename helper structIan Jackson2026-04-212-8/+8
| | | | | | | | | | | | | | | | | | | | This is going to be used for encoding too.
| * | | | tor-netdoc: impl NetdocEncodableFields for ProtoStatusesIan Jackson2026-04-212-1/+16
| | | | | | | | | | | | | | | | | | | | We don't need the helper struct for this.
| * | | | tor-netdoc: Split out proto_statuses_parse2_encode moduleIan Jackson2026-04-211-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're going to want this macrology to generate a encoder implmeentation too. It's most convenient to make this its own module, separating it from parse2_impls. Enable the module if encoding is enabled, decorating its parsing-related contents with the appropriate cfg. Use pub(super) to export the encoding-related imports, so that we don't end up with endlessly duplicated import lists. Now there is place where we can put the encoder.
| * | | | tor-netdoc: impl ItemValueEncodable for tor_protover::ProtocolsIan Jackson2026-04-212-0/+14
| | | | |
| * | | | tor-netdoc: impl ItemValueEncodable for NetParams<i32>Ian Jackson2026-04-212-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Start a new encode_impls module. The pub(super) will be used in a moment.
| * | | | tor-netdoc: ns Lifetime: derive NetdocEncodableFieldsIan Jackson2026-04-212-0/+2
| | | | |
| * | | | tor-netdoc: ns Lifetime: Use ConstructorIan Jackson2026-04-212-5/+20
| | | | |
| * | | | tor-netdoc: ns Lifetime: use new deftly cfg approachIan Jackson2026-04-211-3/+5
| | | | | | | | | | | | | | | | | | | | This is what we did for authcert.rs and it worked well there.
| * | | | tor-netdoc: ConsensusMethods: derive ItemValueEncodableIan Jackson2026-04-212-2/+4
| | | | |
| * | | | tor-netdoc: Fix type of NotPresent items in ns PreambleIan Jackson2026-04-214-6/+9
| | | | |
| * | | | tor-netdoc: Implement encoding traits for Arc<T>Ian Jackson2026-04-213-0/+35
|/ / / /
* | | | Merge branch 'parse2-more-debug' into 'main'Clara Engler2026-04-215-16/+154
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Add debugging support to ItemValueParseable derive See merge request tpo/core/arti!3881
| * | | | tor-netdoc: Add debugging to ItemValueParseable, demo in testIan Jackson2026-04-132-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With cargo test --all-features -p tor-netdoc -- --no-capture test2 the output now contains, amongst many other things: netdoc TestItem parse: item start, "test-item", "N", Some("TEST OBJECT") netdoc TestItem parse: field needed, normal, args=1, "N" netdoc TestItem parse: field optional, normal, args=Option<_>, "" netdoc TestItem parse: field rest, normal, args=Vec<_>, "" netdoc TestItem parse: field object, object, object=1, Some(("TEST OBJECT", Ok(5))) netdoc TestItem parse: item complete Ok
| * | | | tor-netdoc: Add debugging to ItemValueParseableIan Jackson2026-04-131-1/+16
| | | | |
| * | | | tor-netdoc: parse2 derives: use NetdocParseAnyCommon in ItemValueParseableIan Jackson2026-04-131-2/+1
| | | | | | | | | | | | | | | | | | | | So far this just abolishes a duplicate P.
| * | | | tor-netdoc: parse2 derives: Break out NetdocParseAnyCommonIan Jackson2026-04-131-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're going to want tio reuse dtrace from here in the ItemValueParseable derive (which doesn't use NetdocSomeItemsParseableCommon because it derives for one item type, not a document containing multiple items).
| * | | | tor-netdoc: parse2: with debug for items parsing, show multiplicityIan Jackson2026-04-131-0/+1
| | | | |
| * | | | tor-netdoc: parse2 multiplicity: Add debugging methods to traitsIan Jackson2026-04-132-0/+108
| | | | |
| * | | | tor-netdoc: derives debug: Add a missing trait importIan Jackson2026-04-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this adding `#[deftly(netdoc(debug))]` can fail to build, because the encoding module doesn't have `io::Write` in its `pub use`. (Unlike parse2, it doesn't have a separate macro prelude.)
* | | | | Merge branch 'parse2-item-skip-field' into 'main'Ian Jackson2026-04-205-1/+18
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Support `#[deftly(netdoc(skip))]` in items See merge request tpo/core/arti!3890
| * | | | | tor-netdoc: Support `#[deftly(netdoc(skip))]` in itemsIan Jackson2026-04-205-1/+18
|/ / / / / | | | | | | | | | | | | | | | Ie for "arguments" that don't actually appear.
* | | | | Merge branch 'hostname-newtype' into 'main'Ian Jackson2026-04-208-17/+226
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-netdoc: Introduce Hostname and InternetHost newtypes See merge request tpo/core/arti!3886
| * | | | | tor-netdoc: Test for IPv6-mapped IPv4 addressIan Jackson2026-04-201-0/+1
| | | | | |