From 31f94efdd8454cfb12e689387973e47d9e1690f9 Mon Sep 17 00:00:00 2001 From: Bryan Ashby Date: Thu, 4 Feb 2021 19:27:57 -0700 Subject: [PATCH] Better handling of bots hitting bad Gopher selectors --- core/servers/content/gopher.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/core/servers/content/gopher.js b/core/servers/content/gopher.js index 442ecdcb..95c0eef1 100644 --- a/core/servers/content/gopher.js +++ b/core/servers/content/gopher.js @@ -27,7 +27,6 @@ const _ = require('lodash'); const fs = require('graceful-fs'); const paths = require('path'); const moment = require('moment'); -const async = require('async'); const ModuleInfo = exports.moduleInfo = { name : 'Gopher', @@ -89,7 +88,15 @@ exports.getModule = class GopherModule extends ServerModule { socket.setEncoding('ascii'); socket.on('data', data => { - this.routeRequest(data, socket); + // sanitize a bit - bots like to inject garbage + data = data.replace(/[^ -~]/g, ''); + if (data) { + this.routeRequest(data, socket); + } else { + this.notFoundGenerator('**invalid selector**', res => { + return socket.end(`${res}`); + }); + } }); socket.on('error', err => {