summaryrefslogtreecommitdiff
path: root/crates/tor-netdoc
Commit message (Collapse)AuthorAgeFilesLines
...
* tor-netdoc: Make Ignored part of a moduleIan Jackson2025-10-151-16/+23
| | | | | The rest of types::misc does this. We should probably follow suit for consistency. Also we're going to want to add soemthing here.
* tor-netdoc: impl Default for IgnoredIan Jackson2025-10-151-1/+1
| | | | | This omission seems like an oversight. I thought I wanted it, but it turns out I don't - but I think it should still be there.
* tor-netdoc: parse2: export NetdocSigned traitIan Jackson2025-10-151-1/+1
| | | | This seems to have been overlooked.
* tor-netdoc: Don't repr(transparent)Ian Jackson2025-10-091-2/+0
| | | | | We don't really need this and it raises questions, for example https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/3337#note_3271871
* tor-netdoc: Replace NdaSystemTimeDeprecatedSyntax with Ios8601TimeSpIan Jackson2025-10-091-4/+5
| | | | | Previously we needed this separate type because Ios8601TimeSp is FromStr which prevented a correct ItemArgumentParseable impl.
* tor-netdoc: Expose the field in time wrappersIan Jackson2025-10-091-2/+4
|
* tor-netdoc: impl many traits for time wrappersIan Jackson2025-10-091-2/+4
|
* tor-netdoc: Expose Iso8601TimeNoSp and Iso8601TimeSp utility wrappersIan Jackson2025-10-093-3/+8
| | | | We're going to want to change some now-public fields to use these types.
* tor-netdoc: parse2: Fix some slips in doc commentsIan Jackson2025-10-091-3/+3
|
* tor-netdoc: parse2: Work around MSRV unhelpful lifetimeIan Jackson2025-10-091-2/+6
| | | | | | | | | | 1.85.1 rejects this, because it doesn't extend the lifetime of the `format_args!`. 1.90 is fine with it. I want to keep `format!` not `String::new()` so that it's easy to change back. That means a clippy allow. Getting that to apply to the code inside the derive is tricky, so I've enabled it for the whole module. (IMO this clippy lint is pretty annoying anyway.)
* tor-netdoc: parse2: Actually expose new errors in crate toplevelIan Jackson2025-10-091-1/+1
|
* tor-netdoc: parse2 tests: Test ParseError Display and Error implIan Jackson2025-10-091-6/+29
|
* tor-netdoc: parse2 tests: Have t_err_* return the errorIan Jackson2025-10-091-5/+4
|
* tor-netdoc: parse2 tests: Have t_err_* return the error (pre-fmt)Ian Jackson2025-10-091-1/+6
|
* tor-netdoc: parse2 tests: Check columnsIan Jackson2025-10-091-7/+15
|
* tor-netdoc: parse2 tests: Check columns (pre-fmt)Ian Jackson2025-10-091-1/+2
|
* tor-netdoc: parse2: Add column field to PaarsError and print itIan Jackson2025-10-093-2/+14
|
* tor-netdoc: parse2: Add .column() accessor to ErrorProblemIan Jackson2025-10-092-1/+29
| | | | We'll want to general way to find the error problem column.
* tor-netdoc: parse2: Add column field as far as ErrorProblemIan Jackson2025-10-093-7/+48
| | | | | | | Provide facilities in ArgumnetStream for determining the column, and add the field to all the error types up to and including ErrorProblem. The value still needs to be propagated to ParseError, and printed there.
* tor-netdoc: parse2: Replace EP with AE in derive fields rest pathIan Jackson2025-10-091-1/+2
|
* tor-netdoc: parse2: Replace EP with AE in NdiDirectorySignature (fmt)Ian Jackson2025-10-091-7/+10
|
* tor-netdoc: parse2: Replace EP with AE in NdiDirectorySignatureIan Jackson2025-10-091-4/+4
|
* tor-netdoc: Abolish now-obsolete field argument to from_args (fmt)Ian Jackson2025-10-094-29/+7
|
* tor-netdoc: Abolish now-obsolete field argument to from_argsIan Jackson2025-10-098-20/+12
|
* tor-netdoc: Introduce ArgumentError (fmt)Ian Jackson2025-10-091-3/+1
|
* tor-netdoc: Introduce ArgumentErrorIan Jackson2025-10-0910-33/+86
| | | | | This will allow us to (1) move field name handling out of the argument parser method, and also (2) add columns more easily.
* tor-netdoc: Have .reject_extra_args return a bespoke errorIan Jackson2025-10-094-4/+20
| | | | | | | We're about to have some functions return ArgumentError and some ErrorProblem. We don't want to provide a conversion directly between these types, so instead introduce a new type that will be convertible to either.
* tor-netdoc: UnparsedItem: Provide .args() accessorIan Jackson2025-10-092-0/+8
|
* tor-netdoc: parse2: Record previous position in ArgumentStream (fmt)Ian Jackson2025-10-091-1/+5
|
* tor-netdoc: parse2: Record previous position in ArgumentStreamIan Jackson2025-10-091-1/+8
|
* tor-netdoc: parse2: Rename methods on ArgumentStreamIan Jackson2025-10-093-11/+16
|
* tor-netdoc: parse2: Add whole_line_len to ArgumentStreamIan Jackson2025-10-092-4/+17
|
* tor-netdoc: impl NormalItemArgument for Ipv4Addr and SocketAddrIan Jackson2025-10-081-0/+5
| | | | AFAICT we don't have variant parsings for these things.
* Merge branch 'netdoc-build-feat-docs' into 'main'Nick Mathewson2025-10-081-3/+12
|\ | | | | | | | | tor-netdoc: Deprecate `build_docs` and tidy feature docs See merge request tpo/core/arti!3340
| * tor-netdoc: Deprecate the netdoc "builder pattern"Ian Jackson2025-10-071-3/+5
| | | | | | | | | | | | | | | | | | We're going to eventually implement the traits in `src/build.rs` for the network document types. But, this feature mainly covers `doc/*build*`. That (a) isn't used in-tree (b) isn't really needed now that the fields are all pub (c) is currently marked experimental.
| * tor-netdoc: Document the `hs-client` and `hs-service` featuresIan Jackson2025-10-071-0/+7
| | | | | | | | And mention that there are experimental and undocumented features.
* | tor-netdoc: Add semver.md for parsing/printing changesIan Jackson2025-10-081-0/+4
| |
* | tor-netdoc: Explain that Ignored can't be used as an argumentIan Jackson2025-10-081-2/+5
| | | | | | | | | | | | | | | | It is FromStr (which is fine). Which emant it was ItemArgumentParseable but but it can't be Display so it can't be NormalItemArgument. This illuminates the fact that it shouldn't really be ItemArgumentParseable since we're going to want all types that are in netdoc structs to be both parseable and printable.
* | tor-netdoc: replace impl_item_argument_as_display with NormalItemArgumentIan Jackson2025-10-081-26/+8
| |
* | tor-netdoc: Narrow ItemArgument impl on `&_` to just `&str`Ian Jackson2025-10-081-2/+2
| | | | | | | | | | | | | | | | We're going to indirect the impls of `ItemArgument` in terms of `FromStr` via a blanket on `impl NormalItemArgument`. For trait coherence reasons we can't have an blanket impl on `&impl ItemArgument` any more.
* | tor-netdoc: Introduce `NormalItemArgument` impl-enabler traitIan Jackson2025-10-087-2/+43
| | | | | | | | | | This is currently used to enable `parse2::ItemArgumentParseable`. In a moment it will enable `build::ItemArgument` too.
* | tor-netdoc: parse2 poc: impl Display for several typesIan Jackson2025-10-084-3/+9
| |
* | tor-netdoc: parse2 poc: break out some constantsIan Jackson2025-10-081-3/+8
| | | | | | | | | | We'll want this for both types eventually, when we do printing at the very least.
* | tor-netdoc: impl Display for Fingerprint and Base64FingerprintIan Jackson2025-10-082-1/+17
| | | | | | | | | | | | | | | | I'm going to want this as preparation for making these things properly suitable for item arguments. One test case in parse2::poc was relying on Display of the Deref to RsaIdentity.
* | tor-netdoc: Add a test case for Base64Fingerprint parsingIan Jackson2025-10-081-0/+4
| | | | | | | | Somehow there wasn't one of these.
* | tor-netdoc: impl From<Base64Fingerprint> for RsaIdentityIan Jackson2025-10-081-1/+1
| | | | | | | | This orthogonally necessary impl seems to have been overlooked.
* | Merge branch 'parse2-prep-more' into 'main'opara2025-10-075-4/+21
|\ \ | | | | | | | | | | | | tor-netdoc: parse2: Three minor fixes and a new function See merge request tpo/core/arti!3326
| * | tor-netdoc: parse2: Make NetdocParseableFields work out of-moduleIan Jackson2025-10-061-0/+9
| | |
| * | tor-netdoc: parse2: Break out check_no_objectIan Jackson2025-10-062-1/+9
| | | | | | | | | | | | This will be useful for impls of ItemValueParseable.
| * | tor-netdoc: parse2: Fix variety ordering in a doc commentIan Jackson2025-10-061-1/+1
| | | | | | | | | | | | | | | We changed the ordering at some point. This comment seems to have been overlooked.