From 430ae316135847599b892e65a02b51489c34e88f Mon Sep 17 00:00:00 2001 From: JustArchi Date: Fri, 1 Feb 2019 22:41:25 +0100 Subject: [PATCH] Implement more strict steamID checking --- ArchiSteamFarm/BotConfig.cs | 10 ++++++++-- ArchiSteamFarm/GlobalConfig.cs | 4 ++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ArchiSteamFarm/BotConfig.cs b/ArchiSteamFarm/BotConfig.cs index 6cb69e644..b69f9c3ff 100644 --- a/ArchiSteamFarm/BotConfig.cs +++ b/ArchiSteamFarm/BotConfig.cs @@ -293,8 +293,14 @@ namespace ArchiSteamFarm { return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(SteamParentalCode), SteamParentalCode)); } - foreach (EPermission permission in SteamUserPermissions.Values.Where(permission => !Enum.IsDefined(typeof(EPermission), permission))) { - return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(SteamUserPermissions), permission)); + foreach ((ulong steamID, EPermission permission) in SteamUserPermissions) { + if ((steamID == 0) || !new SteamID(steamID).IsIndividualAccount) { + return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(SteamUserPermissions), steamID)); + } + + if (!Enum.IsDefined(typeof(EPermission), permission)) { + return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(SteamUserPermissions), permission)); + } } return TradingPreferences <= ETradingPreferences.All ? (true, null) : (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(TradingPreferences), TradingPreferences)); diff --git a/ArchiSteamFarm/GlobalConfig.cs b/ArchiSteamFarm/GlobalConfig.cs index cdb2a9550..34ac83e69 100644 --- a/ArchiSteamFarm/GlobalConfig.cs +++ b/ArchiSteamFarm/GlobalConfig.cs @@ -257,6 +257,10 @@ namespace ArchiSteamFarm { return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(SteamMessagePrefix), SteamMessagePrefix)); } + if ((SteamOwnerID != 0) && !new SteamID(SteamOwnerID).IsIndividualAccount) { + return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(SteamOwnerID), SteamOwnerID)); + } + if ((SteamProtocols <= 0) || (SteamProtocols > ProtocolTypes.All)) { return (false, string.Format(Strings.ErrorConfigPropertyInvalid, nameof(SteamProtocols), SteamProtocols)); }