From 2eeabb4c2f94b4071401b7306af35fbf273b564f Mon Sep 17 00:00:00 2001 From: Lycaonj Date: Sat, 30 Jul 2011 22:34:04 -0500 Subject: [PATCH 1/2] Added null reference check when unbanning a player name and EnableBanOnUsernames is set to false. Few grammar related fixes related to unbanning. --- TShockAPI/Commands.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 6daaf9c0..714e06b0 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -1,4 +1,4 @@ -/* +/* TShock, a server mod for Terraria Copyright (C) 2011 The TShock Team @@ -704,15 +704,18 @@ namespace TShockAPI if (TShock.Bans.RemoveBan(ban.IP)) args.Player.SendMessage(string.Format("Unbanned {0} ({1})!", ban.Name, ban.IP), Color.Red); else - args.Player.SendMessage(string.Format("Failed to Unbanned {0} ({1})!", ban.Name, ban.IP), Color.Red); + args.Player.SendMessage(string.Format("Failed to unban {0} ({1})!", ban.Name, ban.IP), Color.Red); } else if (!TShock.Config.EnableBanOnUsernames) { ban = TShock.Bans.GetBanByIp(plStr); - if (TShock.Bans.RemoveBan(ban.IP)) + + if (ban == null) + args.Player.SendMessage(string.Format("Failed to unban {0}, not found.", args.Parameters[0]), Color.Red); + else if (TShock.Bans.RemoveBan(ban.IP)) args.Player.SendMessage(string.Format("Unbanned {0} ({1})!", ban.Name, ban.IP), Color.Red); else - args.Player.SendMessage(string.Format("Failed to Unbanned {0} ({1})!", ban.Name, ban.IP), Color.Red); + args.Player.SendMessage(string.Format("Failed to unban {0} ({1})!", ban.Name, ban.IP), Color.Red); } else { @@ -781,7 +784,7 @@ namespace TShockAPI if (TShock.Bans.RemoveBan(ban.IP)) args.Player.SendMessage(string.Format("Unbanned {0} ({1})!", ban.Name, ban.IP), Color.Red); else - args.Player.SendMessage(string.Format("Failed to Unbanned {0} ({1})!", ban.Name, ban.IP), Color.Red); + args.Player.SendMessage(string.Format("Failed to unban {0} ({1})!", ban.Name, ban.IP), Color.Red); } else { From 19df6bb009b3859f8a0bf225b29d46474ea2c14c Mon Sep 17 00:00:00 2001 From: Lycaonj Date: Sat, 30 Jul 2011 22:35:36 -0500 Subject: [PATCH 2/2] Fixed incorrect parameter name in the Unban method (from @ip to @0) which was causing ban removals to fail. --- TShockAPI/DB/BanManager.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TShockAPI/DB/BanManager.cs b/TShockAPI/DB/BanManager.cs index f4d0fa86..8e8b2227 100644 --- a/TShockAPI/DB/BanManager.cs +++ b/TShockAPI/DB/BanManager.cs @@ -1,4 +1,4 @@ -/* +/* TShock, a server mod for Terraria Copyright (C) 2011 The TShock Team @@ -125,7 +125,7 @@ namespace TShockAPI.DB { try { - return database.Query("DELETE FROM Bans WHERE IP=@ip", ip) != 0; + return database.Query("DELETE FROM Bans WHERE IP=@0", ip) != 0; } catch (Exception ex) {