68 Commits

Author SHA1 Message Date
InspIRCd Robot
44489ddf7e Update copyright headers. 2020-04-24 10:23:47 +01:00
InspIRCd Robot
4f9abe96a4 Fixes by misspell-fixer 2020-04-21 00:52:12 -06:00
Sadie Powell
1efc234a54 Implement support for the SERVLIST command. 2020-03-12 17:51:03 +00:00
InspIRCd Robot
aa692dc103 Update copyright headers. 2020-01-11 22:14:43 +00:00
Peter Powell
4cc992f6c2 Ignore clients on ulined servers when reporting stats in LUSERS. 2019-12-28 17:33:49 +01:00
Peter Powell
f5b2265c2e Refactor UserManager::DoBackgroundUserStuff(). 2019-02-15 11:35:24 +00:00
Peter Powell
a62ae50007 Fix a bunch of Doxygen warnings. 2017-08-26 09:58:15 +01:00
Attila Molnar
dfc00bf4ad Update UserManager documentation and comments 2016-08-24 12:41:02 +02:00
Attila Molnar
aa05a6fd4d Remove UserManager::GarbageCollect() 2015-11-03 13:16:19 +01:00
Attila Molnar
c89cc290fb Move already sent id rollover handling and static LocalUser::already_sent_id into UserManager 2015-11-03 13:13:00 +01:00
Attila Molnar
3ef3047681 Add UserManager::NextAlreadySentId() and convert all code to use it 2015-11-03 13:08:21 +01:00
Attila Molnar
30fc51c6dd Rewrite invite system
- Moved out of core, now lives entirely in core_channel
- Accessible using the provided API after including the appropriate header
- Invites are stored in an extension attached to LocalUser/Channel objects, they no longer need special handling when destroying these objects or when lowering TS
- Expiration of timed invites are implemented using Timers
- When creating a new invite let a non-timed invite override a timed one
2015-11-02 13:28:55 +01:00
Attila Molnar
8f5efbc7aa Merge insp20 2015-04-20 17:40:12 +02:00
Adam
7f051bcc51 Rebuild clone counts on rehash 2015-03-21 12:53:21 -04:00
Attila Molnar
84ae29d0ea Move the intrusive list containers into the insp namespace 2014-08-30 10:35:21 +02:00
Attila Molnar
e5ada400b0 Access local user list via new UserManager::GetLocalUsers() and make local_users private 2014-07-19 14:28:51 +02:00
Attila Molnar
bc8664c5c4 Move and rename typedef LocalUserList to UserManager::LocalList 2014-07-19 14:23:31 +02:00
Attila Molnar
024906dbcd Change allocation of InspIRCd::Users to be physically part of the object containing it using fakederef 2014-06-24 12:21:31 +02:00
Attila Molnar
8f31b0cf2a Change storage of UserManager::all_opers to be a vector 2014-03-25 11:03:29 +01:00
Attila Molnar
bc730a5d1a Add typedef OperList to UserManager for use with all_opers 2014-03-25 11:02:44 +01:00
Attila Molnar
d60103cada Rewrite clone counting to use one map instead of two 2014-03-17 11:05:09 +01:00
Attila Molnar
ea590a5d80 Change allocation of UserManager::clientlist to be physically part of the object containing it 2014-03-15 15:29:25 +01:00
Attila Molnar
66965131f8 Add UserManager::GetUsers() 2014-03-15 15:21:18 +01:00
Attila Molnar
adb26a4e88 Change allocation of UserManager::uuidlist to be physically part of the object containing it 2014-03-14 13:04:10 +01:00
Attila Molnar
f1f8173bb5 Convert LocalUserList to an intrusively linked list 2014-01-24 13:08:13 +01:00
Attila Molnar
d736eba00b Improve UserManager::QuitUser() and related code
- Make operreason optional; NULL means same as quitreason
- Remove User::quietquit, it is now handled internally in spanningtree
- Send snotice about quitting remote users from spanningtree
2014-01-05 14:17:12 +01:00
attilamolnar
fd1d19d634 Replace hardcoded mode letters, part 3
This changes most remaining User::IsModeSet() calls to use ModeReferences for modes that were created by other modules or the core
2013-07-19 19:40:04 +02:00
attilamolnar
f2febe8ff6 Move code between usermanager.(cpp|h), clarify comments
Initialize clientlist and uuidlist in UserManager constructor
2013-06-06 03:15:50 +02:00
attilamolnar
eeabdde6fb Move DoBackgroundUserStuff() and AllModulesReportReady() into UserManager 2013-06-06 03:13:55 +02:00
attilamolnar
d9d99cd02d Merge insp20 2013-06-06 01:07:22 +02:00
attilamolnar
b0d652a15f Remove unused UserManager::ServerPrivmsgAll() 2013-05-18 21:09:44 +02:00
attilamolnar
67822c67e9 Initialize local_count 2013-05-18 16:03:17 +02:00
attilamolnar
bb962f92ac Workaround for std::list::size() having linear complexity on some implementations 2013-05-16 20:51:12 +02:00
Peter Powell
11cafc12d5 Tidy up source files:
- Use #pragma once instead of include guards.
- Move header files in src/modules to include/modules.
- Fixed various spacing issues.
2013-04-12 17:03:05 +01:00
attilamolnar
bb3aa2fb37 Stop recreating hashmaps every hour, move garbage collection code related to local users to UserManager 2013-04-04 19:23:16 +02:00
attilamolnar
74b05d5500 Make LocalUserList an std::list 2012-11-29 23:41:22 +01:00
attilamolnar
a589577b68 Add a typedef for LocalUserList 2012-11-29 23:41:22 +01:00
Peter Powell
808a0a0957 Fix Doxygen syntax errors. 2012-07-05 21:00:35 +01:00
Robby-
46a3904619 Replace copyright headers with headers granting specific authors copyright 2012-04-19 20:58:29 +02:00
Justin Crawford
df5f76832e Fixes for bug #12 2012-04-14 18:03:25 -07:00
brain
cd712c40e1 ...because every now and again, i have to do a massive commit.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-11 03:07:32 +00:00
danieldg
0f74e88f09 Move MODENOTICE command to a command module
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11991 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-03 01:14:12 +00:00
danieldg
9fad3ecb92 Create irc::sockets::cidr_mask
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11968 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24 20:04:05 +00:00
danieldg
d221de8827 Kill ListenSocketBase, use OnAcceptConnection for all new connections
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:46:33 +00:00
danieldg
9924e56311 Split LocalUser and RemoteUser
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11940 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:44:48 +00:00
danieldg
fa452641bf Remove more classbase
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11905 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18 16:18:44 +00:00
danieldg
6d03943426 Remove InspIRCd* parameters and fields
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26 14:13:13 +00:00
danieldg
c4cb1f9477 Change OnHookUserIO to OnHookIO, making it usable for more than User* and less picky on string matching
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11628 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:48:23 +00:00
danieldg
8eeb07be8c Route whois notices using ENCAP WHOISNOTICE to properly fix remote user PrivPermission bug
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11625 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:48:02 +00:00
danieldg
ae6acab1ba Valgrind cleanup: deallocate RFC modes, clientlist, and uuidlist
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11614 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:46:36 +00:00