diff options
author | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-03-18 19:03:45 +0000 |
---|---|---|
committer | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-03-18 19:03:45 +0000 |
commit | 28dd48200686b58b2f01f2094dba3093297c5935 (patch) | |
tree | d327fc1ebf4313af9f1cdad1a00f7c688ac028a3 /src | |
parent | 7983a0acbda7357462ead709c2bf843f23327c94 (diff) |
BUILD : 1.7.8 (634) BUGS : 321 NOTES : Applied Trystans patch for shadow-ircd nick changing and vhosting - there are still issues with it tho.
git-svn-id: svn://svn.anope.org/anope/trunk@634 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@482 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/shadowircd.c | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/shadowircd.c b/src/shadowircd.c index d9cd1c7d0..cb95db424 100644 --- a/src/shadowircd.c +++ b/src/shadowircd.c @@ -623,7 +623,7 @@ int anope_event_sjoin(char *source, int ac, char **av) int anope_event_nick(char *source, int ac, char **av) { Server *s; - User *user; + User *user, *u2; if (ac == 10) { s = findserver_uid(servlist, source); @@ -635,12 +635,33 @@ int anope_event_nick(char *source, int ac, char **av) anope_set_umode(user, 1, &av[3]); } } else { - do_nick(source, av[0], NULL, NULL, NULL, NULL, + u2 = find_byuid(source); + do_nick((u2 ? u2->nick : source), av[0], NULL, NULL, NULL, NULL, strtoul(av[1], NULL, 10), 0, 0, NULL, NULL); } return MOD_CONT; } + +int anope_event_chghost(char *source, int ac, char **av) +{ + User *u; + + if (ac != 2) + return MOD_CONT; + + u = find_byuid(av[0]); + if (!u) { + if (debug) { + alog("user: CHGHOST for nonexistent user %s", av[0]); + } + return MOD_CONT; + } + + change_user_host(u, av[1]); + return MOD_CONT; +} + int anope_event_topic(char *source, int ac, char **av) { User *u; @@ -777,10 +798,11 @@ void moduleAddIRCDMsgs(void) m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m); m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m); m = createMessage("421", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("ENCAP", anope_event_null); addCoreMessage(IRCD,m); + m = createMessage("ENCAP", anope_event_null); addCoreMessage(IRCD,m); m = createMessage("SID", anope_event_sid); addCoreMessage(IRCD,m); m = createMessage("EOB", anope_event_eos); addCoreMessage(IRCD,m); m = createMessage("TSSYNC", anope_event_null); addCoreMessage(IRCD,m); + m = createMessage("SVSCLOAK", anope_event_chghost); addCoreMessage(IRCD,m); } |