diff options
author | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-01-13 10:11:35 +0000 |
---|---|---|
committer | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-01-13 10:11:35 +0000 |
commit | 81351ff93b606e9f05d5b1022b50114aee823de6 (patch) | |
tree | e79f6daa9208e765444cc2853d44b37b1fa8c4da /src/plexus.c | |
parent | b64b5373dd94319e5749f097251967ef8b1a040e (diff) |
BUILD : 1.7.7 (534) BUGS : N/A NOTES : Added support for plexus user timestamping
git-svn-id: svn://svn.anope.org/anope/trunk@534 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@388 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/plexus.c')
-rw-r--r-- | src/plexus.c | 32 |
1 files changed, 11 insertions, 21 deletions
diff --git a/src/plexus.c b/src/plexus.c index c22531246..53b512df3 100644 --- a/src/plexus.c +++ b/src/plexus.c @@ -76,7 +76,7 @@ IRCDVar ircd[] = { 0, /* Channel Mode */ 0, /* vidents */ 0, /* svshold */ - 0, /* time stamp on mode */ + 1, /* time stamp on mode */ 0, /* NICKIP */ 0, /* UMODE */ 0, /* O:LINE */ @@ -184,7 +184,7 @@ void anope_set_umode(User * user, int ac, char **av) break; case 'R': if (add && !nick_identified(user)) { - send_cmd(ServerName, "SVSMODE %s -R", user->nick); + common_svsmode(user, "-R", NULL); user->mode &= ~UMODE_R; } break; @@ -638,18 +638,8 @@ void moduleAddIRCDMsgs(void) { m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m); m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m); m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m); - m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("GLOBOPS", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("GNOTICE", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m); m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m); m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SQLINE", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m); m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m); m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m); m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m); @@ -775,6 +765,9 @@ void anope_cmd_svskill(char *source, char *user, const char *fmt, ...) void anope_cmd_svsmode(User * u, int ac, char **av) { send_cmd(ServerName, "SVSMODE %s %s", u->nick, av[0]); + + if ((ac == 2) && isdigit(*av[1])) + send_cmd(ServerName, "SVSID %s %s", u->nick, av[1]); } void anope_cmd_connect(int servernum) @@ -833,7 +826,7 @@ void anope_cmd_svinfo() void anope_cmd_capab() { send_cmd(NULL, - "CAPAB :QS EX CHW IE EOB KLN GLN HOPS HUB AOPS KNOCK TBURST PARA"); + "CAPAB :QS EX CHW IE EOB KLN GLN HOPS HUB KNOCK TBURST PARA"); } /* PASS */ @@ -1354,16 +1347,15 @@ void anope_cmd_squit(char *servname, char *message) int anope_event_mode(char *source, int ac, char **av) { - Server *s; - if (ac < 2) return MOD_CONT; - s = findserver(servlist, source); - if (*av[0] == '#' || *av[0] == '&') { do_cmode(source, ac, av); } else { + Server *s; + s = findserver(servlist, source); + if (s && *av[0]) { do_umode(av[0], ac, av); } else { @@ -1444,16 +1436,14 @@ void anope_cmd_svid_umode(char *nick, time_t ts) /* nc_change was = 1, and there is no na->status */ void anope_cmd_nc_change(User * u) { - common_svsmode(u, "-R", NULL); - send_cmd(ServerName, "SVSID %s 1", u->nick); + common_svsmode(u, "-R", "1"); } /* SVSMODE +d */ void anope_cmd_svid_umode2(User * u, char *ts) { if (u->svid != u->timestamp) { - common_svsmode(u, "+R", NULL); - send_cmd(ServerName, "SVSID %s %s", u->nick, ts); + common_svsmode(u, "+R", ts); } else { common_svsmode(u, "+R", NULL); } |