Age | Commit message (Collapse) | Author |
|
|
|
- Change `expect` to `context(...)?`,
- Change `unwrap` to `?`.
|
|
|
|
This reverts commit 2e1eec5fe4157a391a13554ff7df3075cfe043cc.
|
|
- This avoids the partial implementation imitating
std::option::Option, replacing it with std::result::Result.
- As a benefit, std::result::Result is in the prelude, simplifying a
lot of parsing loops.
|
|
- Add two new traits: `Marshal` and `MarshalInto`.
- Implement them instead of `Serialize` and `SerializeInto`.
- Only implement `Serialize` and `SerializeInto` for data structures
that are normally exported.
- This should prevent users from accidentally serializing a bare
signature (`Signature`) when they meant to serialize a signature
packet (`Packet`), for instance.
- Fixes #368.
|
|
- Makes it possible to construct unknown packets with arbitrary
subpacket tags.
- Fixes a regression.
|
|
- The subpacket areas now have a vector of subpackets. Change some
accessors here and there to accommodate this.
- This requires bit-perfect roundtripping of subpackets so that
signatures are not invalidated.
- First step towards fixing #200.
|
|
|
|
- Fixes #387.
|
|
- Fixes #381.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The `...` syntax is deprecated in favour of `..=` since 1.26 and
is an idiom lint in the 2018 edition.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
|
|
- Move the parser to the parse module.
|
|
|
|
- 'sig' in method names on Signature and OnePassSig is redundant,
and 'sigtype' is likely inherited from other implementations.
- Fixes #326.
|
|
- This is the result of running `cargo fix --edition`, with some
manual adjustments.
- The vast majority of changes merely qualify module paths with
'crate::'.
- Two instances of adding an anonymous pattern to a trait's
function.
- `async` is a keyword in Rust 2018, and hence it needs to be
escaped (e.g. in the case of the net::r#async module).
- The manual adjustments were needed due to various shortcomings of
the analysis employed by `cargo fix`, e.g. unexpanded macros,
procedural macros, lalrpop grammars.
|
|
|
|
|
|
|
|
- For every kind of packet, print the sum of the size of all
packets of that kind.
|
|
- Keyserver dumps are typically split into several files.
|
|
|
|
- Trait Parse introduces a uniform interface to parse packets,
messages, keys, and related data structures.
|
|
|
|
|
|
- Collect statistics about signatures.
|
|
- Fixes #112.
|
|
- Change PacketParser::next and PacketParser::recurse to not return
the packets' depths. Instead, require the caller to query them
using accessor functions, if they are needed (they usually
aren't).
|
|
- Previously, the example explicitly constructed a
BufferedReaderGeneric to make it use a larger buffer. By using
PacketParser::from_file we both simplify the example, and make use
of the new BufferedReaderFile.
|
|
- This logically groups the returned values, and makes it easier to
ignore both packet-related values.
- See #27.
|
|
- In the future, we want to return some summary information about a
parsed packet sequence after the packet sequence is fully parsed.
Currently, PacketParser::next() and PacketParser::recurse()
consume the PacketParser and return None on EOF. Thus, even if
the summary information were stored in the PacketParser, it
becomes inaccessible on EOF.
- This change introduces a new type, PacketParserResult, that
contains either a PacketParser or a PacketParserEOF.
PacketParserEOF is returned on EOF instead of None. Since it is a
struct, it can hold only any information that we want to return to
the caller.
|
|
|
|
|