]> jfr.im git - irc/quakenet/snircd-patchqueue.git/blame - servicekill
nickgline: include nick! bit in gline loggin
[irc/quakenet/snircd-patchqueue.git] / servicekill
CommitLineData
edb26b39
P
1# HG changeset patch
2# Parent 02f673eaa2a8db9ed42727adcbaf53c0ef5c64fe
3
4diff -r 02f673eaa2a8 include/client.h
5--- a/include/client.h Sun Jul 14 18:36:31 2013 +0100
6+++ b/include/client.h Sun Jul 14 18:38:58 2013 +0100
7@@ -733,7 +733,7 @@
8 #define SNO_GLINE 0x200 /**< glines */
9 #define SNO_NETWORK 0x400 /**< net join/break, etc */
10 #define SNO_IPMISMATCH 0x800 /**< IP mismatches */
11-#define SNO_THROTTLE 0x1000 /**< host throttle add/remove notices */
12+#define SNO_SERVICEKILL 0x1000 /**< service kills (kills by service servers or clients on them) */
13 #define SNO_OLDREALOP 0x2000 /**< old oper-only messages */
14 #define SNO_CONNEXIT 0x4000 /**< client connect/exit (ugh) */
15 #define SNO_AUTO 0x8000 /**< AUTO G-Lines */
16@@ -753,7 +753,7 @@
17 /** Server notice bits enabled by default for normal users. */
18 #define SNO_DEFAULT (SNO_NETWORK|SNO_OPERKILL|SNO_GLINE)
19 /** Server notice bits enabled by default for IRC operators. */
20-#define SNO_OPERDEFAULT (SNO_DEFAULT|SNO_HACK2|SNO_HACK4|SNO_THROTTLE|SNO_OLDSNO)
21+#define SNO_OPERDEFAULT (SNO_DEFAULT|SNO_HACK2|SNO_HACK4|SNO_OLDSNO)
22 /** Server notice bits reserved to IRC operators. */
23 #define SNO_OPER (SNO_CONNEXIT|SNO_OLDREALOP|SNO_AUTH)
24 /** Noisy server notice bits that cause other bits to be cleared during connect. */
25diff -r 02f673eaa2a8 ircd/ircd_log.c
26--- a/ircd/ircd_log.c Sun Jul 14 18:36:31 2013 +0100
27+++ b/ircd/ircd_log.c Sun Jul 14 18:38:58 2013 +0100
28@@ -123,9 +123,9 @@
29 unsigned int snomask; /**< Bitmask corresponding to name. */
30 } masks[] = {
31 #define M(mask) { #mask, SNO_ ## mask }
32- M(NONE), M(OLDSNO), M(SERVKILL), M(OPERKILL), M(HACK2),
33- M(HACK3), M(UNAUTH), M(TCPCOMMON), M(TOOMANY), M(HACK4),
34- M(GLINE), M(NETWORK), M(IPMISMATCH), M(THROTTLE), M(OLDREALOP),
35+ M(NONE), M(OLDSNO), M(SERVKILL), M(OPERKILL), M(HACK2),
36+ M(HACK3), M(UNAUTH), M(TCPCOMMON), M(TOOMANY), M(HACK4),
37+ M(GLINE), M(NETWORK), M(IPMISMATCH), M(SERVICEKILL), M(OLDREALOP),
38 M(CONNEXIT), M(DEBUG), M(AUTH),
39 #undef M
40 { 0, 0 }
41diff -r 02f673eaa2a8 ircd/m_kill.c
42--- a/ircd/m_kill.c Sun Jul 14 18:36:31 2013 +0100
43+++ b/ircd/m_kill.c Sun Jul 14 18:38:58 2013 +0100
44@@ -106,10 +106,17 @@
45 static int do_kill(struct Client* cptr, struct Client* sptr,
46 struct Client* victim, char* inpath, char* path, char* msg)
47 {
48+ int snomask;
49+
50 assert(0 != cptr);
51 assert(0 != sptr);
52 assert(!IsServer(victim));
53
54+ /* determine what snomask the KILL should go to */
55+ if (IsServer(sptr))
56+ snomask = IsService(sptr) ? SNO_SERVICEKILL : SNO_SERVKILL;
57+ else
58+ snomask = IsService(cli_user(sptr)->server) ? SNO_SERVICEKILL : SNO_OPERKILL;
59 /*
60 * Notify all *local* opers about the KILL (this includes the one
61 * originating the kill, if from this server--the special numeric
62@@ -118,7 +125,7 @@
63 * Note: "victim->name" is used instead of "user" because we may
64 * have changed the target because of the nickname change.
65 */
66- sendto_opmask_butone(0, IsServer(sptr) ? SNO_SERVKILL : SNO_OPERKILL,
67+ sendto_opmask_butone(0, snomask,
68 "Received KILL message for %s from %s Path: %s!%s %s",
69 get_client_name(victim, SHOW_IP), cli_name(sptr),
70 inpath, path, msg);