From 2047eaa4c2206782bf07550cde435e5e4b3721c8 Mon Sep 17 00:00:00 2001 From: Robin Rosenberg Date: Thu, 5 Apr 2012 08:04:45 +0200 Subject: [PATCH] UnsupportedCredentialItem with password authentication If the server prompts for password, it comes as a StringType prompt. Bug: 360862 Change-Id: Ic758456c21c8d68d1b3d7f56228beb7535b11735 --- .../UsernamePasswordCredentialsProvider.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/UsernamePasswordCredentialsProvider.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/UsernamePasswordCredentialsProvider.java index 235e4b4b9..db4ac6385 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/UsernamePasswordCredentialsProvider.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/UsernamePasswordCredentialsProvider.java @@ -100,14 +100,23 @@ else if (i instanceof CredentialItem.Password) public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem { for (CredentialItem i : items) { - if (i instanceof CredentialItem.Username) + if (i instanceof CredentialItem.Username) { ((CredentialItem.Username) i).setValue(username); - - else if (i instanceof CredentialItem.Password) + continue; + } + if (i instanceof CredentialItem.Password) { ((CredentialItem.Password) i).setValue(password); - - else - throw new UnsupportedCredentialItem(uri, i.getPromptText()); + continue; + } + if (i instanceof CredentialItem.StringType) { + if (i.getPromptText().equals("Password: ")) { + ((CredentialItem.StringType) i).setValue(new String( + password)); + continue; + } + } + throw new UnsupportedCredentialItem(uri, i.getClass().getName() + + ":" + i.getPromptText()); } return true; }