ftpd-lite 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/package.json +1 -1
- package/src/commands/CwdCommand.js +2 -2
- package/src/commands/DeleCommand.js +2 -2
- package/src/commands/FeatCommand.js +3 -3
- package/src/commands/ListCommand.js +3 -3
- package/src/commands/MkdCommand.js +21 -3
- package/src/commands/PassCommand.js +3 -3
- package/src/commands/PasvCommand.js +3 -3
- package/src/commands/PortCommand.js +3 -3
- package/src/commands/PwdCommand.js +2 -2
- package/src/commands/QuitCommand.js +3 -3
- package/src/commands/RetrCommand.js +3 -3
- package/src/commands/RmdCommand.js +2 -2
- package/src/commands/RnfrCommand.js +2 -2
- package/src/commands/RntoCommand.js +2 -2
- package/src/commands/StorCommand.js +3 -3
- package/src/commands/SystCommand.js +3 -3
- package/src/commands/TypeCommand.js +3 -3
- package/src/commands/UserCommand.js +4 -4
- package/src/connection.js +6 -6
- package/src/core/DataServer.js +8 -8
- package/src/core/FtpServer.d.ts +5 -0
- package/src/core/FtpServer.js +102 -44
- package/src/fileTransfer.js +8 -8
- package/src/types.d.ts +2 -0
- package/src/types.js +3 -1
- package/src/userManager.js +28 -28
- package/src/utils/logger.js +1 -1
- package/src/utils/pathUtils.js +1 -1
|
@@ -74,7 +74,7 @@ async function handleRnfr(connId, conn, filename, userManager) {
|
|
|
74
74
|
return { code: conn.lastReply, message: conn.lastMessage };
|
|
75
75
|
}
|
|
76
76
|
catch (error) {
|
|
77
|
-
console.error(`[FtpServer] RNFR
|
|
77
|
+
console.error(`[FtpServer] RNFR command error`);
|
|
78
78
|
const err = error;
|
|
79
79
|
conn.lastReply = types_1.ReplyCode.INTERNAL_ERR;
|
|
80
80
|
conn.lastMessage = `Internal server error: ${err.message}`;
|
|
@@ -82,4 +82,4 @@ async function handleRnfr(connId, conn, filename, userManager) {
|
|
|
82
82
|
return { code: conn.lastReply, message: conn.lastMessage };
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm5mckNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvUm5mckNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsTUFBWSxFQUFFLCtCQUFXO0FBRXpCLG9DQUFtRTtBQUVuRSxrREFBc0U7QUFLL0QsS0FBSyxxQkFBcUIsTUFBYyxFQUFFLElBQW1CLEVBQUUsUUFBZ0IsRUFBRSxXQUF3QjtJQUM5RyxNQUFNLE1BQU0sR0FBRyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQzVCLElBQUksQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsVUFBVSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDO1lBQ25DLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxDQUFDO1lBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdELENBQUM7UUFHRCxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzVFLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQVMsQ0FBQyxhQUFhLENBQUM7WUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFBeUIsQ0FBQztZQUM3QyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsQ0FBQztZQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3RCxDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBQSwwQkFBYyxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUczRSxJQUFJLENBQUMsSUFBQSw0QkFBZ0IsRUFBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBUyxDQUFDLFdBQVcsQ0FBQztZQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLHFEQUFxRCxDQUFDO1lBQ3pFLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxDQUFDO1lBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdELENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsY0FBYyxDQUFDO1lBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsOEJBQThCLFFBQVEsRUFBRSxDQUFDO1lBQzVELE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxDQUFDO1lBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdELENBQUM7UUFHRCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsNkJBQTZCLENBQUM7UUFDakQsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsTUFBTSxDQUFDLENBQUM7UUFFM0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLElBQUksT0FBTyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzdELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sR0FBRyxHQUFHLEtBQWMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsMEJBQTBCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzRCxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsQ0FBQztRQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBSZXBseUNvZGUsIEZ0cENvbm5lY3Rpb24sIENvbW1hbmRSZXN1bHQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBVc2VyTWFuYWdlciB9IGZyb20gJy4uL3VzZXJNYW5hZ2VyJztcbmltcG9ydCB7IHJlc29sdmVGdHBQYXRoLCBpc1BhdGhXaXRoaW5Ib21lIH0gZnJvbSAnLi4vdXRpbHMvcGF0aFV0aWxzJztcblxuLyoqXG4gKiBSTkZSIGtvbXV0dW51IGnFn2xlICh5ZW5pZGVuIGFkbGFuZMSxcm1hIGtheW5haylcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZVJuZnIoY29ubklkOiBzdHJpbmcsIGNvbm46IEZ0cENvbm5lY3Rpb24sIGZpbGVuYW1lOiBzdHJpbmcsIHVzZXJNYW5hZ2VyOiBVc2VyTWFuYWdlcik6IFByb21pc2U8Q29tbWFuZFJlc3VsdD4ge1xuICBjb25zdCBzb2NrZXQgPSBjb25uPy5zb2NrZXQ7XG4gIHRyeSB7XG4gICAgaWYgKCFjb25uLnVzZXIpIHtcbiAgICAgIGNvbm4ubGFzdFJlcGx5ID0gUmVwbHlDb2RlLk5PVF9MT0dHRUQ7XG4gICAgICBjb25uLmxhc3RNZXNzYWdlID0gYE5vdCBsb2dnZWQgaW5gO1xuICAgICAgc29ja2V0Py53cml0ZShgJHtjb25uLmxhc3RSZXBseX0gJHtjb25uLmxhc3RNZXNzYWdlfVxcclxcbmApO1xuICAgICAgcmV0dXJuIHsgY29kZTogY29ubi5sYXN0UmVwbHksIG1lc3NhZ2U6IGNvbm4ubGFzdE1lc3NhZ2UgfTtcbiAgICB9XG5cbiAgICAvLyDEsHppbiBrb250cm9sw7xcbiAgICBpZiAoIXVzZXJNYW5hZ2VyIHx8ICF1c2VyTWFuYWdlci5jaGVja1Blcm1pc3Npb24oY29ubi51c2VyIHx8ICcnLCAncmVuYW1lJykpIHtcbiAgICAgIGNvbm4ubGFzdFJlcGx5ID0gUmVwbHlDb2RlLk5PX1BFUk1JU1NJT047XG4gICAgICBjb25uLmxhc3RNZXNzYWdlID0gYFBlcm1pc3Npb24gZGVuaWVkOiBSTkZSYDtcbiAgICAgIHNvY2tldD8ud3JpdGUoYCR7Y29ubi5sYXN0UmVwbHl9ICR7Y29ubi5sYXN0TWVzc2FnZX1cXHJcXG5gKTtcbiAgICAgIHJldHVybiB7IGNvZGU6IGNvbm4ubGFzdFJlcGx5LCBtZXNzYWdlOiBjb25uLmxhc3RNZXNzYWdlIH07XG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlUGF0aCA9IHJlc29sdmVGdHBQYXRoKGZpbGVuYW1lLCBjb25uLmN1cnJlbnREaXIsIGNvbm4uaG9tZURpcik7XG5cbiAgICAvLyBHw5xWRU5MxLBLOiBLYXluYWsgaG9tZURpciBpw6dpbmRlIG9sbWFsxLFcbiAgICBpZiAoIWlzUGF0aFdpdGhpbkhvbWUoc291cmNlUGF0aCwgY29ubi5ob21lRGlyKSkge1xuICAgICAgY29ubi5sYXN0UmVwbHkgPSBSZXBseUNvZGUuTk9UX0FMTE9XRUQ7XG4gICAgICBjb25uLmxhc3RNZXNzYWdlID0gYEFjY2VzcyBkZW5pZWQ6IENhbm5vdCByZW5hbWUgb3V0c2lkZSBob21lIGRpcmVjdG9yeWA7XG4gICAgICBzb2NrZXQ/LndyaXRlKGAke2Nvbm4ubGFzdFJlcGx5fSAke2Nvbm4ubGFzdE1lc3NhZ2V9XFxyXFxuYCk7XG4gICAgICByZXR1cm4geyBjb2RlOiBjb25uLmxhc3RSZXBseSwgbWVzc2FnZTogY29ubi5sYXN0TWVzc2FnZSB9O1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXQgPSBhd2FpdCBmcy5wcm9taXNlcy5zdGF0KHNvdXJjZVBhdGgpLmNhdGNoKCgpID0+IG51bGwpO1xuICAgIGlmICghc3RhdCkge1xuICAgICAgY29ubi5sYXN0UmVwbHkgPSBSZXBseUNvZGUuRklMRV9OT1RfRk9VTkQ7XG4gICAgICBjb25uLmxhc3RNZXNzYWdlID0gYE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rvcnk6ICR7ZmlsZW5hbWV9YDtcbiAgICAgIHNvY2tldD8ud3JpdGUoYCR7Y29ubi5sYXN0UmVwbHl9ICR7Y29ubi5sYXN0TWVzc2FnZX1cXHJcXG5gKTtcbiAgICAgIHJldHVybiB7IGNvZGU6IGNvbm4ubGFzdFJlcGx5LCBtZXNzYWdlOiBjb25uLmxhc3RNZXNzYWdlIH07XG4gICAgfVxuXG4gICAgLy8gUk5GUiBiYcWfYXLEsWzEsSwgUk5UTyBiZWtsaXlvcjoga2F5bmHEn8SxIGhhdMSxcmxhXG4gICAgY29ubi5ybmZyUGF0aCA9IHNvdXJjZVBhdGg7XG4gICAgY29ubi5sYXN0UmVwbHkgPSBSZXBseUNvZGUuUkVTVF9PSztcbiAgICBjb25uLmxhc3RNZXNzYWdlID0gYFBsZWFzZSBzcGVjaWZ5IHRoZSBuZXcgbmFtZWA7XG4gICAgc29ja2V0Py53cml0ZShgJHtjb25uLmxhc3RSZXBseX0gJHtjb25uLmxhc3RNZXNzYWdlfVxcclxcbmApO1xuXG4gICAgY29uc29sZS5sb2coYFtGdHBTZXJ2ZXJdIFJORlI6ICR7Y29ubi51c2VyfSAtPiAke2ZpbGVuYW1lfWApO1xuICAgIHJldHVybiB7IGNvZGU6IGNvbm4ubGFzdFJlcGx5LCBtZXNzYWdlOiBjb25uLmxhc3RNZXNzYWdlIH07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihgW0Z0cFNlcnZlcl0gUk5GUiBjb21tYW5kIGVycm9yYCk7XG4gICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgY29ubi5sYXN0UmVwbHkgPSBSZXBseUNvZGUuSU5URVJOQUxfRVJSO1xuICAgIGNvbm4ubGFzdE1lc3NhZ2UgPSBgSW50ZXJuYWwgc2VydmVyIGVycm9yOiAke2Vyci5tZXNzYWdlfWA7XG4gICAgc29ja2V0Py53cml0ZShgJHtjb25uLmxhc3RSZXBseX0gJHtjb25uLmxhc3RNZXNzYWdlfVxcclxcbmApO1xuICAgIHJldHVybiB7IGNvZGU6IGNvbm4ubGFzdFJlcGx5LCBtZXNzYWdlOiBjb25uLmxhc3RNZXNzYWdlIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -93,7 +93,7 @@ async function handleRnto(connId, conn, newFilename, userManager) {
|
|
|
93
93
|
return { code: conn.lastReply, message: conn.lastMessage };
|
|
94
94
|
}
|
|
95
95
|
catch (error) {
|
|
96
|
-
console.error(`[FtpServer] RNTO
|
|
96
|
+
console.error(`[FtpServer] RNTO command error`);
|
|
97
97
|
const err = error;
|
|
98
98
|
conn.lastReply = types_1.ReplyCode.INTERNAL_ERR;
|
|
99
99
|
conn.lastMessage = `Internal server error: ${err.message}`;
|
|
@@ -101,4 +101,4 @@ async function handleRnto(connId, conn, newFilename, userManager) {
|
|
|
101
101
|
return { code: conn.lastReply, message: conn.lastMessage };
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm50b0NvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvUm50b0NvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsTUFBWSxFQUFFLCtCQUFXO0FBRXpCLG9DQUFtRTtBQUVuRSxrREFBc0U7QUFLL0QsS0FBSyxxQkFBcUIsTUFBYyxFQUFFLElBQW1CLEVBQUUsV0FBbUIsRUFBRSxXQUF3QjtJQUNqSCxNQUFNLE1BQU0sR0FBRyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQzVCLElBQUksQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsVUFBVSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDO1lBQ25DLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxDQUFDO1lBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdELENBQUM7UUFHRCxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzVFLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQVMsQ0FBQyxhQUFhLENBQUM7WUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFBeUIsQ0FBQztZQUM3QyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsQ0FBQztZQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3RCxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBQSwwQkFBYyxFQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUc1RSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQVMsQ0FBQyxPQUFPLENBQUM7WUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRywyQkFBMkIsQ0FBQztZQUMvQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsQ0FBQztZQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3RCxDQUFDO1FBR0QsSUFBSSxDQUFDLElBQUEsNEJBQWdCLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUEsNEJBQWdCLEVBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNoRyxJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsV0FBVyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcscURBQXFELENBQUM7WUFDekUsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsTUFBTSxDQUFDLENBQUM7WUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0QsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDO1lBRUgsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLEdBQUcsR0FBRyxLQUE4QixDQUFDO1lBQzNDLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBUyxDQUFDLGNBQWMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyw4QkFBOEIsV0FBVyxFQUFFLENBQUM7Z0JBQy9ELE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxDQUFDO2dCQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3RCxDQUFDO1lBQ0QsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsV0FBVyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLDBCQUEwQixXQUFXLEVBQUUsQ0FBQztnQkFDM0QsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsTUFBTSxDQUFDLENBQUM7Z0JBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdELENBQUM7WUFDRCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsMkJBQTJCLENBQUM7UUFDL0MsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsTUFBTSxDQUFDLENBQUM7UUFFM0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLElBQUksT0FBTyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sR0FBRyxHQUFHLEtBQWMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsMEJBQTBCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzRCxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsQ0FBQztRQUMzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBSZXBseUNvZGUsIEZ0cENvbm5lY3Rpb24sIENvbW1hbmRSZXN1bHQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBVc2VyTWFuYWdlciB9IGZyb20gJy4uL3VzZXJNYW5hZ2VyJztcbmltcG9ydCB7IHJlc29sdmVGdHBQYXRoLCBpc1BhdGhXaXRoaW5Ib21lIH0gZnJvbSAnLi4vdXRpbHMvcGF0aFV0aWxzJztcblxuLyoqXG4gKiBSTlRPIGtvbXV0dW51IGnFn2xlICh5ZW5pZGVuIGFkbGFuZMSxcm1hIGhlZGVmKVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaGFuZGxlUm50byhjb25uSWQ6IHN0cmluZywgY29ubjogRnRwQ29ubmVjdGlvbiwgbmV3RmlsZW5hbWU6IHN0cmluZywgdXNlck1hbmFnZXI6IFVzZXJNYW5hZ2VyKTogUHJvbWlzZTxDb21tYW5kUmVzdWx0PiB7XG4gIGNvbnN0IHNvY2tldCA9IGNvbm4/LnNvY2tldDtcbiAgdHJ5IHtcbiAgICBpZiAoIWNvbm4udXNlcikge1xuICAgICAgY29ubi5sYXN0UmVwbHkgPSBSZXBseUNvZGUuTk9UX0xPR0dFRDtcbiAgICAgIGNvbm4ubGFzdE1lc3NhZ2UgPSBgTm90IGxvZ2dlZCBpbmA7XG4gICAgICBzb2NrZXQ/LndyaXRlKGAke2Nvbm4ubGFzdFJlcGx5fSAke2Nvbm4ubGFzdE1lc3NhZ2V9XFxyXFxuYCk7XG4gICAgICByZXR1cm4geyBjb2RlOiBjb25uLmxhc3RSZXBseSwgbWVzc2FnZTogY29ubi5sYXN0TWVzc2FnZSB9O1xuICAgIH1cblxuICAgIC8vIMSwemluIGtvbnRyb2zDvFxuICAgIGlmICghdXNlck1hbmFnZXIgfHwgIXVzZXJNYW5hZ2VyLmNoZWNrUGVybWlzc2lvbihjb25uLnVzZXIgfHwgJycsICdyZW5hbWUnKSkge1xuICAgICAgY29ubi5sYXN0UmVwbHkgPSBSZXBseUNvZGUuTk9fUEVSTUlTU0lPTjtcbiAgICAgIGNvbm4ubGFzdE1lc3NhZ2UgPSBgUGVybWlzc2lvbiBkZW5pZWQ6IFJOVE9gO1xuICAgICAgc29ja2V0Py53cml0ZShgJHtjb25uLmxhc3RSZXBseX0gJHtjb25uLmxhc3RNZXNzYWdlfVxcclxcbmApO1xuICAgICAgcmV0dXJuIHsgY29kZTogY29ubi5sYXN0UmVwbHksIG1lc3NhZ2U6IGNvbm4ubGFzdE1lc3NhZ2UgfTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXN0UGF0aCA9IHJlc29sdmVGdHBQYXRoKG5ld0ZpbGVuYW1lLCBjb25uLmN1cnJlbnREaXIsIGNvbm4uaG9tZURpcik7XG5cbiAgICAvLyBSTkZSIHZlcmlsbWVtacWfIG9sYWJpbGlyXG4gICAgaWYgKCFjb25uLnJuZnJQYXRoKSB7XG4gICAgICBjb25uLmxhc3RSZXBseSA9IFJlcGx5Q29kZS5CQURfU0VRO1xuICAgICAgY29ubi5sYXN0TWVzc2FnZSA9IGBSTkZSIHJlcXVpcmVkIGJlZm9yZSBSTlRPYDtcbiAgICAgIHNvY2tldD8ud3JpdGUoYCR7Y29ubi5sYXN0UmVwbHl9ICR7Y29ubi5sYXN0TWVzc2FnZX1cXHJcXG5gKTtcbiAgICAgIHJldHVybiB7IGNvZGU6IGNvbm4ubGFzdFJlcGx5LCBtZXNzYWdlOiBjb25uLmxhc3RNZXNzYWdlIH07XG4gICAgfVxuXG4gICAgLy8gR8OcVkVOTMSwSzogS2F5bmFrIHZlIGhlZGVmIGhvbWVEaXIgacOnaW5kZSBvbG1hbMSxXG4gICAgaWYgKCFpc1BhdGhXaXRoaW5Ib21lKGRlc3RQYXRoLCBjb25uLmhvbWVEaXIpIHx8ICFpc1BhdGhXaXRoaW5Ib21lKGNvbm4ucm5mclBhdGgsIGNvbm4uaG9tZURpcikpIHtcbiAgICAgIGNvbm4ubGFzdFJlcGx5ID0gUmVwbHlDb2RlLk5PVF9BTExPV0VEO1xuICAgICAgY29ubi5sYXN0TWVzc2FnZSA9IGBBY2Nlc3MgZGVuaWVkOiBDYW5ub3QgcmVuYW1lIG91dHNpZGUgaG9tZSBkaXJlY3RvcnlgO1xuICAgICAgc29ja2V0Py53cml0ZShgJHtjb25uLmxhc3RSZXBseX0gJHtjb25uLmxhc3RNZXNzYWdlfVxcclxcbmApO1xuICAgICAgcmV0dXJuIHsgY29kZTogY29ubi5sYXN0UmVwbHksIG1lc3NhZ2U6IGNvbm4ubGFzdE1lc3NhZ2UgfTtcbiAgICB9XG5cbiAgICBjb25zdCBzb3VyY2VQYXRoID0gY29ubi5ybmZyUGF0aDtcbiAgICBjb25uLnJuZnJQYXRoID0gbnVsbDtcbiAgICB0cnkge1xuICAgICAgLy8gUk5GUiBpbGUgYmVsaXJ0aWxlbiBrYXluYcSfxLEsIFJOVE8nZGFraSBoZWRlZmUgdGHFn8SxXG4gICAgICBhd2FpdCBmcy5wcm9taXNlcy5yZW5hbWUoc291cmNlUGF0aCwgZGVzdFBhdGgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBlcnIgPSBlcnJvciBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb247XG4gICAgICBpZiAoZXJyLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICAgIGNvbm4ubGFzdFJlcGx5ID0gUmVwbHlDb2RlLkZJTEVfTk9UX0ZPVU5EO1xuICAgICAgICBjb25uLmxhc3RNZXNzYWdlID0gYE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rvcnk6ICR7bmV3RmlsZW5hbWV9YDtcbiAgICAgICAgc29ja2V0Py53cml0ZShgJHtjb25uLmxhc3RSZXBseX0gJHtjb25uLmxhc3RNZXNzYWdlfVxcclxcbmApO1xuICAgICAgICByZXR1cm4geyBjb2RlOiBjb25uLmxhc3RSZXBseSwgbWVzc2FnZTogY29ubi5sYXN0TWVzc2FnZSB9O1xuICAgICAgfVxuICAgICAgaWYgKGVyci5jb2RlID09PSAnRUVYSVNUJyB8fCBlcnIuY29kZSA9PT0gJ0VQRVJNJykge1xuICAgICAgICBjb25uLmxhc3RSZXBseSA9IFJlcGx5Q29kZS5GSUxFX0VYSVNUUztcbiAgICAgICAgY29ubi5sYXN0TWVzc2FnZSA9IGBUYXJnZXQgYWxyZWFkeSBleGlzdHM6ICR7bmV3RmlsZW5hbWV9YDtcbiAgICAgICAgc29ja2V0Py53cml0ZShgJHtjb25uLmxhc3RSZXBseX0gJHtjb25uLmxhc3RNZXNzYWdlfVxcclxcbmApO1xuICAgICAgICByZXR1cm4geyBjb2RlOiBjb25uLmxhc3RSZXBseSwgbWVzc2FnZTogY29ubi5sYXN0TWVzc2FnZSB9O1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuXG4gICAgY29ubi5sYXN0UmVwbHkgPSBSZXBseUNvZGUuREVMRV9PSztcbiAgICBjb25uLmxhc3RNZXNzYWdlID0gYEZpbGUgcmVuYW1lZCBzdWNjZXNzZnVsbHlgO1xuICAgIHNvY2tldD8ud3JpdGUoYCR7Y29ubi5sYXN0UmVwbHl9ICR7Y29ubi5sYXN0TWVzc2FnZX1cXHJcXG5gKTtcblxuICAgIGNvbnNvbGUubG9nKGBbRnRwU2VydmVyXSBSTlRPOiAke2Nvbm4udXNlcn0gLT4gJHtuZXdGaWxlbmFtZX1gKTtcbiAgICByZXR1cm4geyBjb2RlOiBjb25uLmxhc3RSZXBseSwgbWVzc2FnZTogY29ubi5sYXN0TWVzc2FnZSB9O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYFtGdHBTZXJ2ZXJdIFJOVE8gY29tbWFuZCBlcnJvcmApO1xuICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yO1xuICAgIGNvbm4ubGFzdFJlcGx5ID0gUmVwbHlDb2RlLklOVEVSTkFMX0VSUjtcbiAgICBjb25uLmxhc3RNZXNzYWdlID0gYEludGVybmFsIHNlcnZlciBlcnJvcjogJHtlcnIubWVzc2FnZX1gO1xuICAgIHNvY2tldD8ud3JpdGUoYCR7Y29ubi5sYXN0UmVwbHl9ICR7Y29ubi5sYXN0TWVzc2FnZX1cXHJcXG5gKTtcbiAgICByZXR1cm4geyBjb2RlOiBjb25uLmxhc3RSZXBseSwgbWVzc2FnZTogY29ubi5sYXN0TWVzc2FnZSB9O1xuICB9XG59XG4iXX0=
|
|
@@ -66,7 +66,7 @@ async function handleStor(connId, conn, filename, userManager, controlSocket) {
|
|
|
66
66
|
catch (error) {
|
|
67
67
|
const err = error;
|
|
68
68
|
if (err.code !== 'EEXIST') {
|
|
69
|
-
console.error(`[FtpServer] STOR
|
|
69
|
+
console.error(`[FtpServer] STOR directory creation error`);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
conn.lastReply = types_1.ReplyCode.DATA_CONNECT;
|
|
@@ -76,7 +76,7 @@ async function handleStor(connId, conn, filename, userManager, controlSocket) {
|
|
|
76
76
|
return { code: conn.lastReply, message: conn.lastMessage, data: { filePath } };
|
|
77
77
|
}
|
|
78
78
|
catch (error) {
|
|
79
|
-
console.error(`[FtpServer] STOR
|
|
79
|
+
console.error(`[FtpServer] STOR command error`);
|
|
80
80
|
const err = error;
|
|
81
81
|
conn.lastReply = types_1.ReplyCode.INTERNAL_ERR;
|
|
82
82
|
conn.lastMessage = `Internal server error: ${err.message}`;
|
|
@@ -84,4 +84,4 @@ async function handleStor(connId, conn, filename, userManager, controlSocket) {
|
|
|
84
84
|
return { code: conn.lastReply, message: conn.lastMessage };
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvckNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvU3RvckNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsTUFBWSxFQUFFLCtCQUFXO0FBQ3pCLE1BQVksSUFBSSxpQ0FBYTtBQUM3QixvQ0FBbUU7QUFFbkUsa0RBQXNFO0FBSy9ELEtBQUsscUJBQXFCLE1BQWMsRUFBRSxJQUFtQixFQUFFLFFBQWdCLEVBQUUsV0FBd0IsRUFBRSxhQUFrQjtJQUNsSSxJQUFJLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBUyxDQUFDLFVBQVUsQ0FBQztZQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQztZQUNuQyxhQUFhLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsQ0FBQztZQUNsRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3RCxDQUFDO1FBR0QsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMzRSxJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsYUFBYSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxXQUFXLEdBQUcseUJBQXlCLENBQUM7WUFDN0MsYUFBYSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsTUFBTSxDQUFDLENBQUM7WUFDbEUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0QsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQWMsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFHekUsSUFBSSxDQUFDLElBQUEsNEJBQWdCLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQVMsQ0FBQyxXQUFXLENBQUM7WUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxxREFBcUQsQ0FBQztZQUN6RSxhQUFhLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsQ0FBQztZQUNsRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3RCxDQUFDO1FBR0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBRWYsTUFBTSxHQUFHLEdBQUcsS0FBOEIsQ0FBQztZQUMzQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzFCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztZQUM3RCxDQUFDO1FBQ0gsQ0FBQztRQUdELElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQVMsQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQ0FBa0MsQ0FBQztRQUN0RCxhQUFhLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsQ0FBQztRQUVsRSxPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixJQUFJLENBQUMsSUFBSSxNQUFNLFFBQVEsT0FBTyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sR0FBRyxHQUFHLEtBQWMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsMEJBQTBCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzRCxhQUFhLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsQ0FBQztRQUNsRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBSZXBseUNvZGUsIEZ0cENvbm5lY3Rpb24sIENvbW1hbmRSZXN1bHQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBVc2VyTWFuYWdlciB9IGZyb20gJy4uL3VzZXJNYW5hZ2VyJztcbmltcG9ydCB7IHJlc29sdmVGdHBQYXRoLCBpc1BhdGhXaXRoaW5Ib21lIH0gZnJvbSAnLi4vdXRpbHMvcGF0aFV0aWxzJztcblxuLyoqXG4gKiBTVE9SIGtvbXV0dW51IGnFn2xlIChkb3N5YSB5w7xrbGUpXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVTdG9yKGNvbm5JZDogc3RyaW5nLCBjb25uOiBGdHBDb25uZWN0aW9uLCBmaWxlbmFtZTogc3RyaW5nLCB1c2VyTWFuYWdlcjogVXNlck1hbmFnZXIsIGNvbnRyb2xTb2NrZXQ6IGFueSk6IFByb21pc2U8Q29tbWFuZFJlc3VsdD4ge1xuICB0cnkge1xuICAgIGlmICghY29ubi51c2VyKSB7XG4gICAgICBjb25uLmxhc3RSZXBseSA9IFJlcGx5Q29kZS5OT1RfTE9HR0VEO1xuICAgICAgY29ubi5sYXN0TWVzc2FnZSA9IGBOb3QgbG9nZ2VkIGluYDtcbiAgICAgIGNvbnRyb2xTb2NrZXQ/LndyaXRlKGAke2Nvbm4ubGFzdFJlcGx5fSAke2Nvbm4ubGFzdE1lc3NhZ2V9XFxyXFxuYCk7XG4gICAgICByZXR1cm4geyBjb2RlOiBjb25uLmxhc3RSZXBseSwgbWVzc2FnZTogY29ubi5sYXN0TWVzc2FnZSB9O1xuICAgIH1cblxuICAgIC8vIMSwemluIGtvbnRyb2zDvFxuICAgIGlmICghdXNlck1hbmFnZXIgfHwgIXVzZXJNYW5hZ2VyLmNoZWNrUGVybWlzc2lvbihjb25uLnVzZXIgfHwgJycsICd3cml0ZScpKSB7XG4gICAgICBjb25uLmxhc3RSZXBseSA9IFJlcGx5Q29kZS5OT19QRVJNSVNTSU9OO1xuICAgICAgY29ubi5sYXN0TWVzc2FnZSA9IGBQZXJtaXNzaW9uIGRlbmllZDogU1RPUmA7XG4gICAgICBjb250cm9sU29ja2V0Py53cml0ZShgJHtjb25uLmxhc3RSZXBseX0gJHtjb25uLmxhc3RNZXNzYWdlfVxcclxcbmApO1xuICAgICAgcmV0dXJuIHsgY29kZTogY29ubi5sYXN0UmVwbHksIG1lc3NhZ2U6IGNvbm4ubGFzdE1lc3NhZ2UgfTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlUGF0aCA9IHJlc29sdmVGdHBQYXRoKGZpbGVuYW1lLCBjb25uLmN1cnJlbnREaXIsIGNvbm4uaG9tZURpcik7XG5cbiAgICAvLyBHw5xWRU5MxLBLOiBEb3N5YSBob21lRGlyIGnDp2luZGUgb2xtYWzEsVxuICAgIGlmICghaXNQYXRoV2l0aGluSG9tZShmaWxlUGF0aCwgY29ubi5ob21lRGlyKSkge1xuICAgICAgY29ubi5sYXN0UmVwbHkgPSBSZXBseUNvZGUuTk9UX0FMTE9XRUQ7XG4gICAgICBjb25uLmxhc3RNZXNzYWdlID0gYEFjY2VzcyBkZW5pZWQ6IENhbm5vdCB1cGxvYWQgb3V0c2lkZSBob21lIGRpcmVjdG9yeWA7XG4gICAgICBjb250cm9sU29ja2V0Py53cml0ZShgJHtjb25uLmxhc3RSZXBseX0gJHtjb25uLmxhc3RNZXNzYWdlfVxcclxcbmApO1xuICAgICAgcmV0dXJuIHsgY29kZTogY29ubi5sYXN0UmVwbHksIG1lc3NhZ2U6IGNvbm4ubGFzdE1lc3NhZ2UgfTtcbiAgICB9XG5cbiAgICAvLyBEaXppbiB2YXJsxLHEn8SxbmRhbiBlbWluIG9sXG4gICAgY29uc3QgZGlyUGF0aCA9IHBhdGguZGlybmFtZShmaWxlUGF0aCk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGZzLnByb21pc2VzLm1rZGlyKGRpclBhdGgsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAvLyBaYXRlbiB2YXJzYSBoYXRhIHZlcm1lelxuICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uO1xuICAgICAgaWYgKGVyci5jb2RlICE9PSAnRUVYSVNUJykge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBbRnRwU2VydmVyXSBTVE9SIGRpcmVjdG9yeSBjcmVhdGlvbiBlcnJvcmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIDE1MCB5YW7EsXTEsW7EsSBrb250cm9sIHNvY2tldCdlIGfDtm5kZXJcbiAgICBjb25uLmxhc3RSZXBseSA9IFJlcGx5Q29kZS5EQVRBX0NPTk5FQ1Q7XG4gICAgY29ubi5sYXN0TWVzc2FnZSA9IGBPcGVuaW5nIERBVEEgY29ubmVjdGlvbiBmb3IgU1RPUmA7XG4gICAgY29udHJvbFNvY2tldD8ud3JpdGUoYCR7Y29ubi5sYXN0UmVwbHl9ICR7Y29ubi5sYXN0TWVzc2FnZX1cXHJcXG5gKTtcblxuICAgIGNvbnNvbGUubG9nKGBbRnRwU2VydmVyXSBTVE9SOiAke2Nvbm4udXNlcn0gLSAke2ZpbGVuYW1lfSAtPiAke2ZpbGVQYXRofWApO1xuICAgIHJldHVybiB7IGNvZGU6IGNvbm4ubGFzdFJlcGx5LCBtZXNzYWdlOiBjb25uLmxhc3RNZXNzYWdlLCBkYXRhOiB7IGZpbGVQYXRoIH0gfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGBbRnRwU2VydmVyXSBTVE9SIGNvbW1hbmQgZXJyb3JgKTtcbiAgICBjb25zdCBlcnIgPSBlcnJvciBhcyBFcnJvcjtcbiAgICBjb25uLmxhc3RSZXBseSA9IFJlcGx5Q29kZS5JTlRFUk5BTF9FUlI7XG4gICAgY29ubi5sYXN0TWVzc2FnZSA9IGBJbnRlcm5hbCBzZXJ2ZXIgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YDtcbiAgICBjb250cm9sU29ja2V0Py53cml0ZShgJHtjb25uLmxhc3RSZXBseX0gJHtjb25uLmxhc3RNZXNzYWdlfVxcclxcbmApO1xuICAgIHJldHVybiB7IGNvZGU6IGNvbm4ubGFzdFJlcGx5LCBtZXNzYWdlOiBjb25uLmxhc3RNZXNzYWdlIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -8,15 +8,15 @@ function handleSyst(connId, conn) {
|
|
|
8
8
|
conn.lastReply = types_1.ReplyCode.SYST_OK;
|
|
9
9
|
conn.lastMessage = 'UNIX Type: L8';
|
|
10
10
|
socket?.write(`${conn.lastReply} ${conn.lastMessage}\r\n`);
|
|
11
|
-
console.log(`[FtpServer] SYST
|
|
11
|
+
console.log(`[FtpServer] SYST command executed`);
|
|
12
12
|
return { code: conn.lastReply, message: conn.lastMessage };
|
|
13
13
|
}
|
|
14
14
|
catch (error) {
|
|
15
|
-
console.error(`[FtpServer] SYST
|
|
15
|
+
console.error(`[FtpServer] SYST command error`);
|
|
16
16
|
conn.lastReply = types_1.ReplyCode.INTERNAL_ERR;
|
|
17
17
|
conn.lastMessage = `Internal server error`;
|
|
18
18
|
socket?.write(`${conn.lastReply} ${conn.lastMessage}\r\n`);
|
|
19
19
|
return { code: conn.lastReply, message: conn.lastMessage };
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzdENvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvU3lzdENvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0NBQW1FO0FBS25FLG9CQUEyQixNQUFjLEVBQUUsSUFBbUI7SUFDNUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUM1QixJQUFJLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDO1FBQ25DLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxDQUFDO1FBRTNELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsQ0FBQztRQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsdUJBQXVCLENBQUM7UUFDM0MsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsTUFBTSxDQUFDLENBQUM7UUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0QsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXBseUNvZGUsIEZ0cENvbm5lY3Rpb24sIENvbW1hbmRSZXN1bHQgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogU1lTVCBrb211dHVudSBpxZ9sZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlU3lzdChjb25uSWQ6IHN0cmluZywgY29ubjogRnRwQ29ubmVjdGlvbik6IENvbW1hbmRSZXN1bHQge1xuICBjb25zdCBzb2NrZXQgPSBjb25uPy5zb2NrZXQ7XG4gIHRyeSB7XG4gICAgY29ubi5sYXN0UmVwbHkgPSBSZXBseUNvZGUuU1lTVF9PSztcbiAgICBjb25uLmxhc3RNZXNzYWdlID0gJ1VOSVggVHlwZTogTDgnO1xuICAgIHNvY2tldD8ud3JpdGUoYCR7Y29ubi5sYXN0UmVwbHl9ICR7Y29ubi5sYXN0TWVzc2FnZX1cXHJcXG5gKTtcbiAgICBcbiAgICBjb25zb2xlLmxvZyhgW0Z0cFNlcnZlcl0gU1lTVCBjb21tYW5kIGV4ZWN1dGVkYCk7XG4gICAgcmV0dXJuIHsgY29kZTogY29ubi5sYXN0UmVwbHksIG1lc3NhZ2U6IGNvbm4ubGFzdE1lc3NhZ2UgfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKGBbRnRwU2VydmVyXSBTWVNUIGNvbW1hbmQgZXJyb3JgKTtcbiAgICBjb25uLmxhc3RSZXBseSA9IFJlcGx5Q29kZS5JTlRFUk5BTF9FUlI7XG4gICAgY29ubi5sYXN0TWVzc2FnZSA9IGBJbnRlcm5hbCBzZXJ2ZXIgZXJyb3JgO1xuICAgIHNvY2tldD8ud3JpdGUoYCR7Y29ubi5sYXN0UmVwbHl9ICR7Y29ubi5sYXN0TWVzc2FnZX1cXHJcXG5gKTtcbiAgICByZXR1cm4geyBjb2RlOiBjb25uLmxhc3RSZXBseSwgbWVzc2FnZTogY29ubi5sYXN0TWVzc2FnZSB9O1xuICB9XG59XG4iXX0=
|
|
@@ -15,15 +15,15 @@ function handleType(conn, args) {
|
|
|
15
15
|
conn.lastReply = types_1.ReplyCode.OK;
|
|
16
16
|
conn.lastMessage = `Type set to ${mode}`;
|
|
17
17
|
socket?.write(`${conn.lastReply} ${conn.lastMessage}\r\n`);
|
|
18
|
-
console.log(`[FtpServer] TYPE
|
|
18
|
+
console.log(`[FtpServer] TYPE command executed`);
|
|
19
19
|
return { code: conn.lastReply, message: conn.lastMessage };
|
|
20
20
|
}
|
|
21
21
|
catch (error) {
|
|
22
|
-
console.error(`[FtpServer] TYPE
|
|
22
|
+
console.error(`[FtpServer] TYPE command error`);
|
|
23
23
|
conn.lastReply = types_1.ReplyCode.INTERNAL_ERR;
|
|
24
24
|
conn.lastMessage = `Internal server error`;
|
|
25
25
|
socket?.write(`${conn.lastReply} ${conn.lastMessage}\r\n`);
|
|
26
26
|
return { code: conn.lastReply, message: conn.lastMessage };
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHlwZUNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvVHlwZUNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0NBQW1FO0FBS25FLG9CQUEyQixJQUFtQixFQUFFLElBQVk7SUFDMUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUM1QixJQUFJLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDaEMsSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztRQUM5QixDQUFDO2FBQU0sSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQy9ELElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDO1FBQy9CLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBZSxJQUFJLEVBQUUsQ0FBQztRQUN6QyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxNQUFNLENBQUMsQ0FBQztRQUUzRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0QsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxpQkFBUyxDQUFDLFlBQVksQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLHVCQUF1QixDQUFDO1FBQzNDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxDQUFDO1FBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVwbHlDb2RlLCBGdHBDb25uZWN0aW9uLCBDb21tYW5kUmVzdWx0IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIFRZUEUga29tdXR1bnUgacWfbGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZVR5cGUoY29ubjogRnRwQ29ubmVjdGlvbiwgYXJnczogc3RyaW5nKTogQ29tbWFuZFJlc3VsdCB7XG4gIGNvbnN0IHNvY2tldCA9IGNvbm4/LnNvY2tldDtcbiAgdHJ5IHtcbiAgICBjb25zdCBtb2RlID0gYXJncy50b1VwcGVyQ2FzZSgpO1xuICAgIGlmIChtb2RlID09PSAnQScgfHwgbW9kZSA9PT0gJ0FTQ0lJJykge1xuICAgICAgY29ubi50cmFuc2Zlck1vZGUgPSAnYXNjaWknO1xuICAgIH0gZWxzZSBpZiAobW9kZSA9PT0gJ0knIHx8IG1vZGUgPT09ICdCSU4nIHx8IG1vZGUgPT09ICdCSU5BUlknKSB7XG4gICAgICBjb25uLnRyYW5zZmVyTW9kZSA9ICdiaW5hcnknO1xuICAgIH1cblxuICAgIGNvbm4ubGFzdFJlcGx5ID0gUmVwbHlDb2RlLk9LO1xuICAgIGNvbm4ubGFzdE1lc3NhZ2UgPSBgVHlwZSBzZXQgdG8gJHttb2RlfWA7XG4gICAgc29ja2V0Py53cml0ZShgJHtjb25uLmxhc3RSZXBseX0gJHtjb25uLmxhc3RNZXNzYWdlfVxcclxcbmApO1xuICAgIFxuICAgIGNvbnNvbGUubG9nKGBbRnRwU2VydmVyXSBUWVBFIGNvbW1hbmQgZXhlY3V0ZWRgKTtcbiAgICByZXR1cm4geyBjb2RlOiBjb25uLmxhc3RSZXBseSwgbWVzc2FnZTogY29ubi5sYXN0TWVzc2FnZSB9O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYFtGdHBTZXJ2ZXJdIFRZUEUgY29tbWFuZCBlcnJvcmApO1xuICAgIGNvbm4ubGFzdFJlcGx5ID0gUmVwbHlDb2RlLklOVEVSTkFMX0VSUjtcbiAgICBjb25uLmxhc3RNZXNzYWdlID0gYEludGVybmFsIHNlcnZlciBlcnJvcmA7XG4gICAgc29ja2V0Py53cml0ZShgJHtjb25uLmxhc3RSZXBseX0gJHtjb25uLmxhc3RNZXNzYWdlfVxcclxcbmApO1xuICAgIHJldHVybiB7IGNvZGU6IGNvbm4ubGFzdFJlcGx5LCBtZXNzYWdlOiBjb25uLmxhc3RNZXNzYWdlIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -48,7 +48,7 @@ async function handleUser(connId, conn, username, userManager) {
|
|
|
48
48
|
}
|
|
49
49
|
const user = userManager.findUser(username);
|
|
50
50
|
if (!user) {
|
|
51
|
-
console.error(`[FtpServer]
|
|
51
|
+
console.error(`[FtpServer] User not found: ${username}`);
|
|
52
52
|
conn.lastReply = types_1.ReplyCode.BAD_USER;
|
|
53
53
|
conn.lastMessage = `User ${username} not logged in`;
|
|
54
54
|
socket?.write(`${conn.lastReply} ${conn.lastMessage}\r\n`);
|
|
@@ -64,11 +64,11 @@ async function handleUser(connId, conn, username, userManager) {
|
|
|
64
64
|
conn.lastReply = types_1.ReplyCode.USER_PASS;
|
|
65
65
|
conn.lastMessage = `Password required for ${username}`;
|
|
66
66
|
socket?.write(`${conn.lastReply} ${conn.lastMessage}\r\n`);
|
|
67
|
-
console.log(`[FtpServer]
|
|
67
|
+
console.log(`[FtpServer] User logged in: ${username} (${connId})`);
|
|
68
68
|
return { code: conn.lastReply, message: conn.lastMessage };
|
|
69
69
|
}
|
|
70
70
|
catch (error) {
|
|
71
|
-
console.error(`[FtpServer] USER
|
|
71
|
+
console.error(`[FtpServer] USER command error`);
|
|
72
72
|
const err = error;
|
|
73
73
|
conn.lastReply = types_1.ReplyCode.INTERNAL_ERR;
|
|
74
74
|
conn.lastMessage = `Internal server error: ${err.message}`;
|
|
@@ -76,4 +76,4 @@ async function handleUser(connId, conn, username, userManager) {
|
|
|
76
76
|
return { code: conn.lastReply, message: conn.lastMessage };
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlckNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvVXNlckNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsTUFBWSxJQUFJLGlDQUFhO0FBQzdCLG9DQUFtRTtBQUVuRSxrREFBMkQ7QUFLcEQsS0FBSyxxQkFBcUIsTUFBYyxFQUFFLElBQW1CLEVBQUUsUUFBZ0IsRUFBRSxXQUF3QjtJQUM5RyxNQUFNLE1BQU0sR0FBRyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQzVCLElBQUksQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsWUFBWSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsb0RBQW9ELENBQUM7WUFDeEUsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsTUFBTSxDQUFDLENBQUM7WUFDM0QsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0QsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsU0FBUyxHQUFHLGlCQUFTLENBQUMsUUFBUSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxRQUFRLGdCQUFnQixDQUFDO1lBQ3BELE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxDQUFDO1lBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdELENBQUM7UUFHRCxJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUkxQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQztRQUVsQyxNQUFNLElBQUEsaUNBQXFCLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQVMsQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFBeUIsUUFBUSxFQUFFLENBQUM7UUFDdkQsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsTUFBTSxDQUFDLENBQUM7UUFFM0QsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsUUFBUSxLQUFLLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDbkUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0QsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsS0FBYyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsaUJBQVMsQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRywwQkFBMEIsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNELE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLE1BQU0sQ0FBQyxDQUFDO1FBQzNELE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IFJlcGx5Q29kZSwgRnRwQ29ubmVjdGlvbiwgQ29tbWFuZFJlc3VsdCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFVzZXJNYW5hZ2VyIH0gZnJvbSAnLi4vdXNlck1hbmFnZXInO1xuaW1wb3J0IHsgZW5zdXJlRGlyZWN0b3J5RXhpc3RzIH0gZnJvbSAnLi4vdXRpbHMvcGF0aFV0aWxzJztcblxuLyoqXG4gKiBVU0VSIGtvbXV0dW51IGnFn2xlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVVc2VyKGNvbm5JZDogc3RyaW5nLCBjb25uOiBGdHBDb25uZWN0aW9uLCB1c2VybmFtZTogc3RyaW5nLCB1c2VyTWFuYWdlcjogVXNlck1hbmFnZXIpOiBQcm9taXNlPENvbW1hbmRSZXN1bHQ+IHtcbiAgY29uc3Qgc29ja2V0ID0gY29ubj8uc29ja2V0O1xuICB0cnkge1xuICAgIC8vIEt1bGxhbsSxY8SxecSxIGtvbnRyb2wgZXRcbiAgICBpZiAoIXVzZXJNYW5hZ2VyKSB7XG4gICAgICBjb25uLmxhc3RSZXBseSA9IFJlcGx5Q29kZS5JTlRFUk5BTF9FUlI7XG4gICAgICBjb25uLmxhc3RNZXNzYWdlID0gYEludGVybmFsIHNlcnZlciBlcnJvcjogdXNlck1hbmFnZXIgbm90IGluaXRpYWxpemVkYDtcbiAgICAgIHNvY2tldD8ud3JpdGUoYCR7Y29ubi5sYXN0UmVwbHl9ICR7Y29ubi5sYXN0TWVzc2FnZX1cXHJcXG5gKTtcbiAgICAgIHJldHVybiB7IGNvZGU6IGNvbm4ubGFzdFJlcGx5LCBtZXNzYWdlOiBjb25uLmxhc3RNZXNzYWdlIH07XG4gICAgfVxuICAgIGNvbnN0IHVzZXIgPSB1c2VyTWFuYWdlci5maW5kVXNlcih1c2VybmFtZSk7XG5cbiAgICBpZiAoIXVzZXIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFtGdHBTZXJ2ZXJdIFVzZXIgbm90IGZvdW5kOiAke3VzZXJuYW1lfWApO1xuICAgICAgY29ubi5sYXN0UmVwbHkgPSBSZXBseUNvZGUuQkFEX1VTRVI7XG4gICAgICBjb25uLmxhc3RNZXNzYWdlID0gYFVzZXIgJHt1c2VybmFtZX0gbm90IGxvZ2dlZCBpbmA7XG4gICAgICBzb2NrZXQ/LndyaXRlKGAke2Nvbm4ubGFzdFJlcGx5fSAke2Nvbm4ubGFzdE1lc3NhZ2V9XFxyXFxuYCk7XG4gICAgICByZXR1cm4geyBjb2RlOiBjb25uLmxhc3RSZXBseSwgbWVzc2FnZTogY29ubi5sYXN0TWVzc2FnZSB9O1xuICAgIH1cblxuICAgIC8vIEt1bGxhbsSxY8SxIGJpbGdpbGVyaW5pIGtheWRldFxuICAgIGNvbm4udXNlciA9IHVzZXJuYW1lO1xuICAgIGNvbm4uaG9tZURpciA9IHVzZXIuaG9tZURpcjtcbiAgICBjb25uLnBlcm1pc3Npb25zID0gdXNlci5wZXJtaXNzaW9ucyB8fCB7fTtcblxuICAgIC8vIEt1bGxhbsSxY8SxIGRpemluaW5pIGF5YXJsYVxuICAgIC8vIGhvbWVEaXInaSBtdXRsYWsgaGFsZSBnZXRpclxuICAgIGNvbnN0IGhvbWVEaXJBYnNvbHV0ZSA9IHBhdGgucmVzb2x2ZSh1c2VyLmhvbWVEaXIpO1xuICAgIGNvbm4uaG9tZURpciA9IGhvbWVEaXJBYnNvbHV0ZTtcbiAgICBjb25uLmN1cnJlbnREaXIgPSBob21lRGlyQWJzb2x1dGU7XG4gICAgXG4gICAgYXdhaXQgZW5zdXJlRGlyZWN0b3J5RXhpc3RzKGNvbm4uY3VycmVudERpcik7XG5cbiAgICBjb25uLmxhc3RSZXBseSA9IFJlcGx5Q29kZS5VU0VSX1BBU1M7XG4gICAgY29ubi5sYXN0TWVzc2FnZSA9IGBQYXNzd29yZCByZXF1aXJlZCBmb3IgJHt1c2VybmFtZX1gO1xuICAgIHNvY2tldD8ud3JpdGUoYCR7Y29ubi5sYXN0UmVwbHl9ICR7Y29ubi5sYXN0TWVzc2FnZX1cXHJcXG5gKTtcblxuICAgIGNvbnNvbGUubG9nKGBbRnRwU2VydmVyXSBVc2VyIGxvZ2dlZCBpbjogJHt1c2VybmFtZX0gKCR7Y29ubklkfSlgKTtcbiAgICByZXR1cm4geyBjb2RlOiBjb25uLmxhc3RSZXBseSwgbWVzc2FnZTogY29ubi5sYXN0TWVzc2FnZSB9O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoYFtGdHBTZXJ2ZXJdIFVTRVIgY29tbWFuZCBlcnJvcmApO1xuICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yO1xuICAgIGNvbm4ubGFzdFJlcGx5ID0gUmVwbHlDb2RlLklOVEVSTkFMX0VSUjtcbiAgICBjb25uLmxhc3RNZXNzYWdlID0gYEludGVybmFsIHNlcnZlciBlcnJvcjogJHtlcnIubWVzc2FnZX1gO1xuICAgIHNvY2tldD8ud3JpdGUoYCR7Y29ubi5sYXN0UmVwbHl9ICR7Y29ubi5sYXN0TWVzc2FnZX1cXHJcXG5gKTtcbiAgICByZXR1cm4geyBjb2RlOiBjb25uLmxhc3RSZXBseSwgbWVzc2FnZTogY29ubi5sYXN0TWVzc2FnZSB9O1xuICB9XG59XG4iXX0=
|
package/src/connection.js
CHANGED
|
@@ -61,7 +61,7 @@ class ConnectionPool {
|
|
|
61
61
|
lastMessage: '',
|
|
62
62
|
};
|
|
63
63
|
this.connections.set(connId, connection);
|
|
64
|
-
console.log(`[ConnectionPool] FTP
|
|
64
|
+
console.log(`[ConnectionPool] FTP connection created: ${connId}`);
|
|
65
65
|
return connection;
|
|
66
66
|
}
|
|
67
67
|
getFtpConnection(connId) {
|
|
@@ -69,7 +69,7 @@ class ConnectionPool {
|
|
|
69
69
|
}
|
|
70
70
|
removeFtpConnection(connId) {
|
|
71
71
|
this.connections.delete(connId);
|
|
72
|
-
console.log(`[ConnectionPool] FTP
|
|
72
|
+
console.log(`[ConnectionPool] FTP connection deleted: ${connId}`);
|
|
73
73
|
}
|
|
74
74
|
getActiveConnections() {
|
|
75
75
|
return this.connections.size;
|
|
@@ -99,12 +99,12 @@ class ConnectionPool {
|
|
|
99
99
|
if (dataConn) {
|
|
100
100
|
dataConn.socket.end();
|
|
101
101
|
this.dataConnections.delete(connId);
|
|
102
|
-
console.log(`[ConnectionPool] Data connection
|
|
102
|
+
console.log(`[ConnectionPool] Data connection closed: ${connId}`);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
checkDataConnectionLimit() {
|
|
106
106
|
if (this.dataConnections.size >= this.config.maxDataConnections) {
|
|
107
|
-
console.log(`[ConnectionPool]
|
|
107
|
+
console.log(`[ConnectionPool] Data connection limit exceeded: ${this.dataConnections.size}/${this.config.maxDataConnections}`);
|
|
108
108
|
return false;
|
|
109
109
|
}
|
|
110
110
|
return true;
|
|
@@ -117,7 +117,7 @@ class ConnectionPool {
|
|
|
117
117
|
};
|
|
118
118
|
}
|
|
119
119
|
clearAll() {
|
|
120
|
-
console.log('[ConnectionPool]
|
|
120
|
+
console.log('[ConnectionPool] Cleaning all connections...');
|
|
121
121
|
this.connections.forEach((conn, connId) => {
|
|
122
122
|
conn.socket.end();
|
|
123
123
|
});
|
|
@@ -130,4 +130,4 @@ class ConnectionPool {
|
|
|
130
130
|
}
|
|
131
131
|
exports.ConnectionPool = ConnectionPool;
|
|
132
132
|
exports.connectionPool = new ConnectionPool();
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE1BQVksR0FBRyxnQ0FBWTtBQU8zQjtJQVNFLFlBQVksTUFBTSxHQUlkLEVBQUU7UUFaRSxnQkFBVyxHQUErQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3BELG9CQUFlLEdBQWdDLElBQUksR0FBRyxFQUFFLENBQUM7UUFZL0QsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLGNBQWMsRUFBRSxNQUFNLENBQUMsY0FBYyxJQUFJLEdBQUc7WUFDNUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixJQUFJLEVBQUU7WUFDbkQsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRTtTQUNoQyxDQUFDO1FBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sQ0FBQyxHQUFHLENBQUMsMENBQTBDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFLTSxtQkFBbUIsQ0FDeEIsTUFBa0IsRUFDbEIsTUFBYyxFQUNkLElBQW1CLEVBQ25CLE9BQWU7UUFFZixNQUFNLFVBQVUsR0FBa0I7WUFDaEMsTUFBTTtZQUNOLElBQUk7WUFDSixJQUFJLEVBQUUsSUFBSTtZQUNWLE9BQU87WUFDUCxVQUFVLEVBQUUsT0FBTztZQUNuQixXQUFXLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFlBQVksRUFBRSxDQUFDO1lBQ2YsU0FBUyxFQUFFLENBQUM7WUFDWixXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFF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QUcsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ2hELFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7Q0FDRjs7QUFHWSxRQUFBLGNBQWMsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbmV0IGZyb20gJ25ldCc7XG5pbXBvcnQgeyBGdHBDb25uZWN0aW9uLCBEYXRhQ29ubmVjdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVXNlck1hbmFnZXIgfSBmcm9tICcuL3VzZXJNYW5hZ2VyJztcblxuLyoqXG4gKiBDb25uZWN0aW9uUG9vbCAtIEJhxJ9sYW50xLEgaGF2dXp1IHnDtm5ldGltaVxuICovXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvblBvb2wge1xuICBwcml2YXRlIGNvbm5lY3Rpb25zOiBNYXA8c3RyaW5nLCBGdHBDb25uZWN0aW9uPiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBkYXRhQ29ubmVjdGlvbnM6IE1hcDxzdHJpbmcsIERhdGFDb25uZWN0aW9uPiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBjb25maWc6IHtcbiAgICBtYXhDb25uZWN0aW9uczogbnVtYmVyO1xuICAgIG1heERhdGFDb25uZWN0aW9uczogbnVtYmVyO1xuICAgIGRhdGFQb3J0OiBudW1iZXI7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiB7XG4gICAgbWF4Q29ubmVjdGlvbnM/OiBudW1iZXI7XG4gICAgbWF4RGF0YUNvbm5lY3Rpb25zPzogbnVtYmVyO1xuICAgIGRhdGFQb3J0PzogbnVtYmVyO1xuICB9ID0ge30pIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIG1heENvbm5lY3Rpb25zOiBjb25maWcubWF4Q29ubmVjdGlvbnMgfHwgMTAwLFxuICAgICAgbWF4RGF0YUNvbm5lY3Rpb25zOiBjb25maWcubWF4RGF0YUNvbm5lY3Rpb25zIHx8IDUwLFxuICAgICAgZGF0YVBvcnQ6IGNvbmZpZy5kYXRhUG9ydCB8fCAyMCxcbiAgICB9O1xuICAgIGNvbnNvbGUubG9nKGBbQ29ubmVjdGlvblBvb2xdIE1heCBjb25uZWN0aW9uczogJHt0aGlzLmNvbmZpZy5tYXhDb25uZWN0aW9uc31gKTtcbiAgICBjb25zb2xlLmxvZyhgW0Nvbm5lY3Rpb25Qb29sXSBNYXggZGF0YSBjb25uZWN0aW9uczogJHt0aGlzLmNvbmZpZy5tYXhEYXRhQ29ubmVjdGlvbnN9YCk7XG4gIH1cblxuICAvKipcbiAgICogWWVuaSBGVFAgYmHEn2xhbnTEsXPEsSBvbHXFn3R1clxuICAgKi9cbiAgcHVibGljIGNyZWF0ZUZ0cENvbm5lY3Rpb24oXG4gICAgc29ja2V0OiBuZXQuU29ja2V0LFxuICAgIGNvbm5JZDogc3RyaW5nLFxuICAgIHVzZXI6IHN0cmluZyB8IG51bGwsXG4gICAgaG9tZURpcjogc3RyaW5nXG4gICk6IEZ0cENvbm5lY3Rpb24ge1xuICAgIGNvbnN0IGNvbm5lY3Rpb246IEZ0cENvbm5lY3Rpb24gPSB7XG4gICAgICBzb2NrZXQsXG4gICAgICB1c2VyLFxuICAgICAgcGFzczogbnVsbCxcbiAgICAgIGhvbWVEaXIsXG4gICAgICBjdXJyZW50RGlyOiBob21lRGlyLFxuICAgICAgcGVybWlzc2lvbnM6IHt9LFxuICAgICAgdHJhbnNmZXJNb2RlOiBudWxsLFxuICAgICAgdHJhbnNmZXJTaXplOiAwLFxuICAgICAgbGFzdFJlcGx5OiAwLFxuICAgICAgbGFzdE1lc3NhZ2U6ICcnLFxuICAgIH07XG5cbiAgICB0aGlzLmNvbm5lY3Rpb25zLnNldChjb25uSWQsIGNvbm5lY3Rpb24pO1xuICAgIGNvbnNvbGUubG9nKGBbQ29ubmVjdGlvblBvb2xdIEZUUCBiYcSfbGFudMSxc8SxIG9sdcWfdHVydWxkdTogJHtjb25uSWR9YCk7XG4gICAgcmV0dXJuIGNvbm5lY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogQmHEn2xhbnTEsXnEsSBhbFxuICAgKi9cbiAgcHVibGljIGdldEZ0cENvbm5lY3Rpb24oY29ubklkOiBzdHJpbmcpOiBGdHBDb25uZWN0aW9uIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdGlvbnMuZ2V0KGNvbm5JZCkgfHwgbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBCYcSfbGFudMSxecSxIHNpbFxuICAgKi9cbiAgcHVibGljIHJlbW92ZUZ0cENvbm5lY3Rpb24oY29ubklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3Rpb25zLmRlbGV0ZShjb25uSWQpO1xuICAgIGNvbnNvbGUubG9nKGBbQ29ubmVjdGlvblBvb2xdIEZUUCBiYcSfbGFudMSxc8SxIHNpbGluZGk6ICR7Y29ubklkfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFrdGlmIGJhxJ9sYW50xLEgc2F5xLFzxLFcbiAgICovXG4gIHB1YmxpYyBnZXRBY3RpdmVDb25uZWN0aW9ucygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb25zLnNpemU7XG4gIH1cblxuICAvKipcbiAgICogVMO8bSBiYcSfbGFudMSxbGFyxLEgbGlzdGVsZVxuICAgKi9cbiAgcHVibGljIGxpc3RDb25uZWN0aW9ucygpOiBNYXA8c3RyaW5nLCBGdHBDb25uZWN0aW9uPiB7XG4gICAgcmV0dXJuIG5ldyBNYXAodGhpcy5jb25uZWN0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogWWVuaSB2ZXJpIGJhxJ9sYW50xLFzxLEgb2x1xZ90dXIgKFBBU1YvUEFTU0lWRSlcbiAgICovXG4gIHB1YmxpYyBjcmVhdGVEYXRhQ29ubmVjdGlvbihcbiAgICBzb2NrZXQ6IG5ldC5Tb2NrZXQsXG4gICAgY29ubklkOiBzdHJpbmcsXG4gICAgcGFzc2l2ZTogYm9vbGVhblxuICApOiBEYXRhQ29ubmVjdGlvbiB7XG4gICAgY29uc3QgZGF0YVNvY2tldCA9IG5ldC5jcmVhdGVDb25uZWN0aW9uKHRoaXMuY29uZmlnLmRhdGFQb3J0LCAnMTI3LjAuMC4xJyk7XG4gICAgZGF0YVNvY2tldC5vbignY29ubmVjdCcsICgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKGBbQ29ubmVjdGlvblBvb2xdIERhdGEgY29ubmVjdGlvbiBjb25uZWN0ZWQ6ICR7Y29ubklkfWApO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZGF0YUNvbm5lY3Rpb246IERhdGFDb25uZWN0aW9uID0ge1xuICAgICAgc29ja2V0OiBkYXRhU29ja2V0LFxuICAgICAgcGFzc2l2ZSxcbiAgICAgIGxvY2FsUG9ydDogdGhpcy5jb25maWcuZGF0YVBvcnQsXG4gICAgICBzdGF0ZTogJ2xpc3RlbmluZycsXG4gICAgfTtcblxuICAgIHRoaXMuZGF0YUNvbm5lY3Rpb25zLnNldChjb25uSWQsIGRhdGFDb25uZWN0aW9uKTtcbiAgICByZXR1cm4gZGF0YUNvbm5lY3Rpb247XG4gIH1cblxuICAvKipcbiAgICogVmVyaSBiYcSfbGFudMSxc8SxbsSxIGFsXG4gICAqL1xuICBwdWJsaWMgZ2V0RGF0YUNvbm5lY3Rpb24oY29ubklkOiBzdHJpbmcpOiBEYXRhQ29ubmVjdGlvbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmRhdGFDb25uZWN0aW9ucy5nZXQoY29ubklkKSB8fCBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmkgYmHEn2xhbnTEsXPEsW7EsSBrYXBhdFxuICAgKi9cbiAgcHVibGljIGNsb3NlRGF0YUNvbm5lY3Rpb24oY29ubklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhQ29ubiA9IHRoaXMuZGF0YUNvbm5lY3Rpb25zLmdldChjb25uSWQpO1xuICAgIGlmIChkYXRhQ29ubikge1xuICAgICAgZGF0YUNvbm4uc29ja2V0LmVuZCgpO1xuICAgICAgdGhpcy5kYXRhQ29ubmVjdGlvbnMuZGVsZXRlKGNvbm5JZCk7XG4gICAgICBjb25zb2xlLmxvZyhgW0Nvbm5lY3Rpb25Qb29sXSBEYXRhIGNvbm5lY3Rpb24ga2FwYXTEsWxkxLE6ICR7Y29ubklkfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNYWtzaW11bSB2ZXJpIGJhxJ9sYW50xLFzxLEga29udHJvbMO8XG4gICAqL1xuICBwdWJsaWMgY2hlY2tEYXRhQ29ubmVjdGlvbkxpbWl0KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmRhdGFDb25uZWN0aW9ucy5zaXplID49IHRoaXMuY29uZmlnLm1heERhdGFDb25uZWN0aW9ucykge1xuICAgICAgY29uc29sZS5sb2coYFtDb25uZWN0aW9uUG9vbF0gVmVyaSBiYcSfbGFudMSxc8SxIGxpbWl0aSBhxZ/EsWxkxLE6ICR7dGhpcy5kYXRhQ29ubmVjdGlvbnMuc2l6ZX0vJHt0aGlzLmNvbmZpZy5tYXhEYXRhQ29ubmVjdGlvbnN9YCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEJhxJ9sYW50xLEgaXN0YXRpc3Rpa2xlcmlcbiAgICovXG4gIHB1YmxpYyBnZXRTdGF0cygpOiB7XG4gICAgZnRwQ29ubmVjdGlvbnM6IG51bWJlcjtcbiAgICBkYXRhQ29ubmVjdGlvbnM6IG51bWJlcjtcbiAgICB0b3RhbENvbm5lY3Rpb25zOiBudW1iZXI7XG4gIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBmdHBDb25uZWN0aW9uczogdGhpcy5jb25uZWN0aW9ucy5zaXplLFxuICAgICAgZGF0YUNvbm5lY3Rpb25zOiB0aGlzLmRhdGFDb25uZWN0aW9ucy5zaXplLFxuICAgICAgdG90YWxDb25uZWN0aW9uczogdGhpcy5jb25uZWN0aW9ucy5zaXplICsgdGhpcy5kYXRhQ29ubmVjdGlvbnMuc2l6ZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFTDvG0gYmHEn2xhbnTEsWxhcsSxIHRlbWl6bGVcbiAgICovXG4gIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnW0Nvbm5lY3Rpb25Qb29sXSBUw7xtIGJhxJ9sYW50xLFsYXIgdGVtaXpsZW5peW9yLi4uJyk7XG4gICAgdGhpcy5jb25uZWN0aW9ucy5mb3JFYWNoKChjb25uLCBjb25uSWQpID0+IHtcbiAgICAgIGNvbm4uc29ja2V0LmVuZCgpO1xuICAgIH0pO1xuICAgIHRoaXMuY29ubmVjdGlvbnMuY2xlYXIoKTtcbiAgICB0aGlzLmRhdGFDb25uZWN0aW9ucy5mb3JFYWNoKChkYXRhQ29ubiwgY29ubklkKSA9PiB7XG4gICAgICBkYXRhQ29ubi5zb2NrZXQuZW5kKCk7XG4gICAgfSk7XG4gICAgdGhpcy5kYXRhQ29ubmVjdGlvbnMuY2xlYXIoKTtcbiAgfVxufVxuXG4vLyBTaW5nbGV0b24gaW5zdGFuY2VcbmV4cG9ydCBjb25zdCBjb25uZWN0aW9uUG9vbCA9IG5ldyBDb25uZWN0aW9uUG9vbCgpOyJdfQ==
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE1BQVksR0FBRyxnQ0FBWTtBQU8zQjtJQVNFLFlBQVksTUFBTSxHQUlkLEVBQUU7UUFaRSxnQkFBVyxHQUErQixJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3BELG9CQUFlLEdBQWdDLElBQUksR0FBRyxFQUFFLENBQUM7UUFZL0QsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLGNBQWMsRUFBRSxNQUFNLENBQUMsY0FBYyxJQUFJLEdBQUc7WUFDNUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixJQUFJLEVBQUU7WUFDbkQsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRTtTQUNoQyxDQUFDO1FBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sQ0FBQyxHQUFHLENBQUMsMENBQTBDLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFLTSxtQkFBbUIsQ0FDeEIsTUFBa0IsRUFDbEIsTUFBYyxFQUNkLElBQW1CLEVBQ25CLE9BQWU7UUFFZixNQUFNLFVBQVUsR0FBa0I7WUFDaEMsTUFBTTtZQUNOLElBQUk7WUFDSixJQUFJLEVBQUUsSUFBSTtZQUNWLE9BQU87WUFDUCxVQUFVLEVBQUUsT0FBTztZQUNuQixXQUFXLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFlBQVksRUFBRSxDQUFDO1lBQ2YsU0FBUyxFQUFFLENBQUM7WUFDWixXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFF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QUcsQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ2hELFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7Q0FDRjs7QUFHWSxRQUFBLGNBQWMsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbmV0IGZyb20gJ25ldCc7XG5pbXBvcnQgeyBGdHBDb25uZWN0aW9uLCBEYXRhQ29ubmVjdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgVXNlck1hbmFnZXIgfSBmcm9tICcuL3VzZXJNYW5hZ2VyJztcblxuLyoqXG4gKiBDb25uZWN0aW9uUG9vbCAtIEJhxJ9sYW50xLEgaGF2dXp1IHnDtm5ldGltaVxuICovXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvblBvb2wge1xuICBwcml2YXRlIGNvbm5lY3Rpb25zOiBNYXA8c3RyaW5nLCBGdHBDb25uZWN0aW9uPiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBkYXRhQ29ubmVjdGlvbnM6IE1hcDxzdHJpbmcsIERhdGFDb25uZWN0aW9uPiA9IG5ldyBNYXAoKTtcbiAgcHJpdmF0ZSBjb25maWc6IHtcbiAgICBtYXhDb25uZWN0aW9uczogbnVtYmVyO1xuICAgIG1heERhdGFDb25uZWN0aW9uczogbnVtYmVyO1xuICAgIGRhdGFQb3J0OiBudW1iZXI7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiB7XG4gICAgbWF4Q29ubmVjdGlvbnM/OiBudW1iZXI7XG4gICAgbWF4RGF0YUNvbm5lY3Rpb25zPzogbnVtYmVyO1xuICAgIGRhdGFQb3J0PzogbnVtYmVyO1xuICB9ID0ge30pIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIG1heENvbm5lY3Rpb25zOiBjb25maWcubWF4Q29ubmVjdGlvbnMgfHwgMTAwLFxuICAgICAgbWF4RGF0YUNvbm5lY3Rpb25zOiBjb25maWcubWF4RGF0YUNvbm5lY3Rpb25zIHx8IDUwLFxuICAgICAgZGF0YVBvcnQ6IGNvbmZpZy5kYXRhUG9ydCB8fCAyMCxcbiAgICB9O1xuICAgIGNvbnNvbGUubG9nKGBbQ29ubmVjdGlvblBvb2xdIE1heCBjb25uZWN0aW9uczogJHt0aGlzLmNvbmZpZy5tYXhDb25uZWN0aW9uc31gKTtcbiAgICBjb25zb2xlLmxvZyhgW0Nvbm5lY3Rpb25Qb29sXSBNYXggZGF0YSBjb25uZWN0aW9uczogJHt0aGlzLmNvbmZpZy5tYXhEYXRhQ29ubmVjdGlvbnN9YCk7XG4gIH1cblxuICAvKipcbiAgICogWWVuaSBGVFAgYmHEn2xhbnTEsXPEsSBvbHXFn3R1clxuICAgKi9cbiAgcHVibGljIGNyZWF0ZUZ0cENvbm5lY3Rpb24oXG4gICAgc29ja2V0OiBuZXQuU29ja2V0LFxuICAgIGNvbm5JZDogc3RyaW5nLFxuICAgIHVzZXI6IHN0cmluZyB8IG51bGwsXG4gICAgaG9tZURpcjogc3RyaW5nXG4gICk6IEZ0cENvbm5lY3Rpb24ge1xuICAgIGNvbnN0IGNvbm5lY3Rpb246IEZ0cENvbm5lY3Rpb24gPSB7XG4gICAgICBzb2NrZXQsXG4gICAgICB1c2VyLFxuICAgICAgcGFzczogbnVsbCxcbiAgICAgIGhvbWVEaXIsXG4gICAgICBjdXJyZW50RGlyOiBob21lRGlyLFxuICAgICAgcGVybWlzc2lvbnM6IHt9LFxuICAgICAgdHJhbnNmZXJNb2RlOiBudWxsLFxuICAgICAgdHJhbnNmZXJTaXplOiAwLFxuICAgICAgbGFzdFJlcGx5OiAwLFxuICAgICAgbGFzdE1lc3NhZ2U6ICcnLFxuICAgIH07XG5cbiAgICB0aGlzLmNvbm5lY3Rpb25zLnNldChjb25uSWQsIGNvbm5lY3Rpb24pO1xuICAgIGNvbnNvbGUubG9nKGBbQ29ubmVjdGlvblBvb2xdIEZUUCBjb25uZWN0aW9uIGNyZWF0ZWQ6ICR7Y29ubklkfWApO1xuICAgIHJldHVybiBjb25uZWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEJhxJ9sYW50xLF5xLEgYWxcbiAgICovXG4gIHB1YmxpYyBnZXRGdHBDb25uZWN0aW9uKGNvbm5JZDogc3RyaW5nKTogRnRwQ29ubmVjdGlvbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rpb25zLmdldChjb25uSWQpIHx8IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQmHEn2xhbnTEsXnEsSBzaWxcbiAgICovXG4gIHB1YmxpYyByZW1vdmVGdHBDb25uZWN0aW9uKGNvbm5JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0aW9ucy5kZWxldGUoY29ubklkKTtcbiAgICBjb25zb2xlLmxvZyhgW0Nvbm5lY3Rpb25Qb29sXSBGVFAgY29ubmVjdGlvbiBkZWxldGVkOiAke2Nvbm5JZH1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBa3RpZiBiYcSfbGFudMSxIHNhecSxc8SxXG4gICAqL1xuICBwdWJsaWMgZ2V0QWN0aXZlQ29ubmVjdGlvbnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0aW9ucy5zaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIFTDvG0gYmHEn2xhbnTEsWxhcsSxIGxpc3RlbGVcbiAgICovXG4gIHB1YmxpYyBsaXN0Q29ubmVjdGlvbnMoKTogTWFwPHN0cmluZywgRnRwQ29ubmVjdGlvbj4ge1xuICAgIHJldHVybiBuZXcgTWFwKHRoaXMuY29ubmVjdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFllbmkgdmVyaSBiYcSfbGFudMSxc8SxIG9sdcWfdHVyIChQQVNWL1BBU1NJVkUpXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlRGF0YUNvbm5lY3Rpb24oXG4gICAgc29ja2V0OiBuZXQuU29ja2V0LFxuICAgIGNvbm5JZDogc3RyaW5nLFxuICAgIHBhc3NpdmU6IGJvb2xlYW5cbiAgKTogRGF0YUNvbm5lY3Rpb24ge1xuICAgIGNvbnN0IGRhdGFTb2NrZXQgPSBuZXQuY3JlYXRlQ29ubmVjdGlvbih0aGlzLmNvbmZpZy5kYXRhUG9ydCwgJzEyNy4wLjAuMScpO1xuICAgIGRhdGFTb2NrZXQub24oJ2Nvbm5lY3QnLCAoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhgW0Nvbm5lY3Rpb25Qb29sXSBEYXRhIGNvbm5lY3Rpb24gY29ubmVjdGVkOiAke2Nvbm5JZH1gKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGRhdGFDb25uZWN0aW9uOiBEYXRhQ29ubmVjdGlvbiA9IHtcbiAgICAgIHNvY2tldDogZGF0YVNvY2tldCxcbiAgICAgIHBhc3NpdmUsXG4gICAgICBsb2NhbFBvcnQ6IHRoaXMuY29uZmlnLmRhdGFQb3J0LFxuICAgICAgc3RhdGU6ICdsaXN0ZW5pbmcnLFxuICAgIH07XG5cbiAgICB0aGlzLmRhdGFDb25uZWN0aW9ucy5zZXQoY29ubklkLCBkYXRhQ29ubmVjdGlvbik7XG4gICAgcmV0dXJuIGRhdGFDb25uZWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmkgYmHEn2xhbnTEsXPEsW7EsSBhbFxuICAgKi9cbiAgcHVibGljIGdldERhdGFDb25uZWN0aW9uKGNvbm5JZDogc3RyaW5nKTogRGF0YUNvbm5lY3Rpb24gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhQ29ubmVjdGlvbnMuZ2V0KGNvbm5JZCkgfHwgbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBWZXJpIGJhxJ9sYW50xLFzxLFuxLEga2FwYXRcbiAgICovXG4gIHB1YmxpYyBjbG9zZURhdGFDb25uZWN0aW9uKGNvbm5JZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZGF0YUNvbm4gPSB0aGlzLmRhdGFDb25uZWN0aW9ucy5nZXQoY29ubklkKTtcbiAgICBpZiAoZGF0YUNvbm4pIHtcbiAgICAgIGRhdGFDb25uLnNvY2tldC5lbmQoKTtcbiAgICAgIHRoaXMuZGF0YUNvbm5lY3Rpb25zLmRlbGV0ZShjb25uSWQpO1xuICAgICAgY29uc29sZS5sb2coYFtDb25uZWN0aW9uUG9vbF0gRGF0YSBjb25uZWN0aW9uIGNsb3NlZDogJHtjb25uSWR9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1ha3NpbXVtIHZlcmkgYmHEn2xhbnTEsXPEsSBrb250cm9sw7xcbiAgICovXG4gIHB1YmxpYyBjaGVja0RhdGFDb25uZWN0aW9uTGltaXQoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZGF0YUNvbm5lY3Rpb25zLnNpemUgPj0gdGhpcy5jb25maWcubWF4RGF0YUNvbm5lY3Rpb25zKSB7XG4gICAgICBjb25zb2xlLmxvZyhgW0Nvbm5lY3Rpb25Qb29sXSBEYXRhIGNvbm5lY3Rpb24gbGltaXQgZXhjZWVkZWQ6ICR7dGhpcy5kYXRhQ29ubmVjdGlvbnMuc2l6ZX0vJHt0aGlzLmNvbmZpZy5tYXhEYXRhQ29ubmVjdGlvbnN9YCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEJhxJ9sYW50xLEgaXN0YXRpc3Rpa2xlcmlcbiAgICovXG4gIHB1YmxpYyBnZXRTdGF0cygpOiB7XG4gICAgZnRwQ29ubmVjdGlvbnM6IG51bWJlcjtcbiAgICBkYXRhQ29ubmVjdGlvbnM6IG51bWJlcjtcbiAgICB0b3RhbENvbm5lY3Rpb25zOiBudW1iZXI7XG4gIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBmdHBDb25uZWN0aW9uczogdGhpcy5jb25uZWN0aW9ucy5zaXplLFxuICAgICAgZGF0YUNvbm5lY3Rpb25zOiB0aGlzLmRhdGFDb25uZWN0aW9ucy5zaXplLFxuICAgICAgdG90YWxDb25uZWN0aW9uczogdGhpcy5jb25uZWN0aW9ucy5zaXplICsgdGhpcy5kYXRhQ29ubmVjdGlvbnMuc2l6ZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFTDvG0gYmHEn2xhbnTEsWxhcsSxIHRlbWl6bGVcbiAgICovXG4gIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnW0Nvbm5lY3Rpb25Qb29sXSBDbGVhbmluZyBhbGwgY29ubmVjdGlvbnMuLi4nKTtcbiAgICB0aGlzLmNvbm5lY3Rpb25zLmZvckVhY2goKGNvbm4sIGNvbm5JZCkgPT4ge1xuICAgICAgY29ubi5zb2NrZXQuZW5kKCk7XG4gICAgfSk7XG4gICAgdGhpcy5jb25uZWN0aW9ucy5jbGVhcigpO1xuICAgIHRoaXMuZGF0YUNvbm5lY3Rpb25zLmZvckVhY2goKGRhdGFDb25uLCBjb25uSWQpID0+IHtcbiAgICAgIGRhdGFDb25uLnNvY2tldC5lbmQoKTtcbiAgICB9KTtcbiAgICB0aGlzLmRhdGFDb25uZWN0aW9ucy5jbGVhcigpO1xuICB9XG59XG5cbi8vIFNpbmdsZXRvbiBpbnN0YW5jZVxuZXhwb3J0IGNvbnN0IGNvbm5lY3Rpb25Qb29sID0gbmV3IENvbm5lY3Rpb25Qb29sKCk7Il19
|
package/src/core/DataServer.js
CHANGED
|
@@ -44,33 +44,33 @@ class DataServer {
|
|
|
44
44
|
start() {
|
|
45
45
|
try {
|
|
46
46
|
this.server = net.createServer((socket) => {
|
|
47
|
-
logger_1.Logger.info(`[DataServer] Data
|
|
47
|
+
logger_1.Logger.info(`[DataServer] Data connection established: port ${this.port}`);
|
|
48
48
|
socket.on('data', (data) => {
|
|
49
49
|
});
|
|
50
50
|
socket.on('error', (err) => {
|
|
51
|
-
logger_1.Logger.error(`[DataServer] Data
|
|
51
|
+
logger_1.Logger.error(`[DataServer] Data connection error: ${err.message}`);
|
|
52
52
|
});
|
|
53
53
|
socket.on('close', () => {
|
|
54
|
-
logger_1.Logger.info(
|
|
54
|
+
logger_1.Logger.info('[DataServer] Data connection closed');
|
|
55
55
|
});
|
|
56
56
|
});
|
|
57
57
|
this.server.listen(this.port, () => {
|
|
58
|
-
logger_1.Logger.info(`[
|
|
58
|
+
logger_1.Logger.info(`[DataServer] Data server started: port ${this.port}`);
|
|
59
59
|
});
|
|
60
60
|
this.server.on('error', (err) => {
|
|
61
|
-
logger_1.Logger.error(`[DataServer]
|
|
61
|
+
logger_1.Logger.error(`[DataServer] Server error: ${err.message}`);
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
catch (error) {
|
|
65
|
-
logger_1.Logger.error('[DataServer]
|
|
65
|
+
logger_1.Logger.error('[DataServer] Startup error:', error);
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
stop() {
|
|
69
69
|
if (this.server) {
|
|
70
70
|
this.server.close();
|
|
71
|
-
logger_1.Logger.info(
|
|
71
|
+
logger_1.Logger.info('[DataServer] Data server closed');
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
exports.DataServer = DataServer;
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNlcnZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL0RhdGFTZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsTUFBWSxHQUFHLGdDQUFZO0FBQzNCLDRDQUF5QztBQUt6QztJQUlFLFlBQVksSUFBWTtRQUhoQixXQUFNLEdBQXNCLElBQUksQ0FBQztRQUl2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUN4QyxlQUFNLENBQUMsSUFBSSxDQUFDLGtEQUFrRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDM0UsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtnQkFFbkMsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDekIsZUFBTSxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ3JFLENBQUMsQ0FBQyxDQUFDO2dCQUVILE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDdEIsZUFBTSxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ2pDLGVBQU0sQ0FBQyxJQUFJLENBQUMsMENBQTBDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQzlCLGVBQU0sQ0FBQyxLQUFLLENBQUMsOEJBQThCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixlQUFNLENBQUMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JELENBQUM7SUFDSCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEIsZUFBTSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ2pELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBuZXQgZnJvbSAnbmV0JztcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJy4uL3V0aWxzL2xvZ2dlcic7XG5cbi8qKlxuICogRGF0YSBTdW51Y3VzdSBjbGFzc1xuICovXG5leHBvcnQgY2xhc3MgRGF0YVNlcnZlciB7XG4gIHByaXZhdGUgc2VydmVyOiBuZXQuU2VydmVyIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgcG9ydDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHBvcnQ6IG51bWJlcikge1xuICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gIH1cblxuICBwdWJsaWMgc3RhcnQoKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc2VydmVyID0gbmV0LmNyZWF0ZVNlcnZlcigoc29ja2V0KSA9PiB7XG4gICAgICAgIExvZ2dlci5pbmZvKGBbRGF0YVNlcnZlcl0gRGF0YSBjb25uZWN0aW9uIGVzdGFibGlzaGVkOiBwb3J0ICR7dGhpcy5wb3J0fWApO1xuICAgICAgICBzb2NrZXQub24oJ2RhdGEnLCAoZGF0YTogQnVmZmVyKSA9PiB7XG4gICAgICAgICAgLy8gRGF0YSB0cmFuc2ZlciBpxZ9sZW1sZXJpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNvY2tldC5vbignZXJyb3InLCAoZXJyKSA9PiB7XG4gICAgICAgICAgTG9nZ2VyLmVycm9yKGBbRGF0YVNlcnZlcl0gRGF0YSBjb25uZWN0aW9uIGVycm9yOiAke2Vyci5tZXNzYWdlfWApO1xuICAgICAgICB9KTtcblxuICAgICAgICBzb2NrZXQub24oJ2Nsb3NlJywgKCkgPT4ge1xuICAgICAgICAgIExvZ2dlci5pbmZvKCdbRGF0YVNlcnZlcl0gRGF0YSBjb25uZWN0aW9uIGNsb3NlZCcpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNlcnZlci5saXN0ZW4odGhpcy5wb3J0LCAoKSA9PiB7XG4gICAgICAgIExvZ2dlci5pbmZvKGBbRGF0YVNlcnZlcl0gRGF0YSBzZXJ2ZXIgc3RhcnRlZDogcG9ydCAke3RoaXMucG9ydH1gKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnNlcnZlci5vbignZXJyb3InLCAoZXJyKSA9PiB7XG4gICAgICAgIExvZ2dlci5lcnJvcihgW0RhdGFTZXJ2ZXJdIFNlcnZlciBlcnJvcjogJHtlcnIubWVzc2FnZX1gKTtcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBMb2dnZXIuZXJyb3IoJ1tEYXRhU2VydmVyXSBTdGFydHVwIGVycm9yOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RvcCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZXJ2ZXIpIHtcbiAgICAgIHRoaXMuc2VydmVyLmNsb3NlKCk7XG4gICAgICBMb2dnZXIuaW5mbygnW0RhdGFTZXJ2ZXJdIERhdGEgc2VydmVyIGNsb3NlZCcpO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/src/core/FtpServer.d.ts
CHANGED
|
@@ -20,10 +20,13 @@ export declare class FtpServer {
|
|
|
20
20
|
private pendingRetrConnId;
|
|
21
21
|
private pendingStorFile;
|
|
22
22
|
private pendingStorConnId;
|
|
23
|
+
private dataConnectionClosedEarly;
|
|
23
24
|
private inputBuffers;
|
|
24
25
|
private commandQueues;
|
|
25
26
|
private pendingDataSocket;
|
|
26
27
|
private passiveConnId;
|
|
28
|
+
private dataWaitTimer;
|
|
29
|
+
private static readonly DATA_WAIT_TIMEOUT_MS;
|
|
27
30
|
constructor(config?: Partial<typeof DEFAULT_CONFIG>);
|
|
28
31
|
private normalizePortRange;
|
|
29
32
|
private nextPassivePort;
|
|
@@ -37,6 +40,8 @@ export declare class FtpServer {
|
|
|
37
40
|
private handlePassiveDataConnection;
|
|
38
41
|
private ensureDataConnection;
|
|
39
42
|
private tryServeData;
|
|
43
|
+
private armDataWaitTimeout;
|
|
44
|
+
private clearDataWaitTimeout;
|
|
40
45
|
private clearPendingTransfers;
|
|
41
46
|
private writeControl;
|
|
42
47
|
closeConnection(connId: string, reason?: string): void;
|