aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHUserInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHUserInfo.java')
-rw-r--r--framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHUserInfo.java217
1 files changed, 217 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHUserInfo.java b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHUserInfo.java
new file mode 100644
index 00000000..54e70293
--- /dev/null
+++ b/framework/src/ant/apache-ant-1.9.6/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHUserInfo.java
@@ -0,0 +1,217 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.apache.tools.ant.taskdefs.optional.ssh;
+
+import com.jcraft.jsch.UIKeyboardInteractive;
+import com.jcraft.jsch.UserInfo;
+
+
+/**
+ * Class containing information on an SSH user.
+ */
+public class SSHUserInfo implements UserInfo, UIKeyboardInteractive {
+
+ private String name;
+ private String password = null;
+ private String keyfile;
+ private String passphrase = null;
+ private boolean trustAllCertificates;
+
+ /** Constructor for SSHUserInfo. */
+ public SSHUserInfo() {
+ super();
+ this.trustAllCertificates = false;
+ }
+
+ /**
+ * Constructor for SSHUserInfo.
+ * @param password the user's password
+ * @param trustAllCertificates if true trust hosts whose identity is unknown
+ */
+ public SSHUserInfo(String password, boolean trustAllCertificates) {
+ super();
+ this.password = password;
+ this.trustAllCertificates = trustAllCertificates;
+ }
+
+ /**
+ * Gets the user name.
+ * @return the user name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Gets the pass phrase of the user.
+ * @param message a message
+ * @return the passphrase
+ */
+ public String getPassphrase(String message) {
+ return passphrase;
+ }
+
+ /**
+ * Gets the user's password.
+ * @return the user's password
+ */
+ public String getPassword() {
+ return password;
+ }
+
+ /**
+ * Prompts a string.
+ * @param str the string
+ * @return whether the string was prompted
+ */
+ public boolean prompt(String str) {
+ return false;
+ }
+
+ /**
+ * Indicates whether a retry was done.
+ * @return whether a retry was done
+ */
+ public boolean retry() {
+ return false;
+ }
+
+ /**
+ * Sets the name.
+ * @param name The name to set
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * Sets the passphrase.
+ * @param passphrase The passphrase to set
+ */
+ public void setPassphrase(String passphrase) {
+ this.passphrase = passphrase;
+ }
+
+ /**
+ * Sets the password.
+ * @param password The password to set
+ */
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ /**
+ * Sets the trust.
+ * @param trust whether to trust or not.
+ */
+ public void setTrust(boolean trust) {
+ this.trustAllCertificates = trust;
+ }
+
+ /**
+ * @return whether to trust or not.
+ */
+ public boolean getTrust() {
+ return this.trustAllCertificates;
+ }
+
+ /**
+ * Returns the passphrase.
+ * @return String
+ */
+ public String getPassphrase() {
+ return passphrase;
+ }
+
+ /**
+ * Returns the keyfile.
+ * @return String
+ */
+ public String getKeyfile() {
+ return keyfile;
+ }
+
+ /**
+ * Sets the keyfile.
+ * @param keyfile The keyfile to set
+ */
+ public void setKeyfile(String keyfile) {
+ this.keyfile = keyfile;
+ }
+
+ /**
+ * Implement the UserInfo interface.
+ * @param message ignored
+ * @return true always
+ */
+ public boolean promptPassphrase(String message) {
+ return true;
+ }
+
+ /**
+ * Implement the UserInfo interface.
+ * @param passwordPrompt ignored
+ * @return true the first time this is called, false otherwise
+ */
+ public boolean promptPassword(String passwordPrompt) {
+ return true;
+ }
+
+ /**
+ * Implement the UserInfo interface.
+ * @param message ignored
+ * @return the value of trustAllCertificates
+ */
+ public boolean promptYesNo(String message) {
+ return trustAllCertificates;
+ }
+
+//why do we do nothing?
+ /**
+ * Implement the UserInfo interface (noop).
+ * @param message ignored
+ */
+ public void showMessage(String message) {
+ //log(message, Project.MSG_DEBUG);
+ }
+
+ /**
+ * Implementation of UIKeyboardInteractive#promptKeyboardInteractive.
+ * @param destination not used.
+ * @param name not used.
+ * @param instruction not used.
+ * @param prompt the method checks if this is one in length.
+ * @param echo the method checks if the first element is false.
+ * @return the password in an size one array if there is a password
+ * and if the prompt and echo checks pass.
+ */
+ public String[] promptKeyboardInteractive(String destination,
+ String name,
+ String instruction,
+ String[] prompt,
+ boolean[] echo) {
+ if (prompt.length != 1 || echo[0] || this.password == null) {
+ return null;
+ }
+ String[] response = new String[1];
+ response[0] = this.password;
+ return response;
+ }
+
+}