aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Expand)AuthorAgeFilesLines
...
* | Move OnStats from the core to a cross-module event.•••Some core code still exists in the XLine system but this will be replaced when the XLine system is replaced later. Gravatar Peter Powell2018-04-0814-22/+60
* | Fix some more oversights in m_geoip.•••- Add the G: extban to the EXTBAN 005 token. - Use CXX11_OVERRIDE with ReadConfig and OnCheckBan. Thanks to @genius3000 for pointing these out. Gravatar Peter Powell2018-04-071-2/+8
* | Fix disabling the GeoIP extban in m_geoip.Gravatar Peter Powell2018-04-071-1/+1
* | m_sqlauth: Allow specifying what hash algos to provide hashes from.•••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 Gravatar Daniel Vassdal2018-04-071-10/+62
* | SQL: Add HasColumn() to check if a result contains a named column.Gravatar Daniel Vassdal2018-04-073-3/+53
* | Refactor m_sqloper to be a full opers.conf replacement (#983).•••m_sqloper now supports dynamic fields, works with m_sslinfo, and works with /stats o.Gravatar Dylan Frank2018-04-062-59/+142
* | Implement support for banning users from channels by country code.Gravatar Peter Powell2018-04-061-8/+49
* | Validate settings in order in ValidateSettings() (#1475).•••* 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 disabledGravatar genius30002018-04-061-24/+25
* | Prioritize checking for +ikl last to match previous behavior (#1474).Gravatar Dylan Frank2018-03-311-0/+1
* | Move <security:announceinvites> to core_channel.Gravatar Peter Powell2018-03-314-15/+35
* | Move checking for +ikl from the core to to core_channel.Gravatar Peter Powell2018-03-312-38/+49
* | Do not send unset topics on channel join per RFC (#1469)•••Fixes #1091.Gravatar Dylan Frank2018-03-251-1/+1
* | Separate secret and private channels on whois for non-opers (#1447)•••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.Gravatar Dylan Frank2018-03-252-25/+65
* | Add Haiku supportGravatar Puck Meerburg2018-03-101-1/+2
* | Release v3.0.0 alpha 6. v3.0.0a6Gravatar Peter Powell2018-02-171-1/+1
* | Move m_sslrehashsignal to the extra directory.•••This module uses platform-specific behaviour that does not work on Windows. Gravatar Peter Powell2018-02-171-0/+0
* | Fix building on Windows (mostly).Gravatar Peter Powell2018-02-172-2/+6
* | Import the anticaps module from inspircd-extras.Gravatar Peter Powell2018-02-071-0/+309
* | Send the ACCEPT and KEYLEN ISUPPORT tokens.•••- 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 Gravatar Peter Powell2018-02-074-1/+6
* | Allow the maximum length of a chanfilter message to be configured.Gravatar Peter Powell2018-02-021-4/+14
* | Add names for a bunch of numerics.Gravatar Peter Powell2018-02-0210-36/+102
* | 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. Gravatar Peter Powell2018-01-299-21/+43
* | Improve performance under load of OnDataReady and remove C-isms.•••Re-use variables initialized within loop, const-ify config variables accessed repeatedly, remove eol_found label. Merges #1451. Gravatar systocrat2018-01-251-15/+38
* | Add a module which rehashes SSL modules on receiving SIGUSR1.•••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). Gravatar Peter Powell2018-01-251-0/+64
* | Pass an irc::socket::sockaddrs to SocketEngine::SendTo().Gravatar Peter Powell2018-01-202-3/+3
* | Pass an irc::socket::sockaddrs to SocketEngine::Connect().Gravatar Peter Powell2018-01-203-4/+4
* | Remove duplicated code in LocalUser::GetServerPort().Gravatar Peter Powell2018-01-201-8/+1
* | Release v3.0.0 alpha 5. v3.0.0a5Gravatar Peter Powell2018-01-121-1/+1
* | Fix some char signedness oversights when using bitsets.Gravatar Peter Powell2018-01-073-8/+9
* | Add user mode +z for ssl-only private messages.•••Closes #468. Gravatar Shawn Smith2018-01-071-11/+105
* | Strip commas from channel keys like Charybdis and others do.Gravatar Peter Powell2018-01-061-1/+14
* | Rework message handling.•••- 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. Gravatar Peter Powell2018-01-0627-167/+169
* | Improve the method that blockcaps uses to block messages.•••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. Gravatar Peter Powell2018-01-031-15/+48
* | Fix m_chanhistory sending the history notice directly to the user.•••Closes #1452. Gravatar Peter Powell2018-01-032-1/+9
* | Make InspIRCd::Format return std::string instead of const char*.•••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. Gravatar Peter Powell2018-01-031-4/+4
* | Increase the config default for <chanhistory:maxlines> to 50.Gravatar Peter Powell2017-12-311-1/+1
* | Don't hardcode mode characters which are sent in 005 tokens.Gravatar Peter Powell2017-12-293-3/+3
* | Fix various issues with the cgiirc module.•••- 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. Gravatar Peter Powell2017-12-271-10/+22
* | Use a bitset in blockcaps instead of a char array.Gravatar Peter Powell2017-12-231-4/+5
* | Use a bitset in chghost/sethost instead of a char array.Gravatar Peter Powell2017-12-232-15/+17
* | Fix User::ChangeRealHost() to change the real host properly.Gravatar Peter Powell2017-12-231-1/+13
* | Add ISUPPORT tokens for the host, line, and user length.•••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 Gravatar Peter Powell2017-12-231-0/+3
* | Get rid of InspIRCd::QuickExit.•••This is just a thin wrapper around exit(). I don't think we really need it. While we are changing this code the setgroup/setuser code should be using EXIT_STATUS_CONFIG too. Gravatar Peter Powell2017-12-232-14/+9
* | Improve and modernize the SQL system API.•••- Move everything into the SQL namespace and drop the SQL prefix. - Move SQLProvider::PopulateUserInfo to SQL::PopulateUserInfo. - Rename SQLEntry to SQL::Field and clean up. - Rename SQLEntries to SQL::Row. - Rename SQLerror to SQL::Error and clean up. - Rename SQLerrorNum to SQL::ErrorCode and drop the SQL_ prefix. - Rename ParamL to SQL::ParamList. - Rename ParamM to SQL::ParamMap; - Make implementing SQLQuery::OnError mandatory. - Redo most of the documentation in the sql header. Gravatar Peter Powell2017-12-225-84/+90
* | Fixed misc. instances of ERR_NOSUCHNICK instead of channel numerics•••Per #1122 Gravatar B00mX0r2017-12-2216-21/+39
* | Rename <security:hidewhois> to <security:hideserver>.•••The previous name was horrible and didn't describe what the setting actually does. Gravatar Peter Powell2017-12-225-18/+18
* | Add SHUN as a /filter action•••This resolves #483 Gravatar B00mX0r2017-12-212-53/+49
* | Merge pull request #1370 from clinew/insp30+openssl-crl•••Add OpenSSL CRLs.Gravatar Peter Powell2017-12-211-0/+45
|\ \
| * | Add OpenSSL CRLs.•••The 'crlfile' argument can point to a file that contains valid CRLs. The 'crlpath' argument can point to a directory which contains CRLs, albeit in OpenSSL's special hashed/symlink format. The 'crlmode' option 'chain' checks all certificates in the chain while the option 'leaf' checks only the leaf certificate in a chain. Gravatar Wade Cline2017-12-141-0/+45
* | | Merge pull request #1444 from B00mX0r/master+missingsno•••Add snomask alert on m_filter quit/part G-LineGravatar Peter Powell2017-12-201-0/+1
|\ \ \