X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/420b2c9a104d9aa7c232345614b8103292600678..3c6fb31a4bb6580e3295fdec5d4687eafb487251:/modules/m_info.c diff --git a/modules/m_info.c b/modules/m_info.c index 77fe0bd..3be948d 100644 --- a/modules/m_info.c +++ b/modules/m_info.c @@ -25,12 +25,11 @@ */ #include "stdinc.h" -#include "tools.h" #include "m_info.h" #include "channel.h" #include "client.h" #include "common.h" -#include "irc_string.h" +#include "match.h" #include "ircd.h" #include "hook.h" #include "numeric.h" @@ -93,10 +92,10 @@ static struct InfoStruct info_table[] = { "Farconnect notices available or operspy accountability limited" }, { - "max_clients", + "max_connections", OUTPUT_DECIMAL, - &ServerInfo.max_clients, - "Maximum clients allowed (configured)", + &maxconnections, + "Max number connections" }, { "anti_nick_flood", @@ -219,12 +218,6 @@ static struct InfoStruct info_table[] = { &ConfigFileEntry.fname_klinelog, "KLINE etc log file" }, - { - "fname_glinelog", - OUTPUT_STRING, - &ConfigFileEntry.fname_glinelog, - "GLINE log file" - }, { "fname_operspylog", OUTPUT_STRING, @@ -237,30 +230,6 @@ static struct InfoStruct info_table[] = { &ConfigFileEntry.fname_ioerrorlog, "IO error log file" }, - { - "glines", - OUTPUT_BOOLEAN, - &ConfigFileEntry.glines, - "G-line (network-wide K-line) support" - }, - { - "gline_time", - OUTPUT_DECIMAL, - &ConfigFileEntry.gline_time, - "Expiry time for G-lines" - }, - { - "gline_min_cidr", - OUTPUT_DECIMAL, - &ConfigFileEntry.gline_min_cidr, - "Minimum CIDR bitlen for ipv4 glines" - }, - { - "gline_min_cidr6", - OUTPUT_DECIMAL, - &ConfigFileEntry.gline_min_cidr6, - "Minimum CIDR bitlen for ipv6 glines" - }, { "global_snotices", OUTPUT_BOOLEAN_YN, @@ -285,12 +254,6 @@ static struct InfoStruct info_table[] = { &ServerInfo.hub, "Server is a hub" }, - { - "idletime", - OUTPUT_DECIMAL, - &ConfigFileEntry.idletime, - "Number of minutes before a client is considered idle" - }, { "kline_delay", OUTPUT_DECIMAL, @@ -343,7 +306,7 @@ static struct InfoStruct info_table[] = { "min_nonwildcard", OUTPUT_DECIMAL, &ConfigFileEntry.min_nonwildcard, - "Minimum non-wildcard chars in K/G lines", + "Minimum non-wildcard chars in K lines", }, { "min_nonwildcard_simple", @@ -483,6 +446,18 @@ static struct InfoStruct info_table[] = { &ConfigFileEntry.stats_y_oper_only, "STATS Y is only shown to operators", }, + { + "throttle_count", + OUTPUT_DECIMAL, + &ConfigFileEntry.throttle_count, + "Connection throttle threshold", + }, + { + "throttle_duration", + OUTPUT_DECIMAL, + &ConfigFileEntry.throttle_duration, + "Connection throttle duration", + }, { "tkline_expire_notices", OUTPUT_BOOLEAN, @@ -567,6 +542,12 @@ static struct InfoStruct info_table[] = { &ConfigChannel.no_join_on_split, "Disallow joining channels when split", }, + { + "only_ascii_channels", + OUTPUT_BOOLEAN_YN, + &ConfigChannel.only_ascii_channels, + "Controls whether non-ASCII is disabled for JOIN" + }, { "use_except", OUTPUT_BOOLEAN_YN, @@ -622,7 +603,6 @@ static struct InfoStruct info_table[] = { /* ** m_info -** parv[0] = sender prefix ** parv[1] = servername */ static int @@ -630,7 +610,7 @@ m_info(struct Client *client_p, struct Client *source_p, int parc, const char *p { static time_t last_used = 0L; - if((last_used + ConfigFileEntry.pace_wait) > CurrentTime) + if((last_used + ConfigFileEntry.pace_wait) > rb_current_time()) { /* safe enough to give this on a local connect only */ sendto_one(source_p, form_str(RPL_LOAD2HI), @@ -639,7 +619,7 @@ m_info(struct Client *client_p, struct Client *source_p, int parc, const char *p return 0; } else - last_used = CurrentTime; + last_used = rb_current_time(); if(hunt_server(client_p, source_p, ":%s INFO :%s", 1, parc, parv) != HUNTED_ISME) return 0; @@ -655,7 +635,6 @@ m_info(struct Client *client_p, struct Client *source_p, int parc, const char *p /* ** mo_info -** parv[0] = sender prefix ** parv[1] = servername */ static int @@ -664,11 +643,14 @@ mo_info(struct Client *client_p, struct Client *source_p, int parc, const char * if(hunt_server(client_p, source_p, ":%s INFO :%s", 1, parc, parv) == HUNTED_ISME) { info_spy(source_p); - send_info_text(source_p); if(IsOper(source_p)) + { send_conf_options(source_p); + sendto_one_numeric(source_p, RPL_INFO, ":%s", + rb_lib_version()); + } send_birthdate_online_time(source_p); @@ -708,13 +690,14 @@ send_info_text(struct Client *source_p) static void send_birthdate_online_time(struct Client *source_p) { + char tbuf[26]; /* this needs to be 26 - see ctime_r manpage */ sendto_one(source_p, ":%s %d %s :Birth Date: %s, compile # %s", get_id(&me, source_p), RPL_INFO, get_id(source_p, source_p), creation, generation); sendto_one(source_p, ":%s %d %s :On-line since %s", get_id(&me, source_p), RPL_INFO, - get_id(source_p, source_p), myctime(startup_time)); + get_id(source_p, source_p), rb_ctime(startup_time, tbuf, sizeof(tbuf))); } /*