Merge pull request #66 from zeast/master

use utf8 default
This commit is contained in:
Julien Laffaye 2017-01-20 09:08:54 +01:00 committed by GitHub
commit 5a8b8eeb12

24
ftp.go
View File

@ -94,6 +94,12 @@ func DialTimeout(addr string, timeout time.Duration) (*ServerConn, error) {
return nil, err return nil, err
} }
err = c.setUTF8()
if err != nil {
c.Quit()
return nil, err
}
return c, nil return c, nil
} }
@ -164,6 +170,24 @@ func (c *ServerConn) feat() error {
return nil return nil
} }
// setUTF8 issues an "OPTS UTF8 ON" command.
func (c *ServerConn) setUTF8() error {
if _, ok := c.features["UTF8"]; !ok {
return nil
}
code, message, err := c.cmd(-1, "OPTS UTF8 ON")
if err != nil {
return err
}
if code != StatusCommandOK {
return errors.New(message)
}
return nil
}
// epsv issues an "EPSV" command to get a port number for a data connection. // epsv issues an "EPSV" command to get a port number for a data connection.
func (c *ServerConn) epsv() (port int, err error) { func (c *ServerConn) epsv() (port int, err error) {
_, line, err := c.cmd(StatusExtendedPassiveMode, "EPSV") _, line, err := c.cmd(StatusExtendedPassiveMode, "EPSV")