*/
TimerManager Timers;
- /** X-Line manager. Handles G/K/Q/E line setting, removal and matching
+ /** X-line manager. Handles G/K/Q/E-line setting, removal and matching
*/
XLineManager* XLines;
*/
std::vector<ListenSocket*> ports;
- /** Set to the current signal recieved
+ /** Set to the current signal received
*/
static sig_atomic_t s_signal;
static void DefaultGenRandom(char* output, size_t max);
/** Bind to a specific port from a config tag.
- * @param Tag the tag that contains bind information.
+ * @param tag the tag that contains bind information.
* @param sa The endpoint to listen on.
- * @params old_ports Previously listening ports that may be on the same endpoint.
+ * @param old_ports Previously listening ports that may be on the same endpoint.
*/
bool BindPort(ConfigTag* tag, const irc::sockets::sockaddrs& sa, std::vector<ListenSocket*>& old_ports);
static bool IsSID(const std::string& sid);
/** Handles incoming signals after being set
- * @param signal the signal recieved
+ * @param signal the signal received
*/
void SignalHandler(int signal);
- /** Sets the signal recieved
- * @param signal the signal recieved
+ /** Sets the signal received
+ * @param signal the signal received
*/
static void SetSignal(int signal);
*/
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.
+ */
+ static bool IsValidDuration(const std::string& str);
+
+ /** Return a duration in seconds as a human-readable string.
+ * @param duration The duration in seconds to convert to a human-readable string.
+ * @return A string representing the given duration.
+ */
+ static std::string DurationString(time_t duration);
+
/** Attempt to compare a password to a string from the config file.
* This will be passed to handling modules which will compare the data
* against possible hashed equivalents in the input string.