Attila Molnar
28dcc1f9e0
Add Numeric::Numeric
2016-02-25 15:25:02 +01:00
Attila Molnar
6bc4db5e92
Do not insert FakeUsers into UserManager::uuidlist
...
Inserting them causes FindUUID() and FindNick() to return server users which is not what modules want
2015-12-07 10:11:09 +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
8236f2c376
Fix oversights in substr() conversion
...
Thanks to @StevenVanAcker for reporting and testing this
2015-02-27 01:25:12 +01:00
Attila Molnar
4d4306d8a9
Remove needless checks from User::WriteCommon()/WriteCommonRaw()
2015-01-24 15:02:25 +01:00
Attila Molnar
30bcf4894f
Implement User::WriteCommonRaw() using ForEachNeighbor()
2015-01-24 14:55:10 +01:00
Attila Molnar
cf728bd8a3
Implement User::WriteCommonQuit() using ForEachNeighbor() in UserManager
2015-01-24 14:53:03 +01:00
Attila Molnar
662dfa6c18
Add User::ForEachNeighbor()
2015-01-24 14:49:10 +01:00
Attila Molnar
47dda4f615
Reduce std::string::substr() usage
...
substr() returns a new string while erase() and assign() modify the existing one
2015-01-10 15:16:03 +01:00
Attila Molnar
706b5a5a5b
Unset oper-only modes in User::UnOper() in a more sensible way
...
Get the user mode list from the ModeParser instead of trying all possible mode letters
2014-09-05 15:06:21 +02:00
Attila Molnar
4634151efc
Replace irc::modestacker usage with the new ModeParser::Process()
2014-09-03 15:32:02 +02:00
Attila Molnar
cea7a7cffa
Do not attempt to detect non-culled users at destruction by looking for their uuid, leave it to Extensible
...
This does not take uuid/sid reuse into consideration and Extensible implements this detection already in a proper way
2014-07-28 14:51:39 +02:00
Attila Molnar
662364f855
Allow fast sid reuse by erasing fake users from UserManager::uuidlist when the netsplit is handled, not in cull()
2014-07-28 14:50:28 +02:00
Attila Molnar
f62654a685
Merge insp20
2014-07-25 12:05:40 +02:00
Attila Molnar
cec9265bdb
Erase local users from UserManager::local_list in QuitUser()
2014-07-19 14:16:15 +02:00
Attila Molnar
046da7da9b
Move typedef ClassVector to ServerConfig::ClassVector
2014-07-16 12:30:05 +02:00
Attila Molnar
46c97a8db7
Rename UserChanList to User::ChanList, remove UCListIter
2014-07-14 16:24:59 +02:00
Attila Molnar
04ece67c3d
Rename UserMembList to Channel::MemberMap, switch all code to use it
2014-07-14 16:10:12 +02:00
Attila Molnar
173bc63cb5
Change return type of Channel::GetUsers() to reference from pointer as it is never NULL
2014-07-14 16:04:38 +02:00
Attila Molnar
e827ec50d8
Get rid of irc::strings (assign()) in User::ChangeNick()
2014-07-03 12:32:21 +02:00
Attila Molnar
43063e15a2
Deduplicate code in User::ChangeNick()
2014-07-03 12:30:54 +02:00
Attila Molnar
393cc8f9d6
Remove now needless User::ForceNickChange()
...
Change call sites to call ChangeNick()
2014-07-03 12:27:24 +02:00
Attila Molnar
bee8625fbe
Move calling the OnUserPreNick() hook and the restrictbannedusers check from core to cmd_nick (core_user)
2014-07-03 12:21:00 +02:00
Attila Molnar
02032ae282
Check Q-Lines on nick change in core_xline
2014-06-20 16:34:03 +02:00
Attila Molnar
0e98ca83b5
Reject nickname case changes too when enforcing <security:restrictbannedusers>
2014-06-20 16:29:40 +02:00
Attila Molnar
1442193c79
Change the type of the user parameter in the OnUserPreNick() hook from User to LocalUser
...
No remote users were passed to this hook before.
Remove needless IS_LOCAL() checks.
2014-06-20 16:20:19 +02:00
Attila Molnar
3323226c38
Increment serverstats::Collisions when a collision is handled, not when a module denies a nick change
2014-06-20 16:04:21 +02:00
Attila Molnar
82435b6fa8
Kill needless #includes in source files
2014-06-14 15:30:14 +02:00
Attila Molnar
5b1ee304b5
Change allocation of InspIRCd::Parser to be physically part of the object containing it
2014-06-13 15:45:55 +02:00
Attila Molnar
467b276d9d
Change allocation of InspIRCd::BanCache to be physically part of the object containing it
2014-06-13 15:27:40 +02:00
Attila Molnar
caa0c27a5a
Pull in bancache.h from inspircd.h
2014-06-13 15:23:39 +02:00
Attila Molnar
12027601cf
Change allocation of InspIRCd::stats to be physically part of the object containing it
...
While at it, remove "stats" from all field names
2014-06-13 15:03:56 +02:00
satmd
8f7cdd5b61
Fix harmless loop off-by-ones found by Moonlightning
2014-06-07 13:12:04 +02:00
Peter Powell
e3bcf95ee9
Prefix all definitions in config.h to avoid potential collisions.
2014-05-23 14:13:51 +02:00
Peter Powell
c511bb56f5
Kill <channels> in favour of <connect:maxchans> and <oper:maxchans>.
...
Remove channels/high-join-limit privilege
2014-04-11 16:14:10 +02:00
Attila Molnar
10bae31483
Remove unused User::WriteCommonExcept()
...
WriteCommonRaw(msg, false) has similiar functionality with a std::string parameter
2014-04-02 12:52:20 +02:00
Attila Molnar
2465f88a58
Move User::SendAll() into core_privmsg
...
This functionality is only used by the PRIVMSG and NOTICE handlers
2014-04-02 12:50:04 +02:00
Attila Molnar
a6e68c0d34
Remove User::WriteTo() functions; use User::WriteFrom() instead
...
The removed functions were rarely used and all they did was to call User::WriteFrom() with swapped arguments. On call sites, WriteTo() hardly offers any readability improvement over WriteFrom().
2014-04-02 12:44:12 +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
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
adb26a4e88
Change allocation of UserManager::uuidlist to be physically part of the object containing it
2014-03-14 13:04:10 +01:00
Peter Powell
f2db4b743f
Make the maximum hostname length configurable in the config.
2014-03-08 13:01:09 +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
a5ca8b892c
Remove REG_ALL checks from User::SharesChannelWith()
...
These checks are never true currently and even if one or both users are unregistered proceeding is harmless
2014-02-27 17:16:48 +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
efe77ba63b
Change all socketengine methods to be static
2014-02-08 23:01:44 +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