- else
- {
- Instance->Log(DEBUG,"chanrec::JoinUser(): Overridden checks");
- }
- }
-
- /* NOTE: If the user is an oper here, we can extend their user->chans by up to
- * OPERMAXCHANS. For remote users which are not bound by the channel limits,
- * we can extend infinitely. Otherwise, nope, youre restricted to MAXCHANS.
- */
- if (!IS_LOCAL(user) || override == true) /* was a check on fd < 0 */
- {
- return chanrec::ForceChan(Instance, Ptr, user, privs);
- }
- else if (*user->oper)
- {
- /* Oper allows extension up to the OPERMAXCHANS value */
- if (user->chans.size() < OPERMAXCHANS)
- {
- return chanrec::ForceChan(Instance, Ptr, user, privs);
- }
- }
- else if (user->chans.size() < MAXCHANS)
- {
- return chanrec::ForceChan(Instance, Ptr, user, privs);