summaryrefslogtreecommitdiff
path: root/modules/core/ns_release.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/core/ns_release.cpp')
-rw-r--r--modules/core/ns_release.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/modules/core/ns_release.cpp b/modules/core/ns_release.cpp
index 3468d1119..ff0424577 100644
--- a/modules/core/ns_release.cpp
+++ b/modules/core/ns_release.cpp
@@ -43,6 +43,7 @@ class CommandNSRelease : public Command
if (res == 1)
{
Log(LOG_COMMAND, u, this) << "released " << na->nick;
+ na->Release();
source.Reply(_("Services' hold on your nick has been released."));
}
else
@@ -58,7 +59,8 @@ class CommandNSRelease : public Command
}
else
{
- if (u->Account() == na->nc || (!na->nc->HasFlag(NI_SECURE) && is_on_access(u, na->nc)))
+ if (u->Account() == na->nc || (!na->nc->HasFlag(NI_SECURE) && is_on_access(u, na->nc)) ||
+ (!u->fingerprint.empty() && na->nc->FindCert(u->fingerprint)))
{
na->Release();
source.Reply(_("Services' hold on your nick has been released."));