Forward port IPCHECK_CLONE_LIMIT, IPCHECK_CLONE_PERIOD,
[ircu2.10.12-pk.git] / doc / readme.features
index eca7aa749cfbfcbb249645710a47d4e772b036a1..b30202e41cb5ff6e05e11cbbc30c5c129cc85b93 100644 (file)
@@ -1,7 +1,9 @@
 Many of the old compile-time options are now configured through the
 server configuration file, ircd.conf.  This file is intended to
 document each of these features.  Logging, although also configured
-through the use of F-lines, is documented in doc/readme.log.
+through the use of F-lines, is documented in doc/readme.log.  NOTE
+THAT THESE NAMES ARE CASE SENSITIVE!  Values are not case sensitive
+unless stated otherwise in the documentation for that feature.
 
 DOMAINNAME
  * Type: string
@@ -119,6 +121,20 @@ MOTD to the client by default; instead, it will only tell the client
 when the MOTD was last changed, and give instructions on how to obtain
 it by typing /MOTD.
 
+MOTD_BANNER
+ * Type: string
+ * Default: NULL
+
+If you enable NODEFAULTMOTD, this specifies a one-line banner to be sent
+to the client in addition to the instructions mentioned above.
+
+PROVIDER
+ * Type: string
+ * Default: NULL
+
+This string as added to the 001 numeric prefixed with "via" before the nick.
+It's used for providing promotional space to providers as per CFV-202
+
 KILL_IPMISMATCH
  * Type: boolean
  * Default: FALSE
@@ -214,6 +230,35 @@ many client disappear that the whole "whowas" list is refreshed a few
 times (unless you make it rather large).  A reasonable value is "total
 number of clients" / 25.
 
+HOST_HIDING
+ * Type: boolean
+ * Default: TRUE
+
+This selects whether local users can set umode +x, thus allowing them
+to hide their hostname if they have also registered with a channel
+service (i.e. they have the ACCOUNT flag set).
+
+HIDDEN_HOST
+ * Type: string
+ * Default: users.undernet.org
+
+This selects the suffix for the hidden hostmask (see HOST_HIDING).
+
+HIDDEN_IP
+ * Type: string
+ * Default: 127.0.0.1
+
+This selects a fake IP to be shown on /USERIP and /WHO %i when the
+target has a hidden host (see HOST_HIDING).
+
+CONNEXIT_NOTICES
+ * Type: boolean
+ * Default: FALSE
+
+This feature controls the generation of server notices when a user
+connects to or disconnects from the server.  Enabling this feature may
+have a performance impact.
+
 KILLCHASETIMELIMIT
  * Type: integer
  * Default: 30
@@ -340,6 +385,14 @@ probably always override this value in your "ircd.conf" with the
 Y-lines.  The given value used to be an often used value for client
 sendQs.
 
+GLINEMAXUSERCOUNT
+ * Type: integer
+ * Default: 20
+
+G-lines that affect too many users have to be set with a special
+command, to prevent accidental G-lines of large blocks of users.  This
+feature sets that particular threshold.
+
 MPATH
  * Type: string
  * Default: "ircd.motd"
@@ -394,6 +447,15 @@ This option is used to specify the type of service that will be
 requested for connections to users.  The value may be given as a
 hexadecimal integer.
 
+POLLS_PER_LOOP
+ * Type: integer
+ * Default: 200
+
+Some of the engines used by the event interface get a number of events
+from the kernel at once.  Since the number retrieved can impact
+performance, it can be tuned by modifying this value.  The engines
+enforce a lower limit of 20.
+
 CRYPT_OPER_PASSWORD
  * Type: boolean
  * Default: TRUE
@@ -561,6 +623,20 @@ OPER_LOPMODE
 This selects whether global IRC operators on this server are permitted
 to use /OPMODE and /CLEARMODE on local ("&") channels.
 
+OPER_FORCE_OPMODE
+ * Type: boolean
+ * Default: TRUE
+
+This selects whether global IRC operators on this server are permitted
+to override Q-lines set for /OPMODE and /CLEARMODE on ordinary ("#") channels
+
+OPER_FORCE_LOPMODE
+ * Type: boolean
+ * Default: TRUE
+
+This selects whether global IRC operators on this server are permitted
+to override Q-lines set for /OPMODE and /CLEARMODE on local ("&") channels
+
 OPER_BADCHAN
  * Type: boolean
  * Default: FALSE
@@ -579,7 +655,7 @@ REGULATED BY THE UNDERNET ADMINISTRATION.
 
 OPER_SET
  * Type: boolean
- * Default: TRUE
+ * Default: FALSE
 
 This selects whether global IRC operators on this server are permitted
 to use the /SET command to set various feature values.
@@ -594,6 +670,21 @@ themselves.  This can be used to make a reasonable judgment in the
 case of a "channel takeover" being reported, while the channel is set
 invite-only.  See doc/readme.who for more details.
 
+OPER_WIDE_GLINE
+ * Type: boolean
+ * Default: TRUE
+
+This selects whether global IRC operators on this server are permitted
+to use the /GLINE command with the ! flag to force slightly wide
+G-lines to be set.
+
+OPER_LIST_CHAN 
+ * Type: boolean
+ * Default: TRUE
+
+This selects whether global IRC operators are permitted to list secret 
+(+s) channels.
+
 LOCOP_KILL
  * Type: boolean
  * Default: TRUE
@@ -643,6 +734,13 @@ LOCOP_LOPMODE
 This selects whether local IRC operators are permitted to use /OPMODE
 and /CLEARMODE on local ("&") channels.
 
+LOCOP_FORCE_LOPMODE
+ * Type: boolean
+ * Default: TRUE
+
+This selects whether local IRC operators on this server are permitted
+to override Q-lines set for /OPMODE and /CLEARMODE on local ("&") channels
+
 LOCOP_LBADCHAN
  * Type: boolean
  * Default: FALSE
@@ -667,3 +765,369 @@ able to see who is on a specified secret channel, without joining
 themselves.  This can be used to make a reasonable judgment in the
 case of a "channel takeover" being reported, while the channel is set
 invite-only.  See doc/readme.who for more details.
+
+LOCOP_WIDE_GLINE
+ * Type: boolean
+ * Default: FALSE
+
+This selects whether local IRC operators are permitted to use the
+/GLINE command with the ! flag to force slightly wide G-lines to be
+set.
+
+LOCOP_LIST_CHAN
+ * Type: boolean
+ * Default: FALSE
+This selects whether local IRC operators are permitted to list secret 
+(+s) channels.
+
+HIS_MAP
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /MAP from users.
+
+HIS_SNOTICES
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes server notices from users.
+HIS_SNOTICES_OPER_ONLY
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes server notices from users.
+HIS_DESYNCS
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes server wallops from users.
+
+HIS_DEBUG_OPER_ONLY
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes server wallops from users.
+
+HIS_WALLOPS
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes operator wallops from users.
+
+HIS_LINKS
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /LINKS from users.
+
+HIS_TRACE
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /TRACE from users.
+
+HIS_STATS_l
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS l from users.
+
+HIS_STATS_c
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS c from users.
+
+HIS_STATS_g
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS g from users.
+
+HIS_STATS_h
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS h from users.
+
+HIS_STATS_k
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS k from users.
+
+HIS_STATS_f
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS f from users.
+
+HIS_STATS_i
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS i from users.
+
+HIS_STATS_j
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS j from users.
+
+HIS_STATS_M
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS M from users.
+
+HIS_STATS_m
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS m from users.
+
+HIS_STATS_o
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS o from users.
+
+HIS_STATS_p
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS p from users.
+
+HIS_STATS_q
+ * Type: boolean
+ * Default: TRUE
+As per UnderNet CFV-165, this removes /STATS q from users.
+
+HIS_STATS_r
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS r from users.
+
+HIS_STATS_d
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS d from users.
+
+HIS_STATS_e
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS e from users.
+
+HIS_STATS_t
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS t from users.
+
+HIS_STATS_T
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS T from users.
+
+HIS_STATS_u
+ * Type: boolean
+ * Default: FALSE
+
+As per UnderNet CFV-165, this allows users to perform /STATS u.
+
+HIS_STATS_U
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS U from users.
+
+HIS_STATS_v
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS v from users.
+
+HIS_STATS_w
+ * Type: boolean
+ * Default: FALSE
+
+As per UnderNet CFV-165, this allows users to perform /STATS w.
+
+HIS_STATS_x
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS x from users.
+
+HIS_STATS_y
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS y from users.
+
+HIS_STATS_z
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes /STATS z from users.
+
+HIS_WHOIS_SERVERNAME
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes server names in replies to /WHOIS.
+
+HIS_WHOIS_IDLETIME
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes idle time in replies to /WHOIS.
+
+HIS_WHO_SERVERNAME
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes server names in replies to /WHO.
+
+HIS_WHO_HOPCOUNT
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this replaces hopcount to a static 3 in replies to /WHO.
+
+HIS_BANWHO
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this doesn't show which server set a ban.
+
+HIS_KILLWHO
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this doesn't show which server or oper performed a
+kill.
+
+HIS_REWRITE
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this remaps remote numerics to come from the local
+server.
+
+HIS_REMOTE
+ * Type: integer
+ * Default: 1
+
+As per UnderNet CFV-165, this disallows remote queries. (*sob!*)
+
+HIS_NETSPLIT
+ * Type: boolean
+ * Default: TRUE
+
+As per UnderNet CFV-165, this removes server names in net break sign-offs.
+
+HIS_SERVERNAME
+ * Type: string
+ * Default: "*.undernet.org"
+
+As per UnderNet CFV-165, this is the "name" of the server shown to users on a
+/WHOIS of another user.
+
+HIS_SERVERINFO
+ * Type: string
+ * Default: "The Undernet Underworld"
+
+As per UnderNet CFV-165, this is the "info" of the server shown to users on a
+/WHOIS of another user.
+
+HIS_URLSERVERS        
+ * Type: string 
+ * Default: "http://www.undernet.org/servers.php"
+
+As per UnderNet CFV-165, this is the URL shown to users when they do a /MAP or 
+/LINKS.
+
+NETWORK
+ * Type: string
+ * Default: "UnderNet"
+
+This defines the network name as reported in the 005 "supported features"
+numeric, and as used by the "Failed to deliver" message.
+
+URL_CLIENTS
+ * Type: string
+ * Default: "ftp://ftp.undernet.org/pub/irc/clients"
+
+This defines a URL that users may visit to find compatible IRC clients.
+
+NICKLEN
+ * Type: integer
+ * Default: 9
+
+This is the allowed length of the nickname length.  It may not be
+larger than the NICKLEN #define, and should usually be the same
+length.  The real purpose of this feature is to permit easy increases
+in nickname length for a network.
+
+IRCD_RES_RETRIES
+ * Type: integer
+ * Default: 2
+
+This is the number of attempts the irc daemon's resolver will have at 
+trying to solicit a response from the DNS server.
+NOTE: Has no effect when using the adns resolver.
+
+IRCD_RES_TIMEOUT
+ * Type: integer
+ * Default: 4
+
+When a DNS query is sent, the irc daemon's resolver will wait this many
+seconds for a reply.  After this timeout has expired, it will retry again,
+for as many retries as IRCD_RES_RETRIES allows.  This can be cut short by
+AUTH_TIMEOUT expiring.
+NOTE: Has no effect when using the adns resolver.
+
+AUTH_TIMEOUT
+ * Type: integer
+ * Default: 9
+
+This is the maximum number of seconds to wait for the ident lookup and 
+the DNS query to succeed.  On older (pre 2.10.11.06) servers this was
+hard coded to 60 seconds.
+
+IPCHECK_CLONE_LIMIT
+ * Type: integer
+ * Default: 4
+
+The number of times you are allowed to connect within IPCHECK_CLONE_PERIOD
+seconds before you are considered abusing the server and throttled.
+
+IPCHECK_CLONE_PERIOD
+ * Type: integer
+ * Defualt: 40
+
+The number of seconds you are allowed to connect IPCHECK_CLONE_LIMIT times
+within before you are considered abusing the server and throttled.  
+For instance if you set IPCHECK_CLONE_LIMIT to 1, and IPCHECK_CLONE_PERIOD
+to 10, then a user is only allowed to connect once in 10s, if they connect
+again within 10s, then they are considered to be connecting too fast and
+they are throttled.
+
+IPCHECK_CLONE_DELAY
+ * Type: integer
+ * Default: 600
+
+The number of seconds grace after restarting the server before the throttle
+code kicks in.  Even if a user connects repeditively during this period, 
+they will never get throttled.  This is so after a restart users on a 
+multiuser box can all connect to a server simultaniously without being 
+considered an attack.