+2006-05-28 Michael Poole <mdpoole@troilus.org>
+
+ * doc/readme.features (MAXBANS): Update default value.
+ (NICKLEN): Likewise.
+ (HIS_STATS_*): Sort alphabetically.
+
+ * ircd/m_stats.c (m_stats): Describe the intention so that there
+ are not further questions about local opers and remote /stats.
+ Fix places that use cptr instead of cptr.
+
2006-05-24 Michael Poole <mdpoole@troilus.org>
* ircd/s_auth.c (auth_dns_callback): Be more careful about
MAXBANS
* Type: integer
- * Default: 30
+ * Default: 45
This is the maximum number of bans a user may set on a given channel.
As per UnderNet CFV-165, this removes /STATS a from users.
-HIS_STATS_l
- * Type: boolean
- * Default: TRUE
-
-As per UnderNet CFV-165, this removes /STATS l from users.
-
-HIS_STATS_L
- * Type: boolean
- * Default: TRUE
-
-As per UnderNet CFV-165, this removes /STATS L from users.
-
HIS_STATS_c
* Type: boolean
* Default: TRUE
As per UnderNet CFV-165, this removes /STATS c from users.
-HIS_STATS_g
+HIS_STATS_d
* Type: boolean
* Default: TRUE
-As per UnderNet CFV-165, this removes /STATS g from users.
+As per UnderNet CFV-165, this removes /STATS d from users.
-HIS_STATS_k
+HIS_STATS_e
* Type: boolean
* Default: TRUE
-As per UnderNet CFV-165, this removes /STATS k from users.
+As per UnderNet CFV-165, this removes /STATS e from users.
HIS_STATS_f
* Type: boolean
As per UnderNet CFV-165, this removes /STATS f from users.
+HIS_STATS_g
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS g from users.
+
HIS_STATS_i
* Type: boolean
* Default: TRUE
As per UnderNet CFV-165, this removes /STATS J from users.
+HIS_STATS_k
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS k from users.
+
+HIS_STATS_l
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS l from users.
+
+HIS_STATS_L
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS L from users.
+
HIS_STATS_M
* Type: boolean
* Default: TRUE
As per UnderNet CFV-165, this removes /STATS R from users.
-HIS_STATS_d
- * Type: boolean
- * Default: TRUE
-
-As per UnderNet CFV-165, this removes /STATS d from users.
-
-HIS_STATS_e
- * Type: boolean
- * Default: TRUE
-
-As per UnderNet CFV-165, this removes /STATS e from users.
-
HIS_STATS_t
* Type: boolean
* Default: TRUE
NICKLEN
* Type: integer
- * Default: 9
+ * Default: 12
This is the allowed length of the nickname length. It may not be
larger than the NICKLEN #define, and should usually be the same
const struct StatDesc *sd;
char *param = 0;
- /* If we didn't find a descriptor and this is my client, send them help */
+ /* If we didn't find a descriptor, send them help */
if ((parc < 2) || !(sd = stats_find(parv[1])))
parv[1] = "*", sd = stats_find("*");
* not privileged (server or an operator), then the STAT_FLAG_OPERONLY
* flag must not be set, and if the STAT_FLAG_OPERFEAT flag is set,
* then the feature given by sd->sd_control must be off.
+ *
+ * This checks cptr rather than sptr so that a local oper may send
+ * /stats queries to other servers.
*/
if (!IsPrivileged(cptr) &&
((sd->sd_flags & STAT_FLAG_OPERONLY) ||
((sd->sd_flags & STAT_FLAG_OPERFEAT) && feature_bool(sd->sd_control))))
- return send_reply(cptr, ERR_NOPRIVILEGES);
+ return send_reply(sptr, ERR_NOPRIVILEGES);
/* Check if they are a local user */
- if ((sd->sd_flags & STAT_FLAG_LOCONLY) && !MyUser(cptr))
- return send_reply(cptr, ERR_NOPRIVILEGES);
+ if ((sd->sd_flags & STAT_FLAG_LOCONLY) && !MyUser(sptr))
+ return send_reply(sptr, ERR_NOPRIVILEGES);
/* Check for extra parameter */
if ((sd->sd_flags & STAT_FLAG_VARPARAM) && parc > 3 && !EmptyString(parv[3]))