+2005-05-25 Reed Loden <reed@reedloden.com>
+
+ * ircd/s_err.c (replyTable): Allow for the specification of 'O' or
+ 'o' in RPL_STATSOLINE.
+
+ * ircd/s_stats.c (stats_configured_links): In /stats o/O, display
+ 'O' if either the oper block or the connection class has
+ PRIV_PROPAGATE (global oper) and 'o' if neither has PRIV_PROPAGATE
+ (local oper).
+
2005-05-30 Michael Poole <mdpoole@troilus.org>
* ircd/IPcheck.c: Add Debug()s to try to track why the connected
/* 242 */
{ RPL_STATSUPTIME, ":Server Up %d days, %d:%02d:%02d", "242" },
/* 243 */
- { RPL_STATSOLINE, "O %s@%s * %s %s", "243" },
+ { RPL_STATSOLINE, "%c %s@%s * %s %s", "243" },
/* 244 */
{ 0 },
/* 245 */
(name[0] == ':' ? "0" : ""), (tmp->name ? tmp->name : "*"),
port, get_conf_class(tmp));
else if (tmp->status & CONF_OPERATOR)
- send_reply(sptr, RPL_STATSOLINE, username, host, name, get_conf_class(tmp));
+ send_reply(sptr, RPL_STATSOLINE,
+ ((FlagHas(&tmp->privs_dirty, PRIV_PROPAGATE)
+ && FlagHas(&tmp->privs, PRIV_PROPAGATE))
+ || (FlagHas(&tmp->conn_class->privs_dirty, PRIV_PROPAGATE)
+ && FlagHas(&tmp->conn_class->privs, PRIV_PROPAGATE)))
+ ? 'O' : 'o', username, host, name, get_conf_class(tmp));
}
}
}