summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2017-12-23Get rid of InspIRCd::QuickExit.Peter Powell
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.
2017-12-22Improve and modernize the SQL system API.Peter Powell
- 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.
2017-12-22Merge pull request #1446 from B00mX0r/master+wrongnumericPeter Powell
Fixed misc. instances of ERR_NOSUCHNICK instead of channel numerics Closes #1122.
2017-12-22Fixed misc. instances of ERR_NOSUCHNICK instead of channel numericsB00mX0r
Per #1122
2017-12-22Rename <security:hidewhois> to <security:hideserver>.Peter Powell
The previous name was horrible and didn't describe what the setting actually does.
2017-12-22Merge pull request #1443 from B00mX0r/master+filtershunPeter Powell
Add SHUN as a /filter action
2017-12-21Add SHUN as a /filter actionB00mX0r
This resolves #483
2017-12-21Merge pull request #1370 from clinew/insp30+openssl-crlPeter Powell
Add OpenSSL CRLs.
2017-12-20Merge pull request #1444 from B00mX0r/master+missingsnoPeter Powell
Add snomask alert on m_filter quit/part G-Line
2017-12-20Merge pull request #1445 from B00mX0r/master+nickmsgPeter Powell
Clarify error message when attempting to /NICK while banned
2017-12-19Clarify error message when attempting to /NICK while bannedB00mX0r
2017-12-19Add snomask alert on m_filter quit/part G-LineB00mX0r
Resolves an oversight of #1264
2017-12-19Merge pull request #1442 from B00mX0r/master+map_versionPeter Powell
Show server versions in /MAP for opers
2017-12-19Show server versions in /MAP for opersB00mX0r
This resolves #1203
2017-12-19Use GetMaxMask in InspIRCd::IsValidMask instead of hardcoding 250.Peter Powell
2017-12-16Only show a duration in m_chanhistory's notice if one is set.Peter Powell
Closes #1235.
2017-12-16Remove usage of deprecated API members in m_ssl_openssl.Peter Powell
Closes #1440.
2017-12-14Add OpenSSL CRLs.Wade Cline
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.
2017-12-11Don't allow users to set a zero channel limit.Peter Powell
Closes #451.
2017-12-11Release v3.0.0 alpha 4.Peter Powell
2017-12-11Merge branch 'insp20' into master.Peter Powell
2017-12-11Merge pull request #1423 from B00mX0r/master+override_umodePeter Powell
Add optional oper override umode +O.
2017-12-11Add optional oper override umode +O.B00mX0r
2017-12-11Ensure that ModeParser doesn't try to process a non-existent mode.B00mX0r
This fixes #1431 and closes #1432.
2017-12-10Require that the services server be configured in <sasl:target>.Peter Powell
Closes #1430.
2017-12-10Extract RFC modes from the core to core_channel and core_user.Peter Powell
2017-12-09Clean up numeric usage in WHOIS and WHOWAS.Peter Powell
- Add constants for all of the used numerics. - Switch RPL_CHANNELSMSG from 336 to 651 to avoid a conflict with RPL_INVITELIST from ircd-hybrid. - Switch RPL_WHOWASIP from 379 to 652 to avoid a conflict with RPL_WHOISMODES from UnrealIRCd.
2017-12-09Add names for a bunch more numerics.Peter Powell
2017-12-03Clean up m_password_hash slightly.Peter Powell
- Get rid of MakeHash and inline the logic into the actual handler. - Return CMD_FAILURE when password hashing fails for some reason. - Change the module name and description to be more accurate.
2017-12-03Send a snotice when m_filter kills or G-Lines a client.ThatOneRoadie
Closes #1264.
2017-12-03Add SSL cert info to connect class debug log.Christopher 'm4z' Holm
Closes #634.
2017-12-03Removed config option for +L redirect.Shawn Smith
Closes #466.
2017-12-03Move OnSync{Channel,Network,User} to ServerEventListener.Peter Powell
2017-12-03Rename the spanningtree module header to server.Peter Powell
In the future we will have server linking modules that are not the spanningtree module.
2017-12-03Merge pull request #1417 from B00mX0r/master+fix_1416Peter Powell
Fix m_cloaking umode desync
2017-12-03Merge pull request #1428 from Chewsterchew/patch-1Peter Powell
Remove extra double quote (") from modules.conf
2017-12-02Remove extra double quote (")Chew
2017-11-30Bump the minimum versions of GnuTLS to 2.0.0 and OpenSSL to 1.0.0.Peter Powell
Old TLS libraries should not be used anymore due to security risks.
2017-11-30Improve TLS security configuration in m_ssl_openssl.Peter Powell
- Always disable SSLv3. Unreal has already done this so clients will have to upgrade anyway. - Disable TLSv1.0 by default. Various security standards (e.g. PCI DSS) are already planning on sunsetting this so we should too.
2017-11-29Merge INSPIRCD_MODULE and INSPIRCD_TARGET.Peter Powell
2017-11-28Use ERR_INVALIDUSERNAME rather than ERR_NEEDMOREPARAMS in USER.Peter Powell
This numeric is a lot more friendly for clients to deal with.
2017-11-28Add length checking to GetExtBanStatus and m_banexception.Peter Powell
As far as I can tell this is not a problem as all ban masks are canonicalised but its better to be safe than sorry.