- Dec 21, 2017
-
-
Justus Winter authored
- A command line tool to interact with Sequoia. Useful for debugging and development.
-
- Dec 20, 2017
-
-
Neal H. Walfield authored
- Subpackets are returned to users, and are only useful if the content is readable.
-
Neal H. Walfield authored
-
- Dec 19, 2017
-
-
Justus Winter authored
- Improve the documentation. - Re-export 'openpgp'. - Re-export the other crates without prefix.
-
Justus Winter authored
-
Justus Winter authored
-
Justus Winter authored
-
Justus Winter authored
-
Justus Winter authored
-
- Dec 18, 2017
-
-
Neal H. Walfield authored
-
Neal H. Walfield authored
- The partial_body module is only used by parse. So, this is the right place. - Also, there is now no reason for body_length_new_format to be public. So, make it private.
-
Neal H. Walfield authored
- Most callers won't actually have a `BufferedReader`, so giving the nice name to this interface doesn't make sense. Also, the new name is more consistent with PacketParser and PacketParserBuilder. - Update users.
-
Neal H. Walfield authored
- `Message::from_reader` already accepts an object implementing a `std::io::Read` interface. - Update users of `Message`.
-
Neal H. Walfield authored
-
- Dec 16, 2017
-
-
Neal H. Walfield authored
- To make it easier to understand what the PacketParser is doing, add an option trace its execution.
-
Neal H. Walfield authored
- Add a setting to the PacketParser to enable buffering of unread content when the PacketParser is advanced.
-
Neal H. Walfield authored
- Fix how the amount of data to consume is computed in BufferedReaderMemory::data_consume.
-
- Dec 15, 2017
-
-
Neal H. Walfield authored
- To support the easy propagation of multiple settings and their clear separation from the other state, bundle all settings in a struct.
-
Neal H. Walfield authored
-
Neal H. Walfield authored
- Consider: impl<R: io::Read> Foo<R> { fn from_reader(reader: R) -> Foo<R>; fn from_file(file: File) -> Foo<File>; } A caller can't invoke 'Foo::from_file(file)', because the compiler doesn't know how to make R concrete (even though R isn't used!). So the caller has to do: Foo::<Type>::from_file. But, we can do: impl Foo<File> { fn from_file(file: File) -> Foo<File>; } And then callers can do: Foo:from_file.
-
Neal H. Walfield authored
- Currently, the max_recursion_depth parameter is passed to the PacketParser constructor. Since this should not normally be set, and to prepare for additional parameters, use the builder pattern.
-
Neal H. Walfield authored
- Given a PacketParser, it is possible to read() the content. If we only read part of the content and then call recurse(), recurse() will probably fail to parse the packet. Forbid this at compile time. - It is still possible to recurse manually by calling PacketParser::from_bytes on the content, as shown in the test case.
-
Neal H. Walfield authored
- Remove nom from the list of dependencies.
-
Neal H. Walfield authored
- The only thing that was using nom was the ctb parser. But, manually taking the byte apart is straightforward (and takes fewer lines of code). - Add some tests to exercise the ctb parser.
-
Neal H. Walfield authored
- Put the parser in a separate impl. - Provide convenience interfaces for parsing a TPK from a reader and a file. - Prefer the PacketParser interface where possible. - Extend test suite to exercise both the Message-based parser and the PacketParser-based parser. - Add some more asserts to the test suite.
-
Neal H. Walfield authored
-
- Dec 14, 2017
-
-
Neal H. Walfield authored
- Test data is no longer kept next to the source code to keep the code cleaner. - Rename foo.asc to foo.gpg when the file contains binary data and not ASCII armored data. - Rename literal-mode-t-partial-body.txt to a-cypherpunks-manifesto.txt, since this is the source for several files and not only literal-mode-t-partial-body.gpg.
-
Neal H. Walfield authored
- 9db72f10 make the fields of the different packet structs public as well as the Message and Container structs. These shouldn't be made public; these structures should be accessed via their accessor methods.
-
Neal H. Walfield authored
- There are two sensible iterators for Messages and Containers: iterate over the children and iterate over all descendants (i.e., a depth-first traversal). - Rename iter() to descendants, provide children() and rename into_iter() to into_children(). - Provide the same interface for Containers. - Change Message to contain not a vector of packets, but a Container.
-
Justus Winter authored
- Check that the user id is correct.
-
Justus Winter authored
- Demonstrate changing the network policy instead of the home directory. This is more robust.
-
Justus Winter authored
- The network policy determines how Sequoia connects to remote servers. - Add a policy field in the context. - Add an error indicating a policy violation. - Honor the policy in the net module. - Add ffi glue.
-
Justus Winter authored
-
Justus Winter authored
- Move the 'example.c' to sequoia-ffi. - Fix and improve Makefile.
-
Neal H. Walfield authored
- Instead of implementing iter() for individual packet types, just implement it on PacketCommon. The Deref implemenation for Packet will take care that Packet.iter() works.
-
Neal H. Walfield authored
- Make sure the content was consumed.
-
Neal H. Walfield authored
-
Neal H. Walfield authored
- To allow packets to be streamed, implement the Read and BufferedReader interfaces for PacketParser.
-
- Dec 13, 2017
-
-
Justus Winter authored
- Add and use Result and Error type.
-
Justus Winter authored
-