]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/inspircd.h
Remove typedef UserMembIter, use Channel::MemberMap::iterator instead
[user/henk/code/inspircd.git] / include / inspircd.h
index 91aba7862b8d30df67ab0b209b00e80a35e40d74..b16df9d71dae41964b4ed5b3722a1708a35a1a0c 100644 (file)
@@ -367,7 +367,7 @@ class CoreExport InspIRCd
        /** ModuleManager contains everything related to loading/unloading
         * modules.
         */
-       ModuleManager* Modules;
+       ModuleManager Modules;
 
        /** BanCacheManager is used to speed up checking of restrictions on connection
         * to the IRCd.
@@ -385,7 +385,7 @@ class CoreExport InspIRCd
        /** Snomask manager - handles routing of snomask messages
         * to opers.
         */
-       SnomaskManager* SNO;
+       SnomaskManager SNO;
 
        /** Timer manager class, triggers Timer timer events
         */
@@ -397,7 +397,7 @@ class CoreExport InspIRCd
 
        /** User manager. Various methods and data associated with users.
         */
-       UserManager *Users;
+       UserManager Users;
 
        /** Channel list, a hash_map containing all channels XXX move to channel manager class
         */
@@ -662,8 +662,21 @@ class CoreExport InspIRCd
        void Cleanup();
 
        /** Return a time_t as a human-readable string.
+        * @param format The format to retrieve the date/time in. See `man 3 strftime`
+        * for more information. If NULL, "%a %b %d %T %Y" is assumed.
+        * @param utc True to convert the time to string as-is, false to convert it to local time first.
+        * @return A string representing the given date/time.
         */
-       static std::string TimeString(time_t curtime);
+       static std::string TimeString(time_t curtime, const char* format = NULL, bool utc = false);
+
+       /** Compare two strings in a timing-safe way. If the lengths of the strings differ, the function
+        * returns false immediately (leaking information about the length), otherwise it compares each
+        * character and only returns after all characters have been compared.
+        * @param one First string
+        * @param two Second string
+        * @return True if the strings match, false if they don't
+        */
+       static bool TimingSafeCompare(const std::string& one, const std::string& two);
 
        /** Begin execution of the server.
         * NOTE: this function NEVER returns. Internally,