diff options
| author | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-12-01 00:06:21 +0000 |
|---|---|---|
| committer | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-12-01 00:06:21 +0000 |
| commit | b5242e3be0801abd0edebf62955b1d1b6cd3fd7d (patch) | |
| tree | 2aa6d1c88fef3a0cfb12fee3e216a8cdcddc6af6 /src/protocol | |
| parent | 84ac00e953c9d8a03bd7b76bcdf5de26832edcfa (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.c | 2 | ||||
| -rw-r--r-- | src/protocol/solidircd.c | 2 | ||||
| -rw-r--r-- | src/protocol/ultimate3.c | 2 | ||||
| -rw-r--r-- | src/protocol/unreal31.c | 9 | ||||
| -rw-r--r-- | src/protocol/unreal32.c | 19 | ||||
| -rw-r--r-- | src/protocol/viagra.c | 2 |
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); } |
