-Add opername to snomask and remote connect wallops
+Add opername to snomask, remote connect wallops, and as prefix to server jupes
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 7ba3fe4d0f40 include/client.h
---- a/include/client.h Thu Jan 22 00:59:17 2009 +0100
-+++ b/include/client.h Thu Jan 22 00:59:43 2009 +0100
-@@ -806,6 +806,7 @@
+diff -r 88bee4681da2 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 7ba3fe4d0f40 ircd/channel.c
---- a/ircd/channel.c Thu Jan 22 00:59:17 2009 +0100
-+++ b/ircd/channel.c Thu Jan 22 00:59:43 2009 +0100
-@@ -1952,8 +1952,8 @@
+diff -r 88bee4681da2 ircd/channel.c
+--- a/ircd/channel.c
++++ b/ircd/channel.c
+@@ -1917,8 +1917,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,
-diff -r 7ba3fe4d0f40 ircd/gline.c
---- a/ircd/gline.c Thu Jan 22 00:59:17 2009 +0100
-+++ b/ircd/gline.c Thu Jan 22 00:59:43 2009 +0100
-@@ -561,7 +561,7 @@
- "%s adding %s %s for %s%s%s%s%s, expiring at "
+diff -r 88bee4681da2 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",
-@@ -648,7 +648,7 @@
- "%s activating global %s for %s%s%s%s%s, "
+@@ -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(sptr) :
cli_name((cli_user(sptr))->server),
GlineIsBadChan(gline) ? "BADCHAN" : "GLINE",
GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : gline->gl_nick,
-@@ -721,7 +721,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,
-@@ -981,7 +981,7 @@
- sendto_opmask_butone(0, flags & GLINE_AUTO ? SNO_GLINE : SNO_GLINE,
- "%s modifying global %s for %s%s%s%s%s:%s",
+@@ -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)) ?
- cli_name(sptr) : cli_name((cli_user(sptr))->server),
+ get_client_name_and_opername(sptr) : cli_name((cli_user(sptr))->server),
GlineIsBadChan(gline) ? "BADCHAN" : "GLINE",
GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : gline->gl_nick,
GlineIsBadChan(gline)|GlineIsRealName(gline) ? "" : "!",
-@@ -1039,7 +1039,7 @@
+@@ -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) ? "" : "!",
-diff -r 7ba3fe4d0f40 ircd/jupe.c
---- a/ircd/jupe.c Thu Jan 22 00:59:17 2009 +0100
-+++ b/ircd/jupe.c Thu Jan 22 00:59:43 2009 +0100
+diff -r 88bee4681da2 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",
cli_name((cli_user(sptr))->server),
flags & JUPE_LOCAL ? "local " : "", server,
expire + TSoffset, reason);
-@@ -216,7 +216,7 @@
+@@ -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);
-@@ -269,7 +269,7 @@
+@@ -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,
-diff -r 7ba3fe4d0f40 ircd/m_connect.c
---- a/ircd/m_connect.c Thu Jan 22 00:59:17 2009 +0100
-+++ b/ircd/m_connect.c Thu Jan 22 00:59:43 2009 +0100
+diff -r 88bee4681da2 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,
log_write(LS_NETWORK, L_INFO, 0, "CONNECT From %C : %s %s", sptr, aconf->name,
parv[2] ? parv[2] : "");
-diff -r 7ba3fe4d0f40 ircd/m_join.c
---- a/ircd/m_join.c Thu Jan 22 00:59:17 2009 +0100
-+++ b/ircd/m_join.c Thu Jan 22 00:59:43 2009 +0100
+diff -r 88bee4681da2 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 7ba3fe4d0f40 ircd/m_kill.c
---- a/ircd/m_kill.c Thu Jan 22 00:59:17 2009 +0100
-+++ b/ircd/m_kill.c Thu Jan 22 00:59:43 2009 +0100
+diff -r 88bee4681da2 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 88bee4681da2 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 7ba3fe4d0f40 ircd/m_rehash.c
---- a/ircd/m_rehash.c Thu Jan 22 00:59:17 2009 +0100
-+++ b/ircd/m_rehash.c Thu Jan 22 00:59:43 2009 +0100
+diff -r 88bee4681da2 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 88bee4681da2 ircd/m_rehash.c
+--- a/ircd/m_rehash.c
++++ b/ircd/m_rehash.c
@@ -121,8 +121,8 @@
}
log_write(LS_SYSTEM, L_INFO, 0, "REHASH From %#C", sptr);
-diff -r 7ba3fe4d0f40 ircd/m_settime.c
---- a/ircd/m_settime.c Thu Jan 22 00:59:17 2009 +0100
-+++ b/ircd/m_settime.c Thu Jan 22 00:59:43 2009 +0100
+diff -r 88bee4681da2 ircd/m_sethost.c
+--- a/ircd/m_sethost.c
++++ b/ircd/m_sethost.c
+@@ -195,7 +195,7 @@
+ if (freeform) {
+
+ sendto_opmask_butone(0, SNO_OLDSNO,
+- "%C SETHOST %s%s%s (freeform)", sptr,
++ "%s SETHOST %s%s%s (freeform)", get_client_name_and_opername(sptr),
+ user ? user : "", user ? "@" : "", host);
+
+ log_write(LS_SETHOST, L_NOTICE, LOG_NOSNOTICE,
+diff -r 88bee4681da2 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 7ba3fe4d0f40 ircd/s_misc.c
---- a/ircd/s_misc.c Thu Jan 22 00:59:17 2009 +0100
-+++ b/ircd/s_misc.c Thu Jan 22 00:59:43 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 88bee4681da2 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 88bee4681da2 ircd/s_user.c
+--- a/ircd/s_user.c
++++ b/ircd/s_user.c
+@@ -1476,9 +1476,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));
+ }
+
+ }
+@@ -1491,9 +1491,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)) {
+@@ -1503,13 +1502,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 */