diff --git a/LibreMetaverse/Login.cs b/LibreMetaverse/Login.cs index a54d6769..9e5b05e2 100644 --- a/LibreMetaverse/Login.cs +++ b/LibreMetaverse/Login.cs @@ -1190,8 +1190,8 @@ namespace OpenMetaverse private readonly Dictionary CallbackOptions = new Dictionary(); /// A list of packets obtained during the login process which - /// networkmanager will log but not process - private readonly List UDPBlacklist = new List(); + /// NetworkManager will log but not process + private readonly List UDPBlacklist = new List(); #endregion #region Public Methods @@ -1764,7 +1764,17 @@ namespace OpenMetaverse * for exclusion from packet processing */ if (reply.UDPBlacklist != null) { - UDPBlacklist.AddRange(reply.UDPBlacklist.Split(',')); + foreach (var entry in reply.UDPBlacklist.Split(',')) + { + if (Enum.TryParse(entry, true, out var result)) + { + UDPBlacklist.Add(result); + } + else + { + Logger.Log($"Could not parse {entry} from UDP Blacklist", Helpers.LogLevel.Warning); + } + } } // Misc: diff --git a/LibreMetaverse/NetworkManager.cs b/LibreMetaverse/NetworkManager.cs index 9652d0ff..d94b10da 100644 --- a/LibreMetaverse/NetworkManager.cs +++ b/LibreMetaverse/NetworkManager.cs @@ -1023,7 +1023,7 @@ namespace OpenMetaverse if (packet == null) continue; // Skip blacklisted packets - if (UDPBlacklist.Contains(packet.Type.ToString())) + if (UDPBlacklist.Contains(packet.Type)) { Logger.Log($"Discarding Blacklisted packet {packet.Type} from {simulator.IPEndPoint}", Helpers.LogLevel.Warning);