aboutsummaryrefslogtreecommitdiff
path: root/include/modules
Commit message (Collapse)AuthorAgeFilesLines
* Fix the chanhistory module being inconsistent across servers.Gravatar Peter Powell2018-10-011-0/+8
| | | | Closes #331.
* Add support for the IRCv3 batch specification.Gravatar Peter Powell2018-08-131-0/+185
| | | | Co-authored-by: Attila Molnar <attilamolnar@hush.com>
* Add support for the IRCv3 server-time specification.Gravatar Peter Powell2018-08-131-0/+88
| | | | Co-authored-by: Attila Molnar <attilamolnar@hush.com>
* Implement IRCv3 message tag support.Gravatar Peter Powell2018-08-132-4/+79
| | | | Co-authored-by: Attila Molnar <attilamolnar@hush.com>
* Convert AWAY to use cross-module events and clean up slightly.Gravatar Peter Powell2018-08-121-0/+83
| | | | | | | OnSetAway has been replaced with four events. OnUserPreAway and OnUserPreBack can be used to deny an away state change and/or change the away message of a local user. OnUserAway and OnUserBack allow modules to be notified that a user's away state has changed.
* Rename User::fullname to realname and make it private.Gravatar Peter Powell2018-07-301-1/+1
|
* Replace most usages of "GECOS" with "real" or "real name".Gravatar Peter Powell2018-07-301-1/+1
|
* Use CommandBase::Params instead of std::vector<std::string>.Gravatar Peter Powell2018-07-261-1/+1
| | | | | This is presently a typedef but will soon be replaced with a class that encapsulates both tags and parameters.
* Move OnStats from the core to a cross-module event.Gravatar Peter Powell2018-04-081-0/+18
| | | | | Some core code still exists in the XLine system but this will be replaced when the XLine system is replaced later.
* SQL: Add HasColumn() to check if a result contains a named column.Gravatar Daniel Vassdal2018-04-071-0/+9
|
* Ignore expired or invalid client certificates (#1468).Gravatar Dylan Frank2018-03-291-2/+16
| | | Fixes #1345.
* Fix building on Windows (mostly).Gravatar Peter Powell2018-02-172-2/+2
|
* Make InspIRCd::Format return std::string instead of const char*.Gravatar Peter Powell2018-01-031-6/+5
| | | | | | | | | | | | | 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.
* Improve and modernize the SQL system API.Gravatar Peter Powell2017-12-221-80/+155
| | | | | | | | | | | | | - 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.
* Add SHUN as a /filter actionGravatar B00mX0r2017-12-211-0/+70
| | | | This resolves #483
* Move OnSync{Channel,Network,User} to ServerEventListener.Gravatar Peter Powell2017-12-031-0/+20
|
* Rename the spanningtree module header to server.Gravatar Peter Powell2017-12-031-3/+3
| | | | | In the future we will have server linking modules that are not the spanningtree module.
* Add the override keyword in places that it is missing.Gravatar Peter Powell2017-11-212-3/+3
| | | | GCCs warnings for this are much better than Clangs.
* Add support to IOHook for retrieving the hostname sent via SNI.Gravatar Peter Powell2017-10-291-0/+7
|
* Hide User#host and User#dhost and use accessors to modify them.Gravatar Peter Powell2017-10-281-1/+1
| | | | | This removes the need to invalidate the cache after changing a user's hostname.
* Add a helper function for calling the OnCheckExemption event.Gravatar Peter Powell2017-10-211-0/+17
|
* Move <dns:timeout> out of the core.Gravatar Peter Powell2017-09-031-1/+1
|
* Merge pull request #1271 from SaberUK/master+exemptionGravatar Peter Powell2017-07-271-0/+58
|\ | | | | Move the OnCheckExemption hook out of the core.
| * Move the OnCheckExemption hook out of the core.Gravatar Peter Powell2017-03-201-0/+58
| |
* | core_dns: add support for txt recordsGravatar Adam2017-04-231-0/+2
|/ | | | This might be used later by m_dnsbl to get reasons for listings
* Fix Windows build and most MSVC warningsGravatar Attila Molnar2016-09-021-1/+1
|
* core_dns Make question a member of request, move common FindAnswerOfType to ↵Gravatar Adam2016-08-251-3/+16
| | | | be a member of query
* Export the GetCiphersuite() method from the SSL modulesGravatar Attila Molnar2016-04-281-0/+6
|
* Add SSLIOHook::IsSSL() to determine whether a socket is using SSL or notGravatar Attila Molnar2016-04-281-3/+10
| | | | Use it in a few places
* Fix oversight in the last Stats::Context:AddRow() methodGravatar Attila Molnar2016-02-251-0/+1
|
* Introduce Stats::Context, pass it to the OnStats hook and switch all code to itGravatar Attila Molnar2016-02-251-0/+172
|
* Convert WhoisContext::SendLine() calls to pass the parameters of the numeric ↵Gravatar Attila Molnar2016-02-251-12/+42
| | | | as method parameters
* m_ircv3 Make WriteNeighborsWithCap() available for use in other modulesGravatar Attila Molnar2015-12-051-0/+45
|
* m_cap Make Capability objects compatible with dynamic_references, add ↵Gravatar Attila Molnar2015-12-051-0/+28
| | | | Cap::Reference
* m_cap Specialize extension itemGravatar Attila Molnar2015-12-051-1/+8
|
* m_cap Provide the OnCapValueChange event and add ↵Gravatar Attila Molnar2015-12-051-0/+20
| | | | Cap::Manager::NotifyValueChange()
* m_cap Provide the OnCapAddDel() eventGravatar Attila Molnar2015-12-051-0/+15
|
* m_cap Add Capability::GetCapValue(), list capabilities with valuesGravatar Attila Molnar2015-12-051-0/+10
|
* m_cap Learn the supported capability negotiation protocol of a client from ↵Gravatar Attila Molnar2015-12-051-1/+24
| | | | | | CAP LS Let modules implementing caps query this information
* m_cap Add Capability::OnList() hookGravatar Attila Molnar2015-12-051-0/+10
|
* m_cap Add Capability::OnRequest() hookGravatar Attila Molnar2015-12-051-0/+12
|
* Add rewritten m_cap moduleGravatar Attila Molnar2015-12-051-0/+191
| | | | | - Caps are now managed by m_cap - Each cap uses one bit in an extension item shared with other caps
* Nuke m_capGravatar Attila Molnar2015-12-051-99/+0
|
* core_reloadmodule Allow modules to handle reload failures of other modsGravatar Attila Molnar2015-11-261-1/+1
|
* core_reloadmodule Allow modules to save and restore their own data when ↵Gravatar Attila Molnar2015-11-261-0/+80
| | | | reloading another mod
* core_channel Implement invite (un)serializationGravatar Attila Molnar2015-11-021-0/+7
|
* Rewrite invite systemGravatar Attila Molnar2015-11-021-0/+121
| | | | | | | | - Moved out of core, now lives entirely in core_channel - Accessible using the provided API after including the appropriate header - Invites are stored in an extension attached to LocalUser/Channel objects, they no longer need special handling when destroying these objects or when lowering TS - Expiration of timed invites are implemented using Timers - When creating a new invite let a non-timed invite override a timed one
* Fail invalid dns responses instead of dropGravatar Adam2015-07-061-0/+1
|
* Call OnStreamSocketWrite() once per write eventGravatar Attila Molnar2015-06-061-0/+25
| | | | Do sendq flattening in SSL modules, move code for it into class SSLIOHook from core
* New m_ldap from AnopeGravatar Adam2015-05-181-27/+20
| | | | | Redesign to be more like m_mysql, polling ldap_result from a thread as done previously is undefined.