Socket
Socket
Sign inDemoInstall

jsftpd

Package Overview
Dependencies
0
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.2.1 to 1.2.2

4

docs/index.md

@@ -12,3 +12,3 @@ # Welcome to jsftpd documentation!

```{code-block} javascript
```{code-block} shell
npm install jsftpd

@@ -24,3 +24,3 @@ ```

const server = new ftpd({cnf: {username: 'john', password: 'doe', basefolder: '/tmp'})
const server = new ftpd({cnf: {username: 'john', password: 'doe', basefolder: '/tmp'}})

@@ -27,0 +27,0 @@ server.start()

@@ -962,2 +962,7 @@ /*

dataChannel.on('secureConnection', (pasvSocket) => {
pasvSocket.on('error', main.ErrorHandler)
pasvSocket.setTimeout(5000)
pasvSocket.on('timeout', () => {
pasvSocket.destroy()
})
main.DebugHandler(`${connectionInfo} data connection established`)

@@ -972,2 +977,8 @@ dataObj.dataSocket = pasvSocket

dataChannel.on('connection', (pasvSocket) => {
pasvSocket.on('error', main.ErrorHandler)
pasvSocket.setTimeout(5000)
pasvSocket.on('timeout', () => {
pasvSocket.destroy()
})
pasvSocket.on('close', () => main.DebugHandler(`${connectionInfo} data connection has been closed`))
if (isSecure === true && protection === true) {

@@ -1009,2 +1020,3 @@ pasvSocket = new tls.TLSSocket(pasvSocket, { isServer: true, secureContext: tls.createSecureContext(main._opt.tls) })

})
activeSocket.on('error', main.ErrorHandler)
} else {

@@ -1015,2 +1027,6 @@ obj.dataSocket = client

})
client.setTimeout(5000)
client.on('timeout', () => {
client.destroy()
})
client.on('error', main.ErrorHandler)

@@ -1017,0 +1033,0 @@ } else {

{
"name": "jsftpd",
"id": "jsftpd",
"version": "1.2.1",
"version": "1.2.2",
"description": "FTP server for node.js",

@@ -6,0 +6,0 @@ "main": "index.js",

@@ -16,3 +16,3 @@ # jsftpd

```
```shell
$ npm install jsftpd

@@ -25,6 +25,6 @@ ```

```
```js
const { ftpd } = require('jsftpd')
const server = new ftpd({cnf: {username: 'john', password: 'doe', basefolder: '/tmp'})
const server = new ftpd({cnf: {username: 'john', password: 'doe', basefolder: '/tmp'}})

@@ -31,0 +31,0 @@ server.start()

@@ -38,3 +38,3 @@ const { ftpd } = require('../index')

let socket = promiseSocket.stream
await socket.connect(cmdPortTCP, 'localhost')
await socket.connect(cmdPortTCP, '127.0.0.1', 'localhost')
content = await promiseSocket.read()

@@ -41,0 +41,0 @@ expect(content.toString().trim()).toBe('220 Welcome')

@@ -43,3 +43,3 @@ const { ftpd } = require('../index')

let socket = promiseSocket.stream
await socket.connect(cmdPortTCP, 'localhost')
await socket.connect(cmdPortTCP, '127.0.0.1', 'localhost')
content = await promiseSocket.read()

@@ -46,0 +46,0 @@ expect(content.toString().trim()).toBe('220 Welcome')

@@ -7,3 +7,3 @@ const { ftpd } = require('../index')

jest.setTimeout(5000)
jest.setTimeout(7500)
let server, content, dataContent = null

@@ -132,3 +132,41 @@ const cmdPortTCP = getCmdPortTCP()

test('test STOR message failes due to socket timeout', async () => {
const users = [
{
username: 'john',
allowLoginWithoutPassword: true,
}
]
server = new ftpd({cnf: {port: 50021, user: users, minDataPort: dataPort}})
expect(server).toBeInstanceOf(ftpd)
server.start()
let promiseSocket = new PromiseSocket(new net.Socket())
let socket = promiseSocket.stream
await socket.connect(50021, 'localhost')
content = await promiseSocket.read()
expect(content.toString().trim()).toBe('220 Welcome')
await promiseSocket.write('USER john')
content = await promiseSocket.read()
expect(content.toString().trim()).toBe('232 User logged in')
await promiseSocket.write('STOR ../../mytestfile')
content = await promiseSocket.read()
expect(content.toString().trim()).toBe('550 Transfer failed "../../mytestfile"')
await promiseSocket.write('EPSV')
content = await promiseSocket.read()
expect(content.toString().trim()).toBe(`229 Entering extended passive mode (|||${dataPort}|)`)
let promiseDataSocket = new PromiseSocket(new net.Socket())
let dataSocket = promiseDataSocket.stream
await dataSocket.connect(dataPort, 'localhost')
await sleep(5500)
expect(dataSocket.destroyed).toBe(true)
await promiseSocket.end()
})
test('test STOR message with ASCII', async () => {

@@ -135,0 +173,0 @@ const users = [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc