You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2015/04/10 17:36:20 UTC
[2/2] karaf git commit: [kARAF-3651] The karaf client can cause a NPE
in org.apache.sshd.common.util.Buffer.putString(Buffer.java:434)
[kARAF-3651] The karaf client can cause a NPE in org.apache.sshd.common.util.Buffer.putString(Buffer.java:434)
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/e390a81e
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/e390a81e
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/e390a81e
Branch: refs/heads/master
Commit: e390a81eaf89c408a2ba8c5c3671b82d99ae5fac
Parents: 762bae6
Author: Guillaume Nodet <gn...@gmail.com>
Authored: Fri Apr 10 17:36:11 2015 +0200
Committer: Guillaume Nodet <gn...@gmail.com>
Committed: Fri Apr 10 17:36:11 2015 +0200
----------------------------------------------------------------------
.../main/java/org/apache/karaf/client/Main.java | 32 +++++++++++---------
1 file changed, 18 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/e390a81e/client/src/main/java/org/apache/karaf/client/Main.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/karaf/client/Main.java b/client/src/main/java/org/apache/karaf/client/Main.java
index aa8f11d..65bcedf 100644
--- a/client/src/main/java/org/apache/karaf/client/Main.java
+++ b/client/src/main/java/org/apache/karaf/client/Main.java
@@ -77,31 +77,35 @@ public class Main {
Terminal terminal = null;
int exitStatus = 0;
try {
- final Console console = System.console();
client = SshClient.setUpDefaultClient();
setupAgent(config.getUser(), config.getKeyFile(), client);
- client.setUserInteraction(new UserInteraction() {
- public void welcome(String banner) {
- System.out.println(banner);
- }
+ final Console console = System.console();
+ if (console != null) {
+ client.setUserInteraction(new UserInteraction() {
+ public void welcome(String banner) {
+ System.out.println(banner);
+ }
- public String[] interactive(String destination, String name, String instruction, String[] prompt, boolean[] echo) {
- String[] answers = new String[prompt.length];
- try {
- for (int i = 0; i < prompt.length; i++) {
- if (console != null) {
+ public String[] interactive(String destination, String name, String instruction, String[] prompt, boolean[] echo) {
+ String[] answers = new String[prompt.length];
+ try {
+ for (int i = 0; i < prompt.length; i++) {
if (echo[i]) {
answers[i] = console.readLine(prompt[i] + " ");
} else {
answers[i] = new String(console.readPassword(prompt[i] + " "));
}
+ if (answers[i] == null) {
+ return null;
+ }
}
+ return answers;
+ } catch (IOError e) {
+ return null;
}
- } catch (IOError e) {
}
- return answers;
- }
- });
+ });
+ }
client.start();
if (console != null) {
console.printf("Logging in as %s\n", config.getUser());