From 7530285740c2db1bc4457859b0d5f2436e0ed113 Mon Sep 17 00:00:00 2001 From: linuxdaemon Date: Fri, 21 Dec 2018 12:37:22 -0600 Subject: Only parse valid durations, don't treat invalid multipliers as seconds (#1538) --- include/inspircd.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include') diff --git a/include/inspircd.h b/include/inspircd.h index a563edc7f..8ca2314eb 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -502,6 +502,14 @@ class CoreExport InspIRCd */ static unsigned long Duration(const std::string& str); + /** Calculate a duration in seconds from a string in the form 1y2w3d4h6m5s + * @param str A string containing a time in the form 1y2w3d4h6m5s + * (one year, two weeks, three days, four hours, six minutes and five seconds) + * @param duration The location to place the parsed duration valur + * @return Whether the duration was a valid format or not + */ + static bool Duration(const std::string& str, unsigned long& duration); + /** Determines whether a string contains a valid duration. * @param str A string containing a time in the form 1y2w3d4h6m5s * @return True if the string is a valid duration; otherwise, false. -- cgit v1.2.3