/*
* InspIRCd -- Internet Relay Chat Daemon
*
+ * Copyright (C) 2015 Adam <Adam@anope.org>
+ * Copyright (C) 2012-2016 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2012-2013, 2017, 2019-2020 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2012 Robby <robby@chatbelgie.be>
+ * Copyright (C) 2010 Craig Edwards <brain@inspircd.org>
+ * Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
+ * Copyright (C) 2008 Thomas Stagner <aquanight@inspircd.org>
* Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
*
* This file is part of InspIRCd. InspIRCd is free software: you can
*/
typedef std::vector<User*> OperList;
+ /** A list containing users who are on a U-lined servers. */
+ typedef std::vector<User*> ULineList;
+
/** A list holding local users
*/
typedef insp::intrusive_list<LocalUser> LocalList;
*/
OperList all_opers;
+ /** A list of users on U-lined servers. */
+ ULineList all_ulines;
+
/** Number of unregistered users online right now.
* (Unregistered means before USER/NICK/dns)
*/
*/
void DoBackgroundUserStuff();
- /** Returns true when all modules have done pre-registration checks on a user
- * @param user The user to verify
- * @return True if all modules have finished checking this user
- */
- bool AllModulesReportReady(LocalUser* user);
-
/** Handle a client connection.
* Creates a new LocalUser object, inserts it into the appropriate containers,
* initializes it as not yet registered, and adds it to the socket engine.
*/
const CloneCounts& GetCloneCounts(User* user) const;
- /** Return a map containg IP addresses and their clone counts
+ /** Return a map containing IP addresses and their clone counts
* @return The clone count map
*/
const CloneMap& GetCloneMap() const { return clonemap; }
/** Return a count of fully registered connections on the network
* @return The number of registered users on the network
*/
- unsigned int RegisteredUserCount() { return this->clientlist.size() - this->UnregisteredUserCount(); }
+ unsigned int RegisteredUserCount() { return this->clientlist.size() - this->UnregisteredUserCount() - this->ULineCount(); }
/** Return a count of opered (umode +o) users on the network
* @return The number of opers on the network
*/
unsigned int UnregisteredUserCount() const { return this->unregistered_count; }
+ /** Return a count of users on a u-lined servers.
+ * @return The number of users on u-lined servers.
+ */
+ unsigned int ULineCount() const { return this->all_ulines.size(); }
+
/** Return a count of local registered users
* @return The number of registered local users
*/