lgoldstein commented on a change in pull request #186:
URL: https://github.com/apache/mina-sshd/pull/186#discussion_r605868466



##########
File path: 
sshd-core/src/main/java/org/apache/sshd/client/auth/pubkey/UserAuthPublicKey.java
##########
@@ -105,6 +106,19 @@ protected boolean sendAuthDataRequest(ClientSession 
session, String service) thr
             chosenAlgorithm = null;
         } else if (!currentAlgorithms.isEmpty()) {
             currentAlgorithm = currentAlgorithms.poll();
+            if (chosenAlgorithm != null) {
+                Set<String> knownServerAlgorithms = session.getAttribute(
+                        DefaultClientKexExtensionHandler.SERVER_ALGORITHMS);
+                if (knownServerAlgorithms != null
+                        && knownServerAlgorithms.contains(chosenAlgorithm)) {
+                    // We've tried key 'current' with 'chosenAlgorithm', but it
+                    // failed. However, the server had told us it supported
+                    // 'chosenAlgorithm'. Thus it makes no sense to continue
+                    // with this key and other signature algorithms. Skip to 
the
+                    // next key, if any.
+                    currentAlgorithm = null;

Review comment:
       Let's add a DEBUG level log message summarizing this behavior so that 
user can tell when it occurred.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to