2354 Commits

Author SHA1 Message Date
Attila Molnar
0babd8c078 Change allocation of InspIRCd::Timers to be physically part of the object containing it 2014-03-15 15:38: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
da45f24ff1 Change allocation of InspIRCd::chanlist to be physically part of the object containing it 2014-03-14 12:59:19 +01:00
Attila Molnar
146d85b5de Add InspIRCd::GetChans(), remove ChannelCount() 2014-03-14 12:56:20 +01:00
Attila Molnar
7aab18ae35 Deduplicate and move the *MatchesEveryone() functions to core_xline 2014-03-12 13:50:41 +01:00
Attila Molnar
7b7e82bec5 Move the wallops mode from the core into core_wallops 2014-03-09 17:08:55 +01:00
Peter Powell
f2db4b743f Make the maximum hostname length configurable in the config. 2014-03-08 13:01:09 +01:00
Attila Molnar
b15cffc167 Move admin settings into core_info 2014-03-07 18:09:21 +01:00
Attila Molnar
7f4a2cc351 Move {prefix|suffix|fixed}{quit|part} into core_user 2014-03-07 18:03:01 +01:00
Attila Molnar
07f817fd47 Read the die and restart password and their hash type on demand 2014-03-07 17:41:20 +01:00
Attila Molnar
b1173ca66a Update nick timestamps in User::ChangeNick(), pass the new TS in a parameter 2014-03-03 15:07:17 +01:00
Attila Molnar
5a64433015 Throw an exception if ModeParser::AddMode() fails 2014-02-23 12:24:14 +01:00
Attila Molnar
7affd6453d Add ModeParser::GetModes(), returns all user/chanmodes 2014-02-22 14:00:04 +01:00
Attila Molnar
7ffef79f97 Index Channel::modes and User::modes with the id of the mode instead of its letter 2014-02-21 15:11:24 +01:00
Attila Molnar
1b6dda7ad5 Assign an id to user modes, parameter chanmodes and simple chanmodes 2014-02-21 14:42:16 +01:00
Attila Molnar
9e123ad121 Replace mode letter parameter of OnRawMode() with a ModeHandler*, remove pcnt 2014-02-21 14:18:49 +01:00
Attila Molnar
5303501b93 Add a ModeParser::FindMode() overload that takes a mode name and a mode type 2014-02-20 13:34:27 +01:00
Attila Molnar
f66d05dbda Create a name -> ModeHandler* map 2014-02-20 13:20:21 +01:00
Attila Molnar
7bcb703bca Replace ModeMasks with a two-dimensional array 2014-02-18 13:47:10 +01:00
Attila Molnar
8f901b33a8 Change the parameter type of ModeHandler::GiveModeList() from ModeMasks to ModeType 2014-02-18 13:41:01 +01:00
Attila Molnar
0556720b55 Add ParamModeBase and ParamMode, change all parameter modes to inherit from ParamMode
- Type of the extension used to store data is a template parameter
- The extension is automatically unset when the mode is unset
- Handlers inheriting from ParamMode have to provide OnSet() and SerializeParam(); may optionally provide OnUnset()
- Transparently handle the case when OnSet() modifies the mode parameter
- Remove Channel::custom_mode_params map; ask the mode handlers to serialize their parameters instead
2014-02-15 14:38:24 +01:00
Attila Molnar
88baaf9e68 Add ModeHandler::IsParameterMode() and MC_PARAM 2014-02-15 13:51:35 +01:00
Attila Molnar
8bdc2313a6 Move GetAllPrefixChars() from Channel to Membership 2014-02-14 12:16:31 +01:00
Attila Molnar
74ccc28da3 Move GetPrefixChar() from Channel to Membership 2014-02-14 12:15:00 +01:00
Attila Molnar
51b5f06c48 Return a Membership* from get_first_visible_channel() in cmd_who and pass that to modules 2014-02-14 12:00:06 +01:00
Attila Molnar
6fb7507c58 Replace DummyExtItem with a flag in Extensible 2014-02-10 13:56:14 +01:00
Attila Molnar
4ec65c6231 Call DelFd() and SetFd(-1) from SocketEngine::Close(EventHandler*) 2014-02-09 17:17:04 +01:00
Attila Molnar
efe77ba63b Change all socketengine methods to be static 2014-02-08 23:01:44 +01:00
Attila Molnar
689996cb88 Move socketengine stats into a new class 2014-02-08 22:40:30 +01:00
Attila Molnar
b01820c079 Rename SocketEngine::AddFd() and DelFd() to AddFdRef() and DelFdRef() 2014-02-08 22:25:06 +01:00
Attila Molnar
ed6176383e Replace SocketEngine::GetName() with INSPIRCD_SOCKETENGINE_NAME define 2014-02-08 13:16:31 +01:00
Attila Molnar
2cf4b614e6 Change SocketEngine functions that do not require an instance to be static 2014-02-08 13:10:09 +01:00
Attila Molnar
5b6ae9c542 Only compile the testsuite if INSPIRCD_ENABLE_TESTSUITE is defined 2014-02-07 18:21:01 +01:00
Peter Powell
9dd4108273 Convert irc::stringjoiner to be a method instead of a class.
Add separator parameter
2014-02-06 23:11:51 +01:00
Peter Powell
db0e78c5d2 Fix various cases of UUID exposure.
- Introduce WriteCommand which sends * when the user has not registered.
- Switch a ton of code to use WriteCommand instead of WriteServ.
- Convert WriteNotice to be a wrapper around WriteCommand.
- Only send * when NICK has not been sent instead of before registration.
2014-02-06 23:10:01 +01:00
Adam
3752b3f59d New socketengine stuff:
Use vectors that grow as necessary instead of mass allocating everything at once
Rework poll engine logic to make sense
2014-02-04 22:39:12 +01:00
Attila Molnar
d7164e521b Change type of SocketEngine::CurrentSetSize to size_t from int 2014-02-04 21:10:45 +01:00
Attila Molnar
98ef89c392 Remove some dead code 2014-01-31 14:27:32 +01:00
Attila Molnar
5ac1ffce11 Allow Timers to delete themselves in Tick() 2014-01-30 21:44:51 +01:00
Attila Molnar
3fef0ed889 Add ProtocolInterface::BroadcastEncap() and infrastructure for manually forwarding ENCAPs 2014-01-26 13:12:01 +01:00
Attila Molnar
92cc388aeb ProtocolInterface::SendEncapsulatedData() changes
- Pass command name and destination as real parameters
- Allow callers to specify the command source
- Send a SID instead of a server name if the target is a single server
2014-01-26 13:05:09 +01:00
Attila Molnar
1db0e984be Add Channel* parameter to OnSendWhoLine 2014-01-25 12:40:21 +01:00
Peter Powell
074727e7a7 Convert InspIRCd::PassCompare to return bool instead of int.
The insane behaviour of this method was due to an implementation
detail which has since become irrelevent.
2014-01-25 12:20:04 +01:00
Attila Molnar
458168b575 Convert InviteBase::invites to an intrusively linked list 2014-01-24 13:20:11 +01:00
Attila Molnar
8537a54950 Remove classbase inheritance from Invitation 2014-01-24 13:12:40 +01:00
Attila Molnar
f1f8173bb5 Convert LocalUserList to an intrusively linked list 2014-01-24 13:08:13 +01:00
Attila Molnar
932e8d13f8 Convert UserChanList to an intrusively linked list 2014-01-24 12:58:01 +01:00
Attila Molnar
9a962e1c51 Add intrusive list template 2014-01-24 12:37:43 +01:00