Browse Source

Merge pull request #170 from sonyDeswal/Add_FTPS_Option_AntTask

Make Changes to Support FTPS AntTaskDef that extends FTP but uses FTP…
master
Stefan Bodewig GitHub 3 years ago
parent
commit
60a0aa64cd
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 24 additions and 2 deletions
  1. +24
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java

+ 24
- 2
src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java View File

@@ -46,6 +46,7 @@ import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply; import org.apache.commons.net.ftp.FTPReply;
import org.apache.commons.net.ftp.FTPConnectionClosedException; import org.apache.commons.net.ftp.FTPConnectionClosedException;
import org.apache.commons.net.ftp.FTPSClient;
import org.apache.tools.ant.BuildException; import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.DirectoryScanner;
import org.apache.tools.ant.Project; import org.apache.tools.ant.Project;
@@ -59,6 +60,8 @@ import org.apache.tools.ant.util.RetryHandler;
import org.apache.tools.ant.util.Retryable; import org.apache.tools.ant.util.Retryable;
import org.apache.tools.ant.util.VectorSet; import org.apache.tools.ant.util.VectorSet;


import javax.net.ssl.HostnameVerifier;

/** /**
* Basic FTP client. Performs the following actions: * Basic FTP client. Performs the following actions:
* <ul> * <ul>
@@ -112,6 +115,8 @@ public class FTP extends Task implements FTPTaskConfig {
private String userid; private String userid;
private String password; private String password;
private String account; private String account;
private boolean useFtps =false;
private HostnameVerifier hostnameVerifier;
private File listing; private File listing;
private boolean binary = true; private boolean binary = true;
private boolean passive = false; private boolean passive = false;
@@ -1263,6 +1268,17 @@ public class FTP extends Task implements FTPTaskConfig {
this.userid = userid; this.userid = userid;
} }


public void setUseFtps(boolean useFtps) {
this.useFtps = useFtps;
}

public HostnameVerifier getHostnameVerifier() {
return hostnameVerifier;
}

public void setHostnameVerifier(HostnameVerifier hostnameVerifier) {
this.hostnameVerifier = hostnameVerifier;
}


/** /**
* Sets the login password for the given user id. * Sets the login password for the given user id.
@@ -2502,8 +2518,14 @@ public class FTP extends Task implements FTPTaskConfig {


try { try {
log("Opening FTP connection to " + server, Project.MSG_VERBOSE); log("Opening FTP connection to " + server, Project.MSG_VERBOSE);

ftp = new FTPClient();
if( useFtps) {
ftp = new FTPSClient();
if(hostnameVerifier != null){
((FTPSClient)ftp).setHostnameVerifier(hostnameVerifier);
}
}else{
ftp = new FTPClient();
}
if (this.isConfigurationSet) { if (this.isConfigurationSet) {
ftp = FTPConfigurator.configure(ftp, this); ftp = FTPConfigurator.configure(ftp, this);
} }


Loading…
Cancel
Save