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