public static List<string> GetSignatureList(string PluginName, string Host, FindingType Type) { List<string> SignatureList = new List<string>(); lock (Signatures) { if (Signatures.ContainsKey(PluginName)) { if (Signatures[PluginName].ContainsKey(Host)) { if (Signatures[PluginName][Host].ContainsKey(Type.ToString())) { SignatureList.AddRange(Signatures[PluginName][Host][Type.ToString()]); } } } } return SignatureList; }
public static List <string> GetSignatureList(string PluginName, string Host, FindingType Type) { List <string> SignatureList = new List <string>(); lock (Signatures) { if (Signatures.ContainsKey(PluginName)) { if (Signatures[PluginName].ContainsKey(Host)) { if (Signatures[PluginName][Host].ContainsKey(Type.ToString())) { SignatureList.AddRange(Signatures[PluginName][Host][Type.ToString()]); } } } } return(SignatureList); }
internal static bool IsSignatureUnique(string PluginName, string Host, FindingType Type, string Signature, bool AddIfUnique) { bool IsUnique = false; if (PluginName.Length == 0) return false; lock (Signatures) { if (!Signatures.ContainsKey(PluginName)) { IsUnique = true; if (AddIfUnique) Signatures.Add(PluginName, new Dictionary<string, Dictionary<string, List<string>>>()); else return true; } if (Signature.Length == 0) { IsUnique = true; if (!AddIfUnique) return true; } if (!Signatures[PluginName].ContainsKey(Host)) { IsUnique = true; if (AddIfUnique) Signatures[PluginName].Add(Host, new Dictionary<string, List<string>>()); else return true; } if (!Signatures[PluginName][Host].ContainsKey(Type.ToString())) { IsUnique = true; if (AddIfUnique) Signatures[PluginName][Host].Add(Type.ToString(), new List<string>()); else return true; } if (IsUnique && AddIfUnique) { Signatures[PluginName][Host][Type.ToString()].Add(Signature); return true; } else if (Signatures[PluginName][Host][Type.ToString()].Contains(Signature)) { return false; } else { if (AddIfUnique) { Signatures[PluginName][Host][Type.ToString()].Add(Signature); } return true; } } }
internal static bool IsSignatureUnique(string PluginName, string Host, FindingType Type, string Signature, bool AddIfUnique) { bool IsUnique = false; if (PluginName.Length == 0) { return(false); } lock (Signatures) { if (!Signatures.ContainsKey(PluginName)) { IsUnique = true; if (AddIfUnique) { Signatures.Add(PluginName, new Dictionary <string, Dictionary <string, List <string> > >()); } else { return(true); } } if (Signature.Length == 0) { IsUnique = true; if (!AddIfUnique) { return(true); } } if (!Signatures[PluginName].ContainsKey(Host)) { IsUnique = true; if (AddIfUnique) { Signatures[PluginName].Add(Host, new Dictionary <string, List <string> >()); } else { return(true); } } if (!Signatures[PluginName][Host].ContainsKey(Type.ToString())) { IsUnique = true; if (AddIfUnique) { Signatures[PluginName][Host].Add(Type.ToString(), new List <string>()); } else { return(true); } } if (IsUnique && AddIfUnique) { Signatures[PluginName][Host][Type.ToString()].Add(Signature); return(true); } else if (Signatures[PluginName][Host][Type.ToString()].Contains(Signature)) { return(false); } else { if (AddIfUnique) { Signatures[PluginName][Host][Type.ToString()].Add(Signature); } return(true); } } }