-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Commit fc2cb00
committed
Add partial support for SSH known hosts markers
The SSH `known_hosts` file parsing in Cargo did not previously support
markers. Markers are modifiers on the lines (`@cert-authority` and
`@revoked`) which denote special behavior for the details on that line.
Lines were skipped entirely.
This silent skipping of marker lines can be confusing to a user, who
sees that their command line Git/SSH client works for some repository,
but Cargo reports that no host key is found.
This change adds support for the `@revoked` marker. This marker denotes
that a key should be rejected outright. It is of limited use without
`@cert-authority` marker support. However, if it is present in a user's
`known_hosts` file, then Cargo definitely shouldn't accept that key and
probably shouldn't suggest that the user add it to their `known_hosts`
either.
The change also adds support for detecting `@cert-authority` markers in
`known_hosts` files. These lines cannot yet be used for host key
verification, but if one is found for a matching host, the user will be
informed that Cargo doesn't support `@cert-authority` markers in the
error message. Additionally, the user will be advised to use the
`net.git-fetch-with-cli` config option to use the command line git
client for fetching crates from Git.
Refs: #115771 parent 9d1e248 commit fc2cb00Copy full SHA for fc2cb00
File tree
Expand file treeCollapse file tree
1 file changed
+268
-52
lines changedFilter options
- src/cargo/sources/git
Expand file treeCollapse file tree
1 file changed
+268
-52
lines changed
0 commit comments