aboutsummaryrefslogtreecommitdiffstats
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/Main.hx13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/server/Main.hx b/src/server/Main.hx
index cb171ac..b9e9325 100644
--- a/src/server/Main.hx
+++ b/src/server/Main.hx
@@ -299,11 +299,10 @@ class Main {
function clientIp(req:IncomingMessage):String {
// Heroku uses internal proxy, so header cannot be spoofed
- if (isHeroku) {
- var forwarded:String = req.headers["x-forwarded-for"];
- forwarded = forwarded.split(",")[0].trim();
+ if (config.allowProxyIps || isHeroku) {
+ final forwarded:String = req.headers["x-forwarded-for"];
if (forwarded == null || forwarded.length == 0) return req.socket.remoteAddress;
- return forwarded;
+ return forwarded.split(",")[0].trim();
}
return req.socket.remoteAddress;
}
@@ -360,7 +359,7 @@ class Main {
final ip = clientIp(req);
final id = freeIds.length > 0 ? freeIds.shift() : clients.length;
final name = 'Guest ${id + 1}';
- trace('$name connected ($ip)');
+ trace(Date.now().toString(), '$name connected ($ip)');
final isAdmin = config.localAdmins && req.socket.localAddress == ip;
final client = new Client(ws, req, id, name, 0);
client.isAdmin = isAdmin;
@@ -435,7 +434,7 @@ class Main {
case Disconnected:
if (!internal) return;
- trace('Client ${client.name} disconnected');
+ trace(Date.now().toString(), 'Client ${client.name} disconnected');
Utils.sortedPush(freeIds, client.id);
clients.remove(client);
sendClientList();
@@ -522,6 +521,7 @@ class Main {
return;
}
}
+ trace(Date.now().toString(), 'Client ${client.name} logged as $name');
client.name = name;
client.isUser = true;
checkBan(client);
@@ -542,6 +542,7 @@ class Main {
final id = clients.indexOf(client) + 1;
client.name = 'Guest $id';
client.isUser = false;
+ trace(Date.now().toString(), 'Client $oldName logout to ${client.name}');
send(client, {
type: data.type,
logout: {
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage