-Add opername to snomask, remote connect wallops, and logging
+Add opername to snomask, remote connect wallops, and as prefix to server jupes
-diff -r 897950943d34 include/client.h
---- a/include/client.h Mon Jan 12 18:45:19 2009 +0100
-+++ b/include/client.h Mon Jan 12 19:23:07 2009 +0100
-@@ -806,6 +806,7 @@
+in form of nick(opername)
+new function get_client_name_and_opername() add in s_misc.c
+mirrored after get_client_name() which can return either nick/server or nick[ident@ip]
+
+diff -r 4b82a90ed8b3 include/client.h
+--- a/include/client.h
++++ b/include/client.h
+@@ -809,6 +809,7 @@
#define IPV6USERBITS 64
extern const char* get_client_name(const struct Client* sptr, int showip);
extern const char* client_get_default_umode(const struct Client* sptr);
extern int client_get_ping(const struct Client* local_client);
extern void client_drop_sendq(struct Connection* con);
-diff -r 897950943d34 ircd/channel.c
---- a/ircd/channel.c Mon Jan 12 18:45:19 2009 +0100
-+++ b/ircd/channel.c Mon Jan 12 19:23:07 2009 +0100
-@@ -1850,8 +1850,8 @@
+diff -r 4b82a90ed8b3 ircd/channel.c
+--- a/ircd/channel.c
++++ b/ircd/channel.c
+@@ -1910,8 +1910,8 @@
if (mbuf->mb_dest & MODEBUF_DEST_HACK4)
sendto_opmask_butone(0, SNO_HACK4, "HACK(4): %s MODE %s %s%s%s%s%s%s "
"[%Tu]",
mbuf->mb_channel->chname,
rembuf_i ? "-" : "", rembuf, addbuf_i ? "+" : "",
addbuf, remstr, addstr,
-@@ -1859,7 +1859,7 @@
-
- if (mbuf->mb_dest & MODEBUF_DEST_LOG)
- log_write(LS_OPERMODE, L_INFO, LOG_NOSNOTICE,
-- "%#C OPMODE %H %s%s%s%s%s%s", mbuf->mb_source,
-+ "%s OPMODE %H %s%s%s%s%s%s", get_client_name_and_opername(mbuf->mb_source),
- mbuf->mb_channel, rembuf_i ? "-" : "", rembuf,
- addbuf_i ? "+" : "", addbuf, remstr, addstr);
-
-diff -r 897950943d34 ircd/gline.c
---- a/ircd/gline.c Mon Jan 12 18:45:19 2009 +0100
-+++ b/ircd/gline.c Mon Jan 12 19:23:07 2009 +0100
-@@ -566,7 +566,7 @@
- sendto_opmask_butone(0, snomask, "%s adding %s %s for %s%s%s%s%s, expiring at "
+diff -r 4b82a90ed8b3 ircd/gline.c
+--- a/ircd/gline.c
++++ b/ircd/gline.c
+@@ -567,7 +567,7 @@
+ SNO_AUTO, "%s adding %s%s %s for %s%s%s%s%s, expiring at "
"%Tu: %s",
(feature_bool(FEAT_HIS_SNOTICES) || IsServer(sptr)) ?
- cli_name(sptr) :
+ get_client_name_and_opername(sptr) :
cli_name((cli_user(sptr))->server),
+ (flags & GLINE_ACTIVE) ? "" : "deactivated ",
(flags & GLINE_LOCAL) ? "local" : "global",
- (flags & GLINE_BADCHAN) ? "BADCHAN" : "GLINE",
-@@ -579,7 +579,7 @@
-
- /* and log it */
- log_write(LS_GLINE, L_INFO, LOG_NOSNOTICE,
-- "%#C adding %s %s for %s%s%s%s%s, expiring at %Tu: %s", sptr,
-+ "%s adding %s %s for %s%s%s%s%s, expiring at %Tu: %s", get_client_name_and_opername(sptr),
- flags & GLINE_LOCAL ? "local" : "global",
- flags & GLINE_BADCHAN ? "BADCHAN" : "GLINE",
- flags & (GLINE_BADCHAN|GLINE_REALNAME) ? "" : nick,
-@@ -652,7 +652,7 @@
+@@ -642,7 +642,7 @@
sendto_opmask_butone(0, SNO_GLINE, "%s activating global %s for %s%s%s%s%s, "
"expiring at %Tu: %s",
(feature_bool(FEAT_HIS_SNOTICES) || IsServer(sptr)) ?
cli_name((cli_user(sptr))->server),
GlineIsBadChan(gline) ? "BADCHAN" : "GLINE",
GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : gline->gl_nick,
-@@ -662,7 +662,7 @@
- gline->gl_expire + TSoffset, gline->gl_reason);
-
- log_write(LS_GLINE, L_INFO, LOG_NOSNOTICE,
-- "%#C activating global %s for %s%s%s%s%s, expiring at %Tu: %s", sptr,
-+ "%s activating global %s for %s%s%s%s%s, expiring at %Tu: %s", get_client_name_and_opername(sptr),
- GlineIsBadChan(gline) ? "BADCHAN" : "GLINE",
- GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : gline->gl_nick,
- GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : "!",
-@@ -725,7 +725,7 @@
+@@ -715,7 +715,7 @@
sendto_opmask_butone(0, SNO_GLINE, "%s %s %s for %s%s%s%s%s, expiring at %Tu: "
"%s",
(feature_bool(FEAT_HIS_SNOTICES) || IsServer(sptr)) ?
cli_name((cli_user(sptr))->server),
msg, GlineIsBadChan(gline) ? "BADCHAN" : "GLINE",
GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : gline->gl_nick,
-@@ -735,7 +735,7 @@
- gline->gl_expire + TSoffset, gline->gl_reason);
-
- log_write(LS_GLINE, L_INFO, LOG_NOSNOTICE,
-- "%#C %s %s for %s%s%s%s%s, expiring at %Tu: %s", sptr, msg,
-+ "%s %s %s for %s%s%s%s%s, expiring at %Tu: %s", get_client_name_and_opername(sptr), msg,
- GlineIsBadChan(gline) ? "BADCHAN" : "GLINE",
- GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : gline->gl_nick,
- GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : "!",
-@@ -940,7 +940,7 @@
+@@ -919,7 +919,7 @@
/* All right, inform ops... */
sendto_opmask_butone(0, SNO_GLINE, "%s modifying global %s for %s%s%s%s%s:%s",
(feature_bool(FEAT_HIS_SNOTICES) || IsServer(sptr)) ?
GlineIsBadChan(gline) ? "BADCHAN" : "GLINE",
GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : gline->gl_nick,
GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : "!",
-@@ -949,7 +949,7 @@
-
- /* and log the change */
- log_write(LS_GLINE, L_INFO, LOG_NOSNOTICE,
-- "%#C modifying global %s for %s%s%s:%s", sptr,
-+ "%s modifying global %s for %s%s%s:%s", get_client_name_and_opername(sptr),
- GlineIsBadChan(gline) ? "BADCHAN" : "GLINE", gline->gl_user,
- gline->gl_host ? "@" : "", gline->gl_host ? gline->gl_host : "",
- buf);
-@@ -997,14 +997,14 @@
+@@ -966,7 +966,7 @@
/* Inform ops and log it */
sendto_opmask_butone(0, SNO_GLINE, "%s removing local %s for %s%s%s%s%s",
(feature_bool(FEAT_HIS_SNOTICES) || IsServer(sptr)) ?
GlineIsBadChan(gline) ? "BADCHAN" : "GLINE",
GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : gline->gl_nick,
GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : "!",
- gline->gl_user, gline->gl_host ? "@" : "",
- gline->gl_host ? gline->gl_host : "");
- log_write(LS_GLINE, L_INFO, LOG_NOSNOTICE,
-- "%#C removing local %s for %s%s%s%s%s", sptr,
-+ "%s removing local %s for %s%s%s%s%s", get_client_name_and_opername(sptr),
- GlineIsBadChan(gline) ? "BADCHAN" : "GLINE",
- GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : gline->gl_nick,
- GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : "!",
-diff -r 897950943d34 ircd/ircd_log.c
---- a/ircd/ircd_log.c Mon Jan 12 18:45:19 2009 +0100
-+++ b/ircd/ircd_log.c Mon Jan 12 19:23:07 2009 +0100
-@@ -469,11 +469,11 @@
- {
- if (MyUser(victim))
- log_write(IsServer(killer) ? LS_SERVKILL : LS_OPERKILL, L_TRACE, 0,
-- "A local client %#C KILLED by %#C Path: %s!%s %s",
-- victim, killer, inpath, path, msg);
-+ "A local client %#C KILLED by %s Path: %s!%s %s",
-+ victim, get_client_name_and_opername(killer), inpath, path, msg);
- else
- log_write(IsServer(killer) ? LS_SERVKILL : LS_OPERKILL, L_TRACE, 0,
-- "KILL from %C For %C Path: %s!%s %s", killer, victim, inpath,
-+ "KILL from %s For %C Path: %s!%s %s", get_client_name_and_opername(killer), victim, inpath,
- path, msg);
- }
-
-diff -r 897950943d34 ircd/jupe.c
---- a/ircd/jupe.c Mon Jan 12 18:45:19 2009 +0100
-+++ b/ircd/jupe.c Mon Jan 12 19:23:07 2009 +0100
-@@ -156,13 +156,13 @@
+diff -r 4b82a90ed8b3 ircd/jupe.c
+--- a/ircd/jupe.c
++++ b/ircd/jupe.c
+@@ -156,7 +156,7 @@
sendto_opmask_butone(0, SNO_NETWORK, "%s adding %sJUPE for %s, expiring at "
"%Tu: %s",
(feature_bool(FEAT_HIS_SNOTICES) || IsServer(sptr)) ?
cli_name((cli_user(sptr))->server),
flags & JUPE_LOCAL ? "local " : "", server,
expire + TSoffset, reason);
-
- log_write(LS_JUPE, L_INFO, LOG_NOSNOTICE,
-- "%#C adding %sJUPE for %s, expiring at %Tu: %s", sptr,
-+ "%s adding %sJUPE for %s, expiring at %Tu: %s", get_client_name_and_opername(sptr),
- flags & JUPE_LOCAL ? "local " : "", server, expire + TSoffset,
- reason);
-
-@@ -216,13 +216,13 @@
+@@ -211,7 +211,7 @@
sendto_opmask_butone(0, SNO_NETWORK, "%s activating JUPE for %s, expiring "
"at %Tu: %s",
(feature_bool(FEAT_HIS_SNOTICES) || IsServer(sptr)) ?
cli_name((cli_user(sptr))->server),
jupe->ju_server, jupe->ju_expire + TSoffset,
jupe->ju_reason);
-
- log_write(LS_JUPE, L_INFO, LOG_NOSNOTICE,
-- "%#C activating JUPE for %s, expiring at %Tu: %s",sptr,
-+ "%s activating JUPE for %s, expiring at %Tu: %s", get_client_name_and_opername(sptr),
- jupe->ju_server, jupe->ju_expire + TSoffset, jupe->ju_reason);
-
- if (!(flags & JUPE_LOCAL)) /* don't propagate local changes */
-@@ -269,14 +269,14 @@
+@@ -264,7 +264,7 @@
sendto_opmask_butone(0, SNO_NETWORK, "%s %s JUPE for %s, expiring at %Tu: "
"%s",
(feature_bool(FEAT_HIS_SNOTICES) || IsServer(sptr)) ?
cli_name((cli_user(sptr))->server),
JupeIsLocal(jupe) ? "removing local" : "deactivating",
jupe->ju_server, jupe->ju_expire + TSoffset,
- jupe->ju_reason);
-
- log_write(LS_JUPE, L_INFO, LOG_NOSNOTICE,
-- "%#C %s JUPE for %s, expiring at %Tu: %s", sptr,
-+ "%s %s JUPE for %s, expiring at %Tu: %s", get_client_name_and_opername(sptr),
- JupeIsLocal(jupe) ? "removing local" : "deactivating",
- jupe->ju_server, jupe->ju_expire + TSoffset, jupe->ju_reason);
-
-diff -r 897950943d34 ircd/m_connect.c
---- a/ircd/m_connect.c Mon Jan 12 18:45:19 2009 +0100
-+++ b/ircd/m_connect.c Mon Jan 12 19:23:07 2009 +0100
-@@ -197,8 +197,9 @@
+diff -r 4b82a90ed8b3 ircd/m_connect.c
+--- a/ircd/m_connect.c
++++ b/ircd/m_connect.c
+@@ -197,7 +197,7 @@
sendwallto_group_butone(&me, WALL_WALLOPS, 0,
"Remote CONNECT %s %s from %s", aconf->name,
parv[2] ? parv[2] : "",
- get_client_name(sptr, HIDE_IP));
-- log_write(LS_NETWORK, L_INFO, 0, "CONNECT From %C : %s %s", sptr, aconf->name,
+ get_client_name_and_opername(sptr));
-+ log_write(LS_NETWORK, L_INFO, 0, "CONNECT From %s : %s %s",
-+ get_client_name_and_opername(sptr), aconf->name,
+ log_write(LS_NETWORK, L_INFO, 0, "CONNECT From %C : %s %s", sptr, aconf->name,
parv[2] ? parv[2] : "");
- if (connect_server(aconf, sptr)) {
-diff -r 897950943d34 ircd/m_join.c
---- a/ircd/m_join.c Mon Jan 12 18:45:19 2009 +0100
-+++ b/ircd/m_join.c Mon Jan 12 19:23:07 2009 +0100
+diff -r 4b82a90ed8b3 ircd/m_join.c
+--- a/ircd/m_join.c
++++ b/ircd/m_join.c
@@ -242,8 +242,8 @@
}
/* send accountability notice */
err = 0;
}
-diff -r 897950943d34 ircd/m_kill.c
---- a/ircd/m_kill.c Mon Jan 12 18:45:19 2009 +0100
-+++ b/ircd/m_kill.c Mon Jan 12 19:23:07 2009 +0100
+diff -r 4b82a90ed8b3 ircd/m_jupe.c
+--- a/ircd/m_jupe.c
++++ b/ircd/m_jupe.c
+@@ -193,7 +193,7 @@
+ struct Jupe *ajupe;
+ unsigned int flags = 0;
+ time_t expire_off;
+- char *server = parv[1], *target = 0, *reason;
++ char *server = parv[1], *target = 0, reason[BUFSIZE];
+
+ if (parc < 2) {
+ if (!HasPriv(sptr, PRIV_ROUTEINFO))
+@@ -214,12 +214,12 @@
+
+ if (parc == 4) {
+ expire_off = atoi(parv[2]);
+- reason = parv[3];
++ ircd_snprintf(0, reason, sizeof(reason), "%s: %s", cli_user(sptr)->opername, parv[3]);
+ flags |= JUPE_LOCAL;
+ } else if (parc > 4) {
+ target = parv[2];
+ expire_off = atoi(parv[3]);
+- reason = parv[4];
++ ircd_snprintf(0, reason, sizeof(reason), "%s: %s", cli_user(sptr)->opername, parv[4]);
+ } else
+ return need_more_params(sptr, "JUPE");
+
+diff -r 4b82a90ed8b3 ircd/m_kill.c
+--- a/ircd/m_kill.c
++++ b/ircd/m_kill.c
@@ -127,7 +127,7 @@
*/
sendto_opmask_butone(0, snomask,
inpath, path, msg);
log_write_kill(victim, sptr, inpath, path, msg);
-diff -r 897950943d34 ircd/m_rehash.c
---- a/ircd/m_rehash.c Mon Jan 12 18:45:19 2009 +0100
-+++ b/ircd/m_rehash.c Mon Jan 12 19:23:07 2009 +0100
-@@ -121,10 +121,10 @@
+diff -r 4b82a90ed8b3 ircd/m_oper.c
+--- a/ircd/m_oper.c
++++ b/ircd/m_oper.c
+@@ -192,9 +192,9 @@
+ send_umode_out(cptr, sptr, &old_mode, HasPriv(sptr, PRIV_PROPAGATE), 0);
+ send_reply(sptr, RPL_YOUREOPER);
+
+- sendto_opmask_butone(0, SNO_OLDSNO, "%s (%s@%s) is now operator (%c) as %s",
+- parv[0], cli_user(sptr)->realusername, cli_sockhost(sptr),
+- IsOper(sptr) ? 'O' : 'o', cli_user(sptr)->opername);
++ sendto_opmask_butone(0, SNO_OLDSNO, "%s (%s@%s) is now operator (%c)",
++ get_client_name_and_opername(sptr), cli_user(sptr)->realusername, cli_sockhost(sptr),
++ IsOper(sptr) ? 'O' : 'o');
+
+ log_write(LS_OPER, L_INFO, 0, "OPER (%s) by (%#R)", name, sptr);
+ }
+diff -r 4b82a90ed8b3 ircd/m_rehash.c
+--- a/ircd/m_rehash.c
++++ b/ircd/m_rehash.c
+@@ -121,8 +121,8 @@
}
send_reply(sptr, RPL_REHASHING, configfile);
+ sendto_opmask_butone(0, SNO_OLDSNO, "%s is rehashing Server config file",
+ get_client_name_and_opername(sptr));
-- log_write(LS_SYSTEM, L_INFO, 0, "REHASH From %#C", sptr);
-+ log_write(LS_SYSTEM, L_INFO, 0, "REHASH From %s", get_client_name_and_opername(sptr));
+ log_write(LS_SYSTEM, L_INFO, 0, "REHASH From %#C", sptr);
- return rehash(cptr, flag);
- }
-diff -r 897950943d34 ircd/m_settime.c
---- a/ircd/m_settime.c Mon Jan 12 18:45:19 2009 +0100
-+++ b/ircd/m_settime.c Mon Jan 12 19:23:07 2009 +0100
+diff -r 4b82a90ed8b3 ircd/m_settime.c
+--- a/ircd/m_settime.c
++++ b/ircd/m_settime.c
@@ -177,7 +177,7 @@
else /* tell opers about time change */
{
(dt < 0) ? "forwards" : "backwards");
TSoffset -= dt; /* apply time change */
if (IsUser(sptr)) /* let user know what we did */
-diff -r 897950943d34 ircd/s_misc.c
---- a/ircd/s_misc.c Mon Jan 12 18:45:19 2009 +0100
-+++ b/ircd/s_misc.c Mon Jan 12 19:23:07 2009 +0100
-@@ -169,6 +169,20 @@
- ircd_snprintf(0, nbuf, sizeof(nbuf), "%s[%s@%s]", cli_name(sptr),
- IsIdented(sptr) ? cli_username(sptr) : "",
- cli_sock_ip(sptr));
-+ return nbuf;
-+}
-+
+diff -r 4b82a90ed8b3 ircd/s_misc.c
+--- a/ircd/s_misc.c
++++ b/ircd/s_misc.c
+@@ -172,6 +172,20 @@
+ return nbuf;
+ }
+
+/** Return the name of the client and the opername for accountability purposes
+ * in snomask and other places.
+ * @param sptr Client to operate on.
+ if (!IsUser(sptr) || !cli_user(sptr)->opername)
+ return cli_name(sptr);
+ ircd_snprintf(0, nbuf, sizeof(nbuf), "%s(%s)", cli_name(sptr), cli_user(sptr)->opername);
- return nbuf;
- }
-
++ return nbuf;
++}
++
+ /**
+ * Exit one client, local or remote. Assuming for local client that
+ * all dependents already have been removed, and socket is closed.
@@ -474,7 +488,7 @@
(cli_user(killer)->server == victim ||
cli_user(killer)->server == cli_serv(victim)->up) ?
cli_name(cli_user(killer)->server));
else if (killer != &me && cli_serv(victim)->up != killer)
sendto_opmask_butone(0, SNO_OLDSNO, "Received SQUIT %s from %s :",
+diff -r 4b82a90ed8b3 ircd/s_user.c
+--- a/ircd/s_user.c
++++ b/ircd/s_user.c
+@@ -1471,9 +1471,9 @@
+
+ /* notify my operators a user has OPERed on a remote server */
+ if (!MyConnect(sptr)) {
+- sendto_opmask_butone(0, SNO_OLDSNO, "%s (%s@%s) is now operator (O) as %s on %s",
+- cli_name(sptr), cli_user(sptr)->realusername, cli_user(sptr)->realhost,
+- cli_user(sptr)->opername ? cli_user(sptr)->opername : "<unknown>", cli_name(cli_user(sptr)->server));
++ sendto_opmask_butone(0, SNO_OLDSNO, "%s (%s@%s) is now operator (O) on %s",
++ get_client_name_and_opername(sptr), cli_user(sptr)->realusername, cli_user(sptr)->realhost,
++ cli_name(cli_user(sptr)->server));
+ }
+
+ }
+@@ -1486,9 +1486,8 @@
+ if (FlagHas(&setflags, FLAG_LOCOP) && !IsLocOp(sptr)) {
+
+ /* notify my operators a local operator has deOPERed */
+- sendto_opmask_butone(0, SNO_OLDSNO, "%s (%s@%s) is no longer operator (o) as %s",
+- cli_name(sptr), cli_user(sptr)->realusername, cli_sockhost(sptr),
+- cli_user(sptr)->opername);
++ sendto_opmask_butone(0, SNO_OLDSNO, "%s (%s@%s) is no longer operator (o)",
++ get_client_name_and_opername(sptr), cli_user(sptr)->realusername, cli_sockhost(sptr));
+ }
+
+ if (FlagHas(&setflags, FLAG_OPER) && !IsOper(sptr)) {
+@@ -1498,13 +1497,12 @@
+
+ /* notify my operators an operator has deOPERed on the network */
+ if (MyConnect(sptr)) {
+- sendto_opmask_butone(0, SNO_OLDSNO, "%s (%s@%s) is no longer operator (O) as %s",
+- cli_name(sptr), cli_user(sptr)->realusername, cli_sockhost(sptr),
+- cli_user(sptr)->opername ? cli_user(sptr)->opername : "<unknown>");
++ sendto_opmask_butone(0, SNO_OLDSNO, "%s (%s@%s) is no longer operator (O)",
++ get_client_name_and_opername(sptr), cli_user(sptr)->realusername, cli_sockhost(sptr));
+ } else {
+- sendto_opmask_butone(0, SNO_OLDSNO, "%s (%s@%s) is no longer operator (O) as %s on %s",
+- cli_name(sptr), cli_user(sptr)->realusername, cli_user(sptr)->realhost,
+- cli_user(sptr)->opername ? cli_user(sptr)->opername : "<unknown>", cli_name(cli_user(sptr)->server));
++ sendto_opmask_butone(0, SNO_OLDSNO, "%s (%s@%s) is no longer operator (O) on %s",
++ get_client_name_and_opername(sptr), cli_user(sptr)->realusername, cli_user(sptr)->realhost,
++ cli_name(cli_user(sptr)->server));
+ }
+
+ client_set_privs(sptr, NULL); /* will clear propagate privilege */