diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/commands/ns_register.cpp | 3 | ||||
| -rw-r--r-- | modules/commands/ns_set.cpp | 14 |
2 files changed, 17 insertions, 0 deletions
diff --git a/modules/commands/ns_register.cpp b/modules/commands/ns_register.cpp index bf59ad1d0..bdbff9386 100644 --- a/modules/commands/ns_register.cpp +++ b/modules/commands/ns_register.cpp @@ -192,6 +192,7 @@ class CommandNSRegister : public Command } } + unsigned int minpasslen = Config->GetModule("nickserv")->Get<unsigned>("minpasslen", "8"); unsigned int maxpasslen = Config->GetModule("nickserv")->Get<unsigned>("maxpasslen", "32"); if (Config->GetModule("nickserv")->Get<bool>("forceemail", "yes") && email.empty()) @@ -202,6 +203,8 @@ class CommandNSRegister : public Command source.Reply(NICK_ALREADY_REGISTERED, u_nick.c_str()); else if (pass.equals_ci(u_nick) || (Config->GetBlock("options")->Get<bool>("strictpasswords") && pass.length() < 5)) source.Reply(MORE_OBSCURE_PASSWORD); + else if (pass.length() < minpasslen) + source.Reply(PASSWORD_TOO_SHORT, minpasslen); else if (pass.length() > maxpasslen) source.Reply(PASSWORD_TOO_LONG, maxpasslen); else if (!email.empty() && !Mail::Validate(email)) diff --git a/modules/commands/ns_set.cpp b/modules/commands/ns_set.cpp index 22f74703c..8008bd5d4 100644 --- a/modules/commands/ns_set.cpp +++ b/modules/commands/ns_set.cpp @@ -137,6 +137,13 @@ class CommandNSSetPassword : public Command return; } + unsigned int minpasslen = Config->GetModule("nickserv")->Get<unsigned>("minpasslen", "8"); + if (len < minpasslen) + { + source.Reply(PASSWORD_TOO_SHORT, minpasslen); + return; + } + unsigned int maxpasslen = Config->GetModule("nickserv")->Get<unsigned>("maxpasslen", "32"); if (len > maxpasslen) { @@ -199,6 +206,13 @@ class CommandNSSASetPassword : public Command return; } + unsigned int minpasslen = Config->GetModule("nickserv")->Get<unsigned>("minpasslen", "8"); + if (len < minpasslen) + { + source.Reply(PASSWORD_TOO_SHORT, minpasslen); + return; + } + unsigned int maxpasslen = Config->GetModule("nickserv")->Get<unsigned>("maxpasslen", "32"); if (len > maxpasslen) { |
