if (tmp->status & CONF_UWORLD)
send_reply(sptr, RPL_STATSULINE, host);
else if (tmp->status & CONF_SERVER)
- send_reply(sptr, RPL_STATSCLINE, name, "", "*", port, maximum, hub_limit, get_conf_class(tmp));
+ send_reply(sptr, RPL_STATSCLINE, name, port, maximum, hub_limit, get_conf_class(tmp));
else if (tmp->status & CONF_CLIENT)
send_reply(sptr, RPL_STATSILINE,
(tmp->host ? tmp->host : "*"), maximum,
(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));
}
}
}
}
}
-#ifdef DEBUGMODE
/** Display objects allocated (and total memory used by them) for
* several types of structures.
* @param[in] to Client requesting statistics.
static void
stats_meminfo(struct Client* to, const struct StatDesc* sd, char* param)
{
+ extern void bans_send_meminfo(struct Client *cptr);
+
class_send_meminfo(to);
+ bans_send_meminfo(to);
send_listinfo(to, 0);
}
-#endif
/** Send a list of available statistics.
* @param[in] to Client requesting statistics.
{ 'w', "userload", STAT_FLAG_OPERFEAT, FEAT_HIS_STATS_w,
calc_load, 0,
"Userload statistics." },
-#ifdef DEBUGMODE
{ 'x', "memusage", STAT_FLAG_OPERFEAT, FEAT_HIS_STATS_x,
stats_meminfo, 0,
"List usage information (Debug only)." },
-#endif
{ 'y', "classes", STAT_FLAG_OPERFEAT, FEAT_HIS_STATS_y,
report_classes, 0,
"Connection classes." },