]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/m_info.c
s/owner/admin/ throughout the source code and docs.
[irc/rqf/shadowircd.git] / modules / m_info.c
index 3ec6e1398aa9116510cf02269324209323a6fa8a..44c7ff854c6ab3a072a999171cc773ad4c11c638 100644 (file)
@@ -29,7 +29,7 @@
 #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"
@@ -91,11 +91,11 @@ static struct InfoStruct info_table[] = {
                &opers_see_all_users,
                "Farconnect notices available or operspy accountability limited"
        },
-       {\r
-               "max_connections",\r
-               OUTPUT_DECIMAL,\r
-               &maxconnections,\r
-               "Max number connections"\r
+       {
+               "max_connections",
+               OUTPUT_DECIMAL,
+               &maxconnections,
+               "Max number connections"
        },
        {
                "anti_nick_flood",
@@ -151,6 +151,12 @@ static struct InfoStruct info_table[] = {
                &ConfigFileEntry.default_operstring,
                "Default operstring at startup.",
        },
+       {
+               "default_operhost",
+               OUTPUT_STRING,
+               &ConfigFileEntry.default_operhost,
+               "Default vhost for operators to receive upon opering up.",
+       },
        {
                "servicestring",
                OUTPUT_STRING,
@@ -175,6 +181,12 @@ static struct InfoStruct info_table[] = {
                &ConfigFileEntry.dots_in_ident,
                "Number of permissable dots in an ident"
        },
+       {
+               "expire_override_time",
+               OUTPUT_DECIMAL,
+               &ConfigFileEntry.expire_override_time,
+               "Period of time after which to unset user mode +p"
+       },
        {
                "failed_oper_notice",
                OUTPUT_BOOLEAN,
@@ -326,6 +338,18 @@ static struct InfoStruct info_table[] = {
                &ServerInfo.network_desc,
                "Network description"
        },
+       {
+               "autochanmodes",
+               OUTPUT_STRING,
+               &ConfigChannel.autochanmodes,
+               "Channelmodes set on channel creation"
+       },
+       {
+               "exemptchanops",
+               OUTPUT_STRING,
+               &ConfigChannel.exemptchanops,
+               "Channelmodes that chanops are exempt from"
+       },
        {
                "nick_delay",
                OUTPUT_DECIMAL,
@@ -356,6 +380,12 @@ static struct InfoStruct info_table[] = {
                &ConfigFileEntry.operspy_dont_care_user_info,
                "Remove accountability and some '!' requirement from non-channel operspy"
        },
+       {
+               "secret_channels_in_whois",
+               OUTPUT_BOOLEAN,
+               &ConfigFileEntry.secret_channels_in_whois,
+               "Defines whether secret channels are always shown in whois to opers with oper:spy priv."
+       },
        {
                "pace_wait",
                OUTPUT_DECIMAL,
@@ -446,6 +476,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,
@@ -530,6 +572,36 @@ 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"
+       },
+       {
+               "cycle_host_change",
+               OUTPUT_BOOLEAN_YN,
+               &ConfigChannel.cycle_host_change,
+               "Controls if when a users' host changes, they cycle channels",
+       },
+       {
+               "host_in_topic",
+               OUTPUT_BOOLEAN_YN,
+               &ConfigChannel.host_in_topic,
+               "Defines whether a topicsetters host or just nick is shown on TOPIC",
+       },
+       {
+               "use_halfop",
+               OUTPUT_BOOLEAN_YN,
+               &ConfigChannel.use_halfop,
+               "Enable chanmode +h (halfop)",
+       },
+       {
+               "use_admin",
+               OUTPUT_BOOLEAN_YN,
+               &ConfigChannel.use_admin,
+               "Enable chanmode +a (admin)",
+       },
        {
                "use_except",
                OUTPUT_BOOLEAN_YN,
@@ -554,6 +626,24 @@ static struct InfoStruct info_table[] = {
                &ConfigChannel.use_knock,
                "Enable /KNOCK",
        },
+        {
+                "use_local_channels",
+                OUTPUT_BOOLEAN_YN,
+                &ConfigChannel.use_local_channels,
+                "Enable local channels (&channels)"
+        },
+       {
+               "resv_forcepart",
+               OUTPUT_BOOLEAN_YN,
+               { &ConfigChannel.resv_forcepart },
+               "Force-part local users on channel RESV"
+       },
+       {
+               "kick_no_rejoin_time",
+               OUTPUT_DECIMAL,
+               { &ConfigChannel.kick_no_rejoin_time },
+               "The amount of time that a user cannot rejoin a +J channel for after being kicked."
+       },
        {
                "disable_hidden",
                OUTPUT_BOOLEAN_YN,
@@ -585,7 +675,6 @@ static struct InfoStruct info_table[] = {
 
 /*
 ** m_info
-**  parv[0] = sender prefix
 **  parv[1] = servername
 */
 static int
@@ -609,7 +698,6 @@ m_info(struct Client *client_p, struct Client *source_p, int parc, const char *p
 
        info_spy(source_p);
 
-       SetCork(source_p);
        send_info_text(source_p);
        send_birthdate_online_time(source_p);
 
@@ -619,7 +707,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
@@ -631,7 +718,11 @@ mo_info(struct Client *client_p, struct Client *source_p, int parc, const char *
                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);
 
@@ -671,13 +762,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)));
 }
 
 /*