netplaySniff – Diff between revs 12 and 13

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
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 }