str4d / rage

A simple, secure and modern file encryption tool (and Rust library) with small explicit keys, no config options, and UNIX-style composability.
https://age-encryption.org/v1
Apache License 2.0
2.68k stars 104 forks source link

age: Feature cli-common seems to require features plugin and ssh #515

Closed untatan closed 3 months ago

untatan commented 3 months ago

Thanks for age(s)!

While compiling age 10.0 (fetched with cargo) works for me with default (empty) features, it fails with

features = ["cli-common"]

8 errors in file age-0.10.0/src/cli_common/recipients.rs are reported:

The compiler complains about "plugin::" in

https://github.com/str4d/rage/blob/d2c2e895bfdd1fa37429d44776e490a43c0e4cf1/age/src/cli_common/recipients.rs#L50

https://github.com/str4d/rage/blob/d2c2e895bfdd1fa37429d44776e490a43c0e4cf1/age/src/cli_common/recipients.rs#L64

https://github.com/str4d/rage/blob/d2c2e895bfdd1fa37429d44776e490a43c0e4cf1/age/src/cli_common/recipients.rs#L78

https://github.com/str4d/rage/blob/d2c2e895bfdd1fa37429d44776e490a43c0e4cf1/age/src/cli_common/recipients.rs#L122

https://github.com/str4d/rage/blob/d2c2e895bfdd1fa37429d44776e490a43c0e4cf1/age/src/cli_common/recipients.rs#L123

https://github.com/str4d/rage/blob/d2c2e895bfdd1fa37429d44776e490a43c0e4cf1/age/src/cli_common/recipients.rs#L187

about calling the missing function "parse_ssh_recipient"

https://github.com/str4d/rage/blob/d2c2e895bfdd1fa37429d44776e490a43c0e4cf1/age/src/cli_common/recipients.rs#L157

and the use of "ssh::" in

https://github.com/str4d/rage/blob/d2c2e895bfdd1fa37429d44776e490a43c0e4cf1/age/src/cli_common/recipients.rs#L158

As a "work around" features = ["cli-common", "plugin", "ssh"] compiles.

str4d commented 3 months ago

Good catch, thanks! There were a bunch of feature flag combinations here that I was missing due to the features being inherently enabled in the workspace by the rage crate.