diff --git a/core/door.js b/core/door.js index 88f4ec46..dd01c0ec 100644 --- a/core/door.js +++ b/core/door.js @@ -5,7 +5,7 @@ var spawn = require('child_process').spawn; var events = require('events'); var _ = require('lodash'); -var pty = require('pty.js'); +var pty = require('ptyw.js'); exports.Door = Door; @@ -47,6 +47,7 @@ Door.prototype.run = function() { // :TODO: do this with pluggable pipe/filter classes + // :TODO: This causes an error to be thrown when e.g. 'cp437' is used due to Node buffer changes door.setEncoding(this.exeInfo.encoding); door.on('data', function doorData(data) { diff --git a/core/dropfile.js b/core/dropfile.js index 7eed7daa..52cfc1f9 100644 --- a/core/dropfile.js +++ b/core/dropfile.js @@ -8,6 +8,7 @@ var paths = require('path'); var _ = require('lodash'); var async = require('async'); var moment = require('moment'); +var iconv = require('iconv-lite'); exports.DropFile = DropFile; @@ -84,7 +85,7 @@ function DropFile(client, fileType) { // :TODO: fix time remaining // :TODO: fix default protocol -- user prop: transfer_protocol - return new Buffer( [ + return iconv.encode( [ 'COM1:', // "Comm Port - COM0: = LOCAL MODE" '57600', // "Baud Rate - 300 to 38400" (Note: set as 57600 instead!) '8', // "Parity - 7 or 8" @@ -158,7 +159,7 @@ function DropFile(client, fileType) { var un = /[^\s]*/.exec(self.client.user.username)[0]; var secLevel = self.client.user.getLegacySecurityLevel().toString(); - return new Buffer( [ + return iconv.encode( [ Config.general.boardName, // "The name of the system." opUn, // "The sysop's name up to the first space." opUn, // "The sysop's name following the first space." diff --git a/core/menu_stack.js b/core/menu_stack.js index dbf3c8d6..eebfbaec 100644 --- a/core/menu_stack.js +++ b/core/menu_stack.js @@ -107,7 +107,7 @@ MenuStack.prototype.goto = function(name, options, cb) { loadMenu(loadOpts, function menuLoaded(err, modInst) { if(err) { - var errCb = cb || self.defaultHandlerMissingMod(); + var errCb = cb || currentModuleInfo.instance.defaultHandlerMissingMod(); errCb(err); } else { // :TODO: Move this log to caller diff --git a/docs/index.md b/docs/index.md index 57ede2ab..e77366fb 100644 --- a/docs/index.md +++ b/docs/index.md @@ -14,7 +14,12 @@ git clone https://github.com/NuSkooler/enigma-bbs.git npm install ``` -3\. Generate a SSH Private Key +**Note for Windows users**:
+Some dependencies require compilation. You will need at least the following installed for `npm install` to succeed: +* A recent copy of Visual Studio (Express editions OK) +* Python 2.7.x + +3\. Generate a SSH Private Key
Note that you can skip this step and disable the SSH server in your `config.hjson` if desired. ```bash diff --git a/package.json b/package.json index 64b75705..f02cc5c1 100644 --- a/package.json +++ b/package.json @@ -23,9 +23,9 @@ "lodash": "^3.10.1", "mkdirp": "0.5.x", "moment": "^2.10.6", - "node-uuid": "1.4.x", - "pty.js": "0.3.x", - "sqlite3": "3.1.x", + "node-uuid": "^1.4.7", + "ptyw.js": "^0.3.4", + "sqlite3": "^3.1.1", "ssh2": "^0.4.12", "string-format": "davidchambers/string-format#mini-language" },