netplaySniff – Diff between revs 12 and 13
?pathlinks?
Rev 12 | Rev 13 | |||
---|---|---|---|---|
Line 153... | Line 153... | |||
153 | if (error) { |
153 | if (error) { |
|
154 | logger.error(`failed to open database: ${config.db.file}`) |
154 | logger.error(`failed to open database: ${config.db.file}`) |
|
155 | return |
155 | return |
|
156 | } |
156 | } |
|
Line 157... | Line 157... | |||
157 | |
157 | |
|
158 | db.run(`CREATE TABLE IF NOT EXISTS "players" ("hash" TEXT(40) NOT NULL PRIMARY KEY, "nick" TEXT(15) NOT NULL, "ip" TEXT NOT NULL)`, (error, result) => { |
158 | db.run(`CREATE TABLE IF NOT EXISTS "players" ("hash" TEXT(40) NOT NULL PRIMARY KEY, "nick" TEXT(15) NOT NULL, "ip" TEXT NOT NULL, "date" TEXT NOT NULL)`, (error, result) => { |
|
159 | if (error) { |
159 | if (error) { |
|
160 | logger.error(`could not create database table: ${error}`); |
160 | logger.error(`could not create database table: ${error}`); |
|
161 | return |
161 | return |
|
162 | } |
162 | } |
|
163 | db.run(`REPLACE INTO "players" ("hash", "nick", "ip") VALUES ($hash, $nick, $ip)`, { $hash: netplay.hash, $nick: netplay.nick, $ip: netplay.src }, (error) => { |
163 | db.run(`REPLACE INTO "players" ("hash", "nick", "ip", "date") VALUES ($hash, $nick, $ip, DateTime('now'))`, { $hash: netplay.hash, $nick: netplay.nick, $ip: netplay.src }, (error) => { |
|
164 | if (error) { |
164 | if (error) { |
|
165 | logger.error(`could not insert player and IP into database: ${error}`) |
165 | logger.error(`could not insert player and IP into database: ${error}`) |
|
166 | return |
166 | return |
|
Line 179... | Line 179... | |||
179 | |
179 | |
|
180 | // ban by nick. |
180 | // ban by nick. |
|
181 | let nickBanSet = new Set(config.bans.nicknames) |
181 | let nickBanSet = new Set(config.bans.nicknames) |
|
182 | if (nickBanSet.has(netplay.nick)) { |
182 | if (nickBanSet.has(netplay.nick)) { |
|
183 | logger.info(`nick found to be banned: ${netplay.nick}`) |
183 | logger.info(`nick found to be banned: ${netplay.nick}`) |
|
184 | exec(`iptables -t mangle -A PREROUTING -p tcp --src ${netplay.src} --dport ${config.netplay.port} -j DROP`, (error, stdout, stderr) => { |
184 | exec(`/usr/sbin/iptables -t mangle -A PREROUTING -p tcp --src ${netplay.src} --dport ${config.netplay.port} -j DROP`, (error, stdout, stderr) => { |
|
185 | if (error) { |
185 | if (error) { |
|
186 | logger.error(`Error returned while banning connecting client ${error.message}`) |
186 | logger.error(`Error returned while banning connecting client ${error.message}`) |
|
187 | return |
187 | return |
|
188 | } |
188 | } |