#include "struct.h"
#include <assert.h>
+#include <string.h>
#define BAD_PING ((unsigned int)-2)
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)) {
ping = feature_int(FEAT_PINGFREQUENCY);
Debug((DEBUG_DEBUG, "Client %s Ping %d", cli_name(acptr), ping));
+
return ping;
}
{ 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 },
{ 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 },
{ 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 }
};