ssh: reject incomplete gssapi-with-mic configurations Make the runtime gssapi-with-mic guard match the existing configuration and method advertisement checks. An incomplete GSSAPIWithMICConfig can be treated as unavailable when building the advertised auth method list, while still remaining reachable from the runtime auth dispatcher. Treat incomplete configurations as not configured. This change introduces a single internal completeness check for GSSAPIWithMICConfig and uses it for the startup authentication validation, the runtime gssapi-with-mic dispatch guard, and the advertised authentication method list. The change also adds a regression test. The test configures a server with a normal PasswordCallback, a GSSAPIWithMICConfig with Server set, and AllowLogin intentionally unset. It then uses a custom client auth method that explicitly sends a USERAUTH_REQUEST with Method set to gssapi-with-mic even though the server does not advertise that method, and verifies that authentication fails cleanly with "ssh: gssapi-with-mic auth not configured". No golang/go issue reference is available yet. Change-Id: I9a0c965d3a56192bd68309aa41e2c1f91952036c GitHub-Last-Rev: 0267bda8e15e7c258ba3b92cd54f0941534c5fc9 GitHub-Pull-Request: golang/crypto#345 Reviewed-on: https://go-review.googlesource.com/c/crypto/+/773460 Reviewed-by: Mark Freeman <markfreeman@google.com> Reviewed-by: Nicola Murino <nicola.murino@gmail.com> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Filippo Valsorda <filippo@golang.org> LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This repository holds supplementary Go cryptography packages.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.
The git repository is https://go.googlesource.com/crypto.
The main issue tracker for the crypto repository is located at https://go.dev/issues. Prefix your issue with “x/crypto:” in the subject line, so it is easy to find.
Note that contributions to the cryptography package receive additional scrutiny due to their sensitive nature. Patches may take longer than normal to receive feedback.