lumphe / ftp-ts

FTP-ts is an FTP client module for node that provides an asynchronous interface for communicating with a FTP server.
MIT License
9 stars 5 forks source link

Recursive mkdir returns code 550 #9

Open JirkaAichler opened 2 years ago

JirkaAichler commented 2 years ago

When I use recursive mkdir, my app will always fail with a code 550. A directory is not present on the FTP server.

Example:

    Client.connect({
      host: 'ftp.box.com',
      user: 'user',
      password: 'pass',
      debug: (err: string) => console.log(err),
    }).then(async (c: any) => {
      await c.mkdir('a/b', true)
      c.end()
    })

Output:

[connection] < 220 Service ready for new user.

[parser] write()
[parser] buffer: 220 Service ready for new user.

[parser] < 220 Service ready for new user.

[parser] Response: code=220, buffer=Service ready for new user.
[connection] > USER user
[connection] < 331 User name okay, need password for user

[parser] write()
[parser] buffer: 331 User name okay, need password for user

[parser] < 331 User name okay, need password for user.

[parser] Response: code=331, buffer=User name okay, need password for jiri.aichler@broadcom.com.
[connection] > PASS pass
[connection] < 230 User logged in, proceed.

[parser] write()
[parser] buffer: 230 User logged in, proceed.

[parser] < 230 User logged in, proceed.

[parser] Response: code=230, buffer=User logged in, proceed.
[connection] > FEAT
[connection] < 211-Extensions supported
 SIZE
 MDTM
 LANG en;zh-tw;ja;is
 MLST Size;Modify;Create;Type;Perm
 AUTH SSL
 AUTH TLS
 MODE Z
 UTF8
 TVFS
 MD5
 MMD5
 MFCT
 MFMT
211 End

[parser] write()
[parser] buffer: 211-Extensions supported
 SIZE
 MDTM
 LANG en;zh-tw;ja;is
 MLST Size;Modify;Create;Type;Perm
 AUTH SSL
 AUTH TLS
 MODE Z
 UTF8
 TVFS
 MD5
 MMD5
 MFCT
 MFMT
211 End

[parser] < 211-Extensions supported
 SIZE
 MDTM
 LANG en;zh-tw;ja;is
 MLST Size;Modify;Create;Type;Perm
 AUTH SSL
 AUTH TLS
 MODE Z
 UTF8
 TVFS
 MD5
 MMD5
 MFCT
 MFMT
211 End

[parser] Response: code=211, buffer=Extensions supported
 SIZE
 MDTM
 LANG en;zh-tw;ja;is
 MLST Size;Modify;Create;Type;Perm
 AUTH SSL
 AUTH TLS
 MODE Z
 UTF8
 TVFS
 MD5
 MMD5
 MFCT
 MFMT
End
[connection] > TYPE I
[connection] < 200 Command TYPE okay.

[parser] write()
[parser] buffer: 200 Command TYPE okay.

[parser] < 200 Command TYPE okay.

[parser] Response: code=200, buffer=Command TYPE okay.
[connection] > PWD
[connection] < 257 "/" is current directory.

[parser] write()
[parser] buffer: 257 "/" is current directory.

[parser] < 257 "/" is current directory.

[parser] Response: code=257, buffer="/" is current directory.
[connection] > CWD a
[connection] < 550 No such directory.

[parser] write()
[parser] buffer: 550 No such directory.

[parser] < 550 No such directory.

[parser] Response: code=550, buffer=No such directory.
[connection] > CWD /
[connection] < 250 Directory changed to /

[parser] write()
[parser] buffer: 250 Directory changed to /

[parser] < 250 Directory changed to /

[parser] Response: code=250, buffer=Directory changed to /

ErrorWithCode: No such directory.
    at g (C:\Aichler\IdeaProjects\zowe-rest-api-service-sdk\tools\api-dev\node_modules\ftp-ts\dist\connection.js:1:22183)
    at Parser.<anonymous> (C:\Aichler\IdeaProjects\zowe-rest-api-service-sdk\tools\api-dev\node_modules\ftp-ts\dist\connection.js:1:4064)
    at Parser.emit (node:events:527:28)
    at Parser._write (C:\Aichler\IdeaProjects\zowe-rest-api-service-sdk\tools\api-dev\node_modules\ftp-ts\dist\parser.js:1:1031)
    at writeOrBuffer (node:internal/streams/writable:390:12)
    at _write (node:internal/streams/writable:331:10)
    at Writable.write (node:internal/streams/writable:335:10)
    at Socket.p (C:\Aichler\IdeaProjects\zowe-rest-api-service-sdk\tools\api-dev\node_modules\ftp-ts\dist\connection.js:1:7683)
    at Socket.emit (node:events:527:28)
    at addChunk (node:internal/streams/readable:324:12)
    at readableAddChunk (node:internal/streams/readable:297:9)
    at Readable.push (node:internal/streams/readable:234:10)
    at TCP.onStreamRead (node:internal/stream_base_commons:190:23) {
  code: 550
}

Node.js v18.1.0
RionizSoftware commented 3 months ago

same here. did you find a solution ?