summaryrefslogtreecommitdiff
path: root/nickserv.c
diff options
context:
space:
mode:
authordane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-06-18 16:38:43 +0000
committerdane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-06-18 16:38:43 +0000
commit1d1c478e4ff9c484be01ad0d55d5f3c0a91b2561 (patch)
treee2d601a6ee6a167671da595b22be602aaaa6c4a1 /nickserv.c
parentbb020753879abb7ede7c0343f528027a2b99ebb2 (diff)
BUILD : 1.7.4 (206) BUGS : 55 NOTES : Added proper Bahamut1.8 support. Merged r132:195 from branch branches/proto/anope-bahamut18 which should now be obsolete.
git-svn-id: svn://svn.anope.org/anope/trunk@206 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@148 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'nickserv.c')
-rw-r--r--nickserv.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/nickserv.c b/nickserv.c
index c8c7546c6..5916d319f 100644
--- a/nickserv.c
+++ b/nickserv.c
@@ -1112,14 +1112,22 @@ void cancel_user(User * u)
if (na) {
if (na->status & NS_GUESTED) {
- NEWNICK(u->nick, NSEnforcerUser, NSEnforcerHost,
- "Services Enforcer", "+", 0);
- add_ns_timeout(na, TO_RELEASE, NSReleaseTimeout);
- na->status &= ~NS_TEMPORARY;
+#ifdef HAS_SVSHOLD
+ if (UseSVSHOLD) {
+ send_cmd(ServerName, "SVSHOLD %s %d :%s", na->nick,
+ NSReleaseTimeout,
+ "Being held for registered user");
+ } else {
+#endif
+ NEWNICK(u->nick, NSEnforcerUser, NSEnforcerHost,
+ "Services Enforcer", "+", 0);
+ add_ns_timeout(na, TO_RELEASE, NSReleaseTimeout);
+#ifdef HAS_SVSHOLD
+ }
+#endif
na->status |= NS_KILL_HELD;
- } else {
- na->status &= ~NS_TEMPORARY;
}
+ na->status &= ~NS_TEMPORARY;
del_ns_timeout(na, TO_COLLIDE);
}
@@ -1685,7 +1693,12 @@ static void release(NickAlias * na, int from_timeout)
{
if (!from_timeout)
del_ns_timeout(na, TO_RELEASE);
- send_cmd(na->nick, "QUIT");
+#ifdef HAS_SVSHOLD
+ if (UseSVSHOLD)
+ send_cmd(ServerName, "SVSHOLD %s 0", na->nick);
+ else
+#endif
+ send_cmd(na->nick, "QUIT");
na->status &= ~NS_KILL_HELD;
}