diff options
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/extra/m_ssl_gnutls.cpp | 31 | ||||
-rw-r--r-- | src/modules/m_censor.cpp | 4 | ||||
-rw-r--r-- | src/modules/m_chancreate.cpp | 4 | ||||
-rw-r--r-- | src/modules/m_chanfilter.cpp | 4 | ||||
-rw-r--r-- | src/modules/m_check.cpp | 6 | ||||
-rw-r--r-- | src/modules/m_clones.cpp | 8 | ||||
-rw-r--r-- | src/modules/m_connectban.cpp | 4 | ||||
-rw-r--r-- | src/modules/m_dccallow.cpp | 4 | ||||
-rw-r--r-- | src/modules/m_delayjoin.cpp | 5 | ||||
-rw-r--r-- | src/modules/m_globops.cpp | 6 | ||||
-rw-r--r-- | src/modules/m_halfop.cpp | 2 | ||||
-rw-r--r-- | src/modules/m_helpop.cpp | 2 | ||||
-rw-r--r-- | src/modules/m_httpd_config.cpp | 4 | ||||
-rw-r--r-- | src/modules/m_jumpserver.cpp | 4 | ||||
-rw-r--r-- | src/modules/m_knock.cpp | 4 | ||||
-rw-r--r-- | src/modules/m_md5.cpp | 2 | ||||
-rw-r--r-- | src/modules/m_mlock.cpp | 3 | ||||
-rw-r--r-- | src/modules/m_namedmodes.cpp | 2 | ||||
-rw-r--r-- | src/modules/m_operlevels.cpp | 3 | ||||
-rw-r--r-- | src/modules/m_passforward.cpp | 3 | ||||
-rw-r--r-- | src/modules/m_randquote.cpp | 6 | ||||
-rw-r--r-- | src/modules/m_rline.cpp | 5 | ||||
-rw-r--r-- | src/modules/m_seenicks.cpp | 2 | ||||
-rw-r--r-- | src/modules/m_services_account.cpp | 6 | ||||
-rw-r--r-- | src/modules/m_shun.cpp | 4 |
25 files changed, 75 insertions, 53 deletions
diff --git a/src/modules/extra/m_ssl_gnutls.cpp b/src/modules/extra/m_ssl_gnutls.cpp index 22c027cfb..6ca876d4c 100644 --- a/src/modules/extra/m_ssl_gnutls.cpp +++ b/src/modules/extra/m_ssl_gnutls.cpp @@ -156,6 +156,7 @@ class ModuleSSLGnuTLS : public Module int dh_bits; bool cred_alloc; + bool dh_alloc; RandGen randhandler; CommandStartTLS starttls; @@ -173,6 +174,7 @@ class ModuleSSLGnuTLS : public Module gnutls_x509_privkey_init(&x509_key); cred_alloc = false; + dh_alloc = false; } void init() @@ -252,20 +254,25 @@ class ModuleSSLGnuTLS : public Module int ret; + if (dh_alloc) + { + gnutls_dh_params_deinit(dh_params); + dh_alloc = false; + } + if (cred_alloc) { // Deallocate the old credentials - gnutls_dh_params_deinit(dh_params); gnutls_certificate_free_credentials(x509_cred); for(unsigned int i=0; i < x509_certs.size(); i++) gnutls_x509_crt_deinit(x509_certs[i]); x509_certs.clear(); } - else - cred_alloc = true; - if((ret = gnutls_certificate_allocate_credentials(&x509_cred)) < 0) + ret = gnutls_certificate_allocate_credentials(&x509_cred); + cred_alloc = (ret >= 0); + if (!cred_alloc) ServerInstance->Logs->Log("m_ssl_gnutls",DEBUG, "m_ssl_gnutls.so: Failed to allocate certificate credentials: %s", gnutls_strerror(ret)); if((ret =gnutls_certificate_set_x509_trust_file(x509_cred, cafile.c_str(), GNUTLS_X509_FMT_PEM)) < 0) @@ -300,7 +307,9 @@ class ModuleSSLGnuTLS : public Module gnutls_certificate_client_set_retrieve_function (x509_cred, cert_callback); - if((ret = gnutls_dh_params_init(&dh_params)) < 0) + ret = gnutls_dh_params_init(&dh_params); + dh_alloc = (ret >= 0); + if (!dh_alloc) ServerInstance->Logs->Log("m_ssl_gnutls",DEFAULT, "m_ssl_gnutls.so: Failed to initialise DH parameters: %s", gnutls_strerror(ret)); // This may be on a large (once a day or week) timer eventually. @@ -314,6 +323,9 @@ class ModuleSSLGnuTLS : public Module // once a day, once a week or once a month. Depending on the // security requirements. + if (!dh_alloc) + return; + int ret; if((ret = gnutls_dh_params_generate2(dh_params, dh_bits)) < 0) @@ -324,13 +336,14 @@ class ModuleSSLGnuTLS : public Module { for(unsigned int i=0; i < x509_certs.size(); i++) gnutls_x509_crt_deinit(x509_certs[i]); - x509_certs.clear(); + gnutls_x509_privkey_deinit(x509_key); - if (cred_alloc) - { + + if (dh_alloc) gnutls_dh_params_deinit(dh_params); + if (cred_alloc) gnutls_certificate_free_credentials(x509_cred); - } + gnutls_global_deinit(); delete[] sessions; ServerInstance->GenRandom = &ServerInstance->HandleGenRandom; diff --git a/src/modules/m_censor.cpp b/src/modules/m_censor.cpp index 170fe8b07..5e832cc8b 100644 --- a/src/modules/m_censor.cpp +++ b/src/modules/m_censor.cpp @@ -20,6 +20,8 @@ */ +/* $ModDesc: Provides user and channel +G mode */ + #define _CRT_SECURE_NO_DEPRECATE #define _SCL_SECURE_NO_DEPRECATE @@ -28,8 +30,6 @@ typedef std::map<irc::string,irc::string> censor_t; -/* $ModDesc: Provides user and channel +G mode */ - /** Handles usermode +G */ class CensorUser : public SimpleUserModeHandler diff --git a/src/modules/m_chancreate.cpp b/src/modules/m_chancreate.cpp index d7dfe8d2c..48f60a8d9 100644 --- a/src/modules/m_chancreate.cpp +++ b/src/modules/m_chancreate.cpp @@ -21,7 +21,7 @@ #include "inspircd.h" -/* $ModDesc: Creates a snomask with notices whenever a new channel is created */ +/* $ModDesc: Provides snomasks 'j' and 'J', to which notices about newly created channels are sent */ class ModuleChanCreate : public Module { @@ -36,7 +36,7 @@ class ModuleChanCreate : public Module Version GetVersion() { - return Version("Creates a snomask with notices whenever a new channel is created",VF_VENDOR); + return Version("Provides snomasks 'j' and 'J', to which notices about newly created channels are sent",VF_VENDOR); } diff --git a/src/modules/m_chanfilter.cpp b/src/modules/m_chanfilter.cpp index e6585e524..c899d7a4b 100644 --- a/src/modules/m_chanfilter.cpp +++ b/src/modules/m_chanfilter.cpp @@ -23,14 +23,14 @@ */ +/* $ModDesc: Provides channel-specific censor lists (like mode +G but varies from channel to channel) */ + #define _CRT_SECURE_NO_DEPRECATE #define _SCL_SECURE_NO_DEPRECATE #include "inspircd.h" #include "u_listmode.h" -/* $ModDesc: Provides channel-specific censor lists (like mode +G but varies from channel to channel) */ - /** Handles channel mode +g */ class ChanFilter : public ListModeBase diff --git a/src/modules/m_check.cpp b/src/modules/m_check.cpp index cabfd02bc..8316b09fe 100644 --- a/src/modules/m_check.cpp +++ b/src/modules/m_check.cpp @@ -20,9 +20,9 @@ */ -#include "inspircd.h" +/* $ModDesc: Provides the /CHECK command to retrieve information on a user, channel, hostname or IP address */ -/* $ModDesc: Provides the /check command to retrieve information on a user, channel, or IP address */ +#include "inspircd.h" /** Handle /CHECK */ @@ -288,7 +288,7 @@ class ModuleCheck : public Module Version GetVersion() { - return Version("CHECK command, view user/channel details", VF_VENDOR|VF_OPTCOMMON); + return Version("CHECK command, view user, channel, IP address or hostname information", VF_VENDOR|VF_OPTCOMMON); } }; diff --git a/src/modules/m_clones.cpp b/src/modules/m_clones.cpp index 1e5841609..aceac0dc7 100644 --- a/src/modules/m_clones.cpp +++ b/src/modules/m_clones.cpp @@ -21,9 +21,9 @@ #include "inspircd.h" -/* $ModDesc: Provides the /clones command to retrieve information on clones. */ +/* $ModDesc: Provides the /CLONES command to retrieve information on clones. */ -/** Handle /CHECK +/** Handle /CLONES */ class CommandClones : public Command { @@ -44,7 +44,7 @@ class CommandClones : public Command * Syntax of a /clones reply: * :server.name 304 target :CLONES START * :server.name 304 target :CLONES <count> <ip> - * :server.name 304 target :CHECK END + * :server.name 304 target :CLONES END */ user->WriteServ(clonesstr + " START"); @@ -80,7 +80,7 @@ class ModuleClones : public Module virtual Version GetVersion() { - return Version("Provides the /clones command to retrieve information on clones.", VF_VENDOR); + return Version("Provides the /CLONES command to retrieve information on clones.", VF_VENDOR); } diff --git a/src/modules/m_connectban.cpp b/src/modules/m_connectban.cpp index f831a3b77..00452a8f2 100644 --- a/src/modules/m_connectban.cpp +++ b/src/modules/m_connectban.cpp @@ -20,7 +20,7 @@ #include "inspircd.h" #include "xline.h" -/* $ModDesc: Throttles the connections of any users who try connect flood */ +/* $ModDesc: Throttles the connections of IP ranges who try to connect flood. */ class ModuleConnectBan : public Module { @@ -43,7 +43,7 @@ class ModuleConnectBan : public Module virtual Version GetVersion() { - return Version("Throttles the connections of any users who try connect flood", VF_VENDOR); + return Version("Throttles the connections of IP ranges who try to connect flood.", VF_VENDOR); } virtual void OnRehash(User* user) diff --git a/src/modules/m_dccallow.cpp b/src/modules/m_dccallow.cpp index 495a0da5a..8c2a5f73e 100644 --- a/src/modules/m_dccallow.cpp +++ b/src/modules/m_dccallow.cpp @@ -25,7 +25,7 @@ #include "inspircd.h" -/* $ModDesc: Povides support for the /DCCALLOW command */ +/* $ModDesc: Provides support for the /DCCALLOW command */ class BannedFileList { @@ -479,7 +479,7 @@ class ModuleDCCAllow : public Module virtual Version GetVersion() { - return Version("Povides support for the /DCCALLOW command", VF_COMMON | VF_VENDOR); + return Version("Provides support for the /DCCALLOW command", VF_COMMON | VF_VENDOR); } }; diff --git a/src/modules/m_delayjoin.cpp b/src/modules/m_delayjoin.cpp index 3a574d485..34d782c77 100644 --- a/src/modules/m_delayjoin.cpp +++ b/src/modules/m_delayjoin.cpp @@ -20,6 +20,8 @@ */ +/* $ModDesc: Allows for delay-join channels (+D) where users don't appear to join until they speak */ + #include "inspircd.h" #include <stdarg.h> @@ -60,8 +62,6 @@ class ModuleDelayJoin : public Module ModResult OnRawMode(User* user, Channel* channel, const char mode, const std::string ¶m, bool adding, int pcnt); }; -/* $ModDesc: Allows for delay-join channels (+D) where users don't appear to join until they speak */ - ModeAction DelayJoinMode::OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding) { /* no change */ @@ -194,4 +194,3 @@ ModResult ModuleDelayJoin::OnRawMode(User* user, Channel* channel, const char mo } MODULE_INIT(ModuleDelayJoin) - diff --git a/src/modules/m_globops.cpp b/src/modules/m_globops.cpp index 2ef6d61d8..db55858d6 100644 --- a/src/modules/m_globops.cpp +++ b/src/modules/m_globops.cpp @@ -19,11 +19,11 @@ */ -// Globops and +g support module by C.J.Edwards +// Globops and snomask +g module by C.J.Edwards #include "inspircd.h" -/* $ModDesc: Provides support for GLOBOPS and user mode +g */ +/* $ModDesc: Provides support for GLOBOPS and snomask +g */ /** Handle /GLOBOPS */ @@ -63,7 +63,7 @@ class ModuleGlobops : public Module virtual Version GetVersion() { - return Version("Provides support for GLOBOPS and user mode +g", VF_VENDOR); + return Version("Provides support for GLOBOPS and snomask +g", VF_VENDOR); } }; diff --git a/src/modules/m_halfop.cpp b/src/modules/m_halfop.cpp index 2c4b086cb..f0eda3e56 100644 --- a/src/modules/m_halfop.cpp +++ b/src/modules/m_halfop.cpp @@ -17,6 +17,8 @@ */ +/* $ModDesc: Channel half-operator mode provider */ + #include "inspircd.h" class ModeChannelHalfOp : public ModeHandler diff --git a/src/modules/m_helpop.cpp b/src/modules/m_helpop.cpp index dd2e77986..a7bd4a8c5 100644 --- a/src/modules/m_helpop.cpp +++ b/src/modules/m_helpop.cpp @@ -21,6 +21,8 @@ */ +/* $ModDesc: Provides the /HELPOP command, works like UnrealIRCd's helpop */ + #include "inspircd.h" static std::map<irc::string, std::string> helpop_map; diff --git a/src/modules/m_httpd_config.cpp b/src/modules/m_httpd_config.cpp index aa84b83a4..0df1c12fb 100644 --- a/src/modules/m_httpd_config.cpp +++ b/src/modules/m_httpd_config.cpp @@ -22,7 +22,7 @@ #include "httpd.h" #include "protocol.h" -/* $ModDesc: Provides statistics over HTTP via m_httpd.so */ +/* $ModDesc: Allows for the server configuration to be viewed over HTTP via m_httpd.so */ class ModuleHttpConfig : public Module { @@ -107,7 +107,7 @@ class ModuleHttpConfig : public Module virtual Version GetVersion() { - return Version("Provides configuration over HTTP via m_httpd.so", VF_VENDOR); + return Version("Allows for the server configuration to be viewed over HTTP via m_httpd.so", VF_VENDOR); } }; diff --git a/src/modules/m_jumpserver.cpp b/src/modules/m_jumpserver.cpp index 4379f931a..9a171a19a 100644 --- a/src/modules/m_jumpserver.cpp +++ b/src/modules/m_jumpserver.cpp @@ -21,7 +21,7 @@ #include "inspircd.h" -/* $ModDesc: Provides support for the RPL_REDIR numeric */ +/* $ModDesc: Provides support for the RPL_REDIR numeric and the /JUMPSERVER command. */ /** Handle /JUMPSERVER */ @@ -174,7 +174,7 @@ class ModuleJumpServer : public Module virtual Version GetVersion() { - return Version("Provides support for the RPL_REDIR numeric", VF_VENDOR); + return Version("Provides support for the RPL_REDIR numeric and the /JUMPSERVER command.", VF_VENDOR); } }; diff --git a/src/modules/m_knock.cpp b/src/modules/m_knock.cpp index 5664e79ab..84838ec7f 100644 --- a/src/modules/m_knock.cpp +++ b/src/modules/m_knock.cpp @@ -21,7 +21,7 @@ #include "inspircd.h" -/* $ModDesc: Provides support for /KNOCK and mode +K */ +/* $ModDesc: Provides support for /KNOCK and channel mode +K */ /** Handles the /KNOCK command */ @@ -109,7 +109,7 @@ class ModuleKnock : public Module virtual Version GetVersion() { - return Version("Provides support for /KNOCK and mode +K", VF_OPTCOMMON | VF_VENDOR); + return Version("Provides support for /KNOCK and channel mode +K", VF_OPTCOMMON | VF_VENDOR); } }; diff --git a/src/modules/m_md5.cpp b/src/modules/m_md5.cpp index f8f13dcbc..14ccf16a8 100644 --- a/src/modules/m_md5.cpp +++ b/src/modules/m_md5.cpp @@ -158,7 +158,7 @@ class MD5Provider : public HashProvider byteSwap(ctx->buf, 4); memcpy(digest, ctx->buf, 16); - memset(ctx, 0, sizeof(ctx)); + memset(ctx, 0, sizeof(*ctx)); } void MD5Transform(word32 buf[4], word32 const in[16]) diff --git a/src/modules/m_mlock.cpp b/src/modules/m_mlock.cpp index b5f34c936..e9ca3bfd0 100644 --- a/src/modules/m_mlock.cpp +++ b/src/modules/m_mlock.cpp @@ -16,6 +16,9 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +/* $ModDesc: Implements the ability to have server-side MLOCK enforcement. */ + #include "inspircd.h" class ModuleMLock : public Module diff --git a/src/modules/m_namedmodes.cpp b/src/modules/m_namedmodes.cpp index 8233f4357..024cc427c 100644 --- a/src/modules/m_namedmodes.cpp +++ b/src/modules/m_namedmodes.cpp @@ -17,6 +17,8 @@ */ +/* $ModDesc: Provides the ability to manipulate modes via long names. */ + #include "inspircd.h" static void DisplayList(User* user, Channel* channel) diff --git a/src/modules/m_operlevels.cpp b/src/modules/m_operlevels.cpp index d142a4b0f..da506dd58 100644 --- a/src/modules/m_operlevels.cpp +++ b/src/modules/m_operlevels.cpp @@ -20,9 +20,10 @@ */ +/* $ModDesc: Gives each oper type a 'level', cannot kill opers 'above' your level. */ + #include "inspircd.h" -/* $ModDesc: Gives each oper type a 'level', cannot kill opers 'above' your level. */ class ModuleOperLevels : public Module { public: diff --git a/src/modules/m_passforward.cpp b/src/modules/m_passforward.cpp index 47f71bbe0..bf09c1f6e 100644 --- a/src/modules/m_passforward.cpp +++ b/src/modules/m_passforward.cpp @@ -17,6 +17,8 @@ */ +/* $ModDesc: Forwards a password users can send on connect (for example for NickServ identification). */ + #include "inspircd.h" class ModulePassForward : public Module @@ -100,4 +102,3 @@ class ModulePassForward : public Module }; MODULE_INIT(ModulePassForward) - diff --git a/src/modules/m_randquote.cpp b/src/modules/m_randquote.cpp index 94cd3dbac..5fa63d8f4 100644 --- a/src/modules/m_randquote.cpp +++ b/src/modules/m_randquote.cpp @@ -21,6 +21,8 @@ */ +/* $ModDesc: Provides random quotes on connect. */ + #include "inspircd.h" static FileReader *quotes = NULL; @@ -28,8 +30,6 @@ static FileReader *quotes = NULL; std::string prefix; std::string suffix; -/* $ModDesc: Provides random Quotes on Connect. */ - /** Handle /RANDQUOTE */ class CommandRandquote : public Command @@ -88,7 +88,7 @@ class ModuleRandQuote : public Module virtual Version GetVersion() { - return Version("Provides random Quotes on Connect.",VF_VENDOR); + return Version("Provides random quotes on connect.",VF_VENDOR); } virtual void OnUserConnect(LocalUser* user) diff --git a/src/modules/m_rline.cpp b/src/modules/m_rline.cpp index 5ee3355df..06c852938 100644 --- a/src/modules/m_rline.cpp +++ b/src/modules/m_rline.cpp @@ -20,6 +20,8 @@ */ +/* $ModDesc: RLINE: Regexp user banning. */ + #include "inspircd.h" #include "m_regex.h" #include "xline.h" @@ -27,8 +29,6 @@ static bool ZlineOnMatch = false; static std::vector<ZLine *> background_zlines; -/* $ModDesc: RLINE: Regexp user banning. */ - class RLine : public XLine { public: @@ -316,4 +316,3 @@ class ModuleRLine : public Module }; MODULE_INIT(ModuleRLine) - diff --git a/src/modules/m_seenicks.cpp b/src/modules/m_seenicks.cpp index 02c2621bb..297504e05 100644 --- a/src/modules/m_seenicks.cpp +++ b/src/modules/m_seenicks.cpp @@ -21,7 +21,7 @@ #include "inspircd.h" -/* $ModDesc: Provides support for seeing local and remote nickchanges via snomasks */ +/* $ModDesc: Provides support for seeing local and remote nickchanges via snomasks 'n' and 'N'. */ class ModuleSeeNicks : public Module { diff --git a/src/modules/m_services_account.cpp b/src/modules/m_services_account.cpp index ef4802690..7f3c54907 100644 --- a/src/modules/m_services_account.cpp +++ b/src/modules/m_services_account.cpp @@ -21,11 +21,11 @@ */ +/* $ModDesc: Provides support for ircu-style services accounts, including chmode +R, etc. */ + #include "inspircd.h" #include "account.h" -/* $ModDesc: Povides support for ircu-style services accounts, including chmode +R, etc. */ - /** Channel mode +r - mark a channel as identified */ class Channel_r : public ModeHandler @@ -289,7 +289,7 @@ class ModuleServicesAccount : public Module Version GetVersion() { - return Version("Povides support for ircu-style services accounts, including chmode +R, etc.",VF_OPTCOMMON|VF_VENDOR); + return Version("Provides support for ircu-style services accounts, including chmode +R, etc.",VF_OPTCOMMON|VF_VENDOR); } }; diff --git a/src/modules/m_shun.cpp b/src/modules/m_shun.cpp index 5db3c8ef7..391f9a187 100644 --- a/src/modules/m_shun.cpp +++ b/src/modules/m_shun.cpp @@ -23,7 +23,7 @@ #include "inspircd.h" #include "xline.h" -/* $ModDesc: Provides the /shun command, which stops a user executing all commands except PING and PONG. */ +/* $ModDesc: Provides the /SHUN command, which stops a user from executing all except configured commands. */ class Shun : public XLine { @@ -308,7 +308,7 @@ class ModuleShun : public Module virtual Version GetVersion() { - return Version("Provides the /shun command, which stops a user executing all commands except PING and PONG.",VF_VENDOR|VF_COMMON); + return Version("Provides the /SHUN command, which stops a user from executing all except configured commands.",VF_VENDOR|VF_COMMON); } }; |