diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/config.c | 1 | ||||
-rw-r--r-- | src/core/enc_md5.c | 3 | ||||
-rw-r--r-- | src/core/enc_sha1.c | 3 | ||||
-rw-r--r-- | src/core/ns_register.c | 2 | ||||
-rw-r--r-- | src/core/ns_saset.c | 2 | ||||
-rw-r--r-- | src/core/ns_set.c | 2 |
6 files changed, 8 insertions, 5 deletions
diff --git a/src/config.c b/src/config.c index 662d6819b..162d81b07 100644 --- a/src/config.c +++ b/src/config.c @@ -611,6 +611,7 @@ int ServerConfig::Read(bool bail) {"networkinfo", "userlen", "10", new ValueContainerUInt(&Config.UserLen), DT_UINTEGER | DT_NORELOAD, NoValidation}, {"networkinfo", "hostlen", "64", new ValueContainerUInt(&Config.HostLen), DT_UINTEGER | DT_NORELOAD, NoValidation}, {"options", "encryption", "", new ValueContainerString(&EncModules), DT_STRING | DT_NORELOAD, ValidateNotEmpty}, + {"options", "passlen", "32", new ValueContainerUInt(&Config.PassLen), DT_UINTEGER | DT_NORELOAD, NoValidation}, {"options", "database", "", new ValueContainerString(&DBModules), DT_STRING | DT_NORELOAD, ValidateNotEmpty}, {"options", "userkey1", "0", new ValueContainerLUInt(&Config.UserKey1), DT_LUINTEGER, NoValidation}, {"options", "userkey2", "0", new ValueContainerLUInt(&Config.UserKey2), DT_LUINTEGER, NoValidation}, diff --git a/src/core/enc_md5.c b/src/core/enc_md5.c index cc187b3bc..e7c90f56e 100644 --- a/src/core/enc_md5.c +++ b/src/core/enc_md5.c @@ -346,7 +346,7 @@ class EMD5 : public Module EventReturn OnEncrypt(const std::string &src, std::string &dest) { MD5_CTX context; - char digest[PASSMAX]; + char *digest = new char[Config.PassLen]; std::string buf = "md5:"; char cpass[1000]; @@ -358,6 +358,7 @@ class EMD5 : public Module buf.append(cpass); Alog(LOG_DEBUG_2) << "(enc_md5) hashed password from [" << src << "] to [" << buf << "]"; dest.assign(buf); + delete [] digest; return EVENT_ALLOW; } diff --git a/src/core/enc_sha1.c b/src/core/enc_sha1.c index 95f7083ee..cea80b110 100644 --- a/src/core/enc_sha1.c +++ b/src/core/enc_sha1.c @@ -199,7 +199,7 @@ class ESHA1 : public Module EventReturn OnEncrypt(const std::string &src, std::string &dest) { SHA1_CTX context; - char digest[PASSMAX]; + char *digest = new char[Config.PassLen]; std::string buf = "sha1:"; char cpass[1000]; @@ -213,6 +213,7 @@ class ESHA1 : public Module buf.append(cpass); Alog(LOG_DEBUG_2) << "(enc_sha1) hashed password from [" << src << "] to [" << buf << "]"; dest.assign(buf); + delete [] digest; return EVENT_ALLOW; } diff --git a/src/core/ns_register.c b/src/core/ns_register.c index fcd9c329c..519266747 100644 --- a/src/core/ns_register.c +++ b/src/core/ns_register.c @@ -263,7 +263,7 @@ class CommandNSRegister : public CommandNSConfirm } else if (!stricmp(u->nick.c_str(), pass) || (Config.StrictPasswords && strlen(pass) < 5)) notice_lang(Config.s_NickServ, u, MORE_OBSCURE_PASSWORD); - else if (strlen(pass) > PASSMAX) + else if (strlen(pass) > Config.PassLen) notice_lang(Config.s_NickServ, u, PASSWORD_TOO_LONG); else if (email && !MailValidate(email)) notice_lang(Config.s_NickServ, u, MAIL_X_INVALID, email); diff --git a/src/core/ns_saset.c b/src/core/ns_saset.c index e7cc089ed..23eb5af39 100644 --- a/src/core/ns_saset.c +++ b/src/core/ns_saset.c @@ -75,7 +75,7 @@ private: notice_lang(Config.s_NickServ, u, MORE_OBSCURE_PASSWORD); return MOD_CONT; } - else if (len > PASSMAX) + else if (len > Config.PassLen) { notice_lang(Config.s_NickServ, u, PASSWORD_TOO_LONG); return MOD_CONT; diff --git a/src/core/ns_set.c b/src/core/ns_set.c index 7f7348e69..58e2ae4e1 100644 --- a/src/core/ns_set.c +++ b/src/core/ns_set.c @@ -71,7 +71,7 @@ class CommandNSSet : public Command notice_lang(Config.s_NickServ, u, MORE_OBSCURE_PASSWORD); return MOD_CONT; } - else if (len > PASSMAX) + else if (len > Config.PassLen) { notice_lang(Config.s_NickServ, u, PASSWORD_TOO_LONG); return MOD_CONT; |