]> jfr.im git - irc/quakenet/snircd-patchqueue.git/blobdiff - opername.patch
checkmscheck: forgot a ; after protocol_violation()
[irc/quakenet/snircd-patchqueue.git] / opername.patch
index 9e1dfaac6fce18875752a2dbef4bcd7417e974d9..d7e8029eaebbb87437cb22e84cf62d4cc5cb1081 100644 (file)
@@ -1,9 +1,13 @@
-Add opername to snomask, remote connect wallops, and logging
+Add opername to snomask and remote connect wallops
 
-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 a1e13a4f150b include/client.h
+--- a/include/client.h Wed Mar 17 14:52:11 2010 +0100
++++ b/include/client.h Wed Mar 17 15:44:04 2010 +0100
+@@ -810,6 +810,7 @@
  #define IPV6USERBITS 64
  
  extern const char* get_client_name(const struct Client* sptr, int showip);
@@ -11,10 +15,10 @@ diff -r 897950943d34 include/client.h
  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 a1e13a4f150b ircd/channel.c
+--- a/ircd/channel.c   Wed Mar 17 14:52:11 2010 +0100
++++ b/ircd/channel.c   Wed Mar 17 15:44:04 2010 +0100
+@@ -1848,8 +1848,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]",
@@ -25,37 +29,19 @@ diff -r 897950943d34 ircd/channel.c
                           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 a1e13a4f150b ircd/gline.c
+--- a/ircd/gline.c     Wed Mar 17 14:52:11 2010 +0100
++++ b/ircd/gline.c     Wed Mar 17 15:44:04 2010 +0100
+@@ -563,7 +563,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 @@
+@@ -638,7 +638,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)) ?
@@ -64,16 +50,7 @@ diff -r 897950943d34 ircd/gline.c
                           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 @@
+@@ -711,7 +711,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)) ?
@@ -82,16 +59,7 @@ diff -r 897950943d34 ircd/gline.c
                           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 @@
+@@ -915,7 +915,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)) ?
@@ -100,16 +68,7 @@ diff -r 897950943d34 ircd/gline.c
                       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 @@
+@@ -962,7 +962,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)) ?
@@ -118,36 +77,10 @@ diff -r 897950943d34 ircd/gline.c
                       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 a1e13a4f150b ircd/jupe.c
+--- a/ircd/jupe.c      Wed Mar 17 14:52:11 2010 +0100
++++ b/ircd/jupe.c      Wed Mar 17 15:44:04 2010 +0100
+@@ -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)) ?
@@ -156,14 +89,7 @@ diff -r 897950943d34 ircd/jupe.c
                           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)) ?
@@ -172,14 +98,7 @@ diff -r 897950943d34 ircd/jupe.c
                           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)) ?
@@ -188,32 +107,21 @@ diff -r 897950943d34 ircd/jupe.c
                           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 a1e13a4f150b ircd/m_connect.c
+--- a/ircd/m_connect.c Wed Mar 17 14:52:11 2010 +0100
++++ b/ircd/m_connect.c Wed Mar 17 15:44:04 2010 +0100
+@@ -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 a1e13a4f150b ircd/m_join.c
+--- a/ircd/m_join.c    Wed Mar 17 14:52:11 2010 +0100
++++ b/ircd/m_join.c    Wed Mar 17 15:44:04 2010 +0100
 @@ -242,8 +242,8 @@
          }
          /* send accountability notice */
@@ -225,9 +133,9 @@ diff -r 897950943d34 ircd/m_join.c
          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 a1e13a4f150b ircd/m_kill.c
+--- a/ircd/m_kill.c    Wed Mar 17 14:52:11 2010 +0100
++++ b/ircd/m_kill.c    Wed Mar 17 15:44:04 2010 +0100
 @@ -127,7 +127,7 @@
     */
    sendto_opmask_butone(0, snomask,
@@ -237,10 +145,26 @@ diff -r 897950943d34 ircd/m_kill.c
                         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 a1e13a4f150b ircd/m_oper.c
+--- a/ircd/m_oper.c    Wed Mar 17 14:52:11 2010 +0100
++++ b/ircd/m_oper.c    Wed Mar 17 15:44:04 2010 +0100
+@@ -192,9 +192,9 @@
+     send_umode_out(cptr, sptr, &old_mode, HasPriv(sptr, PRIV_PROPAGATE));
+     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 a1e13a4f150b ircd/m_rehash.c
+--- a/ircd/m_rehash.c  Wed Mar 17 14:52:11 2010 +0100
++++ b/ircd/m_rehash.c  Wed Mar 17 15:44:04 2010 +0100
+@@ -121,8 +121,8 @@
    }
  
    send_reply(sptr, RPL_REHASHING, configfile);
@@ -249,14 +173,11 @@ diff -r 897950943d34 ircd/m_rehash.c
 +  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 a1e13a4f150b ircd/m_settime.c
+--- a/ircd/m_settime.c Wed Mar 17 14:52:11 2010 +0100
++++ b/ircd/m_settime.c Wed Mar 17 15:44:04 2010 +0100
 @@ -177,7 +177,7 @@
    else /* tell opers about time change */
    {
@@ -275,16 +196,13 @@ diff -r 897950943d34 ircd/m_settime.c
                         (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 a1e13a4f150b ircd/s_misc.c
+--- a/ircd/s_misc.c    Wed Mar 17 14:52:11 2010 +0100
++++ b/ircd/s_misc.c    Wed Mar 17 15:44:04 2010 +0100
+@@ -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.
@@ -296,9 +214,12 @@ diff -r 897950943d34 ircd/s_misc.c
 +  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) ?
@@ -308,3 +229,50 @@ diff -r 897950943d34 ircd/s_misc.c
                           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 a1e13a4f150b ircd/s_user.c
+--- a/ircd/s_user.c    Wed Mar 17 14:52:11 2010 +0100
++++ b/ircd/s_user.c    Wed Mar 17 15:44:04 2010 +0100
+@@ -1342,9 +1342,8 @@
+             cli_handler(sptr) = CLIENT_HANDLER;
+             
+             /* notify my operators a local operator has deOPERed - wiebe */
+-            sendto_opmask_butone(0, SNO_OLDSNO, "%s (%s@%s) is no longer operator (o) as %s",
+-            cli_name(sptr), cli_user(sptr)->realusername, cli_user(sptr)->realhost,
+-            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_user(sptr)->realhost);
+             
+           }
+         }
+@@ -1546,9 +1545,9 @@
+       /* notify my operators a user has OPERed on a remote server - wiebe */
+       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));
+       }
+                        
+     }
+@@ -1563,13 +1562,12 @@
+       
+       /* notify my operators an operator has deOPERed on the network - wiebe */
+       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_user(sptr)->realhost,
+-        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_user(sptr)->realhost);
+       } 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 */