Attila Molnar
912fd7a922
m_cap Provide the OnCapAddDel() event
2015-12-05 15:57:00 +01:00
Attila Molnar
b9c6792cd6
m_cap Add Capability::GetCapValue(), list capabilities with values
2015-12-05 15:50:07 +01:00
Attila Molnar
9ac2eae1f0
m_cap Learn the supported capability negotiation protocol of a client from CAP LS
...
Let modules implementing caps query this information
2015-12-05 15:45:20 +01:00
Attila Molnar
3e08629e83
m_cap Add Capability::OnList() hook
2015-12-05 15:42:04 +01:00
Attila Molnar
bc388aa97c
m_cap Add Capability::OnRequest() hook
2015-12-05 15:35:05 +01:00
Attila Molnar
259b111394
Add rewritten m_cap module
...
- Caps are now managed by m_cap
- Each cap uses one bit in an extension item shared with other caps
2015-12-05 15:29:01 +01:00
Attila Molnar
0528e83604
Nuke m_cap
2015-12-05 15:04:00 +01:00
Attila Molnar
19cc9292ab
core_reloadmodule Allow modules to handle reload failures of other mods
2015-11-26 15:14:07 +01:00
Attila Molnar
d3eb1a77d7
core_reloadmodule Allow modules to save and restore their own data when reloading another mod
2015-11-26 15:10:00 +01:00
Attila Molnar
a124a3783d
core_channel Implement invite (un)serialization
2015-11-02 13:40:15 +01:00
Attila Molnar
30fc51c6dd
Rewrite invite system
...
- 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
2015-11-02 13:28:55 +01:00
Adam
70542e525b
Fail invalid dns responses instead of drop
2015-07-06 17:53:21 +02:00
Attila Molnar
d0556a2a59
Call OnStreamSocketWrite() once per write event
...
Do sendq flattening in SSL modules, move code for it into class SSLIOHook from core
2015-06-06 14:42:59 +02:00
Adam
f3513de58a
New m_ldap from Anope
...
Redesign to be more like m_mysql, polling ldap_result from a thread as
done previously is undefined.
2015-05-18 10:11:08 -04:00
Attila Molnar
c090e54be9
core_dns Add DNS timeout timer in Process() not in DNS::Request constructor
2015-05-13 00:43:00 +02:00
Attila Molnar
d1f028db2b
core_dns Make MAX_REQUEST_ID unsigned, move it to core_dns from header
2015-05-13 00:39:54 +02:00
Attila Molnar
8f34594cb7
Move OnWhois* events to core_whois, add Whois::Context
...
Remove InspIRCd::SendWhoisLine()
2015-04-28 15:16:22 +02:00
Attila Molnar
3d32852e7e
core_dns Drop incoming packets containing a different question from what we asked
2015-04-27 19:28:00 +02:00
Attila Molnar
edfe7f035e
core_dns Remove incomplete support for multiple questions per query
2015-04-21 15:24:10 +02:00
Attila Molnar
a28f095db8
core_dns Don't store query class code in Question
2015-04-21 15:14:29 +02:00
Attila Molnar
4e58282058
core_dns Add typedef for request id, change it to uint16_t
2015-04-21 15:08:10 +02:00
Peter Powell
cd5d78203b
Fix building modules that use cap.h with a C++11 compiler.
2015-03-06 16:13:11 +00:00
Attila Molnar
97e2deac07
m_spanningtree Pass Server* to the OnServerLink/OnServerSplit events
2015-02-12 16:54:34 +01:00
Attila Molnar
0b8a9b5566
Convert the spanningtree events to use the new cross-module event system
2015-02-11 17:23:08 +01:00
Attila Molnar
3b83968416
Remove unused parameters from HTTPRequest constructor
2015-02-11 17:15:57 +01:00
Attila Molnar
1e8e379dce
Convert the HTTPd request event to use the new cross-module event system
2015-02-11 17:13:08 +01:00
Attila Molnar
96dd0a52d9
Convert the HTTPd ACL event to use the new cross-module event system
2015-02-11 17:09:59 +01:00
Attila Molnar
c19e9d0edb
Convert the SASL fallback event to use the new cross-module event system
2015-02-11 17:04:26 +01:00
Attila Molnar
f3ef8a230c
Convert the CAP event to use the new cross-module event system
2015-02-11 17:01:00 +01:00
Attila Molnar
971788e42f
Allow enabling/disabling caps via GenericCap::SetActive()
2015-02-11 16:52:39 +01:00
Attila Molnar
8c2135aad0
Convert the account login event to use the new cross-module event system
2015-02-11 16:46:11 +01:00
Attila Molnar
4fc2f7199e
Specify which Extensible subclass an ExtensionItem is valid for
2015-01-18 10:40:33 +01:00
Daniel Vassdal
5c7db14a55
Hashing: Redo API
...
* Don't assume the printable output of hashes is hex
* Add virtual Compare() function, usable for KDFs like BCrypt
Some changes and bugfixes are by @attilamolnar, original PR #767
2014-08-04 12:38:12 +02:00
Attila Molnar
acccaa3964
Remove current time parameter of the Timer constructor
2014-07-10 12:17:55 +02:00
Attila Molnar
0babd8c078
Change allocation of InspIRCd::Timers to be physically part of the object containing it
2014-03-15 15:38:09 +01:00
Attila Molnar
5ac1ffce11
Allow Timers to delete themselves in Tick()
2014-01-30 21:44:51 +01:00
Attila Molnar
d02011d69f
Remove whitespace and minor style changes
2014-01-23 14:37:09 +01:00
Attila Molnar
99f79a4e5c
Split IOHook into IOHook and IOHookProvider
...
Create one IOHook instance for each hooked socket which contains all the
hook specific data and read/write/close functions, removing the need for
the "issl_session" array in SSL modules.
Register instances of the IOHookProvider class in the core and use them to
create specialized IOHook instances (OnConnect/OnAccept).
Remove the OnHookIO hook, add a dynamic reference to ListenSocket that
points to the hook provider (if any) to use for incoming connections on
that socket.
For outgoing connections modules still have to find the IOHookProvider
they want to use themselves but instead of calling AddIOHook(hookprov),
now they have to call IOHookProvider::OnConnect() after the connection
has been established.
2014-01-22 19:10:01 +01:00
Attila Molnar
11916574f6
Introduce Server class
...
- Replaces std::string server in User
- Replaces InspIRCd::ULine() and SilentULine()
2014-01-05 15:04:01 +01:00
Adam
dbbd333956
Add m_ldap, and convert m_ldapoper and m_ldapauth to use it.
2013-12-19 16:40:11 +01:00
attilamolnar
992674362c
Automatically register ServiceProviders created by modules
2013-09-08 17:11:08 +02:00
attilamolnar
5384ddf545
Fix Windows build and a few more problems
2013-08-27 15:03:10 +02:00
Peter Powell
eaf658de3d
Fix various small issues.
...
- Add CXX11_OVERRIDE to *Regex::Matches and *RegexFactory::Create.
- Fix documentation comment on regex_string.
- Fix various code duplication/layout issues.
2013-08-27 12:20:03 +01:00
Peter Powell
0e7f74a7c8
Make all regex modules throw the same exception on error.
2013-08-27 12:07:49 +01:00
Peter Powell
0003fc3131
Fix some warnings which are causing debug builds to fail.
...
- Clang: private field 'module' is not used
- GCC: suggest a space before ‘;’ or explicit braces around empty
body in ‘while’ statement
2013-07-16 22:06:40 +01:00
attilamolnar
183d7a8dc0
Change the API of m_httpd to be dynamic_reference-based
2013-06-07 01:00:10 +02:00
attilamolnar
ad523652ae
Change the API of m_sslinfo to be dynamic_reference-based
2013-06-07 01:00:10 +02:00
attilamolnar
3d6d9cda32
Create SSLIOHook interface that provides GetCertificate()
2013-06-07 01:00:10 +02:00
attilamolnar
79db1cf848
Create IOHook interface (extracted from Module)
2013-06-07 01:00:10 +02:00
Adam
8428bbb387
Modularize DNS
...
The DNS modules are temporarily in commands/ so they're loaded automatically
Thanks to Attila for helping with much of this.
2013-04-26 16:59:29 -05:00