From 01464ed3940556e8023d7f3102ad29fdbe679efa Mon Sep 17 00:00:00 2001 From: calzoneman Date: Sun, 24 Nov 2013 18:13:58 -0600 Subject: [PATCH] Fix a few minor express issues --- lib/config.js | 1 - lib/server.js | 35 ++++++++++++++++------------------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/lib/config.js b/lib/config.js index 7d07ecc3..13bdea26 100644 --- a/lib/config.js +++ b/lib/config.js @@ -31,7 +31,6 @@ var defaults = { "ip-connection-limit" : 10, "guest-login-delay" : 60, "channel-save-interval" : 5, - "trust-x-forward" : false, "enable-mail" : false, "mail-transport" : "SMTP", "mail-config" : { diff --git a/lib/server.js b/lib/server.js index 49a83428..d07b9138 100644 --- a/lib/server.js +++ b/lib/server.js @@ -73,7 +73,9 @@ var Server = function (cfg) { self.httplog = new Logger.Logger(path.join(__dirname, "../httpaccess.log")); self.express = express(); - self.express.use(express.bodyParser()); + self.express.use(express.urlencoded()); + self.express.use(express.json()); + self.express.use(express.cookieParser()); // channel route self.express.get("/r/:channel(*)", function (req, res, next) { @@ -178,24 +180,22 @@ var Server = function (cfg) { }; Server.prototype.getHTTPIP = function (req) { - var raw = req.connection.remoteAddress; - var forward = req.header("x-forwarded-for"); - if((this.cfg["trust-x-forward"] || raw === "127.0.0.1") && forward) { - var ip = forward.split(",")[0]; - Logger.syslog.log("REVPROXY " + raw + " => " + ip); - return ip; + var ip = req.ip; + if (ip === "127.0.0.1" || ip === "::1") { + var fwd = req.header("x-forwarded-for"); + if (fwd && typeof fwd === "string") { + return fwd; + } } - return raw; + return ip; }; Server.prototype.getSocketIP = function (socket) { var raw = socket.handshake.address.address; - if(this.cfg["trust-x-forward"] || raw === "127.0.0.1") { - if(typeof socket.handshake.headers["x-forwarded-for"] == "string") { - var ip = socket.handshake.headers["x-forwarded-for"] - .split(",")[0]; - Logger.syslog.log("REVPROXY " + raw + " => " + ip); - return ip; + if (raw === "127.0.0.1" || raw === "::1") { + var fwd = socket.handshake.headers["x-forwarded-for"]; + if (fwd && typeof fwd === "string") { + return fwd; } } return raw; @@ -247,16 +247,13 @@ Server.prototype.logHTTP = function (req, status) { if (status === undefined) status = 200; - var ip = req.connection.remoteAddress; - var ip2 = req.header("x-forwarded-for") || - req.header("cf-connecting-ip"); - var ipstr = !ip2 ? ip : ip + " (X-Forwarded-For " + ip2 + ")"; + var ip = this.getHTTPIP(req); var url = req.url; // Remove query if(url.indexOf("?") != -1) url = url.substring(0, url.lastIndexOf("?")); this.httplog.log([ - ipstr, + ip, req.method, url, status,