* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
- * $Id: m_info.c 3131 2007-01-21 15:36:31Z jilles $
+ * $Id: m_info.c 3396 2007-04-05 00:38:52Z jilles $
*/
#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"
{ NULL, NULL }
};
-DECLARE_MODULE_AV1(info, NULL, NULL, info_clist, info_hlist, NULL, "$Revision: 3131 $");
+DECLARE_MODULE_AV1(info, NULL, NULL, info_clist, info_hlist, NULL, "$Revision: 3396 $");
/*
* jdc -- Structure for our configuration value table
&opers_see_all_users,
"Farconnect notices available or operspy accountability limited"
},
+ {
+ "max_connections",
+ OUTPUT_DECIMAL,
+ &maxconnections,
+ "Max number connections"
+ },
{
"anti_nick_flood",
OUTPUT_BOOLEAN,
&ConfigFileEntry.disable_fake_channels,
"Controls whether bold etc are disabled for JOIN"
},
- {
- "dot_in_ip6_addr",
- OUTPUT_BOOLEAN,
- &ConfigFileEntry.dot_in_ip6_addr,
- "Suffix a . to ip6 addresses",
- },
{
"dots_in_ident",
OUTPUT_DECIMAL,
&ConfigFileEntry.fname_klinelog,
"KLINE etc log file"
},
- {
- "fname_glinelog",
- OUTPUT_STRING,
- &ConfigFileEntry.fname_glinelog,
- "GLINE log file"
- },
{
"fname_operspylog",
OUTPUT_STRING,
&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,
&ServerInfo.hub,
"Server is a hub"
},
- {
- "idletime",
- OUTPUT_DECIMAL,
- &ConfigFileEntry.idletime,
- "Number of minutes before a client is considered idle"
- },
{
"kline_delay",
OUTPUT_DECIMAL,
"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",
&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,
&ConfigChannel.knock_delay_channel,
"Delay between KNOCK attempts to a channel",
},
- {
- "invite_ops_only",
- OUTPUT_BOOLEAN_YN,
- &ConfigChannel.invite_ops_only,
- "INVITE is restricted to channelops only"
- },
{
"kick_on_split_riding",
OUTPUT_BOOLEAN_YN,
&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,
/*
** m_info
-** parv[0] = sender prefix
** parv[1] = servername
*/
static int
{
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),
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;
/*
** mo_info
-** parv[0] = sender prefix
** parv[1] = servername
*/
static int
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);
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)));
}
/*