diff --git a/channel.js b/channel.js index 623547c4..f243f8bc 100644 --- a/channel.js +++ b/channel.js @@ -218,7 +218,12 @@ Channel.prototype.banIP = function(actor, receiver) { return false; this.ipbans[receiver.ip] = [receiver.name, actor.name]; - receiver.socket.disconnect(true); + try { + receiver.socket.disconnect(true); + } + catch(e) { + // Socket already disconnected + } this.broadcastBanlist(); this.logger.log(receiver.ip + " (" + receiver.name + ") was banned by " + actor.name); diff --git a/chatcommand.js b/chatcommand.js index ae2b1981..a7863d79 100644 --- a/chatcommand.js +++ b/chatcommand.js @@ -84,6 +84,7 @@ function handleBan(chan, user, args) { args[0] = ""; var reason = args.join(" "); chan.kick(kickee, "(banned) " + reason); + chan.banIP(user, kickee); } } } diff --git a/database.js b/database.js index 9e962a5f..fcf4a199 100644 --- a/database.js +++ b/database.js @@ -284,7 +284,7 @@ exports.removeChannelBan = function(channame, ip) { return false; } var query = "DELETE FROM chan_{1}_bans WHERE `ip` = '{2}'" - .replace("{1}", sqlEscale(channame)) + .replace("{1}", sqlEscape(channame)) .replace("{2}", sqlEscape(ip)); results = db.querySync(query); db.closeSync(); diff --git a/package.json b/package.json index f61ac841..53a05f46 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "author": "Calvin Montgomery", "name": "CyTube", "description": "Online media synchronizer and chat", - "version": "1.3.4", + "version": "1.3.5", "repository": { "url": "http://github.com/calzoneman/sync" }, diff --git a/server.js b/server.js index c18fa96c..f0eeeb5c 100644 --- a/server.js +++ b/server.js @@ -9,7 +9,7 @@ The above copyright notice and this permission notice shall be included in all c THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -const VERSION = "1.3.4"; +const VERSION = "1.3.5"; var fs = require("fs"); var Logger = require("./logger.js");