Sadie Powell
1e1cf527d2
Merge branch 'insp3' into master.
2021-03-05 02:32:35 +00:00
InspIRCd Robot
7b1ab06a95
Update copyright headers.
2021-03-05 02:16:11 +00:00
Sadie Powell
b755d2a778
Merge branch 'insp3' into master.
2020-05-05 22:03:14 +01:00
InspIRCd Robot
44489ddf7e
Update copyright headers.
2020-04-24 10:23:47 +01:00
Sadie Powell
bafb721640
Merge branch 'insp3' into master.
2020-04-14 19:57:10 +01:00
Sadie Powell
c506023c5a
Fix kicknorejoin not showing the channel name properly in errors.
...
Closes #1775 .
2020-04-14 00:24:45 +01:00
Sadie Powell
4582696afb
Merge branch 'insp3' into master.
2020-04-11 14:08:02 +01:00
Sadie Powell
1a800f7b3d
Improve storage of module description, flags, and link data.
2020-04-11 13:54:05 +01:00
Sadie Powell
4a6fedd932
Update the module descriptions using mkversion.
2020-04-10 15:36:14 +01:00
Sadie Powell
98e4ddfb21
Use C++11 inline initialisation for class members.
2020-02-06 11:25:42 +00:00
Sadie Powell
1de6f5b4a9
Merge branch 'insp3' into master.
2020-01-17 12:36:09 +00:00
InspIRCd Robot
aa692dc103
Update copyright headers.
2020-01-11 22:14:43 +00:00
Sadie Powell
cd8b456f97
Merge branch 'insp3' into master.
2019-07-16 16:48:18 +01:00
Peter Powell
9433e34b21
Show the mode syntax in ERR_INVALIDMODEPARAM.
2019-06-12 21:52:58 +01:00
Sadie Powell
1d5b18de82
Merge branch 'insp3' into master.
2019-05-15 15:26:55 +01:00
Robby
e59cb85871
Some more text fixes and improvements ( #1618 ).
2019-04-28 22:26:50 +01:00
Sadie Powell
c78ecdf579
Replace the override macro with the override keyword.
2019-01-25 02:52:11 +00:00
Peter Powell
0f7cfd46ef
Fix conversion issues by replacing ConvToInt with ConvToNum<T>.
...
The former was a thin wrapper around atol and brought with it all
of the weird parsing logic of atol which is almost never what is
actually wanted. It also almost never returned the numeric type
which is actually wanted which can cause weird issues when casting.
2018-12-12 21:43:24 +00:00
A_D
f020429fd3
Make kicknorejoin respect /INVITE ( #1514 ).
2018-09-23 13:12:05 +01:00
Peter Powell
a69f543be3
Fix a bunch more conflicting/unnamed numerics.
2018-08-14 19:31:26 +01:00
Peter Powell
d5a6054948
Add ERR_INVALIDMODEPARAM for responding to invalid mode params.
...
Currently on invalid modes we do a combination of different things:
1. Send a custom mode-specific numeric (which often collides with
other modes).
2. Send a server notice.
3. Do absolutely nothing.
This new numeric is a generic way of handling invalid parameters
when setting a mode that avoids all of the mistakes of the previous
behaviour.
2018-01-29 11:52:13 +00:00
Peter Powell
91e0af0fc4
Add the override keyword in places that it is missing.
...
GCCs warnings for this are much better than Clangs.
2017-11-21 15:51:45 +00:00
Attila Molnar
da29af8cba
Convert WriteNumeric() calls to pass the parameters of the numeric as method parameters
2016-02-25 16:12:09 +01:00
Daniel Vassdal
d9de2ec34f
m_kicknorejoin: Advertise upper bound. Closes #913
2015-02-22 18:16:02 +01:00
Attila Molnar
9add848772
m_kicknorejoin Store kicked users in a vector
2015-01-23 15:50:18 +01:00
Attila Molnar
c5b8e72f5c
m_kicknorejoin Move logic that tracks kicked users into KickRejoinData
2015-01-23 15:46:03 +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
Adam
6c7a3ceb6c
Use WriteNumeric() everywhere we send numerics and include the user's nick automatically
2013-11-12 06:51:31 -05:00
attilamolnar
992674362c
Automatically register ServiceProviders created by modules
2013-09-08 17:11:08 +02:00
attilamolnar
d24619c012
Automatically attach modules to events
2013-08-04 16:08:57 +02:00
Peter Powell
54d10d53c7
Remove $Core and $Mod* comments apart from $ModDep.
2013-07-04 15:51:00 +01:00
attilamolnar
95593de52c
Call Channel::SetModeParam() from the mode parser when needed instead of requiring mode handlers to do it
2013-06-13 19:00:01 +02:00
attilamolnar
d9d99cd02d
Merge insp20
2013-06-06 01:07:22 +02:00
attilamolnar
0a8b0d317e
Remove unused variables, avoid copies where possible, check empty() instead of size() == 0
...
Most of these were detected by cppcheck
2013-05-16 20:33:46 +02:00
Peter Powell
4ab1c43c1e
Tidy up keywords on module methods.
...
- Remove virtual keyword from a ton of methods which don't need it.
- Add override keyword to a ton of methods which do need it.
2013-05-15 21:41:36 +01:00
attilamolnar
8790551dc1
Merge insp20
2013-04-28 00:32:14 +02:00
attilamolnar
1dfead3b2c
m_kicknorejoin Store and compare uuids instead pointers
...
Fixes the off chance scenario where we disallow a join because a previously kicked user has quit and the User who is trying to join happens to be allocated at the exact same memory location
2013-04-16 13:20:24 +02:00
attilamolnar
4b81b4004d
m_kicknorejoin Limit time to 30m by default
...
In the current implementation we only expire entries when someone joins, without a limit it was possible to make us practically never remove entries and consume (a tiny amount of) memory for each entry until the mode was removed/parameter was changed
The default limit of 30m is chosen to not surprise people when they upgrade. If you need to prevent rejoins for more than a minute then you should set a (timed)ban instead
Config option is available to change the limit (2.0 only)
2013-04-16 13:18:40 +02:00
attilamolnar
e3939559e4
m_kicknorejoin Minor improvements
...
- Ignore remote users
- Remove expired items in one pass
2013-04-16 13:15:51 +02:00
attilamolnar
988d821807
OnUserPreJoin is a local-only hook, change User* parameter to LocalUser*
2013-04-13 15:34:12 +02:00
attilamolnar
26e7bb0b9a
Whitespace and empty destructor removal, minor coding style changes
2013-04-01 21:56:13 +02:00
attilamolnar
1cb05553e2
Change channel name parameter of Module::OnUserPreJoin() and Channel::JoinUser() to std::string from char*
2013-04-01 02:13:43 +02:00
attilamolnar
349106f3f9
Register all commands, modes and extensions using AddService()
...
AddService() throws an exception if an item cannot be registered, modules no longer need to worry about AddMode() etc. failing
2012-12-02 19:40:17 +01:00
attilamolnar
84a1569cd6
Dynamically determine the size of the eventlist[] passed to Attach()
...
m_sqlauth was attached to I_OnUserDisconnect but didn't provide a handler for it, remove
2012-12-02 19:40:00 +01:00
attilamolnar
ac7defcd3e
Attach to events and register services in init()
2012-12-02 19:39:46 +01:00
attilamolnar
02859be56d
Fix more undefined behavior caused by referencing the returned buffer by std::string::c_str() when the object is temporary
...
See 83c7cc45daf6fb1f8c36f15297a4657e45a34e88
2012-09-30 03:04:07 +02:00
Robby-
46a3904619
Replace copyright headers with headers granting specific authors copyright
2012-04-19 20:58:29 +02:00
danieldg
934a3f296f
Fix crash on kick when +J is set, +misc cleanup
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12396 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-07 23:18:53 +00:00
danieldg
f8ccaed31d
Remove VF_COMMON from mode-provider modules (no longer needed due to better CAPAB checking)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12263 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-15 20:05:13 +00: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