diff --git a/src/user.js b/src/user.js index e38d5648..f1ffb91f 100644 --- a/src/user.js +++ b/src/user.js @@ -450,15 +450,15 @@ User.prototype.refreshAccount = function (cb) { }; User.prototype.getFirstSeenTime = function getFirstSeenTime() { - if (this.registrationTime && this.socket.ipReputation && this.socket.ipReputation.first_seen) { - return Math.min(this.registrationTime.getTime(), this.socket.ipReputation.first_seen.getTime()); + if (this.registrationTime && this.socket.ipSessionFirstSeen) { + return Math.min(this.registrationTime.getTime(), this.socket.ipSessionFirstSeen); } else if (this.registrationTime) { return this.registrationTime.getTime(); - } else if (this.socket.ipReputation && this.socket.ipReputation.first_seen) { - return this.socket.ipReputation.first_seen.getTime(); + } else if (this.socket.ipSessionFirstSeen) { + return this.socket.ipSessionFirstSeen; } else { Logger.errlog.log(`User "${this.getName()}" (IP: ${this.realip}) has neither ` + - "an IP reputation nor a registered account."); + "an IP sesion first seen time nor a registered account."); return Date.now(); } }; diff --git a/src/web/middleware/ipsessioncookie.js b/src/web/middleware/ipsessioncookie.js index e74b1f55..4bef5c0f 100644 --- a/src/web/middleware/ipsessioncookie.js +++ b/src/web/middleware/ipsessioncookie.js @@ -4,6 +4,7 @@ import crypto from 'crypto'; const SALT_PATH = path.resolve(__dirname, '..', '..', '..', 'state', 'ipsessionsalt.json'); +const NO_EXPIRATION = new Date('Fri, 31 Dec 9999 23:59:59 GMT'); var SALT; try { SALT = require(SALT_PATH); @@ -67,7 +68,8 @@ export function ipSessionCookieMiddleware(req, res, next) { if (!hasSession) { res.cookie('ip-session', createIPSessionCookie(req.realIP, firstSeen), { signed: true, - httpOnly: true + httpOnly: true, + expires: NO_EXPIRATION }); }