summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-09Optimize some behaviour in the core (#1476).Dylan Frank
2018-04-08Fix an invalid mode parameters numeric upon attempting to view a list modeB00mX0r
2018-04-08Include modules/whois.h directly from files that use it.Peter Powell
2018-04-08Move OnStats from the core to a cross-module event.Peter Powell
Some core code still exists in the XLine system but this will be replaced when the XLine system is replaced later.
2018-04-07Fix some more oversights in m_geoip.Peter Powell
- Add the G: extban to the EXTBAN 005 token. - Use CXX11_OVERRIDE with ReadConfig and OnCheckBan. Thanks to @genius3000 for pointing these out.
2018-04-07Fix disabling the GeoIP extban in m_geoip.Peter Powell
2018-04-07m_sqlauth: Allow specifying what hash algos to provide hashes from.Daniel Vassdal
Defaults to md5,sha256 to be compatible with old configs. Adds new parameter `kdf`. If this is set (to e.g. bcrypt), the hash will be compared locally. This requires the password column to be specified in <sqlauth:column>. Closes #741
2018-04-07SQL: Add HasColumn() to check if a result contains a named column.Daniel Vassdal
2018-04-06Refactor m_sqloper to be a full opers.conf replacement (#983).Dylan Frank
m_sqloper now supports dynamic fields, works with m_sslinfo, and works with /stats o.
2018-04-06Implement support for banning users from channels by country code.Peter Powell
2018-04-06Validate settings in order in ValidateSettings() (#1475).genius3000
* Validate the settings in the same order as the parameter syntax * Always validate Lines and Secs regardless of having a Diff * Check Backlog for greater than Max as well as being disabled
2018-03-31Prioritize checking for +ikl last to match previous behavior (#1474).Dylan Frank
2018-03-31Move <security:announceinvites> to core_channel.Peter Powell
2018-03-31Move checking for +ikl from the core to to core_channel.Peter Powell
2018-03-29Ignore expired or invalid client certificates (#1468).Dylan Frank
Fixes #1345.
2018-03-25Do not send unset topics on channel join per RFC (#1469)Dylan Frank
Fixes #1091.
2018-03-25Separate secret and private channels on whois for non-opers (#1447)Dylan Frank
Separate secret and private channels on WHOIS for all users. - Move the config parsing from the core to core_whois. - Replace <security:operspywhois> with an oper privilege. - Introduce <options:splitwhois> to split WHOIS channel lists. Closes #969.
2018-03-13Merge pull request #1461 from puckipedia/haiku-supportPeter Powell
Add Haiku support.
2018-03-10Add Haiku supportPuck Meerburg
2018-03-01Improve the message shown to the admin when generating SSL certs.Peter Powell
Self-signed SSL certificates are intended for testing purposes. A production server should be using a CA-signed certificate instead.
2018-02-24Append LDFLAGS at the same time as CPPFLAGS and CXXFLAGS.Peter Powell
This deduplicates the addition of these flags.
2018-02-17Release v3.0.0 alpha 6.Peter Powell
2018-02-17Move m_sslrehashsignal to the extra directory.Peter Powell
This module uses platform-specific behaviour that does not work on Windows.
2018-02-17Fix building on Windows (mostly).Peter Powell
2018-02-07Import the anticaps module from inspircd-extras.Peter Powell
2018-02-07Send the ACCEPT and KEYLEN ISUPPORT tokens.Peter Powell
- The ACCEPT=[count] token specifies the maximum amount of nicks which can be added to a m_callerid accept list. This token was added by ircd-ratbox in 3.0.9. - The KEYLEN=[length] token specifies the maximum length of a channel key. This token was added by ircd-ratbox in 3.1 beta. For more info see http://defs.ircdocs.horse/defs/isupport.html
2018-02-02Allow the maximum length of a chanfilter message to be configured.Peter Powell
2018-02-02Add names for a bunch of numerics.Peter Powell
2018-01-29Add ERR_INVALIDMODEPARAM for responding to invalid mode params.Peter Powell
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-25Improve performance under load of OnDataReady and remove C-isms.systocrat
Re-use variables initialized within loop, const-ify config variables accessed repeatedly, remove eol_found label. Merges #1451.
2018-01-25Add a module which rehashes SSL modules on receiving SIGUSR1.Peter Powell
This has been imported from inspircd-extras where it was known as m_rehashsslsignal. The name has been changed slightly to match the other modules which do SSL stuff (sslmodes, sslinfo).
2018-01-20Pass an irc::socket::sockaddrs to SocketEngine::SendTo().Peter Powell
2018-01-20Pass an irc::socket::sockaddrs to SocketEngine::Connect().Peter Powell
2018-01-20Remove duplicated code in LocalUser::GetServerPort().Peter Powell
2018-01-14Fix some minor Doxygen errors.Peter Powell
2018-01-12Release v3.0.0 alpha 5.Peter Powell
2018-01-07Fix some char signedness oversights when using bitsets.Peter Powell
2018-01-07Add user mode +z for ssl-only private messages.Shawn Smith
Closes #468.
2018-01-06Strip commas from channel keys like Charybdis and others do.Peter Powell
2018-01-06Rework message handling.Peter Powell
- 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.
2018-01-03Improve the method that blockcaps uses to block messages.Peter Powell
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.
2018-01-03Fix m_chanhistory sending the history notice directly to the user.Peter Powell
Closes #1452.
2018-01-03Make InspIRCd::Format return std::string instead of const char*.Peter Powell
Using the latter is problematic as if you don't copy the return value before calling Format again your formatted message will be overwritten by something else. This bug was observed in m_callerid where InspIRCd::Format was being used for formatting two arguments the latter of which was being overwritten with the former. We could have preserved the return type and just copied the string but then callers would have had to deallocate the string once they have finished with it which is an undesirabable burden to put on callers.
2017-12-31Increase the config default for <chanhistory:maxlines> to 50.Peter Powell
2017-12-29Don't hardcode mode characters which are sent in 005 tokens.Peter Powell
2017-12-27Fix various issues with the cgiirc module.Peter Powell
- Respect the value of <cgiirc:opernotice> when sending snotices to operators. - Write to the log file if opernotice is disabled. - Log to the correct snomask in all cases. This was caused by an oversight when merging insp20 into master. - Replace the full user mask in log messages with a uuid/ip. The WEBIRC command is sent as the first command so there will not be a nickname or username at this point.
2017-12-23Use a bitset in blockcaps instead of a char array.Peter Powell
2017-12-23Use a bitset in chghost/sethost instead of a char array.Peter Powell
2017-12-23Fix User::ChangeRealHost() to change the real host properly.Peter Powell
2017-12-23Add ISUPPORT tokens for the host, line, and user length.Peter Powell
This allows clients to accurately predict the maximum safe length of a NOTICE or PRIVMSG and truncate/split as appropriate. As proposed at https://defs.ircdocs.horse/defs/isupport.html