<feed xmlns='http://www.w3.org/2005/Atom'>
<title>~steering/inspircd++.git/src/modules/m_nickflood.cpp, branch v3.0.0a9</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>https://www.cgit.space/~steering/inspircd++.git/atom/src/modules/m_nickflood.cpp?h=v3.0.0a9</id>
<link rel='self' href='https://www.cgit.space/~steering/inspircd++.git/atom/src/modules/m_nickflood.cpp?h=v3.0.0a9'/>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/'/>
<updated>2018-01-29T11:52:13Z</updated>
<entry>
<title>Add ERR_INVALIDMODEPARAM for responding to invalid mode params.</title>
<updated>2018-01-29T11:52:13Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2018-01-27T13:05:14Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=d5a6054948502625d7f0c235f6faaeea58734de5'/>
<id>urn:sha1:d5a6054948502625d7f0c235f6faaeea58734de5</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Add the override keyword in places that it is missing.</title>
<updated>2017-11-21T15:51:45Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2017-11-21T13:05:17Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=91e0af0fc4889f20d2f63426f8fe379674fc0393'/>
<id>urn:sha1:91e0af0fc4889f20d2f63426f8fe379674fc0393</id>
<content type='text'>
GCCs warnings for this are much better than Clangs.
</content>
</entry>
<entry>
<title>Add a helper function for calling the OnCheckExemption event.</title>
<updated>2017-10-21T15:34:48Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2017-10-21T15:34:48Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=dcd3438011d59aa4de4df64abf06bca1cbf36859'/>
<id>urn:sha1:dcd3438011d59aa4de4df64abf06bca1cbf36859</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move the OnCheckExemption hook out of the core.</title>
<updated>2017-03-20T11:47:59Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2017-03-20T11:43:24Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=81027f3a0888ac4c8e3fb6ea90081492defce946'/>
<id>urn:sha1:81027f3a0888ac4c8e3fb6ea90081492defce946</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make the duration of nickflood and joinflood configurable.</title>
<updated>2016-09-16T18:38:43Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2016-05-02T23:33:05Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=d4f84b8e30915c73630ae753b5b2ba1dc5ab46e6'/>
<id>urn:sha1:d4f84b8e30915c73630ae753b5b2ba1dc5ab46e6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Send NOTICEs to local channel members with Channel::WriteNotice()</title>
<updated>2016-03-05T15:46:03Z</updated>
<author>
<name>Attila Molnar</name>
</author>
<published>2016-03-05T15:46:03Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=0412378109ae9f618e47b2bb60729c0d8f29fe8d'/>
<id>urn:sha1:0412378109ae9f618e47b2bb60729c0d8f29fe8d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Convert WriteNumeric() calls to pass the parameters of the numeric as method parameters</title>
<updated>2016-02-25T15:12:09Z</updated>
<author>
<name>Attila Molnar</name>
</author>
<published>2016-02-25T15:12:09Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=da29af8cba49d51e53d6e68237ccbf6370b6dd1f'/>
<id>urn:sha1:da29af8cba49d51e53d6e68237ccbf6370b6dd1f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename UserChanList to User::ChanList, remove UCListIter</title>
<updated>2014-07-14T14:24:59Z</updated>
<author>
<name>Attila Molnar</name>
</author>
<published>2014-07-14T14:24:59Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=46c97a8db770d637cf8e11fa8b178a32c60cdada'/>
<id>urn:sha1:46c97a8db770d637cf8e11fa8b178a32c60cdada</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change the type of the user parameter in the OnUserPreNick() hook from User to LocalUser</title>
<updated>2014-06-20T14:20:19Z</updated>
<author>
<name>Attila Molnar</name>
</author>
<published>2014-06-20T14:20:19Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=1442193c79016ea60a8a6e7df66f758040b77c76'/>
<id>urn:sha1:1442193c79016ea60a8a6e7df66f758040b77c76</id>
<content type='text'>
No remote users were passed to this hook before.

Remove needless IS_LOCAL() checks.
</content>
</entry>
<entry>
<title>Add ParamModeBase and ParamMode, change all parameter modes to inherit from ParamMode</title>
<updated>2014-02-15T13:38:24Z</updated>
<author>
<name>Attila Molnar</name>
</author>
<published>2014-02-15T13:38:24Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=0556720b559d7ec5d8badacf0ac9b11e9c864847'/>
<id>urn:sha1:0556720b559d7ec5d8badacf0ac9b11e9c864847</id>
<content type='text'>
- 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
</content>
</entry>
</feed>
