<feed xmlns='http://www.w3.org/2005/Atom'>
<title>~steering/inspircd++.git/src/modules/m_blockcaps.cpp, branch v3.4.0</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_blockcaps.cpp?h=v3.4.0</id>
<link rel='self' href='https://www.cgit.space/~steering/inspircd++.git/atom/src/modules/m_blockcaps.cpp?h=v3.4.0'/>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/'/>
<updated>2018-08-26T10:33:19Z</updated>
<entry>
<title>Implement proper CTCP parsing in MessageDetails.</title>
<updated>2018-08-26T10:33:19Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2018-04-27T13:30:06Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=4567a325b8cfc87ddf1aea1c0db7623d3b068931'/>
<id>urn:sha1:4567a325b8cfc87ddf1aea1c0db7623d3b068931</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add ConfigTag::getUInt for reading unsigned config values.</title>
<updated>2018-04-16T14:29:55Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2018-04-14T14:43:03Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=780dda83ba3857bc3c330d4b5d38bb251a9d879b'/>
<id>urn:sha1:780dda83ba3857bc3c330d4b5d38bb251a9d879b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix some char signedness oversights when using bitsets.</title>
<updated>2018-01-07T23:28:01Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2018-01-07T23:28:01Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=4b7b332b9419a01476b813419d89d11c43e1f844'/>
<id>urn:sha1:4b7b332b9419a01476b813419d89d11c43e1f844</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rework message handling.</title>
<updated>2018-01-06T14:18:21Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2017-12-11T19:42:52Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=2fcb5ff4389a9a82d253acdff02a388ddcf14653'/>
<id>urn:sha1:2fcb5ff4389a9a82d253acdff02a388ddcf14653</id>
<content type='text'>
- Move all message-related types to their own header to make moving
  them to a cross-module events easier.
- Rename OnUserMessage to OnUserPostMessage.
- Rename OnText to OnUserMessage.
- Replace the dest, target_type, and status parameters with the
  MessageTarget class.
- Replace the text, exempt_list, and msgtype parameters with the
  MessageDetails struct.
- Add echooriginal and originaltext to the MessageDetails struct
  to allow spam filtering to not be broken by cap echo-message.
</content>
</entry>
<entry>
<title>Improve the method that blockcaps uses to block messages.</title>
<updated>2018-01-03T22:33:29Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2018-01-01T18:01:47Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=40514d0ba8279309f350a47652fffef745662926'/>
<id>urn:sha1:40514d0ba8279309f350a47652fffef745662926</id>
<content type='text'>
Previously it had a list of upper case letters and assumed that all
other characters were lower case. This method is flawed as it can
be evaded by using non-alphanumeric characters.

The new method takes a list of lower case letters as well as upper
case letters and ignores any letters which are not listed in one of
the two lists.

The majority of the code for this was borrowed from the m_anticaps
module in inspircd-extras.
</content>
</entry>
<entry>
<title>Use a bitset in blockcaps instead of a char array.</title>
<updated>2017-12-23T15:56:23Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2017-12-23T15:56:23Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=e73b78ca679281608eedcda0f697fc4b1cd030b3'/>
<id>urn:sha1:e73b78ca679281608eedcda0f697fc4b1cd030b3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Only subclass Simple{Channel,User}ModeHandler when necessary.</title>
<updated>2017-11-13T16:24:42Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2017-11-12T20:53:24Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=0fd2d50fcf1bcff107d6d185aad5d8e9245d4141'/>
<id>urn:sha1:0fd2d50fcf1bcff107d6d185aad5d8e9245d4141</id>
<content type='text'>
</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>Merge the latest changes from insp20 into master.</title>
<updated>2017-10-12T14:55:21Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2017-10-12T14:55:21Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=a3e0768758ca68429a29d9c78ce672f2d938c6e7'/>
<id>urn:sha1:a3e0768758ca68429a29d9c78ce672f2d938c6e7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix exempting CTCP ACTIONs in m_blockcaps and m_noctcp.</title>
<updated>2017-06-16T17:20:34Z</updated>
<author>
<name>Peter Powell</name>
</author>
<published>2017-06-16T17:08:40Z</published>
<link rel='alternate' type='text/html' href='https://www.cgit.space/~steering/inspircd++.git/commit/?id=b105e9366b0d8fc3b6ee41942cc2a3518e24bc21'/>
<id>urn:sha1:b105e9366b0d8fc3b6ee41942cc2a3518e24bc21</id>
<content type='text'>
Previously we assumed that CTCP ACTIONs matched "\1ACTION ". This
is incorrect because "\1ACTION\1" and "\1ACTION" are valid CTCPs.
</content>
</entry>
</feed>
