sendq = 160000;
maxlinks = 400;
};
+Class {
+ name = "Opers";
+ pingfreq = 1 minutes 30 seconds;
+ sendq = 160000;
+ maxlinks = 10;
+
+ # For connection classes intended for operator use, you can specify
+ # privileges used when the Operator block (see below) names this
+ # class. The local (aka globally_opered) privilege MUST be defined
+ # by either the Class or Operator block. The following privileges
+ # exist:
+ #
+ # local (or propagate, with the opposite sense)
+ # whox (can use x flag with /WHO)
+ # display (oper status visible to lusers)
+ # chan_limit (can join local channels when in
+ # MAXCHANNELSPERUSER channels)
+ # mode_lchan (can /MODE &channel without chanops)
+ # deop_lchan (cannot be deopped or kicked on local channels)
+ # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
+ # show_invis (see +i users in /WHO x)
+ # show_all_invis (see +i users in /WHO x)
+ # unlimit_query (show more results from /WHO)
+ # local_kill (can kill clients on this server)
+ # rehash (can use /REHASH)
+ # die (can use /DIE)
+ # local_jupe_server (not used)
+ # set (can use /SET)
+ # local_gline (can set a G-line for this server only)
+ # local_badchan (can set a Gchan for this server only)
+ # see_chan (can see users in +s channels in /WHO)
+ # wide_gline (can use ! to force a wide G-line)
+ # see_opers (can see opers without DISPLAY privilege)
+ # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
+ # kill (can kill clients on other servers)
+ # gline (can issue G-lines to other servers)
+ # jupe_server (not used)
+ # opmode (can use /OPMODE)
+ # badchan (can issue Gchans to other servers)
+ # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
+ #
+ # For global opers (with propagate = yes or local = no), the default
+ # is to grant all of the above privileges. For local opers, the
+ # default is to grant ONLY the following privileges:
+ # chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
+ # rehash, local_gline, local_jupe, local_opmode, whox, display,
+ # force_local_opmode
+ # Any privileges listed in a Class block override the defaults.
+ local = no;
+};
# [Client]
#
# To allow clients to connect, they need authorization. This can be
# mask = "servermask";
# # No is assumed for these unless you set it to yes.
# uworld = no;
-# leaf = no;
-# hub = yes;
+# hub = no;
+# # Yes is assumed for "leaf" unless you set it to no.
+# leaf = yes;
# };
#
# Note: (1) These lines are agreed on by every server admin on Undernet;
# them from using Uworld as well.
#
# Operator {
-# local = yes;
# host = "host/IP mask";
# name = "opername";
# password = "encryptedpass";
# class = "classname";
-#
-# # You can also specify per-operator privileges, many of which can
-# # be globally disabled by settings in the "features" block (as
-# # indicated).
-# extended_who_information = yes;
-# oper_status_display = yes;
-# globally_opered = no; # inverted alias for local
-# bypass_local_channel_limits = yes; # unless OPER_NO_CHAN_LIMIT = FALSE
-# set_local_channel_modes = yes; # unless OPER_MODE_LCHAN = FALSE
-# protected_local_channel = yes; # unless NO_OPER_DEOP_LCHAN = FALSE
-# bypass_join_local_channels = yes; # unless OPER_WALK_THROUGH_LMODES = FALSE
-# see_invisible_users = yes; # unless SHOW_INVISIBLE_USERS = FALSE
-# list_all_invisible_users = yes; # unless SHOW_ALL_INVISIBLE_USERS = FALSE
-# unlimited_who_queries = yes; # unless UNLIMIT_OPER_QUERY = FALSE
-#
-# # The following privileges have two settings in the "features" block;
-# # one to globally disable for local operators, one to globally disable
-# # the privilege for global operators.
-# local_kill = yes; # unless {OPER,LOCOP}_KILL = FALSE
-# rehash = yes; # unless {OPER,LOCOP}_REHASH = FALSE
-# die = yes; # unless {OPER,LOCOP}_DIE = FALSE
-# local_gline = yes; # unless {OPER,LOCOP}_LGLINE = FALSE
-# local_jupe_server = yes; # unless {OPER,LOCOP}_LJUPE = FALSE
-# change_settings = yes; # unless {OPER,LOCOP}_SET = FALSE
-# local_gline_channels = yes; # unless {OPER,LOCOP}_LBADCHAN = FALSE
-# see_private_channels = yes; # unless {OPER,LOCOP}_SEE_IN_SECRET_CHANNELS = FALSE
-# wide_glines = yes; # unless {OPER,LOCOP}_WIDE_GLINE = FALSE
-#
-# # The following privileges default to yes for global operators and
-# # to no for local operators.
-# see_other_opers = yes; # unless local
-# global_kill = yes; # unless local or LOCAL_KILL_ONLY = TRUE
-# gline = yes; # unless local or OPER_GLINE = FALSE
-# jupe_server = yes; # unless local or OPER_JUPE = FALSE
-# hack_channel_modes = yes; # unless local or OPER_OPMODE = FALSE
-# gline_channels = yes; # unless local or OPER_BADCHAN = FALSE
+# # You can also set any operator privilege; see the Class block
+# # documentation for details. A privilege defined for a single
+# # Operator will override the privilege settings for the Class
+# # and the default setting.
# };
#
# The encrypted password is optional. If you wish to encrypt your
class = "Local";
};
Operator {
- local = yes;
host = "*@*.uu.net";
password = "notencryptedpass";
name = "Niels";
- class = "Local";
+ class = "Opers";
};
# Note that the <connection class> is optional, but leaving it away
nick = "X@channels.undernet.org";
};
+# You can ask a separate server whether to allow users to connect.
+IAuth {
+ pass = "ircd-iauth";
+ host = "127.0.0.1";
+ port = 7700;
+ connectfreq = 30;
+ timeout = 60;
+};
+
# [features]
# IRC servers have a large number of options and features. Most of these
# are set at compile time through the use of #define's--see "make config"
# "RANDOM_SEED"="<you should set one explicitly>";
# "DEFAULT_LIST_PARAM"="TRUE";
# "NICKNAMEHISTORYLENGTH"="800";
+# "NETWORK"="UnderNet";
# "HOST_HIDING"="FALSE";
# "HIDDEN_HOST"="users.undernet.org";
# "HIDDEN_IP"="127.0.0.1";
# "KILLCHASETIMELIMIT"="30";
# "MAXCHANNELSPERUSER"="10";
-# "NICKLEN" = "9";
+# "NICKLEN" = "12";
# "AVBANLEN"="40";
# "MAXBANS"="30";
# "MAXSILES"="15";
-# "HANGONGOODLINK="300";
+# "HANGONGOODLINK"="300";
# "HANGONRETRYDELAY" = "10";
# "CONNECTTIMEOUT" = "90";
-# "TIMESEC" = "60";
# "MAXIMUM_LINKS" = "1";
# "PINGFREQUENCY" = "120";
# "CONNECTFREQUENCY" = "600";
# "MPATH" = "ircd.motd";
# "RPATH" = "remote.motd";
# "PPATH" = "ircd.pid";
-# "VIRTUAL_HOST" = "FALSE";
# "TOS_SERVER" = "0x08";
# "TOS_CLIENT" = "0x08";
# "POLLS_PER_LOOP" = "200";
-# "IRCD_RES_TIMEOUTS" = "4";
+# "IRCD_RES_TIMEOUT" = "4";
# "IRCD_RES_RETRIES" = "2";
# "AUTH_TIMEOUT" = "9";
# "IPCHECK_CLONE_LIMIT" = "4";
# "IPCHECK_CLONE_PERIOD" = "40";
# "IPCHECK_CLONE_DELAY" = "600";
-# "CRYPT_OPER_PASSWORD" = "TRUE";
-# "OPER_NO_CHAN_LIMIT" = "TRUE";
-# "OPER_MODE_LCHAN" = "TRUE";
-# "OPER_WALK_THROUGH_LMODES" = "FALSE";
-# "NO_OPER_DEOP_LCHAN" = "FALSE";
-# "SHOW_INVISIBLE_USERS" = "TRUE";
-# "SHOW_ALL_INVISIBLE_USERS" = "TRUE";
-# "UNLIMIT_OPER_QUERY" = "FALSE";
-# "LOCAL_KILL_ONLY" = "FALSE";
# "CONFIG_OPERCMDS" = "FALSE";
-# "OPER_KILL" = "TRUE";
-# "OPER_REHASH" = "TRUE";
-# "OPER_RESTART" = "TRUE";
-# "OPER_DIE" = "TRUE";
-# "OPER_GLINE" = "TRUE";
-# "OPER_LGLINE" = "TRUE";
-# "OPER_JUPE" = "TRUE";
-# "OPER_LJUPE" = "TRUE";
-# "OPER_OPMODE" = "TRUE";
-# "OPER_LOPMODE" = "TRUE";
-# "OPER_BADCHAN" = "FALSE";
-# "OPER_LBADCHAN" = "FALSE";
-# "OPER_SET" = "FALSE";
-# "OPERS_SEE_IN_SECRET_CHANNELS" = "TRUE";
-# "OPER_WIDE_GLINE" = "TRUE";
-# "OPER_LIST_CHAN" = "TRUE";
-# "LOCOP_KILL" = "TRUE";
-# "LOCOP_REHASH" = "TRUE";
-# "LOCOP_RESTART" = "FALSE";
-# "LOCOP_DIE" = "FALSE";
-# "LOCOP_LGLINE" = "TRUE";
-# "LOCOP_LJUPE" = "TRUE";
-# "LOCOP_LOPMODE" = "TRUE";
-# "LOCOP_LBADCHAN" = "FALSE";
-# "LOCOP_SET" = "FALSE";
-# "LOCOP_SEE_IN_SECRET_CHANNELS" = "FALSE";
-# "LOCOP_WIDE_GLINE" = "FALSE";
-# "LOCOP_LIST_CHAN" = "FALSE";
# "OPLEVELS" = "TRUE";
# "LOCAL_CHANNELS" = "TRUE";
+# "ANNOUNCE_INVITES" = "FALSE";
+# These were introduced by Undernet CFV-165 to add "Head-In-Sand" (HIS)
+# behavior to hide most network topology from users.
+# "HIS_SNOTICES" = "TRUE";
+# "HIS_SNOTICES_OPER_ONLY" = "TRUE";
+# "HIS_DEBUG_OPER_ONLY" = "TRUE";
+# "HIS_WALLOPS" = "TRUE";
+# "HIS_MAP" = "TRUE";
+# "HIS_LINKS" = "TRUE";
+# "HIS_TRACE" = "TRUE";
+# "HIS_STATS_a" = "TRUE";
+# "HIS_STATS_c" = "TRUE";
+# "HIS_STATS_d" = "TRUE";
+# "HIS_STATS_e" = "TRUE";
+# "HIS_STATS_f" = "TRUE";
+# "HIS_STATS_g" = "TRUE";
+# "HIS_STATS_h" = "TRUE";
+# "HIS_STATS_i" = "TRUE";
+# "HIS_STATS_j" = "TRUE";
+# "HIS_STATS_k" = "TRUE";
+# "HIS_STATS_l" = "TRUE";
+# "HIS_STATS_L" = "TRUE";
+# "HIS_STATS_m" = "TRUE";
+# "HIS_STATS_M" = "TRUE";
+# "HIS_STATS_o" = "TRUE";
+# "HIS_STATS_p" = "TRUE";
+# "HIS_STATS_q" = "TRUE";
+# "HIS_STATS_r" = "TRUE";
+# "HIS_STATS_R" = "TRUE";
+# "HIS_STATS_t" = "TRUE";
+# "HIS_STATS_T" = "TRUE";
+# "HIS_STATS_u" = "FALSE";
+# "HIS_STATS_U" = "TRUE";
+# "HIS_STATS_v" = "TRUE";
+# "HIS_STATS_w" = "TRUE";
+# "HIS_STATS_x" = "TRUE";
+# "HIS_STATS_y" = "TRUE";
+# "HIS_STATS_z" = "TRUE";
+# "HIS_WHOIS_SERVERNAME" = "TRUE";
+# "HIS_WHOIS_IDLETIME" = "TRUE";
+# "HIS_WHOIS_LOCALCHAN" = "TRUE";
+# "HIS_WHO_SERVERNAME" = "TRUE";
+# "HIS_WHO_HOPCOUNT" = "TRUE";
+# "HIS_BANWHO" = "TRUE";
+# "HIS_KILLWHO" = "TRUE";
+# "HIS_REWRITE" = "TRUE";
+# "HIS_REMOTE" = "TRUE";
+# "HIS_NETSPLIT" = "TRUE";
+# "HIS_SERVERNAME" = "*.undernet.org";
+# "HIS_SERVERINFO" = "The Undernet Underworld";
+# "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
};
# Well, you have now reached the end of this sample configuration