Author: LordLuke <lordluke@undernet.org>
[ircu2.10.12-pk.git] / ircd / client.c
index dac2e39ba211b28b8ca271399190f16766c402f9..c313d78c9b8a8f8a367e47600424086cb525f861 100644 (file)
@@ -34,6 +34,7 @@
 #include "struct.h"
 
 #include <assert.h>
+#include <string.h>
 
 #define BAD_PING                ((unsigned int)-2)
 
@@ -48,6 +49,8 @@ int client_get_ping(const struct Client* acptr)
   struct ConfItem* aconf;
   struct SLink*    link;
 
+  assert(cli_verify(acptr));
+
   for (link = cli_confs(acptr); link; link = link->next) {
     aconf = link->value.aconf;
     if (aconf->status & (CONF_CLIENT | CONF_SERVER)) {
@@ -60,6 +63,7 @@ int client_get_ping(const struct Client* acptr)
     ping = feature_int(FEAT_PINGFREQUENCY);
 
   Debug((DEBUG_DEBUG, "Client %s Ping %d", cli_name(acptr), ping));
+
   return ping;
 }
 
@@ -114,6 +118,7 @@ static struct {
   { PRIV_SHOW_ALL_INVIS, FEAT_SHOW_ALL_INVISIBLE_USERS,
     (FLAGS_OPER | FLAGS_LOCOP) },
   { PRIV_UNLIMIT_QUERY, FEAT_UNLIMIT_OPER_QUERY, (FLAGS_OPER | FLAGS_LOCOP) },
+  { PRIV_LIST_CHAN, FEAT_LIST_CHAN, (FLAGS_OPER | FLAGS_LOCOP) },
 
   { PRIV_KILL, FEAT_LOCAL_KILL_ONLY, 0 },
   { PRIV_GLINE, FEAT_CONFIG_OPERCMDS, ~0 },
@@ -139,6 +144,7 @@ static struct {
   { PRIV_SET, FEAT_OPER_SET, FLAGS_OPER },
   { PRIV_SEE_CHAN, FEAT_OPERS_SEE_IN_SECRET_CHANNELS, FLAGS_OPER },
   { PRIV_WIDE_GLINE, FEAT_OPER_WIDE_GLINE, FLAGS_OPER },
+  { PRIV_LIST_CHAN, FEAT_OPER_LIST_CHAN, FLAGS_OPER },
 
   { PRIV_LOCAL_KILL, FEAT_LOCOP_KILL, FLAGS_LOCOP },
   { PRIV_REHASH, FEAT_LOCOP_REHASH, FLAGS_LOCOP },
@@ -151,6 +157,7 @@ static struct {
   { PRIV_SET, FEAT_LOCOP_SET, FLAGS_LOCOP },
   { PRIV_SEE_CHAN, FEAT_LOCOP_SEE_IN_SECRET_CHANNELS, FLAGS_LOCOP },
   { PRIV_WIDE_GLINE, FEAT_LOCOP_WIDE_GLINE, FLAGS_LOCOP },
+  { PRIV_LIST_CHAN, FEAT_LOCOP_LIST_CHAN, FLAGS_LOCOP },
   { 0, FEAT_LAST_F, 0 }
 };