- /*
- * XXX -
- * this is done as a safety check to keep the file descriptors within range of fd_ref_table.
- * its a pretty big but for the moment valid assumption:
- * file descriptors are handed out starting at 0, and are recycled as theyre freed.
- * therefore if there is ever an fd over 65535, 65536 clients must be connected to the
- * irc server at once (or the irc server otherwise initiating this many connections, files etc)
- * which for the time being is a physical impossibility (even the largest networks dont have more
- * than about 10,000 users on ONE server!)
- */
-#ifndef WINDOWS
- if (socket >= Instance->SE->GetMaxFds())
- {
- User::QuitUser(Instance, New, "Server is full");
+ // First class check. We do this again in LocalUser::FullConnect() after DNS is done, and NICK/USER is received.
+ New->SetClass();
+ // If the user doesn't have an acceptable connect class CheckClass() quits them
+ New->CheckClass(ServerInstance->Config->CCOnConnect);
+ if (New->quitting)