Selaa lähdekoodia

Expose disableEPSV

Fixes #71
Julien Laffaye 8 vuotta sitten
vanhempi
commit
de604c9776
2 muutettua tiedostoa jossa 6 lisäystä ja 4 poistoa
  1. 1 1
      client_test.go
  2. 5 3
      ftp.go

+ 1 - 1
client_test.go

@@ -33,7 +33,7 @@ func testConn(t *testing.T, disableEPSV bool) {
 
 	if disableEPSV {
 		delete(c.features, "EPSV")
-		c.disableEPSV = true
+		c.DisableEPSV = true
 	}
 
 	err = c.Login("anonymous", "anonymous")

+ 5 - 3
ftp.go

@@ -24,11 +24,13 @@ const (
 
 // ServerConn represents the connection to a remote FTP server.
 type ServerConn struct {
+	// Do not use EPSV mode
+	DisableEPSV bool
+
 	conn          *textproto.Conn
 	host          string
 	timeout       time.Duration
 	features      map[string]string
-	disableEPSV   bool
 	mlstSupported bool
 }
 
@@ -250,13 +252,13 @@ func (c *ServerConn) pasv() (port int, err error) {
 // getDataConnPort returns a port for a new data connection
 // it uses the best available method to do so
 func (c *ServerConn) getDataConnPort() (int, error) {
-	if !c.disableEPSV {
+	if !c.DisableEPSV {
 		if port, err := c.epsv(); err == nil {
 			return port, nil
 		}
 
 		// if there is an error, disable EPSV for the next attempts
-		c.disableEPSV = true
+		c.DisableEPSV = true
 	}
 
 	return c.pasv()