Make server blocks default to leaf.
[ircu2.10.12-pk.git] / doc / readme.features
index 4faac706c65f9517d5393d3c3c43bf501a0fdd99..c98ba109a1c8a06b345498da397fba2c50369c1e 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
@@ -61,7 +63,7 @@ sendQ, but at peak moments this can easily increase to 2032 bytes per
 client (sendQs are allocated in chunks of 2032 bytes).  The maximum
 possible amount that can be allocated for sendQs is the number of
 connected clients times whatever you specified as the maximum sendQ in
-your Y: lines in the ircd.conf file.  That value will likely be larger
+your Class blocks in the ircd.conf file.  That value will likely be larger
 then the amount of RAM you have.  The educated guess I talked about
 earlier would be "number of clients" times * 2048 bytes + "size of
 net.burst" * n, where "n" is 1 for leafs and up to 5 for HUBs.  The
@@ -101,16 +103,16 @@ SERVER_PORT
 When an IRC operator attempts a connect to another server, he or she
 may not know which port the connect should go to.  In this server
 version, that operator may use the special port 0, in which case the
-server will take the port from the C-line.  If no port is specified in
-the C-line, however, the port specified by this option will be used
-instead.
+server will take the port from the Connect block.  If no port is
+specified in the Connect block, however, the port specified by this
+option will be used instead.
 
 NODEFAULTMOTD
  * Type: boolean
  * Default: TRUE
 
 Every time a client connects to your server, the full Message of the
-Day (as specified by the T-lines or by the file specified by the MPATH
+Day (as specified by the Motd blocks or by the file specified by the MPATH
 option) is sent to the client.  The server sends the Message of the
 Day even though many clients permit the user to ignore it.  Many users
 never read the message of the day anyway, making it a huge waste of
@@ -126,6 +128,13 @@ MOTD_BANNER
 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
@@ -174,8 +183,8 @@ NODNS
 
 If you are playing with the server off-line, and no DNS is available,
 then long delays occur before the server starts up because it tries to
-resolve the name given on the M-line (which usually isn't given in
-/etc/hosts) and for each connecting client.  If you specify "TRUE"
+resolve the name given in the General block (which usually isn't given
+in /etc/hosts) and for each connecting client.  If you specify "TRUE"
 here, then a call to gethostbyname() will be done only for the real
 hostname, and the server will not try to resolve clients that connect
 to "localhost."  Note that other calls to gethostbyname() are still
@@ -223,7 +232,7 @@ number of clients" / 25.
 
 HOST_HIDING
  * Type: boolean
- * Default: FALSE
+ * 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
@@ -235,6 +244,21 @@ HIDDEN_HOST
 
 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
@@ -338,9 +362,9 @@ If the daemon doesn't receive anything from any of its links within
 PINGFREQUENCY seconds, then the it will attempt to check for an active
 link with a PING message.  If no reply is received within
 (PINGFREQUENCY * 2) seconds, then the connection will be closed.  This
-value may be overridden by a Y-line in "ircd.conf" if the connection's
-I- or C-line in "ircd.conf" assigns a specific class to the connection
-(recommended).
+value may be overridden by a Class block in "ircd.conf" if the
+connection's Client or Connect block in "ircd.conf" assigns a specific
+class to the connection (recommended).
 
 CONNECTFREQUENCY
  * Type: integer
@@ -348,15 +372,15 @@ CONNECTFREQUENCY
 
 This is the default frequency that the server attempts to reconnect
 with its uplink server if it is set to auto connect to it. Note that
-this value is overridden by a Y-line in ircd.conf if the C-lines in
-ircd.conf assign a specific class to the connection (recommended).
+this value is overridden by a Class block in ircd.conf if the C-lines
+in ircd.conf assign a specific class to the connection (recommended).
 
 DEFAULTMAXSENDQLENGTH
  * Type: integer
  * Default: 40000
 
-This is the default value of the maximum sendQ length of Y-line
-classes (see doc/example.conf for details on Y-lines).  You will
+This is the default value of the maximum sendQ length of connection
+classes (see doc/example.conf for details on Class blocks).  You will
 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.
@@ -403,9 +427,9 @@ This option is only needed when you wish to run multiple IRC servers
 on the same machine, and they must share at least one port.  This will
 require having multiple IP addresses for the machine that will be
 hosting the servers.  If you specify "TRUE" here, you can cause the
-server to bind to one of these IP addresses.  Use the second field of
-the M-line (the "password" field) to specify the IP address.  If you
-are unsure, stick with "FALSE."
+server to bind to one of these IP addresses.  Use the vhost field of
+the General block to specify the IP address.  If you are unsure, stick
+with "FALSE."
 
 TOS_SERVER
  * Type: integer
@@ -438,7 +462,7 @@ CRYPT_OPER_PASSWORD
 
 In order to allow certain users to become IRC operators, they must
 authenticate themselves with a password.  This password is matched
-against an O-line in the "ircd.conf" configuration file; see
+against an Operator block in the "ircd.conf" configuration file; see
 doc/example.conf for more details.  If you specify "TRUE" here, you
 must use the crypted form of these passwords in your "ircd.conf" file.
 Since compromises of the "ircd.conf" file have happened in the past,
@@ -599,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
@@ -696,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
@@ -736,3 +781,365 @@ LOCOP_LIST_CHAN
 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.
+
+SOCKSENDBUF
+ * Type: integer
+ * Default: 0
+
+The send window size used for connections to other servers.
+
+SOCKRECVBUF
+ * Type: integer
+ * Default: 0
+
+The receive window size used for connections to other servers.