diff options
Diffstat (limited to 'src/hostserv.c')
-rw-r--r-- | src/hostserv.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/hostserv.c b/src/hostserv.c index 38ee8dea7..e6cf50f86 100644 --- a/src/hostserv.c +++ b/src/hostserv.c @@ -1035,8 +1035,23 @@ int do_del(User * u) /*************************************************************************/ int do_off(User * u) { - /* put any generic code here... :) */ - anope_cmd_vhost_off(u); + NickAlias *na; + char *vhost; + char *vident = NULL; + if ((na = findnick(u->nick))) { + if (na->status & NS_IDENTIFIED) { + vhost = getvHost(u->nick); + vident = getvIdent(u->nick); + if (vhost == NULL && vident == NULL) + notice_lang(s_HostServ, u, HOST_NOT_ASSIGNED); + else + anope_cmd_vhost_off(u); + } else { + notice_lang(s_HostServ, u, HOST_ID); + } + } else { + notice_lang(s_HostServ, u, HOST_NOT_REGED); + } return MOD_CONT; } |