summaryrefslogtreecommitdiff
path: root/src/protocol
diff options
context:
space:
mode:
authorAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2009-12-01 00:06:21 +0000
committerAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2009-12-01 00:06:21 +0000
commitb5242e3be0801abd0edebf62955b1d1b6cd3fd7d (patch)
tree2aa6d1c88fef3a0cfb12fee3e216a8cdcddc6af6 /src/protocol
parent84ac00e953c9d8a03bd7b76bcdf5de26832edcfa (diff)
Fixed bug #1106 - Anope now keeps track of users cloaked hosts as well as virtual host and will use both in matching for things
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/stable@2679 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/protocol')
-rw-r--r--src/protocol/rageircd.c2
-rw-r--r--src/protocol/solidircd.c2
-rw-r--r--src/protocol/ultimate3.c2
-rw-r--r--src/protocol/unreal31.c9
-rw-r--r--src/protocol/unreal32.c19
-rw-r--r--src/protocol/viagra.c2
6 files changed, 20 insertions, 16 deletions
diff --git a/src/protocol/rageircd.c b/src/protocol/rageircd.c
index 5ad02f5ec..4103fc202 100644
--- a/src/protocol/rageircd.c
+++ b/src/protocol/rageircd.c
@@ -668,7 +668,7 @@ void rageircd_cmd_topic(char *whosets, char *chan, char *whosetit,
void rageircd_cmd_vhost_off(User * u)
{
- send_cmd(s_HostServ, "SVSMODE %s -x", u->nick);
+ common_svsmode(u, "-x", NULL);
notice_lang(s_HostServ, u, HOST_OFF_UNREAL, u->nick, ircd->vhostchar);
}
diff --git a/src/protocol/solidircd.c b/src/protocol/solidircd.c
index 52e6c5dd4..dbcff821a 100644
--- a/src/protocol/solidircd.c
+++ b/src/protocol/solidircd.c
@@ -1388,7 +1388,7 @@ void solidircd_cmd_vhost_on(char *nick, char *vIdent, char *vhost)
void solidircd_cmd_vhost_off(User * u)
{
- send_cmd(s_HostServ, "SVSMODE %s -v", u->nick);
+ common_svsmode(u, "-v", NULL);
notice_lang(s_HostServ, u, HOST_OFF_UNREAL, u->nick, ircd->vhostchar);
}
diff --git a/src/protocol/ultimate3.c b/src/protocol/ultimate3.c
index 5afde95e0..2a328186d 100644
--- a/src/protocol/ultimate3.c
+++ b/src/protocol/ultimate3.c
@@ -720,7 +720,7 @@ void ultimate3_cmd_remove_akill(char *user, char *host)
void ultimate3_cmd_vhost_off(User * u)
{
- send_cmd(s_HostServ, "SVSMODE %s -x", u->nick);
+ common_svsmode(u, "-x", NULL);
notice_lang(s_HostServ, u, HOST_OFF_UNREAL, u->nick, ircd->vhostchar);
}
diff --git a/src/protocol/unreal31.c b/src/protocol/unreal31.c
index 2284a9faf..76a31c4cf 100644
--- a/src/protocol/unreal31.c
+++ b/src/protocol/unreal31.c
@@ -424,6 +424,12 @@ void unreal_set_umode(User * user, int ac, char **av)
}
break;
case 'x':
+ if (!add)
+ {
+ if (user->vhost)
+ free(user->vhost);
+ user->vhost = NULL;
+ }
update_host(user);
break;
}
@@ -518,7 +524,8 @@ void unreal_cmd_topic(char *whosets, char *chan, char *whosetit,
void unreal_cmd_vhost_off(User * u)
{
- send_cmd(s_HostServ, "SVSMODE %s -xt", u->nick);
+ common_svsmode(u, "-xt", NULL);
+ common_svsmode(u, "+x", NULL);
notice_lang(s_HostServ, u, HOST_OFF_UNREAL, u->nick, ircd->vhostchar);
}
diff --git a/src/protocol/unreal32.c b/src/protocol/unreal32.c
index 0919fabbe..f93dc8236 100644
--- a/src/protocol/unreal32.c
+++ b/src/protocol/unreal32.c
@@ -489,6 +489,12 @@ void unreal_set_umode(User * user, int ac, char **av)
}
break;
case 'x':
+ if (!add)
+ {
+ if (user->vhost)
+ free(user->vhost);
+ user->vhost = NULL;
+ }
update_host(user);
break;
}
@@ -532,18 +538,9 @@ void unreal_cmd_topic(char *whosets, char *chan, char *whosetit,
void unreal_cmd_vhost_off(User * u)
{
- if (UseSVS2MODE) {
- send_cmd(s_HostServ, "%s %s -xt", send_token("SVS2MODE", "v"),
- u->nick);
- send_cmd(s_HostServ, "%s %s +x", send_token("SVS2MODE", "v"),
- u->nick);
- } else {
- send_cmd(s_HostServ, "%s %s -xt", send_token("SVSMODE", "n"),
- u->nick);
- send_cmd(s_HostServ, "%s %s +x", send_token("SVSMODE", "n"),
- u->nick);
+ common_svsmode(u, "-xt", NULL);
+ common_svsmode(u, "+x", NULL);
- }
notice_lang(s_HostServ, u, HOST_OFF);
}
diff --git a/src/protocol/viagra.c b/src/protocol/viagra.c
index d53e0a7c3..f8a465fa9 100644
--- a/src/protocol/viagra.c
+++ b/src/protocol/viagra.c
@@ -812,7 +812,7 @@ void viagra_cmd_topic(char *whosets, char *chan, char *whosetit,
void viagra_cmd_vhost_off(User * u)
{
- send_cmd(NULL, "SVSMODE %s -x", u->nick);
+ common_svsmode(u, "-x", NULL);
notice_lang(s_HostServ, u, HOST_OFF_UNREAL, u->nick, ircd->vhostchar);
}