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.FTPReply;
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.DirectoryScanner;
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.VectorSet;

import javax.net.ssl.HostnameVerifier;

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

try {
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) {
ftp = FTPConfigurator.configure(ftp, this);
}


Loading…
Cancel
Save