]> jfr.im git - irc/quakenet/snircd-patchqueue.git/blob - servicekill.patch
rename patch files
[irc/quakenet/snircd-patchqueue.git] / servicekill.patch
1 # HG changeset patch
2 # Parent 02f673eaa2a8db9ed42727adcbaf53c0ef5c64fe
3
4 diff -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. */
25 diff -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 }
41 diff -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);