summaryrefslogtreecommitdiff
path: root/src/modules/extra
AgeCommit message (Collapse)Author
2014-01-22Split IOHook into IOHook and IOHookProviderAttila Molnar
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-22Add the ability to have multiple SSL profilesAttila Molnar
SSL profiles are now used instead of fixed SSL settings for everything SSL, making it possible to use completely different settings for each listener and outgoing connection. Outgoing connections are broken until the next commit.
2014-01-22m_ssl_gnutls Create GNUTLS_NEW_CERT_CALLBACK_API and cert_cb_last_param_typeAttila Molnar
2014-01-21Add m_starttls and remove it from m_ssl_gnutls, which allows it to work with ↵Adam
both openssl and gnutls
2013-12-19Add m_ldap, and convert m_ldapoper and m_ldapauth to use it.Adam
2013-11-18Use gnutls_rnd instead of gcry_randomize on newer GnuTLS versions.Peter Powell
Also, fix a bug where eval() caused compile errors.
2013-11-12Use WriteNumeric() everywhere we send numerics and include the user's nick ↵Adam
automatically
2013-09-08Automatically register ServiceProviders created by modulesattilamolnar
2013-08-30Replace OnRehash() with ReadConfig() that is called on boot, on module load ↵attilamolnar
and on rehash This eliminates the need for calling OnRehash() in init()
2013-08-30Merge insp20attilamolnar
2013-08-27Fix various small issues.Peter Powell
- Add CXX11_OVERRIDE to *Regex::Matches and *RegexFactory::Create. - Fix documentation comment on regex_string. - Fix various code duplication/layout issues.
2013-08-27Make all regex modules throw the same exception on error.Peter Powell
2013-08-16Clean up the build system properties and related code.Peter Powell
- Deduplicate getcompilerflags, getdependancies, getlinkerflags. - Remove $NoPedantic (add -Wno-pedantic to $CompileFlags instead). - Remove --enable-freebsd-ports-openssl and all related code (this will be replaced with --no-pkg-config=[name] in the future). - Remove some unused build system properties. - Remove support for caching third party include and library paths (can cause unexpected problems when they change).
2013-08-15Remove $ModDep commentsattilamolnar
2013-08-13m_ssl_gnutls Fix feature testing and cipher suite related errors on older ↵attilamolnar
GnuTLS versions Use the (old) LIBGNUTLS_VERSION_* defines as a fallback when GNUTLS_VERSION_* is unavailable Fixes #595 reported by @rhylan
2013-08-12Add <path> keys for all of the compile-time paths.Peter Powell
Also, make all paths in the config relative to their associated directory. This reverts a change in 2.0 which turned out to be a terrible idea, especially for system-wide installations.
2013-08-04Automatically attach modules to eventsattilamolnar
2013-08-04Modify the log message to contain the log type.Peter Powell
2013-08-04Change modules to use the MODNAME constant when logging.Peter Powell
The majority of modules were logging with their module name as the log type. There was a few places which were logging to a non-name type but, with the exception of CONFIG, those messages are so uncommon that it doesn't make sense to use a seperate type for them.
2013-07-16m_ssl_openssl Fix inverted check that prevented certificates from being ↵attilamolnar
recognized as trusted
2013-07-06Allow the user to specify any hashing mechanism supported by the underlying ↵Daniel Vassdal
SSL library
2013-07-04Remove $Core and $Mod* comments apart from $ModDep.Peter Powell
2013-06-16Add RE2 regex module.Peter Powell
2013-06-07Create SSLIOHook interface that provides GetCertificate()attilamolnar
2013-06-07Create IOHook interface (extracted from Module)attilamolnar
2013-06-06Convert a ton of uses of MAXBUF to use a fixed buffer size.Peter Powell
2013-06-06Compare to ServerLimits::MaxLine instead of MAXBUF.Peter Powell
2013-06-06Reserve ServerLimits::MaxLine instead of MAXBUF.Peter Powell
2013-06-06Merge insp20attilamolnar
2013-06-05Remove unnecessary string copies and dead codeattilamolnar
2013-06-04m_pgsql Same fix as 0e09600a431d0e0f2cde6457e088d84caf6d6f5dattilamolnar
2013-06-01m_mysql Fix escaping strings longer than MAXBUF/2attilamolnar
Quotes from the documentation: "You must allocate the to buffer to be at least length*2+1 bytes long. (In the worst case, each character may need to be encoded as using two bytes, and you need room for the terminating null byte.)" "The return value is the length of the encoded string, not including the terminating null character." http://dev.mysql.com/doc/refman/5.6/en/mysql-real-escape-string.html
2013-05-27Clean up the FileReader class and all of the modules that use it.Peter Powell
- Modules which use this class will now have to catch a CoreException when opening files if they wish to ignore the failed loading of a file. - m_randquote has been cleaned up massively and the RANDQUOTE command has been removed as it was pretty much useless.
2013-05-22m_mysql Fix crash on rehash when the database tags have been changed in the ↵attilamolnar
config
2013-05-19Fix spacing in calls to LogManager::Log.Peter Powell
2013-05-18Deduplicate hex string creation codeattilamolnar
2013-05-18m_geoip Set cc in OnSetConnectClass to the newly created string if it was NULLattilamolnar
2013-05-15Tidy up keywords on module methods.Peter Powell
- Remove virtual keyword from a ton of methods which don't need it. - Add override keyword to a ton of methods which do need it.
2013-05-15Replace some C-isms with C++-isms.Peter Powell
* 'const char*' to 'const std::string&'. * snprintf to std::string concatenation. * Replace duplicated OneOfMatches with InspIRCd::MatchMask.
2013-05-14Add method for writing server notices.Peter Powell
This allows us to send a server notice to a user without worrying about whether they are registered or not. If a user receives a server notice and they are not registered then the nickname field will contain an asterisk instead of their nick name.
2013-05-02m_ssl_gnutls Call gnutls_transport_set_errno() on Windows onlyattilamolnar
2013-05-02Fix gnutls (again) on Windows by using gnutls_transport_set_errno()Adam
2013-04-28Merge insp20attilamolnar
2013-04-24m_ssl_gnutls Add ability to load DH params from fileattilamolnar
This greatly decreases the load time because the DH parameters no longer have to be (re)generated each time the module is loaded
2013-04-21Timer changes and TimerManager enhancementsattilamolnar
Timer::Tick() now has a bool return value: if false is returned the timer is deleted using operator delete, otherwise, if it's a repeating timer then it's rescheduled (readded) Timers are removed from the TimerManager automatically at destruction Timers are now stored in a multimap instead of a sorted vector
2013-04-16Fix m_ssl_gnutls and perhaps some other things on Windows by recognizing ↵Adam
WSAEWOULDBLOCK
2013-04-12Tidy up source files:Peter Powell
- Use #pragma once instead of include guards. - Move header files in src/modules to include/modules. - Fixed various spacing issues.
2013-04-12Add LOG_ prefix to the log level enum values.Peter Powell
2013-04-11Convert ISUPPORT to use a map instead of a string.Peter Powell
2013-04-02m_geoip: Fix compilationChrisTX