Age | Commit message (Collapse) | Author |
|
- Also, avoid deprecated method in sq.
|
|
|
|
- Move the call to env::home_dir from Context::configure to
Config.build. This lets us handle failures, which should be rare.
On systems where it fails (think embedded systems), users have to
explicitly provide a path.
- Allow ephemeral contexts with explicitly configure home
directories. E.g. clients and servers share ephemeral contexts
with the same home directory.
|
|
- We no longer rely on TempDir to clean up the directory, but we do
it in Drop. Since we no longer need the TempDir around, we are
now Send.
- Implement Clone so that cloned contexts do not delete the
temporary home when dropped.
|
|
- The failure crate is a young error handling solution for Rust. It
may change the API, but since we pin our dependencies, this should
not be a problem for us, albeit a bit inconvenient.
- Introduction of the crate is a bit noisy, but not as bad as
anticipated, because failure magically handles all errors used in
the standard library.
- Matching on concrete error values requires downcasting before
matching, which seems a bit unidiomatic. This is the cost of
using and "chaining" arbitrary error types. This is something
that may be improved later on in the library or language.
- Having said that, using the error type in the tool was nice. I
did not have to use a downcast, so maybe my worries about
downcasts are unjustified because it is not such a common use case
after all. On the other hand, the tool is quite simple and our
only mode of failure is to print the message.
|
|
|
|
- The IPC policy governs how we spawn background servers.
- Add ffi glue.
|
|
|
|
- At some points, we need to convert the policy to a primitive type.
It is better to just provide it.
- Use it in the ffi glue.
|
|
- Unify with the variant in openpgp::tpk.
|
|
- Do not create files in $HOME/.sequoia in the doc tests by using
ephemeral home directories and not running the example with the
simple constructor.
|
|
- Ephemeral contexts are useful for tests and one-shot programs.
- Add ffi glue.
|
|
- We should not even suggest to use unwrap in our examples.
|
|
- Demonstrate changing the network policy instead of the home
directory. This is more robust.
|
|
- 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.
|
|
- Add and use Result and Error type.
|
|
|
|
- Split up into six crates: buffered-reader, openpgp, sequoia-core,
sequoia-ffi, sequoia-net, and sequoia-store.
- Adjust imports accordingly.
|