IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
- `FileOrStdin::open` returns a buffered reader without a cookie,
i.e., a `BufferedReader<()>`.
- Sequoia functions that a buffered reader, they expect a
`BufferedReader<openpgp::parse::Cookie>`.
- Make it easier to use the Sequoia functions by changing
`FileOrStdin::open` to return a
`BufferedReader<openpgp::parse::Cookie>`.
- When showing why a key is not valid, or why a certification is not
valid, `sq inspect` only showed the top-level error.
- To make the issue clearer, show the whole error chain.
- Fixes#237.
- When generating a key using `sq key generate`, we first write out
the certificate, and then the revocation certificate.
- If writing out the revocation certificate fails, then we error
out *after* we've already written out the certificate.
- This is particularly surprising when the certificate is written to
the key store: the operation failed, but a new key was added to the
key store!
- Change the order of operations so that we write out the revocation
certificate first, and then the new certificate.
- Change `sq key generate` and `sq key userid add` to require
canonical user IDs by default.
- If a user ID is not in canonical form, explain the problem, and
suggest a solution, if possible.
- Allow the user to disable this check by passing the
`--allow-non-canonical-userids` flag.
- Fixes#209.
- `sq key generate --userid USERID`, `sq key add --userid USERID`,
and `sq key strip --userid USERID` expect a user ID. Use the more
precise type, `UserID`, instead of `String`.
- `sq pki list`, etc. have two failure modes: there are no matching
bindings, and some matching bindings couldn't be authenticated.
- In both cases, the current error message is less than helpful,
e.g.:
```
$ sq pki list user@example.org
No paths found.
```
- If there are no matching bindings, suggest that the run `sq
network fetch`.
- If there are matching bindings that can't be authenticated, tell
they user that they can see them by using the `--gossip` option.
- Fixes#221.
- When `sq key generate` saves the generated certificate on the key
store, add guidance on how to designate it as a trusted introducer,
or to mark it as certified. Also explain how to export it, and
how to publish it.
- Although Sequoia is able to use user ID-less certificates, they
don't have good support in the ecosystem, and are probably not
what most users want.
- Consequently, don't make user ID-less certificates the default.
Instead, require users to opt in by passing the `--no-userids` flag
to `sq key generate`.
- Fixes#223.
- yaml-rust is unmaintained.
- yaml-rust is used by subplot/roadmap/serde_yaml thus an indirect
dependency. Remove when a new version of roadmap is released that
uses a newer version of serde_yaml. See
https://gitlab.com/larswirzenius/roadmap/-/issues/13
- Move the key import functionality from
`commands:🔑:import::import` to `Config::import_key` so that
it can be used by other subcommands that import or update keys.
- Call `best_effort_primary_uid` after inserting the certificate
into the certificate store. Otherwise, `best_effort_primary_uid`
won't be able to take any new authentication information into
account.
- Sort the certificates by the degree to which we can authenticate
them.
- Change `best_effort_primary_uid` to also return the trust amount.
- Instead of using an unergonomic tuple, use a dedicated type,
`PreferredUserID`, so that it is easier to extend in the future.
- The result of `best_effort_primary_uid` should always be
sanitized.
- Change `best_effort_primary_uid` to return a sanitized string, and
update the callers.
- `sequoia_cert_store::StoreUpdate` no longer requires a mutable
reference to update the certificate store (it instead relies on
interior mutability).
- Don't get a mutable reference using
`Config::cert_store_mut_or_else` if it is not necessary. Just use
`Config::cert_store_mut`.
- A `wot::store::CertStore` is a thin wrapper around a
`cert_store::CertStore`, which implements two traits, and maintains
a cache of web of trust computations.
- Change `Config` to use `wot::store::CertStore` instead of a
`cert_store::CertStore`.
- This makes it easier to use the web of trust elsewhere in `sq`,
and doesn't cost anything if we don't do any web of trust
calculations.
- To avoid overwhelming users, we don't describe global options in a
subcommand's help output.
- Add a short section that tells the user that there are global
options, and that they can learn about them from the top-level's
help output.
- See #202.