mirror of
https://github.com/NuSkooler/enigma-bbs.git
synced 2025-07-23 19:20:41 +02:00
* Add FileBaseFilters
* Add HTTP(S) file web server with temp URLs * Get temp web d/l from file list * Add File area filter editor (all file area stuff will be rename to file "base" later) * Concept of "listening servers" vs "login servers" * Ability to get servers by their package name * New MCI: %FN: File Base active filter name * Some ES6 updates * VC resetInitialFocus() to set focus to explicit/detected initial focus field * Limit what is dumped out when logging form data
This commit is contained in:
parent
712cf512f0
commit
a7c0f2b7b0
22 changed files with 1233 additions and 286 deletions
|
@ -2,10 +2,10 @@
|
|||
'use strict';
|
||||
|
||||
// ENiGMA½
|
||||
const baseClient = require('../../client.js');
|
||||
const Log = require('../../logger.js').log;
|
||||
const ServerModule = require('../../server_module.js').ServerModule;
|
||||
const Config = require('../../config.js').config;
|
||||
const baseClient = require('../../client.js');
|
||||
const Log = require('../../logger.js').log;
|
||||
const LoginServerModule = require('../../login_server_module.js');
|
||||
const Config = require('../../config.js').config;
|
||||
|
||||
// deps
|
||||
const net = require('net');
|
||||
|
@ -16,16 +16,14 @@ const util = require('util');
|
|||
|
||||
//var debug = require('debug')('telnet');
|
||||
|
||||
exports.moduleInfo = {
|
||||
const ModuleInfo = exports.moduleInfo = {
|
||||
name : 'Telnet',
|
||||
desc : 'Telnet Server',
|
||||
author : 'NuSkooler',
|
||||
isSecure : false,
|
||||
packageName : 'codes.l33t.enigma.telnet.server',
|
||||
};
|
||||
|
||||
exports.getModule = TelnetServerModule;
|
||||
|
||||
|
||||
//
|
||||
// Telnet Protocol Resources
|
||||
// * http://pcmicro.com/netfoss/telnet.html
|
||||
|
@ -767,22 +765,34 @@ Object.keys(OPTIONS).forEach(function(name) {
|
|||
});
|
||||
});
|
||||
|
||||
function TelnetServerModule() {
|
||||
ServerModule.call(this);
|
||||
}
|
||||
exports.getModule = class TelnetServerModule extends LoginServerModule {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
|
||||
util.inherits(TelnetServerModule, ServerModule);
|
||||
createServer() {
|
||||
this.server = net.createServer( sock => {
|
||||
const client = new TelnetClient(sock, sock);
|
||||
|
||||
TelnetServerModule.prototype.createServer = function() {
|
||||
TelnetServerModule.super_.prototype.createServer.call(this);
|
||||
client.banner();
|
||||
|
||||
const server = net.createServer( (sock) => {
|
||||
const client = new TelnetClient(sock, sock);
|
||||
|
||||
client.banner();
|
||||
this.handleNewClient(client, sock, ModuleInfo);
|
||||
});
|
||||
|
||||
server.emit('client', client, sock);
|
||||
});
|
||||
this.server.on('error', err => {
|
||||
Log.info( { error : err.message }, 'Telnet server error');
|
||||
});
|
||||
}
|
||||
|
||||
return server;
|
||||
listen() {
|
||||
const port = parseInt(Config.loginServers.telnet.port);
|
||||
if(isNaN(port)) {
|
||||
Log.error( { server : ModuleInfo.name, port : Config.loginServers.telnet.port }, 'Cannot load server (invalid port)' );
|
||||
return false;
|
||||
}
|
||||
|
||||
this.server.listen(port);
|
||||
Log.info( { server : ModuleInfo.name, port : port }, 'Listening for connections' );
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue