Documentation updates in preperation for beta release.
This commit is contained in:
parent
e513c5b842
commit
1422ee74d7
14 changed files with 76 additions and 3132 deletions
11
.gitattributes
vendored
11
.gitattributes
vendored
|
@ -10,7 +10,6 @@
|
|||
/README.FIRST -text
|
||||
/README.PLATFORMS -text
|
||||
/README.VMS -text
|
||||
/RELNOTES -text
|
||||
/TODO -text
|
||||
adns/.cvsignore -text
|
||||
adns/COPYING -text
|
||||
|
@ -68,10 +67,8 @@ doc/LazyLinks.txt -text
|
|||
doc/Makefile.in -text
|
||||
doc/Tao-of-IRC.940110 -text
|
||||
doc/challenge.txt -text
|
||||
doc/convertconf-example.conf -text
|
||||
doc/dline.conf -text
|
||||
doc/example.conf -text
|
||||
doc/example.efnet.conf -text
|
||||
doc/guidelines.txt -text
|
||||
doc/index.txt -text
|
||||
doc/ircd.8 -text
|
||||
|
@ -86,19 +83,12 @@ doc/old/ChangeLog-Hybrid7Rc1 -text
|
|||
doc/old/Etiquette -text
|
||||
doc/old/Hybrid-team -text
|
||||
doc/old/README -text
|
||||
doc/old/US-Admin/Networking -text
|
||||
doc/old/US-Admin/Operators -text
|
||||
doc/old/US-Admin/README -text
|
||||
doc/old/example.conf.trillian -text
|
||||
doc/old/example_old.conf -text
|
||||
doc/old/ircd.8 -text
|
||||
doc/old/simple.conf -text
|
||||
doc/operguide.txt -text
|
||||
doc/opermyth.txt -text
|
||||
doc/resv.txt -text
|
||||
doc/server-version-info -text
|
||||
doc/serverhide.txt -text
|
||||
doc/simple.conf -text
|
||||
doc/technical/Persistent_Clients.txt -text
|
||||
doc/technical/README.TSora -text
|
||||
doc/technical/README.openssl -text
|
||||
|
@ -117,7 +107,6 @@ doc/technical/rfc1459.txt -text
|
|||
doc/technical/send.txt -text
|
||||
doc/technical/ts5.txt -text
|
||||
doc/technical/whats-new-code.txt -text
|
||||
doc/vchans.txt -text
|
||||
doc/whats-new.txt -text
|
||||
help/.cvsignore -text
|
||||
help/Makefile.in -text
|
||||
|
|
110
README.FIRST
110
README.FIRST
|
@ -1,22 +1,67 @@
|
|||
If you don't read this first, we won't help you.
|
||||
:-)
|
||||
NeoIRCd IRC Server. Pre 1.0 Release (Check the include/version.h file)
|
||||
*******************************************************************************
|
||||
Thanks for Using NeoIRCd. Please MAKE sure you read this file and the
|
||||
INSTALL file before asking for help on our IRC channel or the support
|
||||
boards.
|
||||
|
||||
******************************* IMPORTANT *************************************
|
||||
NeoIRCd is a advanced IRCD based on the hybrid7 core. It contains many
|
||||
enhancements to making it more usefull to networks that are services based
|
||||
while retaining the stability and scaleablity of the Hybrid7 core.
|
||||
|
||||
*********** Note for those who dont bother reading docs *****************
|
||||
* - Reading INSTALL is now a must, as the old DPATH is now specified *
|
||||
* when configure is run. *
|
||||
* You now need to ./configure --prefix="/path/to/install/it" *
|
||||
* - The old config format WILL NOT WORK. Please see doc/example.conf ! *
|
||||
* - The old kline format WILL NOT WORK. Please use convertklines which *
|
||||
* will be installed with your ircd! *
|
||||
* - If you get errors compiling custom.mo, check if you are using the *
|
||||
* most recent version of gettext. Tested with GNU gettext 0.10.35. *
|
||||
*************************************************************************
|
||||
Some of the features of NeoIRCd are (in Addition to the Hybrid7 features
|
||||
listed below):
|
||||
* Full Services Support. This means that services (Like NeoStats and Epona) can
|
||||
play nicely with NeoIRCd. Things like allowing services to
|
||||
change nicks (instead of colliding) This includes currently, the following
|
||||
support:
|
||||
* SVSNICK - Services Can change the nickname
|
||||
* SVSHOST - Change the hostname of the target
|
||||
* SVSID - Set/change the services ID of the target
|
||||
More SVS* commands are planned, like SVSKILL, for services to kill a user
|
||||
* Full Server U-Line support. A U lined server can bounce and set modes on
|
||||
any user or channel without following traditional IRC rules (Needed for
|
||||
most services)
|
||||
* +S usermode. +S means Services Client. Service Clients can only
|
||||
be set via a U lined server, and +S clients can override all modes (just
|
||||
like a Ulined Server)
|
||||
* Dynamic U lines. Dynamic U lines are something new in NeoIRCd, where you
|
||||
do not have to add a U line entry to every IRCD configuration. You
|
||||
only add a entry on the server that the U Lined services connect to, and
|
||||
when the U lined Server connects, its U line setting is propgated to the
|
||||
rest of the network.
|
||||
* Channel Admin mode. (+a) Channel admins have the ability to set *some*
|
||||
modes on a channel that a normal operator (+o) does not. Things
|
||||
Like Anonops and paranoid settings.
|
||||
* Channel Mode +O. Operator only channels. Only opers/server admins can
|
||||
join these channels. Invites and Invite exceptions can be used
|
||||
to allow non ops to join the channel.
|
||||
* Chanmode +r and Usermode +r. To help identify Registered
|
||||
Channels and users respecitivly
|
||||
* /nickserv, /chanserv, /identify aliases to send secured messages
|
||||
to services.
|
||||
* Swhois support. This was something in Unreal
|
||||
that I thought was cool, and just had to add it.
|
||||
Allows a admin/oper/services to add a aditional line to the /whois reply
|
||||
of a target user
|
||||
* Hidden Hosts/Vhosts and usermode +x. This cloaks the users
|
||||
real hostname, to help protect them from attacks directed at their
|
||||
IP address.
|
||||
* Reserved Nicknames/Channels are network wide.
|
||||
|
||||
If you are know Hybrid7's features, The following are removed from NeoIRCd:
|
||||
* VChans. Vchans are great way to battle channel take overs but on a
|
||||
services based network, are kinda reduntant, as services can usually
|
||||
help you recover from a channel takeover.
|
||||
* OandV support. OandV support allowed a user to have both ops and voice
|
||||
in a channel at the same time. This was redundant imho.
|
||||
* Glines now no longer need 3 opers to agree on it. One oper sets a Gline,
|
||||
and its network wide.
|
||||
|
||||
anyway, thats a short description of what NeoIRCd can do for
|
||||
you. I think the best way to see its capabilites is to just try it
|
||||
out. Installation and running instructions are in the INSTALL file, so
|
||||
read that for more info.
|
||||
|
||||
ALSO, IF YOU ARE UPGRADING YOUR CURRENT SOURCE TREE, AND YOU TRY TO BUILD
|
||||
IN IT WITHOUT PERFORMING AT LEAST 'make clean', THINGS _WILL_ BREAK. IT IS
|
||||
RECOMMENDED THAT YOU RUN 'make distclean' AND THEN RERUN './configure'!
|
||||
|
||||
******************************* REQUIREMENTS **********************************
|
||||
|
||||
|
@ -53,36 +98,32 @@ Feature Specific Requirements:
|
|||
|
||||
*******************************************************************************
|
||||
|
||||
- To report bugs in hybrid, send the bug report to ircd-hybrid@the-project.org
|
||||
- To report bugs in NeoIRCd, visit http://www.neostats.net/boards/
|
||||
or visit us at irc://irc.irc-chat.org/#neostats
|
||||
|
||||
- Known bugs are listed in the BUGS file
|
||||
|
||||
- See the INSTALL document for info on configuring and compiling
|
||||
ircd-hybrid.
|
||||
NeoIRCd.
|
||||
|
||||
- Please read doc/index.txt to get an overview of the current documentation.
|
||||
|
||||
- Old Hybrid 5/6 configuration files are no longer supported. All conf
|
||||
files will have to be converted to the Hybrid 7 format. A convertconf
|
||||
utility is provided and installed into bin/.
|
||||
- If you run in to a problem you think may be specific to your platform,
|
||||
check README.PLATFORMS for some hints. Hybrid7 worked on a lot
|
||||
of platforms, and although I don't have access to a lot of these
|
||||
platforms, I see no reason why it wont work on them.
|
||||
|
||||
- If you are wondering why config.h is practically empty, its because many
|
||||
things that were once in config.h are now specified in the 'general'
|
||||
block of ircd.conf. Look at example.conf for more information about
|
||||
these options.
|
||||
- Please read doc/whats-new.txt for information about what is in this release
|
||||
|
||||
- Other files recommended for reading: BUGS, INSTALL, TODO, ChangeLog
|
||||
|
||||
The following notes are from the Hybird source:
|
||||
|
||||
- The files, /etc/services, /etc/protocols, and /etc/resolv.conf, MUST be
|
||||
readable by the user running the server in order for ircd to start.
|
||||
Errors from adns causing the ircd to refuse to start up are often related
|
||||
to permission problems on these files.
|
||||
|
||||
- There is now a mailing list for general discussion of Hybrid. To subscribe
|
||||
to the Hybrid List, send email to listmanager@the-project.org with
|
||||
the subject "subscribe hybrid".
|
||||
|
||||
- If you run in to a problem you think may be specific to your platform,
|
||||
check README.PLATFORMS for some hints.
|
||||
|
||||
- SOLARIS USERS: this code appears to tickle a bug in older gcc and
|
||||
egcs ONLY on 64-bit Solaris7. gcc-2.95 and SunPro C on 64bit should
|
||||
work fine, and any gcc or SunPro compiled on 32bit.
|
||||
|
@ -107,9 +148,6 @@ Feature Specific Requirements:
|
|||
Cygwin 1.3+ (static modules, no servlink)
|
||||
OpenVMS/Alpha 7.2 (static modules, no servlink)
|
||||
|
||||
- Please read doc/whats-new.txt for information about what is in this release
|
||||
|
||||
- Other files recommended for reading: BUGS, INSTALL
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
$Id: README.FIRST,v 1.2 2002/08/13 14:44:59 fishwaldo Exp $
|
||||
$Id: README.FIRST,v 1.3 2002/09/14 04:40:49 fishwaldo Exp $
|
||||
|
|
56
RELNOTES
56
RELNOTES
|
@ -1,56 +0,0 @@
|
|||
-- ircd-hybrid-7rc1 RELNOTES
|
||||
|
||||
o) Made topiclen configurable with autoconf
|
||||
o) Autoconf fixes for Forte C
|
||||
o) Bugfixes for m_jupe.c in contrib/
|
||||
o) Fixed bug where we would give away spoofed IPs
|
||||
o) You may now disable the help system for users, by setting
|
||||
"use_help = no;" in your general {}; block.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
This is the current release candidate version of ircd-hybrid-7.
|
||||
|
||||
NOTE: This is still BETA code. Run it at your own risk. By running this
|
||||
code you assume FULL responsibility for any problems it may cause. We do
|
||||
NOT recommend that you run BETA code on production IRC networks such
|
||||
as EFnet.
|
||||
|
||||
BUGS: Major bugs in this release are listed in BUGS
|
||||
|
||||
BUG REPORTS: If you run this code and encounter problems, you must report
|
||||
the bug in one of the following ways:
|
||||
a) By EMAIL to ircd-hybrid@the-project.org.
|
||||
Please include a gdb backtrace and a copy of your config.h and ircd.conf
|
||||
with any report (with passwords and other sensitive information masked).
|
||||
|
||||
DISCUSSION: There is a mailing list for discussion of hybrid issues,
|
||||
including betas. To subscribe, send an emal to listmanager@the-project.org
|
||||
with a single line in the body containing "subscribe hybrid". This is the
|
||||
proper place to discuss new features, bugs, etc. Posting here is much more
|
||||
likely to get something done than ranting on #TZ.
|
||||
|
||||
TESTING: This code is under active development, and a lot changes from beta
|
||||
to beta. As the user of this code, we request that you help us test things
|
||||
which have changed recently, and which would benefeit from being tested
|
||||
much as possible. The following are some things that have changed, and what
|
||||
you can do to help us test them.
|
||||
o) Exiting Clients
|
||||
- The way clients are exited and cleaned from memory has been largely
|
||||
redone since the last release. Unusual situations involving clients
|
||||
exiting will help expose any remaining problems.
|
||||
o) Mac OS X Modules
|
||||
- Support for Darwin and Mac OS X style modules, through the
|
||||
NSModule(3) interface has been added, and is designed to work as
|
||||
loadable modules do on most UNIX systems. Feeding it bad or
|
||||
duplicate modules to find bugs would be appriciated.
|
||||
|
||||
|
||||
Questions/comments directed to ircd-hybrid@the-project.org
|
||||
|
||||
Please read doc/whats-new.txt for information about what is in this release
|
||||
|
||||
Other files recommended for reading: BUGS, README.FIRST, INSTALL
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
$Id: RELNOTES,v 1.2 2002/08/13 14:44:59 fishwaldo Exp $
|
|
@ -1,473 +0,0 @@
|
|||
/* doc/convertconf-example.conf - ircd-hybrid-7 Example configuration file
|
||||
* Copyright (C) 2000-2002 Hybrid Development Team
|
||||
*
|
||||
* Written by ejb, wcampbel, db, leeh and others
|
||||
*
|
||||
* $Id: convertconf-example.conf,v 1.2 2002/08/13 14:45:01 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
/* logging {}: contains information about logfiles. */
|
||||
logging {
|
||||
/* log level: the amount of detail to log in ircd.log. The
|
||||
* higher, the more information is logged. May be changed
|
||||
* once the server is running via /quote SET LOG. Either:
|
||||
* L_CRIT, L_ERROR, L_WARN, L_NOTICE, L_TRACE, L_INFO or L_DEBUG
|
||||
*/
|
||||
log_level = L_INFO;
|
||||
};
|
||||
|
||||
/* shared {}: users that are allowed to remote kline (OLD U:) */
|
||||
shared {
|
||||
/* name: the server the user must be on to set klines. If this is not
|
||||
* specified, the user will be allowed to kline from all servers.
|
||||
*/
|
||||
name = "irc2.some.server";
|
||||
|
||||
/* user: the user@host mask that is allowed to set klines. If this is
|
||||
* not specified, all users on the server above will be allowed to set
|
||||
* a remote kline.
|
||||
*/
|
||||
user = "oper@my.host.is.spoofed";
|
||||
};
|
||||
|
||||
/* kill {}: users that are not allowed to connect (OLD K:)
|
||||
* Oper issued klines will be added to the specified kline config
|
||||
*/
|
||||
kill {
|
||||
user = "bad@*.hacked.edu";
|
||||
reason = "Obviously hacked account";
|
||||
};
|
||||
|
||||
/* deny {}: IPs that are not allowed to connect (before DNS/ident lookup)
|
||||
* Oper issued dlines will be added to the specified dline config
|
||||
*/
|
||||
deny {
|
||||
ip = "10.0.1.0/24";
|
||||
reason = "Reconnecting vhosted bots";
|
||||
};
|
||||
|
||||
/* exempt {}: IPs that are exempt from deny {} and Dlines. (OLD d:) */
|
||||
exempt {
|
||||
ip = "192.168.0.0/16";
|
||||
};
|
||||
|
||||
/* resv {}: nicks and channels users may not use/join (OLD Q:) */
|
||||
resv {
|
||||
/* reason: the reason for the proceeding resv's */
|
||||
reason = "There are no services on this network";
|
||||
|
||||
/* resv: the nicks and channels users may not join/use */
|
||||
nick = "nickserv";
|
||||
nick = "chanserv";
|
||||
channel = "#services";
|
||||
|
||||
/* resv: wildcard masks are also supported in nicks only */
|
||||
reason = "Clone bots";
|
||||
nick = "clone*";
|
||||
};
|
||||
|
||||
/* gecos {}: The X: replacement, used for banning users based on their
|
||||
* "realname". The action may be either:
|
||||
* warn: allow client to connect, but send message to opers
|
||||
* reject: drop clients but also send message to opers.
|
||||
* silent: silently drop clients who match.
|
||||
*/
|
||||
gecos {
|
||||
name = "*sex*";
|
||||
reason = "Possible spambot";
|
||||
action = warn;
|
||||
};
|
||||
|
||||
gecos {
|
||||
name = "sub7server";
|
||||
reason = "Trojan drone";
|
||||
action = reject;
|
||||
};
|
||||
|
||||
gecos {
|
||||
name = "*http*";
|
||||
reason = "Spambot";
|
||||
action = silent;
|
||||
};
|
||||
|
||||
/* The channel block contains options pertaining to channels */
|
||||
channel {
|
||||
/* invex: Enable/disable channel mode +I, a n!u@h list of masks
|
||||
* that can join a +i channel without an invite.
|
||||
*/
|
||||
use_invex = yes;
|
||||
|
||||
/* except: Enable/disable channel mode +e, a n!u@h list of masks
|
||||
* that can join a channel through a ban (+b).
|
||||
*/
|
||||
use_except = yes;
|
||||
|
||||
/* halfops: Enable/disable channel mode "+h <nick>", this allows
|
||||
* users to perform all channel functions except +/-o and kick
|
||||
* opped users.
|
||||
*/
|
||||
use_halfops = yes;
|
||||
|
||||
/* anonops: Enable/disable channel mode +a. This hides the people
|
||||
* who are opped in the channel from people who are unopped.
|
||||
*
|
||||
* The ircd will 'sync' the users oplists when they become opped
|
||||
* or deopped by sending mode changes. This can cause a flood and
|
||||
* could potentially be abused.
|
||||
*/
|
||||
use_anonops = no;
|
||||
|
||||
/* vchans: permit virtual channels, multiple copies of the same
|
||||
* channel name. read doc/vchans.txt for more details
|
||||
*
|
||||
* We advise against using this on production networks
|
||||
*/
|
||||
use_vchans = yes;
|
||||
|
||||
/* vchans oper only: only allow opers to create vchans via /cjoin */
|
||||
vchans_oper_only = yes;
|
||||
|
||||
/* knock: Allows users to request an invite to a channel that
|
||||
* is locked somehow (+ikl). If the channel is +p or you are banned
|
||||
* the knock will not be sent.
|
||||
*/
|
||||
use_knock = yes;
|
||||
|
||||
/* knock delay: The amount of time a user must wait between issuing
|
||||
* the knock command.
|
||||
*/
|
||||
knock_delay = 5 minutes;
|
||||
|
||||
/* knock channel delay: How often a knock to any specific channel
|
||||
* is permitted, regardless of the user sending the knock.
|
||||
*/
|
||||
knock_delay_channel = 1 minute;
|
||||
|
||||
/* max chans: The maximum number of channels a user can join/be on. */
|
||||
max_chans_per_user = 15;
|
||||
|
||||
/* quiet on ban: stop banned people talking in channels. */
|
||||
quiet_on_ban = yes;
|
||||
|
||||
/* max bans: maximum number of +b/e/I modes in a channel */
|
||||
max_bans = 25;
|
||||
|
||||
/* persist time: the minimum amount of time a channel will remain with
|
||||
* all its modes intact once the last user has left the channel.
|
||||
*
|
||||
* set to 0 to disable.
|
||||
*/
|
||||
persist_time = 30 minutes;
|
||||
|
||||
/* splitcode: the ircd will check every 60s as to whether splitmode
|
||||
* should be disabled or not, so there may be a delay between a
|
||||
* netsplit ending and splitmode ending.
|
||||
*
|
||||
* both split users and split servers must be true to enter splitmode
|
||||
*
|
||||
* you may force splitmode to be permanent by /quote set splitmode on
|
||||
*/
|
||||
|
||||
/* split users: when the usercount is lower than this level, consider
|
||||
* ourselves split. this must be set for automatic splitmode
|
||||
*/
|
||||
default_split_user_count = 0;
|
||||
|
||||
/* split servers: when the servercount is lower than this, consider
|
||||
* ourselves split. this must be set for automatic splitmode
|
||||
*/
|
||||
default_split_server_count = 0;
|
||||
|
||||
/* split no create: disallow users creating channels on split, works in
|
||||
* tandem with persistant channels, that have retained their modes.
|
||||
*/
|
||||
no_create_on_split = no;
|
||||
|
||||
/* split: no join: disallow users joining channels at all on a split */
|
||||
no_join_on_split = no;
|
||||
};
|
||||
|
||||
|
||||
/* The serverhide block contains the options regarding serverhiding */
|
||||
serverhide {
|
||||
/* flatten links: this option will show all servers in /links appear
|
||||
* that they are linked to this current server
|
||||
*/
|
||||
flatten_links = no;
|
||||
|
||||
/* links delay: how often to update the links file when it is
|
||||
* flattened.
|
||||
*/
|
||||
links_delay = 5 minutes;
|
||||
|
||||
/* hidden: hide this server from a /links output on servers that
|
||||
* support it. this allows hub servers to be hidden etc.
|
||||
*/
|
||||
hidden = no;
|
||||
|
||||
/* disable hidden: prevent servers hiding themselves from a
|
||||
* /links ouput.
|
||||
*/
|
||||
disable_hidden = no;
|
||||
|
||||
/* hide servers: hide remote servernames everywhere and instead use
|
||||
* network_name and network_desc.
|
||||
*/
|
||||
hide_servers = no;
|
||||
|
||||
/* disable remote: disable users doing commands on remote servers */
|
||||
disable_remote_commands = no;
|
||||
|
||||
/* disable local channels: prevent users from joining &channels.
|
||||
* This is extreme, but its still a flaw in serverhide. It will
|
||||
* however remove far more from users than it will give back in
|
||||
* security.
|
||||
*/
|
||||
disable_local_channels = no;
|
||||
};
|
||||
|
||||
/* The general block contains many of the options that were once compiled
|
||||
* in options in config.h. The general block is read at start time.
|
||||
*/
|
||||
general {
|
||||
/* floodcount: the default value of floodcount that is configurable
|
||||
* via /quote set floodcount. This is the amount of lines a user
|
||||
* may send to any other user/channel in one second.
|
||||
*/
|
||||
default_floodcount = 10;
|
||||
|
||||
/* failed oper notice: send a notice to all opers on the server when
|
||||
* someone tries to OPER and uses the wrong password, host or ident.
|
||||
*/
|
||||
failed_oper_notice = yes;
|
||||
|
||||
/* dots in ident: the amount of '.' characters permitted in an ident
|
||||
* reply before the user is rejected.
|
||||
*/
|
||||
dots_in_ident=2;
|
||||
|
||||
/* dot in ipv6: ircd-hybrid-6.0 and earlier will disallow hosts
|
||||
* without a '.' in them. this will add one to the end. only needed
|
||||
* for older servers.
|
||||
*/
|
||||
dot_in_ip6_addr = yes;
|
||||
|
||||
/* min nonwildcard: the minimum non wildcard characters in k/d/g lines
|
||||
* placed via the server. klines hand placed are exempt from limits.
|
||||
* wildcard chars: '.' '*' '?' '@'
|
||||
*/
|
||||
min_nonwildcard = 4;
|
||||
|
||||
/* max accept: maximum allowed /accept's for +g usermode */
|
||||
max_accept = 20;
|
||||
|
||||
/* nick flood: enable the nickflood control code */
|
||||
anti_nick_flood = yes;
|
||||
|
||||
/* nick flood: the nick changes allowed in the specified period */
|
||||
max_nick_time = 20 seconds;
|
||||
max_nick_changes = 5;
|
||||
|
||||
/* anti spam time: the minimum time a user must be connected before
|
||||
* custom quit messages are allowed.
|
||||
*/
|
||||
anti_spam_exit_message_time = 5 minutes;
|
||||
|
||||
/* ts delta: the time delta allowed between server clocks before
|
||||
* a warning is given, or before the link is dropped. all servers
|
||||
* should run ntpdate/rdate to keep clocks in sync
|
||||
*/
|
||||
ts_warn_delta = 30 seconds;
|
||||
ts_max_delta = 5 minutes;
|
||||
|
||||
/* client exit: prepend a users quit message with "Client exit: " */
|
||||
client_exit = yes;
|
||||
|
||||
/* kline reason: show the user the reason why they are k/d/glined
|
||||
* on exit. may give away who set k/dline when set via tcm.
|
||||
*/
|
||||
kline_with_reason = yes;
|
||||
|
||||
/* kline connection closed: make the users quit message on channels
|
||||
* to be "Connection closed", instead of the kline reason.
|
||||
*/
|
||||
kline_with_connection_closed = no;
|
||||
|
||||
/* non redundant klines: flag and ignore redundant klines */
|
||||
non_redundant_klines = yes;
|
||||
|
||||
/* warn no nline: warn opers about servers that try to connect but
|
||||
* we dont have a connect {} block for. Twits with misconfigured
|
||||
* servers can get really annoying with this enabled.
|
||||
*/
|
||||
warn_no_nline = yes;
|
||||
|
||||
/* stats o oper only: make stats o (opers) oper only */
|
||||
stats_o_oper_only=yes;
|
||||
|
||||
/* stats P oper only: make stats P (ports) oper only */
|
||||
stats_P_oper_only=no;
|
||||
|
||||
/* stats i oper only: make stats i (auth {}) oper only. set to:
|
||||
* yes: show users no auth blocks, made oper only.
|
||||
* masked: show users first matching auth block
|
||||
* no: show users all auth blocks.
|
||||
*/
|
||||
stats_i_oper_only=masked;
|
||||
|
||||
/* stats k/K oper only: make stats k/K (klines) oper only. set to:
|
||||
* yes: show users no auth blocks, made oper only
|
||||
* masked: show users first matching auth block
|
||||
* no: show users all auth blocks.
|
||||
*/
|
||||
stats_k_oper_only=masked;
|
||||
|
||||
/* caller id wait: time between notifying a +g user that somebody
|
||||
* is messaging them.
|
||||
*/
|
||||
caller_id_wait = 1 minute;
|
||||
|
||||
/* pace wait simple: time between use of less intensive commands
|
||||
* (HELP, remote WHOIS, WHOWAS)
|
||||
*/
|
||||
pace_wait_simple = 1 second;
|
||||
|
||||
/* pace wait: time between more intensive commands
|
||||
* (ADMIN, INFO, LIST, LUSERS, MOTD, STATS, VERSION)
|
||||
*/
|
||||
pace_wait = 10 seconds;
|
||||
|
||||
/* short motd: send clients a notice telling them to read the motd
|
||||
* instead of forcing a motd to clients who may simply ignore it.
|
||||
*/
|
||||
short_motd = no;
|
||||
|
||||
/* ping cookies: require clients to respond exactly to a ping command,
|
||||
* can help block certain types of drones and FTP PASV mode spoofing.
|
||||
*/
|
||||
ping_cookie = no;
|
||||
|
||||
/* no oper flood: increase flood limits for opers. */
|
||||
no_oper_flood = yes;
|
||||
|
||||
/* glines: enable glines, network wide temp klines */
|
||||
glines = yes;
|
||||
|
||||
/* gline time: the amount of time a gline will remain before exiring */
|
||||
gline_time = 1 day;
|
||||
|
||||
/* idletime: the maximum amount of time a user may idle before
|
||||
* they are disconnected
|
||||
*/
|
||||
idletime = 0;
|
||||
|
||||
/* maximum links: the maximum amount of servers to connect to for
|
||||
* connect blocks without a valid class.
|
||||
*/
|
||||
maximum_links = 1;
|
||||
|
||||
/* REMOVE ME. The following line checks youve been reading. */
|
||||
havent_read_conf = 1;
|
||||
|
||||
/* logfiles: the logfiles to use for user connects, /oper uses,
|
||||
* and failed /oper. These files must exist for logging to be used.
|
||||
*/
|
||||
fname_userlog = "logs/userlog";
|
||||
fname_operlog = "logs/operlog";
|
||||
fname_foperlog = "logs/foperlog";
|
||||
|
||||
/* max targets: the maximum amount of targets in a single
|
||||
* PRIVMSG/NOTICE. set to 0 for unlimited targets.
|
||||
*/
|
||||
max_targets = 4;
|
||||
|
||||
/* client flood: maximum number of lines in a clients queue before
|
||||
* they are dropped for flooding.
|
||||
*/
|
||||
client_flood = 20;
|
||||
|
||||
/* message locale: the default message locale if gettext() is enabled
|
||||
* and working.
|
||||
* Use "custom" for the (in)famous Hybrid custom messages.
|
||||
* Use "standard" for the compiled in defaults.
|
||||
*/
|
||||
message_locale = "custom";
|
||||
|
||||
/* usermodes configurable: a list of usermodes for the options below
|
||||
*
|
||||
* +b - bots - See bot and drone flooding notices
|
||||
* +c - cconn - Client connection/quit notices
|
||||
* +d - debug - See debugging notices
|
||||
* +f - full - See I: line full notices
|
||||
* +g - callerid - Server Side Ignore
|
||||
* +i - invisible - Not shown in NAMES or WHO unless you share a
|
||||
* a channel
|
||||
* +k - skill - See server generated KILL messages
|
||||
* +l - locops - See LOCOPS messages
|
||||
* +n - nchange - See client nick changes
|
||||
* +r - rej - See rejected client notices
|
||||
* +s - servnotice - See general server notices
|
||||
* +u - unauth - See unauthorized client notices
|
||||
* +w - wallop - See server generated WALLOPS
|
||||
* +x - external - See remote server connection and split notices
|
||||
* +y - spy - See LINKS, STATS, TRACE notices etc.
|
||||
* +z - operwall - See oper generated WALLOPS
|
||||
*/
|
||||
|
||||
/* oper only umodes: usermodes only opers may set */
|
||||
oper_only_umodes = bots, cconn, debug, full, skill, nchange,
|
||||
rej, spy, external, operwall, locops, unauth;
|
||||
|
||||
/* oper umodes: default usermodes opers get when they /oper */
|
||||
oper_umodes = locops, servnotice, operwall, wallop;
|
||||
|
||||
/* servlink path: path to 'servlink' program used by ircd to handle
|
||||
* encrypted/compressed server <-> server links.
|
||||
*
|
||||
* only define if servlink is not in same directory as ircd itself.
|
||||
*/
|
||||
#servlink_path = "/usr/local/ircd/bin/servlink";
|
||||
|
||||
/* default cipher: default cipher to use for cryptlink when none is
|
||||
* specified in connect block.
|
||||
*/
|
||||
#default_cipher_preference = "BF/256";
|
||||
|
||||
/* use egd: if your system does not have *random devices yet you
|
||||
* want to use OpenSSL and encrypted links, enable this. Beware -
|
||||
* EGD is *very* CPU intensive when gathering data for its pool
|
||||
*/
|
||||
#use_egd = yes;
|
||||
|
||||
/* egdpool path: path to EGD pool. Not necessary for OpenSSL >= 0.9.7
|
||||
* which automatically finds the path.
|
||||
*/
|
||||
#egdpool_path = "/var/run/egd-pool";
|
||||
|
||||
|
||||
/* compression level: level of compression for compressed links between
|
||||
* servers.
|
||||
*
|
||||
* values are between: 1 (least compression, fastest)
|
||||
* and: 9 (most compression, slowest).
|
||||
*/
|
||||
#compression_level = 6;
|
||||
|
||||
/* throttle time: the minimum amount of time between connections from
|
||||
* the same ip. exempt {} blocks are excluded from this throttling.
|
||||
* Offers protection against flooders who reconnect quickly.
|
||||
* Set to 0 to disable.
|
||||
*/
|
||||
throttle_time = 10;
|
||||
};
|
||||
|
||||
modules {
|
||||
/* module path: paths to search for modules specified below and
|
||||
* in /modload.
|
||||
*/
|
||||
path = "/usr/local/ircd/modules";
|
||||
path = "/usr/local/ircd/modules/autoload";
|
||||
|
||||
/* module: the name of a module to load on startup/rehash */
|
||||
#module = "some_module.so";
|
||||
};
|
|
@ -1,932 +0,0 @@
|
|||
/* doc/example.efnet.conf - ircd-hybrid-7 EFnet Example configuration file
|
||||
*
|
||||
* Modified for EFnet by: Disciple
|
||||
* Based on example.conf written by ejb, wcampbel, db, leeh and others
|
||||
*
|
||||
* $Id: example.efnet.conf,v 1.2 2002/08/13 14:45:01 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
/* IMPORTANT NOTES:
|
||||
*
|
||||
* class {} blocks MUST be specified before anything that uses them. That
|
||||
* means they must be defined before auth {} and before connect {}.
|
||||
*
|
||||
* auth {} blocks MUST be specified in order of precedence. The first one
|
||||
* that matches a user will be used. So place spoofs first, then specials,
|
||||
* then general access, then restricted.
|
||||
*
|
||||
* Both shell style (#) and C style comments are supported.
|
||||
*
|
||||
* Files may be included by either:
|
||||
* .include "filename"
|
||||
* .include <filename>
|
||||
*
|
||||
* Times/durations are written as:
|
||||
* 12 hours 30 minutes 1 second
|
||||
*
|
||||
* Valid units of time:
|
||||
* month, week, day, hour, minute, second
|
||||
*
|
||||
* Valid units of size:
|
||||
* megabyte/mbyte/mb, kilobyte/kbyte/kb, byte
|
||||
*
|
||||
* Sizes and times may be singular or plural.
|
||||
*/
|
||||
|
||||
/* EFNET NOTE:
|
||||
*
|
||||
* This configuration file is a BASIC configuration file for use
|
||||
* on EFnet. You MUST still take the time to set this file up
|
||||
* properly.
|
||||
*
|
||||
* DISCLAIMER: This file was NOT generated by the ircd-hybrid team,
|
||||
* it was submitted and maintained by Disciple@EFnet
|
||||
*/
|
||||
|
||||
/* serverinfo {}: Contains information about the server. (OLD M:) */
|
||||
serverinfo {
|
||||
/* name: the name of our server */
|
||||
name = "efnet.irc";
|
||||
|
||||
/* description: the description of our server. '[' and ']' may not
|
||||
* be used here for compatibility with older servers.
|
||||
*/
|
||||
description = "ircd-hybrid-7 EFnet Server";
|
||||
|
||||
/* network info: the name and description of the network this server
|
||||
* is on. Shown in the 005 reply and used with serverhiding.
|
||||
*/
|
||||
network_name = "EFnet";
|
||||
network_desc = "Eris Free Network";
|
||||
|
||||
/* hub: allow this server to act as a hub and have multiple servers
|
||||
* connected to it.
|
||||
*/
|
||||
hub = no;
|
||||
|
||||
/* vhost: the IP to bind to when we connect outward to ipv4 servers.
|
||||
* This should be an ipv4 IP only.
|
||||
*/
|
||||
#vhost = "192.169.0.1";
|
||||
|
||||
/* vhost6: the IP to bind to when we connect outward to ipv6 servers.
|
||||
* This should be an ipv6 IP only.
|
||||
*/
|
||||
#vhost6 = "3ffe:80e8:546::2";
|
||||
|
||||
/* max clients: the maximum number of clients allowed to connect */
|
||||
max_clients = 512;
|
||||
|
||||
/* rsa key: the path to the file containing our rsa key for cryptlink.
|
||||
*
|
||||
* Example command to store a 2048 bit RSA keypair in
|
||||
* rsa.key, and the public key in rsa.pub:
|
||||
*
|
||||
* openssl genrsa -out rsa.key 2048
|
||||
* openssl rsa -in rsa.key -pubout -out rsa.pub
|
||||
* chown <ircd-user>.<ircd.group> rsa.key rsa.pub
|
||||
* chmod 0600 rsa.key
|
||||
* chmod 0644 rsa.pub
|
||||
*/
|
||||
#rsa_private_key_file = "/usr/local/ircd/etc/rsa.key";
|
||||
};
|
||||
|
||||
/* admin {}: contains admin information about the server. (OLD A:) */
|
||||
admin {
|
||||
name = "EFnet Admin";
|
||||
description = "Main Server Administrator";
|
||||
email = "<irc-admin@efnet.irc>";
|
||||
};
|
||||
|
||||
/* logging {}: contains information about logfiles. */
|
||||
logging {
|
||||
/* log level: the amount of detail to log in ircd.log. The
|
||||
* higher, the more information is logged. May be changed
|
||||
* once the server is running via /quote SET LOG. Either:
|
||||
* L_CRIT, L_ERROR, L_WARN, L_NOTICE, L_TRACE, L_INFO or L_DEBUG
|
||||
*/
|
||||
log_level = L_INFO;
|
||||
};
|
||||
|
||||
/* class {}: contain information about classes for users (OLD Y:) */
|
||||
class {
|
||||
/* name: the name of the class. classes are text now */
|
||||
name = "users";
|
||||
|
||||
/* ping time: how often a client must reply to a PING from the
|
||||
* server before they are dropped.
|
||||
*/
|
||||
ping_time = 2 minutes;
|
||||
|
||||
/* number per ip: the number of users per host allowed to connect */
|
||||
number_per_ip = 2;
|
||||
|
||||
/* max number: the maximum number of users allowed in this class */
|
||||
max_number = 100;
|
||||
|
||||
/* sendq: the amount of data allowed in a clients queue before
|
||||
* they are dropped.
|
||||
*/
|
||||
sendq = 100 kbytes;
|
||||
};
|
||||
|
||||
class {
|
||||
name = "restricted";
|
||||
ping_time = 1 minute 30 seconds;
|
||||
number_per_ip = 1;
|
||||
max_number = 100;
|
||||
sendq = 60kb;
|
||||
};
|
||||
|
||||
class {
|
||||
name = "opers";
|
||||
ping_time = 5 minutes;
|
||||
number_per_ip = 10;
|
||||
max_number = 100;
|
||||
sendq = 1 mbyte;
|
||||
};
|
||||
|
||||
class {
|
||||
name = "server";
|
||||
ping_time = 5 minutes;
|
||||
|
||||
/* connectfreq: only used in server classes. specifies the delay
|
||||
* between autoconnecting to servers.
|
||||
*/
|
||||
connectfreq = 5 minutes;
|
||||
|
||||
/* max number: the amount of servers to autoconnect to */
|
||||
max_number = 1;
|
||||
|
||||
/* sendq: servers need a higher sendq as they send more data */
|
||||
sendq = 15 megabytes;
|
||||
};
|
||||
|
||||
/* listen {}: contain information about the ports ircd listens on (OLD P:) */
|
||||
listen {
|
||||
/* port: the specific port to listen on. if no host is specified
|
||||
* before, it will listen on all available IPs.
|
||||
*
|
||||
* ports are seperated via a comma, a range may be specified using ".."
|
||||
*/
|
||||
|
||||
/* port: listen on all available IPs, ports 6665 to 6669 */
|
||||
port = 6665 .. 6669;
|
||||
|
||||
/* host: set a specific IP/host the ports after the line will listen
|
||||
* on. This may be ipv4 or ipv6.
|
||||
*/
|
||||
host = "1.2.3.4";
|
||||
port = 7000, 7001;
|
||||
|
||||
host = "3ffe:1234:a:b:c::d";
|
||||
port = 7002;
|
||||
};
|
||||
|
||||
/* auth {}: allow users to connect to the ircd (OLD I:) */
|
||||
auth {
|
||||
/* user: the user@host allowed to connect. multiple IPv4/IPv6 user
|
||||
* lines are permitted per auth block.
|
||||
*/
|
||||
user = "*@172.16.0.0/12";
|
||||
user = "*test@123D:B567:*";
|
||||
|
||||
/* password: an optional password that is required to use this block */
|
||||
password = "letmein";
|
||||
|
||||
/* spoof: fake the users host to be be this. This is free-form,
|
||||
* just do everyone a favour and dont abuse it. (OLD I: = flag)
|
||||
*/
|
||||
spoof = "I.still.hate.packets";
|
||||
|
||||
/* spoof notice: enable spoofing notification to admins (default yes) */
|
||||
spoof_notice = yes;
|
||||
|
||||
/* exceed limit: allow a user to exceed class limits (OLD I: > flag) */
|
||||
exceed_limit = yes;
|
||||
|
||||
/* kline exempt: exempt this user from k/glines (OLD I: ^ flag) */
|
||||
kline_exempt = yes;
|
||||
|
||||
/* gline exempt: exempt this user from glines (OLD I: _ flag) */
|
||||
gline_exempt = yes;
|
||||
|
||||
/* no tilde: remove ~ from a user with no ident (OLD I: - flag) */
|
||||
no_tilde = yes;
|
||||
|
||||
/* class: the class the user is placed in */
|
||||
class = "opers";
|
||||
};
|
||||
|
||||
auth {
|
||||
/* redirect: the server and port to redirect a user to. A user does
|
||||
* not have to obey the redirection, the ircd just suggests to them
|
||||
* an alternative server.
|
||||
*/
|
||||
redirserv = "irc.fi";
|
||||
redirport = 6667;
|
||||
|
||||
user = "*.fi";
|
||||
|
||||
/* class: a class is required even though it is not used */
|
||||
class = "users";
|
||||
};
|
||||
|
||||
auth {
|
||||
user = "*@*";
|
||||
class = "users";
|
||||
|
||||
/* restricted: stop the client sending mode changes */
|
||||
#restricted = yes;
|
||||
|
||||
/* have ident: require the user has identd to connect (OLD I: + flag) */
|
||||
have_ident = yes;
|
||||
};
|
||||
|
||||
/* operator {}: defines ircd operators. (OLD O:)
|
||||
* ircd-hybrid no longer supports local operators, privileges are
|
||||
* controlled via flags.
|
||||
*/
|
||||
operator {
|
||||
/* name: the name of the oper */
|
||||
name = "god";
|
||||
|
||||
/* user: the user@host required for this operator. CIDR is not
|
||||
* supported. multiple user="" lines are supported.
|
||||
*/
|
||||
user = "*god@*";
|
||||
user = "*@127.0.0.1";
|
||||
|
||||
/* password: the password required to oper. By default this will
|
||||
* need to be encrypted using 'mkpasswd'. MD5 is supported.
|
||||
*/
|
||||
password = "crYpTpwH3r3"
|
||||
|
||||
/* rsa key: the public key for this oper when using Challenge.
|
||||
* A password should not be defined when this is used, see
|
||||
* doc/challenge.txt for more information.
|
||||
*/
|
||||
#rsa_public_key_file = "/usr/local/ircd/etc/oper.pub";
|
||||
|
||||
/* class: the class the oper joins when they successfully /oper */
|
||||
class = "opers";
|
||||
|
||||
/* privileges: controls the activities and commands an oper are
|
||||
* allowed to do on the server. All options default to no.
|
||||
* Available options:
|
||||
*
|
||||
* global_kill: allows remote users to be /KILL'd (OLD 'O' flag)
|
||||
* remote: allows remote SQUIT and CONNECT (OLD 'R' flag)
|
||||
* kline: allows KILL, KLINE and DLINE (OLD 'K' flag)
|
||||
* unkline: allows UNKLINE and UNDLINE (OLD 'U' flag)
|
||||
* gline: allows GLINE (OLD 'G' flag)
|
||||
* nick_changes: allows oper to see nickchanges (OLD 'N' flag)
|
||||
* via usermode +n
|
||||
* rehash: allows oper to REHASH config (OLD 'H' flag)
|
||||
* die: allows DIE and RESTART (OLD 'D' flag)
|
||||
* admin: gives admin privileges. admins
|
||||
* may (un)load modules and see the
|
||||
* real IPs of servers and spoofed
|
||||
* users IP.
|
||||
*/
|
||||
global_kill = yes;
|
||||
remote = yes;
|
||||
kline = yes;
|
||||
unkline = yes;
|
||||
gline = yes;
|
||||
die = yes;
|
||||
rehash = yes;
|
||||
nick_changes = yes;
|
||||
admin = yes;
|
||||
};
|
||||
|
||||
/* connect {}: controls servers we connect to (OLD C:, N:, H:, L:) */
|
||||
connect {
|
||||
/* name: the name of the server */
|
||||
name = "irc.uplink.com";
|
||||
|
||||
/* host: the host or IP to connect to. If a hostname is used it
|
||||
* must match the reverse dns of the server.
|
||||
*/
|
||||
host = "192.168.0.1";
|
||||
|
||||
/* passwords: the passwords we send (OLD C:) and accept (OLD N:).
|
||||
* The remote server will have these passwords reversed.
|
||||
*/
|
||||
send_password = "password"; # OLD C:
|
||||
accept_password = "anotherpassword"; # OLD N:
|
||||
|
||||
/* encrypted: controls whether the accept_password above has been
|
||||
* encrypted. (OLD CRYPT_LINK_PASSWORD now optional per connect)
|
||||
*/
|
||||
encrypted = no;
|
||||
|
||||
/* port: the port to connect to this server on (OLD P:) */
|
||||
port = 6666;
|
||||
|
||||
/* hub mask: the mask of servers that this server may hub. Multiple
|
||||
* entries are permitted (OLD H:)
|
||||
*/
|
||||
hub_mask = "*";
|
||||
|
||||
/* leaf mask: the mask of servers this server may not hub. Multiple
|
||||
* entries are permitted. Useful for forbidding EU -> US -> EU routes.
|
||||
* (OLD L:)
|
||||
*/
|
||||
#leaf_mask = "*.uk";
|
||||
|
||||
/* class: the class this server is in */
|
||||
class = "server";
|
||||
|
||||
/* autoconnect: controls whether we autoconnect to this server or not,
|
||||
* dependent on class limits.
|
||||
*/
|
||||
autoconn = no;
|
||||
|
||||
/* compressed: controls whether traffic is compressed via ziplinks.
|
||||
* By default this is disabled (OLD c: (lowercased))
|
||||
*/
|
||||
#compressed = yes;
|
||||
|
||||
/* lazylink: controls whether this server is a LazyLink. LazyLink
|
||||
* servers may NOT hub. see doc/LazyLinks.as.implemented.txt
|
||||
*
|
||||
* EFnet Note: With this enabled, you download a connect burst
|
||||
* as it is needed, instead of all at once. This
|
||||
* could allow servers on much smaller lines (modems) to
|
||||
* link a server. As such, this is probably not a
|
||||
* good idea to run on EFnet.
|
||||
*/
|
||||
#lazylink = no; # Not a good idea on EFnet
|
||||
|
||||
/* masking: the servername we pretend to be when we connect */
|
||||
#fakename = "*.arpa";
|
||||
};
|
||||
|
||||
connect {
|
||||
name = "encrypted.auth.example";
|
||||
host = "some.host.somewhere";
|
||||
port = 6667;
|
||||
|
||||
/* cryptlink: enable full encryption for all data passing between our
|
||||
* server and this link and rsa authentication.
|
||||
*/
|
||||
cryptlink = yes;
|
||||
|
||||
/* rsa key: the path to the public keyfile of the server. Used instead
|
||||
* of passwords.
|
||||
*/
|
||||
rsa_public_key_file = "etc/remote.server.keyfile";
|
||||
|
||||
/* cipher preference: set the preferred cipher for this link
|
||||
*
|
||||
* Available ciphers are:
|
||||
* BF/256 BF/128 CAST/128 IDEA/128 RC5.16/128
|
||||
* RC5.12/128 RC5.8/128 3DES/168 DES/56
|
||||
*
|
||||
* NOTE: Some ciphers may not be supported by your OpenSSL.
|
||||
* Check the output from 'configure' for available ciphers.
|
||||
*
|
||||
* NOTE2: To help you decide what cipher to use, tools/encspeed
|
||||
* will show you approximately how fast each cipher is.
|
||||
* However, blowfish is fast and secure, and is probably
|
||||
* a good default for most situations.
|
||||
*
|
||||
* NOTE3: Default if none is set is BF/128
|
||||
*
|
||||
* The cipher *MUST* be the same in both directions. If you
|
||||
* set a cipher preference, your uplink must set the same cipher,
|
||||
* else it will not link.
|
||||
*/
|
||||
#cipher_preference = "BF/256";
|
||||
};
|
||||
|
||||
connect {
|
||||
name = "ipv6.some.server";
|
||||
host = "3ffd:dead:beef::1";
|
||||
send_password = "password";
|
||||
accept_password = "password";
|
||||
port = 6666;
|
||||
|
||||
/* aftype: controls whether the connection uses "ipv4" or "ipv6".
|
||||
* Default is ipv4.
|
||||
*/
|
||||
aftype = ipv6;
|
||||
class = "server";
|
||||
};
|
||||
|
||||
/* shared {}: users that are allowed to remote kline (OLD U:)
|
||||
*
|
||||
* EFnet Note: This can be effectively used for remote klines.
|
||||
* Please note that there is no password authentication
|
||||
* for users setting remote klines. You must also be
|
||||
* /oper'd in order to issue a remote kline.
|
||||
*/
|
||||
shared {
|
||||
/* name: the server the user must be on to set klines. If this is not
|
||||
* specified, the user will be allowed to kline from all servers.
|
||||
*/
|
||||
name = "irc2.some.server";
|
||||
|
||||
/* user: the user@host mask that is allowed to set klines. If this is
|
||||
* not specified, all users on the server above will be allowed to set
|
||||
* a remote kline.
|
||||
*/
|
||||
user = "oper@my.host.is.spoofed";
|
||||
};
|
||||
|
||||
/* kill {}: users that are not allowed to connect (OLD K:)
|
||||
* Oper issued klines will be added to the specified kline config
|
||||
*/
|
||||
kill {
|
||||
user = "bad@*.hacked.edu";
|
||||
reason = "Obviously hacked account";
|
||||
};
|
||||
|
||||
/* deny {}: IPs that are not allowed to connect (OLD D:) (before DNS/ident
|
||||
* lookup) Oper issued dlines will be added to the specified dline config
|
||||
*/
|
||||
deny {
|
||||
ip = "10.0.1.0/24";
|
||||
reason = "Reconnecting vhosted bots";
|
||||
};
|
||||
|
||||
/* exempt {}: IPs that are exempt from deny {} and Dlines. (OLD d:)
|
||||
*
|
||||
* EFnet Note: exempt {} blocks are NOT hidden, so do NOT exempt
|
||||
* EFnet server IP's.
|
||||
*/
|
||||
exempt {
|
||||
ip = "192.168.0.0/16";
|
||||
};
|
||||
|
||||
/* resv {}: nicks and channels users may not use/join (OLD Q:) */
|
||||
resv {
|
||||
/* reason: the reason for the proceeding resv's */
|
||||
reason = "There are no services on this network";
|
||||
|
||||
/* resv: the nicks and channels users may not join/use */
|
||||
nick = "nickserv";
|
||||
nick = "chanserv";
|
||||
nick = "operserv";
|
||||
nick = "JUPES";
|
||||
nick = "JUPE";
|
||||
nick = "CH?NF?X"; # CHANFIX (services.int)
|
||||
/* These are totally optional, but may be a good idea */
|
||||
nick = "oper";
|
||||
nick = "ircop";
|
||||
nick = "op";
|
||||
nick = "ident";
|
||||
nick = "pass";
|
||||
channel = "#jupedchan";
|
||||
|
||||
/* resv: wildcard masks are also supported in nicks only */
|
||||
reason = "Clone bots";
|
||||
nick = "clone*";
|
||||
};
|
||||
|
||||
/* gecos {}: The X: replacement, used for banning users based on their
|
||||
* "realname". The action may be either:
|
||||
* warn: allow client to connect, but send message to opers
|
||||
* reject: drop clients but also send message to opers.
|
||||
* silent: silently drop clients who match.
|
||||
*/
|
||||
gecos {
|
||||
name = "*sex*";
|
||||
reason = "Possible spambot";
|
||||
action = warn;
|
||||
};
|
||||
|
||||
gecos {
|
||||
name = "sub7server";
|
||||
reason = "Trojan drone";
|
||||
action = reject;
|
||||
};
|
||||
|
||||
gecos {
|
||||
name = "*http*";
|
||||
reason = "Spambot";
|
||||
action = silent;
|
||||
};
|
||||
|
||||
/* The channel block contains options pertaining to channels */
|
||||
channel {
|
||||
/* invex: Enable/disable channel mode +I, a n!u@h list of masks
|
||||
* that can join a +i channel without an invite.
|
||||
*
|
||||
* EFNet Note: This should NOT be run on EFnet.
|
||||
*/
|
||||
use_invex = no; # Don't enable this on EFnet
|
||||
|
||||
/* except: Enable/disable channel mode +e, a n!u@h list of masks
|
||||
* that can join a channel through a ban (+b).
|
||||
*
|
||||
* EFNet Note: This should NOT be run on EFnet.
|
||||
*/
|
||||
use_except = no; # Don't enable this on EFnet
|
||||
|
||||
/* halfops: Enable/disable channel mode "+h <nick>", this allows
|
||||
* users to perform all channel functions except +/-o and kick
|
||||
* opped users.
|
||||
*
|
||||
* EFNet Note: This should NOT be run on EFnet.
|
||||
*/
|
||||
use_halfops = no; # Don't enable this on EFnet
|
||||
|
||||
/* anonops: Enable/disable channel mode +a. This hides the people
|
||||
* who are opped in the channel from people who are unopped.
|
||||
*
|
||||
* The ircd will 'sync' the users oplists when they become opped
|
||||
* or deopped by sending mode changes. This can cause a flood and
|
||||
* could potentially be abused.
|
||||
*
|
||||
* EFNet Note: This should NOT be run on EFnet.
|
||||
*/
|
||||
use_anonops = no; # Don't enable this on EFnet
|
||||
|
||||
/* vchans: permit virtual channels, multiple copies of the same
|
||||
* channel name. read doc/vchans.txt for more details
|
||||
*
|
||||
* If you ./configure'd with --enable-efnet, the code for this
|
||||
* feature will not be compiled into the ircd
|
||||
*
|
||||
* EFNet Note: This should NOT be run on EFnet (this feature
|
||||
* would very badly break EFnet).
|
||||
*
|
||||
*/
|
||||
use_vchans = no; # Don't enable this on EFnet
|
||||
|
||||
/* vchans oper only: only allow opers to create vchans via /cjoin */
|
||||
vchans_oper_only = yes;
|
||||
|
||||
/* knock: Allows users to request an invite to a channel that
|
||||
* is locked somehow (+ikl). If the channel is +p or you are banned
|
||||
* the knock will not be sent.
|
||||
*
|
||||
* EFnet Note: As this feature is used by European servers, but
|
||||
* not North American ones, it has been left enabled
|
||||
* by default. Please feel free to disable this
|
||||
* if you do not want to run channel knock.
|
||||
*/
|
||||
use_knock = yes;
|
||||
|
||||
/* knock delay: The amount of time a user must wait between issuing
|
||||
* the knock command.
|
||||
*/
|
||||
knock_delay = 1 minute;
|
||||
|
||||
/* knock channel delay: How often a knock to any specific channel
|
||||
* is permitted, regardless of the user sending the knock.
|
||||
*/
|
||||
knock_delay_channel = 1 minute;
|
||||
|
||||
/* max chans: The maximum number of channels a user can join/be on. */
|
||||
max_chans_per_user = 25;
|
||||
|
||||
/* quiet on ban: stop banned people talking in channels. */
|
||||
quiet_on_ban = yes;
|
||||
|
||||
/* max bans: maximum number of +b/e/I modes in a channel */
|
||||
max_bans = 25;
|
||||
|
||||
/* persist time: the minimum amount of time a channel will remain with
|
||||
* all its modes intact once the last user has left the channel.
|
||||
*
|
||||
* set to 0 to disable.
|
||||
*/
|
||||
persist_time = 30 minutes;
|
||||
|
||||
/* splitcode: the ircd will check every 60s as to whether splitmode
|
||||
* should be disabled or not, so there may be a delay between a
|
||||
* netsplit ending and splitmode ending.
|
||||
*
|
||||
* both split users and split servers must be true to enter splitmode
|
||||
*
|
||||
* you may force splitmode to be permanent by /quote set splitmode on
|
||||
*/
|
||||
|
||||
/* split users: when the usercount is lower than this level, consider
|
||||
* ourselves split. this must be set for automatic splitmode
|
||||
*/
|
||||
default_split_user_count = 10000;
|
||||
|
||||
/* split servers: when the servercount is lower than this, consider
|
||||
* ourselves split. this must be set for automatic splitmode
|
||||
*/
|
||||
default_split_server_count = 10;
|
||||
|
||||
/* split no create: disallow users creating channels on split, works in
|
||||
* tandem with persistant channels, that have retained their modes.
|
||||
*/
|
||||
no_create_on_split = no;
|
||||
|
||||
/* split: no join: disallow users joining channels at all on a split */
|
||||
no_join_on_split = no;
|
||||
};
|
||||
|
||||
|
||||
/* The serverhide block contains the options regarding serverhiding */
|
||||
serverhide {
|
||||
/* flatten links: this option will show all servers in /links appear
|
||||
* that they are linked to this current server
|
||||
*
|
||||
* EFnet Note: While this is not a requirement on EFnet, it
|
||||
* may be a good idea.
|
||||
*/
|
||||
flatten_links = yes;
|
||||
|
||||
/* links delay: how often to update the links file when it is
|
||||
* flattened.
|
||||
*/
|
||||
links_delay = 5 minutes;
|
||||
|
||||
/* hidden: hide this server from a /links output on servers that
|
||||
* support it. this allows hub servers to be hidden etc.
|
||||
*/
|
||||
hidden = no;
|
||||
|
||||
/* disable hidden: prevent servers hiding themselves from a
|
||||
* /links ouput.
|
||||
*/
|
||||
disable_hidden = no;
|
||||
|
||||
/* hide servers: hide remote servernames everywhere and instead use
|
||||
* network_name and network_desc.
|
||||
*/
|
||||
hide_servers = no;
|
||||
|
||||
/* disable remote: disable users doing commands on remote servers */
|
||||
disable_remote_commands = no;
|
||||
|
||||
/* disable local channels: prevent users from joining &channels.
|
||||
* This is extreme, but it is still a flaw in serverhide. It will
|
||||
* however remove far more from users than it will give back in
|
||||
* security.
|
||||
*/
|
||||
disable_local_channels = no;
|
||||
};
|
||||
|
||||
/* The general block contains many of the options that were once compiled
|
||||
* in options in config.h. The general block is read at start time.
|
||||
*/
|
||||
general {
|
||||
/* floodcount: the default value of floodcount that is configurable
|
||||
* via /quote set floodcount. This is the amount of lines a user
|
||||
* may send to any other user/channel in one second.
|
||||
*/
|
||||
default_floodcount = 10;
|
||||
|
||||
/* failed oper notice: send a notice to all opers on the server when
|
||||
* someone tries to OPER and uses the wrong password, host or ident.
|
||||
*/
|
||||
failed_oper_notice = yes;
|
||||
|
||||
/* dots in ident: the amount of '.' characters permitted in an ident
|
||||
* reply before the user is rejected.
|
||||
*/
|
||||
dots_in_ident=0;
|
||||
|
||||
/* dot in ipv6: ircd-hybrid-6.0 and earlier will disallow hosts
|
||||
* without a '.' in them. this will add one to the end. only needed
|
||||
* for older servers.
|
||||
*/
|
||||
dot_in_ip6_addr = no;
|
||||
|
||||
/* min nonwildcard: the minimum non wildcard characters in k/d/g lines
|
||||
* placed via the server. klines hand placed are exempt from limits.
|
||||
* wildcard chars: '.' '*' '?' '@'
|
||||
*/
|
||||
min_nonwildcard = 3;
|
||||
|
||||
/* max accept: maximum allowed /accept's for +g usermode */
|
||||
max_accept = 20;
|
||||
|
||||
/* nick flood: enable the nickflood control code */
|
||||
anti_nick_flood = yes;
|
||||
|
||||
/* nick flood: the nick changes allowed in the specified period */
|
||||
max_nick_time = 20 seconds;
|
||||
max_nick_changes = 5;
|
||||
|
||||
/* anti spam time: the minimum time a user must be connected before
|
||||
* custom quit messages are allowed.
|
||||
*/
|
||||
anti_spam_exit_message_time = 5 minutes;
|
||||
|
||||
/* ts delta: the time delta allowed between server clocks before
|
||||
* a warning is given, or before the link is dropped. all servers
|
||||
* should run ntpdate/rdate to keep clocks in sync
|
||||
*/
|
||||
ts_warn_delta = 30 seconds;
|
||||
ts_max_delta = 5 minutes;
|
||||
|
||||
/* client exit: prepend a users quit message with "Client exit: " */
|
||||
client_exit = no;
|
||||
|
||||
/* kline reason: show the user the reason why they are k/d/glined
|
||||
* on exit. may give away who set k/dline when set via tcm.
|
||||
*/
|
||||
kline_with_reason = yes;
|
||||
|
||||
/* kline connection closed: make the users quit message on channels
|
||||
* to be "Connection closed", instead of the kline reason.
|
||||
*/
|
||||
kline_with_connection_closed = yes;
|
||||
|
||||
/* non redundant klines: flag and ignore redundant klines */
|
||||
non_redundant_klines = yes;
|
||||
|
||||
/* warn no nline: warn opers about servers that try to connect but
|
||||
* we dont have a connect {} block for. Twits with misconfigured
|
||||
* servers can get really annoying with this enabled.
|
||||
*/
|
||||
warn_no_nline = yes;
|
||||
|
||||
/* stats o oper only: make stats o (opers) oper only */
|
||||
stats_o_oper_only=yes;
|
||||
|
||||
/* stats P oper only: make stats P (ports) oper only */
|
||||
stats_P_oper_only=yes;
|
||||
|
||||
/* stats i oper only: make stats i (auth {}) oper only. set to:
|
||||
* yes: show users no auth blocks, made oper only.
|
||||
* masked: show users first matching auth block
|
||||
* no: show users all auth blocks.
|
||||
*/
|
||||
stats_i_oper_only=yes;
|
||||
|
||||
/* stats k/K oper only: make stats k/K (klines) oper only. set to:
|
||||
* yes: show users no auth blocks, made oper only
|
||||
* masked: show users first matching auth block
|
||||
* no: show users all auth blocks.
|
||||
*/
|
||||
stats_k_oper_only=yes;
|
||||
|
||||
/* caller id wait: time between notifying a +g user that somebody
|
||||
* is messaging them.
|
||||
*/
|
||||
caller_id_wait = 1 minute;
|
||||
|
||||
/* pace wait simple: time between use of less intensive commands
|
||||
* (HELP, remote WHOIS, WHOWAS)
|
||||
*/
|
||||
pace_wait_simple = 1 second;
|
||||
|
||||
/* pace wait: time between more intensive commands
|
||||
* (ADMIN, INFO, LIST, LUSERS, MOTD, STATS, VERSION)
|
||||
*/
|
||||
pace_wait = 10 seconds;
|
||||
|
||||
/* short motd: send clients a notice telling them to read the motd
|
||||
* instead of forcing a motd to clients who may simply ignore it.
|
||||
*/
|
||||
short_motd = no;
|
||||
|
||||
/* ping cookies: require clients to respond exactly to a ping command,
|
||||
* can help block certain types of drones and FTP PASV mode spoofing.
|
||||
*/
|
||||
ping_cookie = no;
|
||||
|
||||
/* no oper flood: increase flood limits for opers. */
|
||||
no_oper_flood = yes;
|
||||
|
||||
/* glines: enable glines, network wide temp klines
|
||||
*
|
||||
* EFnet Note: This feature is required for European EFnet servers
|
||||
* and is used by several North American servers. As
|
||||
* such, it has been left on by default. If you
|
||||
* do not want your server to participate in G:Lines
|
||||
* you should disable this.
|
||||
*/
|
||||
glines = yes;
|
||||
|
||||
/* gline time: the amount of time a gline will remain before exiring */
|
||||
gline_time = 1 day;
|
||||
|
||||
/* idletime: the maximum amount of time a user may idle before
|
||||
* they are disconnected
|
||||
*/
|
||||
idletime = 0;
|
||||
|
||||
/* maximum links: the maximum amount of servers to connect to for
|
||||
* connect blocks without a valid class.
|
||||
*/
|
||||
maximum_links = 1;
|
||||
|
||||
/* REMOVE ME. The following line checks you've been reading. */
|
||||
havent_read_conf = 1;
|
||||
|
||||
/* logfiles: the logfiles to use for user connects, /oper uses,
|
||||
* and failed /oper. These files must exist for logging to be used.
|
||||
*/
|
||||
fname_userlog = "logs/userlog";
|
||||
fname_operlog = "logs/operlog";
|
||||
fname_foperlog = "logs/foperlog";
|
||||
|
||||
/* max targets: the maximum amount of targets in a single
|
||||
* PRIVMSG/NOTICE. set to 999 NOT 0 for unlimited.
|
||||
*/
|
||||
max_targets = 4;
|
||||
|
||||
/* client flood: maximum number of lines in a clients queue before
|
||||
* they are dropped for flooding.
|
||||
*/
|
||||
client_flood = 20;
|
||||
|
||||
/* use help: whether an improved help system per command is available
|
||||
* to users. If this is disabled, users will just be shown a command
|
||||
* list.
|
||||
*
|
||||
* EFNET NOTE: It is not recommended you enable this due to the method
|
||||
* of reading help files.
|
||||
*/
|
||||
use_help = no;
|
||||
|
||||
/* message locale: the default message locale if gettext() is enabled
|
||||
* and working.
|
||||
* Use "custom" for the (in)famous Hybrid custom messages.
|
||||
* Use "standard" for the compiled in defaults.
|
||||
*/
|
||||
message_locale = "standard";
|
||||
|
||||
/* usermodes configurable: a list of usermodes for the options below
|
||||
*
|
||||
* +b - bots - See bot and drone flooding notices
|
||||
* +c - cconn - Client connection/quit notices
|
||||
* +d - debug - See debugging notices
|
||||
* +f - full - See I: line full notices
|
||||
* +g - callerid - Server Side Ignore (for privmsgs etc)
|
||||
* +i - invisible - Not shown in NAMES or WHO unless you share a
|
||||
* a channel
|
||||
* +k - skill - See server generated KILL messages
|
||||
* +l - locops - See LOCOPS messages
|
||||
* +n - nchange - See client nick changes
|
||||
* +r - rej - See rejected client notices
|
||||
* +s - servnotice - See general server notices
|
||||
* +u - unauth - See unauthorized client notices
|
||||
* +w - wallop - See server generated WALLOPS
|
||||
* +x - external - See remote server connection and split notices
|
||||
* +y - spy - See LINKS, STATS, TRACE notices etc.
|
||||
* +z - operwall - See oper generated WALLOPS
|
||||
*/
|
||||
|
||||
/* oper only umodes: usermodes only opers may set */
|
||||
oper_only_umodes = bots, cconn, debug, full, skill, nchange,
|
||||
rej, spy, external, operwall, locops, unauth;
|
||||
|
||||
/* oper umodes: default usermodes opers get when they /oper */
|
||||
oper_umodes = locops, servnotice, operwall, wallop;
|
||||
|
||||
/* servlink path: path to 'servlink' program used by ircd to handle
|
||||
* encrypted/compressed server <-> server links.
|
||||
*
|
||||
* only define if servlink is not in same directory as ircd itself.
|
||||
*/
|
||||
#servlink_path = "/usr/local/ircd/bin/servlink";
|
||||
|
||||
/* default cipher: default cipher to use for cryptlink when none is
|
||||
* specified in connect block.
|
||||
*/
|
||||
#default_cipher_preference = "BF/256";
|
||||
|
||||
/* use egd: if your system does not have *random devices yet you
|
||||
* want to use OpenSSL and encrypted links, enable this. Beware -
|
||||
* EGD is *very* CPU intensive when gathering data for its pool
|
||||
*/
|
||||
#use_egd = yes;
|
||||
|
||||
/* egdpool path: path to EGD pool. Not necessary for OpenSSL >= 0.9.7
|
||||
* which automatically finds the path.
|
||||
*/
|
||||
#egdpool_path = "/var/run/egd-pool";
|
||||
|
||||
|
||||
/* compression level: level of compression for compressed links between
|
||||
* servers.
|
||||
*
|
||||
* values are between: 1 (least compression, fastest)
|
||||
* and: 9 (most compression, slowest).
|
||||
*/
|
||||
#compression_level = 6;
|
||||
|
||||
/* throttle time: the minimum amount of time between connections from
|
||||
* the same ip. exempt {} blocks are excluded from this throttling.
|
||||
* Offers protection against flooders who reconnect quickly.
|
||||
* Set to 0 to disable.
|
||||
*
|
||||
* EFnet Note: exempt {} blocks are NOT hidden, so do NOT exempt
|
||||
* EFnet server IP's.
|
||||
*/
|
||||
throttle_time = 0;
|
||||
};
|
||||
|
||||
modules {
|
||||
/* module path: paths to search for modules specified below and
|
||||
* in /modload.
|
||||
*/
|
||||
path = "/usr/local/ircd/modules";
|
||||
path = "/usr/local/ircd/modules/autoload";
|
||||
|
||||
/* module: the name of a module to load on startup/rehash */
|
||||
#module = "some_module.so";
|
||||
};
|
|
@ -1,212 +0,0 @@
|
|||
/************************************************************************
|
||||
* IRC - Internet Relay Chat, doc/NETWORKING
|
||||
* Copyright (C) 1990, Helen Rose
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 1, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
Author: Helen Rose
|
||||
hrose@cs.bu.edu
|
||||
Date: 10 Oct 1990
|
||||
|
||||
*** Please read this before doing any connecting or writing to ask for
|
||||
connections. The information contained in this section is crucial to the
|
||||
way IRC is run.
|
||||
|
||||
In August of 1990, IRC suffered a critical split in viewpoints of key
|
||||
people in the IRC heirarchy. The result was IRC split into two networks,
|
||||
EFnet (Eris Free network) and Anet (Anarchy network). This split continues
|
||||
today. There is some debate over whether IRC will ever reunite, however,
|
||||
neither side is willing to bend from their standpoint.
|
||||
|
||||
Below is a paragraph from each side, listing their viewpoints on why their
|
||||
respective net is "better" than the other. Please read these, and decide
|
||||
for yourself which is the better network. Currently, there are about 95
|
||||
servers on EFnet (and the same number of users) and 15 servers on Anet (and
|
||||
about half the number of users).
|
||||
|
||||
Anet
|
||||
====
|
||||
joshua@coombs.anu.edu.au
|
||||
(DCLXVI == Josh Geller)
|
||||
Arguments in favor of joining Anet include stabler links, ease of
|
||||
connecting (just connect your server to eris.berkeley.edu; if you decide
|
||||
later you wish to be on EFnet you merely have to add whatever patches are
|
||||
required and get a link from the appropriate EFnet server), no likelihood
|
||||
of regulation of numbers of servers (there has been some talk of limiting
|
||||
the number of servers on EFnet).
|
||||
|
||||
EFnet
|
||||
*===*
|
||||
ckd@cs.bu.edu, hrose@cs.bu.edu
|
||||
(ckd = Christopher Davis, Trillian = Helen Rose)
|
||||
Arguments in favor of joining EFnet are virtually limitless. From a
|
||||
redundant backbone plan (which assures everyone of getting a close,
|
||||
fast link and tries to keep traffic off of long haul networks) to the
|
||||
fact that the obvious security hole that exists with open-server servers
|
||||
does not exist. (Anyone running an open server allows any user with
|
||||
telnet access to crash the server's machine without too much work.)
|
||||
|
||||
|
||||
---real networking document---
|
||||
Throughout this document every effort will be made to apply to *BOTH* ANet
|
||||
and EFnet. If this is not possible, EFnet will be referred to, considering
|
||||
it is the side where the majority is located.
|
||||
|
||||
Anet has one network coordinator:richardt@legato.com. Mail to him for all
|
||||
correspondence. At this time, no backbone layouts have been published for
|
||||
Anet.
|
||||
|
||||
EFnet is coordinated in several areas:
|
||||
|
||||
ckd@cs.bu.edu and hrose@cs.bu.edu coordinate the US routing. They also
|
||||
coordinate all incoming connections to the US. If you are in the United
|
||||
States and need a link, please mail to "operlist-request@cs.bu.edu"
|
||||
supplying the information listed below.
|
||||
|
||||
savela@tel.vtt.fi, irc@tolsun.oulu.fi, and d88-skl@nada.kth.se coordinate
|
||||
the NORDUnet connections. (msa, WiZ, and meLazy on irc, respectively)
|
||||
|
||||
muts@fysak.fys.ruu.nl coordinates Dutch servers.
|
||||
|
||||
stumpf@Informatik.TU-Muenchen.de and Gruner@Informatik.TU-Muenchen.de
|
||||
coordinate German servers. (Maex and Armin/Gonzo)
|
||||
|
||||
phil@cnam.cnam.fr coordinates the one French IRC server, and any others
|
||||
that might want be started.
|
||||
|
||||
avalon@coombs.anu.oz.au coordinates the Australian servers.
|
||||
|
||||
bowles@is.s.u-tokyo.ac.jp coordinates the Japanese servers.
|
||||
|
||||
==how to get an IRC connection==
|
||||
|
||||
(1) If you are in the United States and on Anet, mail to
|
||||
richardt@legato.com.
|
||||
|
||||
(2) If you are in the United States and on EFnet:
|
||||
a) find out if your system has /etc/ping (sometimes /usr/etc/ping)
|
||||
and ping the following hosts-
|
||||
|
||||
server/machine name IP Address Geographical Location
|
||||
bucsd.bu.edu 128.197.10.2 Boston, MA
|
||||
irc.mit.edu 18.70.0.224 Cambridge, MA
|
||||
poe.acc.virginia.edu 128.143.20.20 Charlottesville, VA
|
||||
sindri.cs.cornell.edu 128.84.254.96 Ithaca, NY
|
||||
polaris.ctr.columbia.edu 128.59.64.79 New York City, NY
|
||||
fairhope.andrew.cmu.edu 128.2.11.213 Pittsburgh, PA
|
||||
*.umich.edu 141.212.66.36 Ann Arbor, MI
|
||||
h.ece.uiuc.edu 128.174.115.18 Urbana-Champaign, IL
|
||||
minnie.cc.utexas.edu 128.83.135.13 Austin, TX
|
||||
ucsu.colorado.edu 128.138.129.83 Boulder, CO
|
||||
badger.ugcs.caltech.edu 131.215.128.29 Pasadena, CA
|
||||
*.spies.com 130.143.3.3 Cupertino, CA
|
||||
*.washington.edu 128.95.152.35 Seattle, WA
|
||||
|
||||
(yes, this seems like alot, but the backbone structure is quite complex and
|
||||
redundant so when we have a network break, servers can pick up other
|
||||
servers within moments)
|
||||
|
||||
b) a simple ping hostname (or ping IP address) will suffice. Ping the
|
||||
five geographically closest machines. Let the ping run for 100 packets.
|
||||
This allows the network coordinators to best evaluate your position
|
||||
on the network and to give you a connection that is fastest.
|
||||
Note: when using the SunOS version of ping, use ping -s machinename;
|
||||
"regular" SunOS ping is useless.
|
||||
|
||||
c) mail these results to operlist-request@cs.bu.edu requesting a link.
|
||||
|
||||
(3) If you are in Europe and are requesting a link, mail to the
|
||||
appropriate contact listed above, and they will instruct you on how to
|
||||
secure a link for your server.
|
||||
|
||||
These are the results of the typical /etc/ping command:
|
||||
|
||||
(note that since bucsd.bu.edu runs SunOS, I used ping -s...)
|
||||
|
||||
bucsd% /usr/etc/ping -s betwixt.cs.caltech.edu
|
||||
PING betwixt.cs.caltech.edu: 56 data bytes
|
||||
64 bytes from betwixt.cs.caltech.edu (131.215.128.4): icmp_seq=0. time=169. ms
|
||||
64 bytes from betwixt.cs.caltech.edu (131.215.128.4): icmp_seq=1. time=190. ms
|
||||
64 bytes from betwixt.cs.caltech.edu (131.215.128.4): icmp_seq=2. time=200. ms
|
||||
64 bytes from betwixt.cs.caltech.edu (131.215.128.4): icmp_seq=3. time=170. ms
|
||||
[...]
|
||||
64 bytes from betwixt.cs.caltech.edu (131.215.128.4): icmp_seq=18. time=180. ms
|
||||
64 bytes from betwixt.cs.caltech.edu (131.215.128.4): icmp_seq=19. time=220. ms
|
||||
64 bytes from betwixt.cs.caltech.edu (131.215.128.4): icmp_seq=20. time=170. ms
|
||||
64 bytes from betwixt.cs.caltech.edu (131.215.128.4): icmp_seq=21. time=200. ms
|
||||
^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^ ^^^^^^^
|
||||
Size of packet hostname IP address packet number trip time
|
||||
|
||||
----betwixt.cs.caltech.edu PING Statistics----
|
||||
22 packets transmitted, 22 packets received, 0% packet loss
|
||||
round-trip (ms) min/avg/max = 160/179/220
|
||||
|
||||
When you send pings to operlist-request, please only send the results
|
||||
(the above three lines)--we *don't* need each packet's time.
|
||||
|
||||
Guidelines:
|
||||
|
||||
Avg Time Connection is
|
||||
======== =============
|
||||
20-50 ms Optimal
|
||||
50-80 ms Excellent
|
||||
80-120 ms Very Good
|
||||
120-180 ms Average
|
||||
180-240 ms Acceptable
|
||||
240-300 ms Below Average
|
||||
300-400 ms Bad
|
||||
400+ ms Find a better link, if possible
|
||||
|
||||
** *** WHERE TO FIND HELP!!! ***
|
||||
**
|
||||
** If you have any other questions about connecting to an irc server, please
|
||||
** mail to operlist-request@cs.bu.edu. If you have problems mailing there,
|
||||
** try mailing hrose@cs.bu.edu or ckd@cs.bu.edu.
|
||||
**
|
||||
** *** WHERE TO FIND HELP!!! ***
|
||||
|
||||
If you are in need of further help, you may find it by using your IRC
|
||||
client, entering IRC, and sending a /wallops. Be sure to read the help
|
||||
information on /wallops before doing so. Please use /wallops for IRC
|
||||
questions or help only, and not for questions like "have you seen nicky
|
||||
I need to talk to him". /wallops with care, or you will be annoying
|
||||
every operator on IRC.
|
||||
|
||||
Appendix
|
||||
========
|
||||
|
||||
Open client servers
|
||||
Until such a time that your server becomes connected, you should use your
|
||||
irc client and connect to open client servers. Some of these servers are-
|
||||
|
||||
irc.mit.edu
|
||||
bucsd.bu.edu
|
||||
fairhope.andrew.cmu.edu
|
||||
hermes.tcad.ee.ufl.edu
|
||||
mingin.engin.umich.edu
|
||||
minnie.cc.utexas.edu
|
||||
badger.ugcs.caltech.edu
|
||||
ucsu.colorado.edu
|
||||
dharma.cpac.washington.edu
|
||||
|
||||
fysak.fys.ruu.nl
|
||||
nic.funet.fi
|
||||
coombs.anu.edu.au
|
||||
|
||||
Start up your irc client, and then type /help for help.
|
||||
Happy IRC'ing!
|
||||
|
||||
|
|
@ -1,253 +0,0 @@
|
|||
Internet Relay Chat Operator Etiquette Guide
|
||||
|
||||
January, 1991
|
||||
|
||||
Welcome! You've either been selected to be an IRC Operator or you have set
|
||||
up your server and thus have taken on the dual task of IRC Server
|
||||
Administrator and IRC Operator. Your future days will be filled with hours
|
||||
of fun chatting on IRC, and then wondering why everyone you talked to went
|
||||
away, because the links had apparently broken.
|
||||
|
||||
Linking:
|
||||
========
|
||||
|
||||
You will be assigned links from the IRC Routing Coordinators. Please use
|
||||
these links and these links ONLY. The links have been designed to maximize
|
||||
efficiency and make delays in chatting minimal. You will be given two
|
||||
links, one to each regional backbone site. Connect to the primary site
|
||||
first and then to the secondary site. You should not need to connect to any
|
||||
other sites. You will be informed if this policy changes.
|
||||
|
||||
Kills and Walls:
|
||||
===============
|
||||
|
||||
/kill and /wall are special operator commands. You should use them with
|
||||
care, and only if absolutely needed. The format are as follows:
|
||||
/kill USERNAME comment. comment can be a phrase of almost any length
|
||||
(within reason) and should be used for specifying the reason of the kill.
|
||||
example: /kill Trillian She's a Ghost
|
||||
IRC Ghosts are created after a net split has occured and the net has yet to
|
||||
relink.
|
||||
|
||||
/wall PHRASE. This is used for an emergency command like the net is about
|
||||
to split into little pieces, and everyone should reconfigure their links
|
||||
as soon as possible. You will see a WALL when it happens, an operators
|
||||
nickname will appear with # signs around it.
|
||||
#Trillian# Server bucsd.bu.edu coming down for upgrade. Prepare to
|
||||
reconfigure links.
|
||||
|
||||
/wallops PHRASE This is used to talk to ALL operators at once. It is not
|
||||
often warranted, but is useful. Often, when there is an important IRC
|
||||
situation that requires all the operators attention, /wallops is used. The
|
||||
form for wallops is a nickname with ! signs around it.
|
||||
!Trillian! Australia should leaf off of eris, not carry all the US traffic.
|
||||
|
||||
|
||||
/TRACE command
|
||||
/TRACE is useful to know what servers are connected to what. Sometimes
|
||||
/trace can be confusing, especially you are using it for the first time.
|
||||
Here is an example of a trace from bucsd.bu.edu to betwixt.cs.caltech.edu.
|
||||
|
||||
/TRACE betwixt.cs.caltech.edu
|
||||
IRC log started Mon Aug 26 17:04
|
||||
*** Link eff.org<2.6.1a> ==> h.ece.uiuc.edu
|
||||
-bucsd.bu.edu- *** Link bucsd.bu.edu<2.6.1a> ==> h.ece.uiuc.edu
|
||||
-h.ece.uiuc.edu- *** Serv Class[3] h.ece.uiuc.edu ==> ucsu.colorado.EDU
|
||||
-h.ece.uiuc.edu- *** Serv Class[2] h.ece.uiuc.edu ==> bucsd.bu.edu
|
||||
-h.ece.uiuc.edu- *** Serv Class[10] h.ece.uiuc.edu ==> silver.ucs.indiana.edu
|
||||
-h.ece.uiuc.edu- *** Serv Class[11] h.ece.uiuc.edu ==> monitor.ece.uiuc.edu[h.ece.uiuc.edu]
|
||||
-h.ece.uiuc.edu- *** User Class[0] h.ece.uiuc.edu ==> Razorbone[uxa.cso.uiuc.edu]
|
||||
-h.ece.uiuc.edu- *** Serv Class[10] h.ece.uiuc.edu ==> MHD54.MOORHEAD.MSUS.EDU[134.29.97.1]
|
||||
-h.ece.uiuc.edu- *** Serv Class[4] h.ece.uiuc.edu ==> *.umich.edu[mingin.engin.umich.edu]
|
||||
-h.ece.uiuc.edu- *** User Class[0] h.ece.uiuc.edu ==> BooServ[sunc4.cs.uiuc.edu]
|
||||
-h.ece.uiuc.edu- *** Serv Class[10] h.ece.uiuc.edu ==> nic.stolaf.edu
|
||||
-h.ece.uiuc.edu- *** Oper Class[0] h.ece.uiuc.edu ==> SodaPop[h.ece.uiuc.edu]
|
||||
-h.ece.uiuc.edu- *** Serv Class[4] h.ece.uiuc.edu ==> oddjob.uchicago.edu
|
||||
-h.ece.uiuc.edu- *** User Class[0] h.ece.uiuc.edu ==> Deviant[isca01.isca.uiowa.edu]
|
||||
-h.ece.uiuc.edu- *** Serv Class[10] h.ece.uiuc.edu ==> *.uc.edu[hilbert.che.uc.edu]
|
||||
-h.ece.uiuc.edu- *** Class 0 Entries linked: 4
|
||||
-h.ece.uiuc.edu- *** Class 11 Entries linked: 1
|
||||
-h.ece.uiuc.edu- *** Class 10 Entries linked: 4
|
||||
-h.ece.uiuc.edu- *** Class 4 Entries linked: 2
|
||||
-h.ece.uiuc.edu- *** Class 3 Entries linked: 1
|
||||
-h.ece.uiuc.edu- *** Class 2 Entries linked: 1
|
||||
|
||||
This shows that from eff.org (running version 2.6.1a to h.ece.uiuc.edu,
|
||||
routing goes through bucsd.bu.edu before reaching h.ece.uiuc.edu.
|
||||
"h" is connected to ucsu.colorado.edu, silver.ucs.indiana.edu,
|
||||
monitor.ece.uiuc.edu (which resolves to [h.ece.uiuc.edu], hence the
|
||||
square brackets), mhd54.moorhead.msus.edu, *.umich.edu (which resolves
|
||||
to mingin.engin.umich.edu), nic.stolaf.edu, oddjob.uchicago.edu,
|
||||
*.uc.edu (which resolves to hilbert.che.uc.edu), and bucsd.bu.edu, which
|
||||
is known as its "uplink". It is quite normal for a server to have
|
||||
several "uplinks" if it is busy. An uplink is the link towards the top
|
||||
of the tree which carries alot of traffic. "h" also has several users on
|
||||
it, RazorBone, BooServ, and Deviant. SodaPop is also an active operator
|
||||
on h.ece.uiuc.edu. You can tell each host from what each person is
|
||||
logged into by looking just past their nickname. For example, Deviant is
|
||||
logged in from isca01.isca.uiowa.edu.
|
||||
|
||||
/SQUIT server {comment}
|
||||
/squit isolates a specified link from the next closest uplink server.
|
||||
This is usually used in conjunction with CONNECT (explained later) to
|
||||
reroute traffic. This will be described in detail in the section
|
||||
"routing", preceding CONNECT.
|
||||
SQUIT can be used in one of two ways. It can be used on a local
|
||||
server, which would cause the server name specified to be unlinked
|
||||
relative to your path; or you can send a message to another server
|
||||
instructing it to issue an SQUIT to that server, in which case the
|
||||
break will be relative to the remote server.
|
||||
|
||||
Usage (and examples):
|
||||
|
||||
/squit E
|
||||
|
||||
If the network looks like this initially (and you are on server A)
|
||||
|
||||
|
||||
A <---> B <---> C <---> D
|
||||
^
|
||||
|
|
||||
v
|
||||
G <---> E <---> F <---> ... (rest of the net)
|
||||
|
||||
|
||||
Then after issuing the previous /squit the network would look like this:
|
||||
|
||||
A <---> B <---> C <---> D
|
||||
|
||||
|
||||
G <---> E <---> F <---> ...
|
||||
|
||||
|
||||
/squit E {comment}
|
||||
|
||||
It usually helps to give a reason why you are sending a
|
||||
SQUIT for a server. This can be accomplished by sending
|
||||
the command "/squit server This link is making the US route
|
||||
through Finland". The SQUIT will then be sent out, and the
|
||||
server sending the squit will WALLOP sending the comment
|
||||
so all operators can see it.
|
||||
|
||||
/CONNECT server {portnum server2}
|
||||
/connect is used to establish a link between two servers. These
|
||||
connections must be authorized by each server's ircd.conf file, but
|
||||
any operator can issue a CONNECT between authorized servers. This
|
||||
command is most often used in conjunction with SQUIT to reroute
|
||||
traffic.
|
||||
If only one argument is given, this command causes the server you
|
||||
are on to attempt to connect to the server specified. For example,
|
||||
"/connect B" (in the previous example) would cause your server (A) to
|
||||
connect to B.
|
||||
Suppose you wanted to reconnect server F to server E? You cannot
|
||||
contact server F since it is no longer part of your network. However,
|
||||
you can tell server E to connect to it. A remote CONNECT can be issued
|
||||
to server E.
|
||||
|
||||
Examples (assume you are on server A):
|
||||
|
||||
/connect B
|
||||
|
||||
If the network initially looks like this:
|
||||
|
||||
A B <---> ... (rest of network)
|
||||
|
||||
Then afterwards (if the connection succeeds) the network will look
|
||||
like this:
|
||||
|
||||
A <---> B <---> ...
|
||||
|
||||
|
||||
In the example where you wanted to reconnect server E to F, the
|
||||
following syntax would be appropriate (note: we are assuming that
|
||||
F's irc socket port is 6667, which is the default)
|
||||
|
||||
/connect F 6667 E
|
||||
|
||||
If the network initially looks like this:
|
||||
|
||||
A <---> B <---> C <---> D
|
||||
^
|
||||
|
|
||||
v
|
||||
G <---> E F <---> ...
|
||||
|
||||
Then after your CONNECT request the network topology will look like this:
|
||||
|
||||
A <---> B <---> C <---> D
|
||||
^
|
||||
|
|
||||
v
|
||||
G <---> E <---> F <---> ...
|
||||
|
||||
Be careful when connecting servers that you know which command to
|
||||
use! If you simply issued "/connect F" from your server, the
|
||||
network would look like this:
|
||||
|
||||
|
||||
... <---> F <---> A <---> B <---> C <---> D
|
||||
^
|
||||
|
|
||||
v
|
||||
G <---> E
|
||||
|
||||
which for various reasons (discussed below) might be very
|
||||
undesirable.
|
||||
|
||||
Routing
|
||||
=======
|
||||
|
||||
When and how should you do rerouting? This depends on where your
|
||||
server is topologically located and whether you route traffic. If you
|
||||
are a leaf node (i.e. only connect to one server at a time) then
|
||||
chances are you won't need to do any routing at all. Your ircd.conf
|
||||
file should be written to connect to the best possible servers first
|
||||
before trying alternates. At the most, you may decide to squit an
|
||||
alternate server and connect to your primary if/when it goes back up.
|
||||
This only involves local squits, however.
|
||||
|
||||
If you are operating a backbone site, you may find yourself
|
||||
rerouting things quite often. If the EFnet servers (see the file
|
||||
doc/networking) badger.ugcs.caltech.edu (Pasadena, CA),
|
||||
irc.mit.edu (Boston, MA), minnie.cc.utexas.edu (Austin, TX) and
|
||||
ucsu.colorado.edu (Boulder, CO) were routing traffic in the following way:
|
||||
|
||||
... <---> minnie <---> badger <---> bucsd <---> ucsu <---> ...
|
||||
|
||||
It would make sense to either squit ucsu and reconnect it to minnie,
|
||||
or disconnect minnie from badger and connect to ucsu, because
|
||||
topologically (and geographically) ucsu and minnie are rather close.
|
||||
There are occasions when US traffic for some reasons winds up being
|
||||
routed through Australia. This is another case where traffic should
|
||||
definitely be rerouted. However, there are sometimes occasions when
|
||||
routing is going through "backdoor" methods. If you see something
|
||||
totally outrageous (like the east coast and the west coast being
|
||||
connected by eff.org) please /WALLOPS and ask before you send any
|
||||
squits, because chances are, it's like that for a reason.
|
||||
|
||||
Of course, any operator can remotely squit or connect servers, so
|
||||
if you see a problem and you're sure you know how to fix it, it's a
|
||||
good idea to do so. If the operator of a server which is is being
|
||||
routed poorly is online, it's probably best to contact him/her first,
|
||||
though.
|
||||
|
||||
Chances are that hub operators will be more familiar with the
|
||||
general topology of the network and which servers connect to which
|
||||
(which is why most of the manual routing is left to them), so if you
|
||||
have any problems, talk to the other operators via /wallops. That's
|
||||
what it's there for!
|
||||
Also, be aware that servers will notify all the operators online of
|
||||
remote SQUITs and CONNECTs via WALLOPS.
|
||||
|
||||
Please let us know if there should be any additions to this guide. Again,
|
||||
this is not MANDATORY, this is just a GUIDE. Please conduct yourself as
|
||||
an IRC Operator would...you are looked upon for assistance, both emotional
|
||||
and mental.
|
||||
|
||||
Helen Rose Christopher Davis
|
||||
<hrose@cs.bu.edu> <ckd@cs.bu.edu>
|
||||
|
||||
Noah Friedman
|
||||
<friedman@ai.mit.edu>
|
||||
|
||||
January, 1991
|
|
@ -1,3 +0,0 @@
|
|||
This stuff is so ancient it's not even funny anymore. Take it with
|
||||
a grain of salt if you bother to read it.
|
||||
|
|
@ -1,369 +0,0 @@
|
|||
# IRC - Internet Relay Chat, doc/example.conf
|
||||
# Copyright (C) 1994, Helen Rose
|
||||
##
|
||||
## updated by Diane Bruce Dec 19 1997, aka db or Dianora
|
||||
## My changes will be shown in ## marks
|
||||
##
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 1, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
# This is an example configuration file for the IRC server
|
||||
#
|
||||
# You only need an ircd.conf (IRC server configuration file) if you are
|
||||
# running an IRC server. If you are running a standalone client this file
|
||||
# is not necessary.
|
||||
#
|
||||
# This file will explain the various lines in the IRC server
|
||||
# configuration file. Not all lines are mandatory. You can check to make
|
||||
# sure that your configuration file is correct by using the program
|
||||
# "chkconf", provided in the server distribution (and when you do "make
|
||||
# install" this program will be installed in the same directory as the irc
|
||||
# server).
|
||||
#
|
||||
# The options for whether a line is needed or not are:
|
||||
# MANDATORY: you absolutely MUST have this line
|
||||
# NETWORKED: you must have this line if you are connecting this irc
|
||||
# server to any other server (servers can run standalone).
|
||||
# SUGGESTED: it is highly suggested that you use this line
|
||||
# OPTIONAL: it's completely up to you whether to define this or not
|
||||
# DISCOURAGED: you really really should not use this line if at all
|
||||
# possible.
|
||||
# NOT NECESSARY: an old or out of date line that isn't needed.
|
||||
#
|
||||
# MANDATORY lines are absolute *musts*, that is, if you do not have this
|
||||
# line then your server will not work properly. SUGGESTED lines are
|
||||
# close-to-mandatory (that is, the server will run without it, but you are
|
||||
# highly encouraged to use these lines).
|
||||
#
|
||||
# Note that "*" in a field indicates an "unused" field.
|
||||
#
|
||||
#
|
||||
# ========================================================================
|
||||
# NOTE! this entire configuration file is read UPSIDE-DOWN! So if you have
|
||||
# to put something in a specific order (for example, client-connection
|
||||
# lines), put them in reverse order!
|
||||
# ========================================================================
|
||||
#
|
||||
#
|
||||
# M: [MANDATORY]. This line sets your server's name, description, and
|
||||
# port number. Fields, in order, are:
|
||||
#
|
||||
# M:hostname:*:Description Of Your Server:6667
|
||||
#
|
||||
M:csa.bu.edu:*:Boston University Computer Science Department:6667
|
||||
#
|
||||
# A: [MANDATORY]. This line lists your administrative information
|
||||
# (contact address, etc). To view this information, /admin (server) will
|
||||
# show it to you.
|
||||
#
|
||||
# The A: line has no set information, in fact, you can put arbitrary text
|
||||
# in there if you wish (it is encouraged that you put at *least* a contact
|
||||
# address for a person responsible for the irc server, however)
|
||||
#
|
||||
A:Boston University CS Department:Main Client Server:Helen Rose <hrose@cs.bu.edu>
|
||||
#
|
||||
# Y: [SUGGESTED]. These lines define connection classes. Connection
|
||||
# classes allow you to fine-tune your client and server connections. It is
|
||||
# suggested that clients and servers be placed in seperate classes, and if
|
||||
# you have lots of server connections (if you do have lots of servers you
|
||||
# shouldn't be reading this file :-) each set of servers (defined
|
||||
# arbitrarily by you) should have its own class. If you have clients
|
||||
# coming in from lots of different sites, you may want to seperate them
|
||||
# out into classes. For instance, you may want to put local users in one
|
||||
# class, with remote users in another class.
|
||||
#
|
||||
# The class numbers are not arbitrary. In auto-connecting servers -- that
|
||||
# is, servers that you have a port number (e.g. 6667) on the end of the C:
|
||||
# line (see below) the higher the number the higher the priority in
|
||||
# auto-connecting.
|
||||
#
|
||||
# The fields in order are: class number, ping frequency (in seconds),
|
||||
# connect frequency (in seconds), maximum number of links (used for
|
||||
# auto-connecting, and for limiting the number of clients in that class),
|
||||
# and sendq (this overrides any value set in include/config.h for #define
|
||||
# MAXSENDQLENGTH).
|
||||
#
|
||||
# Note that it is a good idea to have ping frequency the same at both ends
|
||||
# of the link.
|
||||
#
|
||||
# in this case, connect-frequency is 0 indicating that this is a client
|
||||
# class (servers never connect to clients, it is the other way around).
|
||||
Y:1:90:0:20:100000
|
||||
#
|
||||
##
|
||||
## in the case of hybrid and Csr servers, the connect-frequency
|
||||
## field is now used as a count of number of clients to allow per IP
|
||||
## (or in the case of CSr the number of clients per IP or clients per
|
||||
## idented host; soon to be in Hybrid as well :-) )
|
||||
## i.e. to limit one set of I lines to 1 client connection per IP
|
||||
##
|
||||
##Y:1:90:1:20:100000
|
||||
## -db
|
||||
##
|
||||
#
|
||||
# this is a normal server connection (normal as of March, 1994)
|
||||
Y:2:90:300:1:600000
|
||||
#
|
||||
Y:10:90:0:3:100000
|
||||
#
|
||||
# I: [MANDATORY]. The I: lines are client-authorization lines. Without
|
||||
# these lines, no clients will be able to connect to your server.
|
||||
# Wildcards ("*") are permitted. Passwords are also permitted (clients can
|
||||
# be configured to send passwords).
|
||||
#
|
||||
# Ident (for more information on this, see rfc1413) can also be used by
|
||||
# placing a @ in the appropriate fields.
|
||||
#
|
||||
# Fields are as follows:
|
||||
# I:IP-address-mask:optional password:domain-mask::connection class (opt)
|
||||
#
|
||||
# With a password..... This will allow anyone from anywhere to connect
|
||||
# as long as they know the password ("foobar"). Note listing this I: line
|
||||
# first, it will be read *last*, meaning it is the "fall-through". That
|
||||
# is, anyone who doesn't match the I: lines listed below must know the
|
||||
# password ("foobar") to connect.
|
||||
#
|
||||
I:*@*:foobar:*@*::1
|
||||
# This is a standard vanilla I: line which will permit anyone with an IP
|
||||
# address starting with 128.197 OR with a hostname ending in .bu.edu to
|
||||
# connect to the server. NOTE, the ircd matches on the *right-most* match,
|
||||
# so if I connect as hrose@csa.bu.edu (which is hrose@128.197.10.3) I will
|
||||
# show up on irc as hrose@csa.bu.edu since that is the first match it
|
||||
# found. (Even though the second match is valid).
|
||||
I:128.197.*::*.bu.edu::1
|
||||
#
|
||||
# using ident
|
||||
I:*@128.197.*::*@*.bu.edu::1
|
||||
# and you can even specify just certain usernames running ident (as long
|
||||
# as the client's site is running the ident daemon):
|
||||
I:NOMATCH::hrose@csa.bu.edu::1
|
||||
# putting NOMATCH in the first field will stop the ircd from matching
|
||||
# automatically against the IP address and it will force the server to
|
||||
# match against the hostname. (the "NOMATCH" string is not mandatory, you
|
||||
# can use any arbitrary text in the first field).
|
||||
#
|
||||
#
|
||||
# O: [OPTIONAL]. These lines define operator access. You do not need to
|
||||
# have an operator to run a server. A well configured leaf site should not
|
||||
# need an operator online, if it's connections are well defined, the irc
|
||||
# administrator can use kill -HUP on the ircd to reload the configuration
|
||||
# file.
|
||||
##
|
||||
## *sigh* unfortunately, O lines are now pretty mandatory
|
||||
## in a modern EFnet
|
||||
## -db
|
||||
##
|
||||
# The fields are as follows:
|
||||
# O:hostname (ident "@" permitted):password:NickName
|
||||
# if the person in "NickName" is not coming from the hostname defined in
|
||||
# the first field then the person will get the error message "No O: lines
|
||||
# for your host".
|
||||
# NOTE that since Crypted Passwords are defined by default in
|
||||
# include/config.h this text probably will not be plaintext. See
|
||||
# ircd/crypt/README for more information.
|
||||
#
|
||||
O:*.bu.edu:Zaphod:Trillian::10
|
||||
#
|
||||
# and this line forces ident:
|
||||
O:hrose@csa.bu.edu:Zaphod:Trillian::10
|
||||
#
|
||||
# This line is a "local operator", it is specified with a lower-case "o"
|
||||
# -- it is the only lower-case type in the ircd.conf file.
|
||||
#
|
||||
# this line permits the nickname "jhs" with the password of "ITBites" to
|
||||
# be a local operator only (be able to issue commands locally -- can /kill
|
||||
# and /squit and /connect -- but *only* locally)
|
||||
#
|
||||
o:*.bu.edu:ITBites:jhs::10
|
||||
#
|
||||
# a crypted password line (NOTE that if you have crypted passwords, *all*
|
||||
# of you passwords must be crypted! In fact, if you are getting an error
|
||||
# "Incorrect Password" it may well be because crypted passwords are
|
||||
# defined and you have used plaintext. So my example of plaintext and
|
||||
# crypted strings in the same IRC server configuration file is an
|
||||
# impossibility (but it is just theoretical, which is why I explained both).
|
||||
#
|
||||
O:rocker@csa.bu.edu:T0eiVgHrqeKTQ:Rocker::10
|
||||
#
|
||||
# U: [NOT NECESSARY]. This line defines the default server for the IRC
|
||||
# client that ships with the server -- the default client is in irc/irc
|
||||
# You should not use U: lines but instead use the UPHOST definition in
|
||||
# include/config.h
|
||||
U:csa.bu.edu:foobar:csa.bu.edu
|
||||
##
|
||||
## U lines are now obsolete in hybrid. ignore.
|
||||
## - db
|
||||
##
|
||||
#
|
||||
# The host part of C/N lines MUST contain a valid hostname or IP address
|
||||
# The host part in the C:line MUST be identical to the host part in the N:line
|
||||
# The name part of the C/N lines MUST match the associated H/L line name
|
||||
#
|
||||
# C: [NETWORKED]. These lines define what servers your server tries to
|
||||
# connect to.
|
||||
# N: [NETWORKED]. These lines define what servers your server permits
|
||||
# connections to be initiated from.
|
||||
# C/N lines MUST be used in pairs. You cannot have one without the other.
|
||||
#
|
||||
# C: lines contain the following fields:
|
||||
# C:remote server's hostname:passwd:remote server's name:port:conn class
|
||||
# (connection class)
|
||||
# N: lines contain the following fields:
|
||||
# N:remote server's hostname:passwd:remote server's name:host mask:conn class
|
||||
# (connection class)
|
||||
# "host mask" is the number of parts in *your* hostname to mask to. For
|
||||
# instance, with my servername being "csa.bu.edu", if I wanted to present
|
||||
# my servername to be "*.bu.edu" I would have a host-mask portion of "1".
|
||||
#
|
||||
# it is *strongly* advised that your C/N line passwords be different for
|
||||
# security's sake.
|
||||
#
|
||||
# ident is allowed in the server's hostname part of the field.
|
||||
# these lines tell the server to automatically (note the port number, that
|
||||
# means automatic connection) connect to cs-ftp.bu.edu:
|
||||
C:hrose@cs-ftp.bu.edu:bigspark:cs-ftp.bu.edu:6667:2
|
||||
N:hrose@cs-ftp.bu.edu:bigalpha:cs-ftp.bu.edu::2
|
||||
#
|
||||
# This server's connection lines are more vanilla, masking the host to
|
||||
# *.bu.edu (as described above):
|
||||
C:irc-2.mit.edu:camelsrk00l:irc-2.mit.edu::2
|
||||
N:irc-2.mit.edu:andsoarellamas:irc-2.mit.edu:1:2
|
||||
#
|
||||
# K: [OPTIONAL]. These lines define user@host patterns to be banned from
|
||||
# this particular server (with an optional time field). Note that K: lines
|
||||
# are *not* global, and if you ban a user they can still use any other IRC
|
||||
# server (unless they have specifically been banned there as well).
|
||||
#
|
||||
# the fields are defined as:
|
||||
# K:hostmask:time field:username
|
||||
# wildcards are permitted in any one of the fields, in other words, you can
|
||||
# K:*::* if you wanted (but your server wouldn't be used much ;-)
|
||||
#
|
||||
# This K: line bans the username "FSSPR" (the wildcards are used to make
|
||||
# sure that any ident-checking character will match) on any machine from
|
||||
# the University of Alaska.
|
||||
K:*.alaska.edu::*FSSPR*
|
||||
#
|
||||
# This K: line bans any users from acs*.bu.edu between the hours of 8am
|
||||
# and 12pm and 1pm and 5pm (the time is always the server's local time):
|
||||
K:acs*.bu.edu:0800-1200,1300-1700:*
|
||||
# Note that 24 hour time is used (no "AM" or "PM").
|
||||
#
|
||||
# R: [DISCOURAGED]. These lines restrict user access based on a more
|
||||
# stringent checking system than is available in the K: line. It looks for
|
||||
# a match (based on hostname and username) and then runs an outside
|
||||
# program (which MUST be specified using a full pathname). The output of
|
||||
# the program should be a string in the form "Y <message>" (which permits
|
||||
# access for the user) or "N <message>" (which denies access for the
|
||||
# user). If "Y <message>" is received by the server, the server ignores
|
||||
# the message and permits access for the user. If "N <message>" is
|
||||
# returned, the server tells the user that he/she is not permitted to
|
||||
# access that irc server, and gives the reason.
|
||||
#
|
||||
# Again, like K: lines, R: lines are local and thus not very effective in
|
||||
# blocking certain machines from having IRC access.
|
||||
#
|
||||
# Use of R: requires that you have defined R_LINES in include/config.h
|
||||
#
|
||||
# The fields are as follows:
|
||||
# R:hostmask:/full/path/to/program:username
|
||||
# you can use wildcards in either the hostmask or username portion
|
||||
#
|
||||
R:csl.bu.edu:/home/hrose/bin.sun3/sun3access:*
|
||||
##
|
||||
## R lines are HIGHLY discouraged in hybrid right now
|
||||
## -db
|
||||
##
|
||||
#
|
||||
# Q: [DISCOURAGED]. These lines "quarantine" specified servers. Because
|
||||
# of the way they operates, the same Q: lines MUST be installed by
|
||||
# everyone or the net will keep breaking. I CANNOT EMPHASIZE THIS ENOUGH.
|
||||
# Do NOT use Q: lines lightly!
|
||||
#
|
||||
# The fields are as follows:
|
||||
# Q:*:reason why quarantine is in place:servername
|
||||
#
|
||||
Q::this server is too slow and lags the net:cm5.eng.umd.edu
|
||||
##
|
||||
## Q line support was completely removed from hybrid. So, even
|
||||
## if you did add a Q line, it wouldn't do anything :-)
|
||||
## -db
|
||||
##
|
||||
#
|
||||
# L: [OPTIONAL]. These lines "Leaf" specified servers. They are only
|
||||
# useful if you are a non-leaf site yourself. There are two ways you can
|
||||
# use L: lines. The first will limit one particular site to a particular
|
||||
# tree depth (including 0, which would mean the server has to connect with
|
||||
# no servers linked behind it otherwise the connection will fail). The
|
||||
# second will allow you to be selective about which other servers you wish
|
||||
# the connecting server to behave as a leaf towards.
|
||||
#
|
||||
# The fields are as follows:
|
||||
# L:disallow connections to this hostmask::server name:depth
|
||||
# For example, this will force kaja.gi.alaska.edu to connect only as a
|
||||
# leaf (if it is not a leaf, the link will be dropped):
|
||||
L:::kaja.gi.alaska.edu
|
||||
# This line will force cm5.eng.umd.edu to have a depth of only 1 below it
|
||||
# (that is, it is allowed to have only leaves connected to it):
|
||||
L:::cm5.eng.umd.edu:1
|
||||
#
|
||||
# This line will prohibit anything matching *.edu to be connected behind
|
||||
# any server matching *.au:
|
||||
L:*.edu::*.au
|
||||
#
|
||||
# H: [OPTIONAL]. These lines define who you permit to act as a "hub" to
|
||||
# you (that is, who you permit to connect non-leafed servers to you).
|
||||
#
|
||||
# the first field may use wildcards, the third field *must* be an exact
|
||||
# match for a server's name (NOT a server's hostname, if they differ, the
|
||||
# server's name must be used). If the servername is a wildcard (e.g. *.au)
|
||||
# that is an acceptable name for the third field.
|
||||
#
|
||||
# The fields are as follows:
|
||||
# H:servers which are permitted entry::hub server
|
||||
#
|
||||
# Example, permit cs-ftp.bu.edu to allow any servers behind it to connect:
|
||||
H:*::cs-ftp.bu.edu
|
||||
#
|
||||
# Example, permit irc-2.mit.edu to allow any MIT servers behind it to
|
||||
# connect:
|
||||
H:*.mit.edu::irc-2.mit.edu
|
||||
#
|
||||
# P: [OPTIONAL]. This field allows the server to listen on various ports
|
||||
# (other than 6667) for connections. Any internet domain port that is
|
||||
# below 1024 means the ircd has to be run from inetd. The server can
|
||||
# listen to ports in the UNIX domain or the internet domain. If you wish
|
||||
# to create a port in the UNIX domain you must compile with UNIXPORT
|
||||
# defined in include/config.h. If you are permitting connections to a
|
||||
# seperate port, you can control access to that port by the host field.
|
||||
#
|
||||
# The fields are as follows::
|
||||
# P:hostmask or UNIX socket file:*:*:port number
|
||||
# for example, an internet domain socket on port 6665 for South African
|
||||
# users:
|
||||
P:*.za:*:*:6665
|
||||
#
|
||||
# This line is an example of a UNIX domain socket in /tmp
|
||||
P:/tmp/.ircd:*:*:6666
|
||||
##
|
||||
## There IS no UNIX domain socket support in hybrid, thats how
|
||||
## we gained some speed :-)
|
||||
## It makes no sense at all, when you read the new-server requirements
|
||||
## an irc server has to be run on a dedicated server now. UNIX domain
|
||||
## sockets aren't much use if no shell users are allowed on the server.
|
||||
## -db
|
||||
##
|
||||
## D line E line etc. are described in the other example.conf
|
||||
## -db
|
|
@ -1,477 +0,0 @@
|
|||
#
|
||||
# IRC - Internet Relay Chat, doc/example.conf
|
||||
# Copyright (C) 1992, Bill Wisner
|
||||
#
|
||||
# $Id: example_old.conf,v 1.2 2002/08/13 14:45:01 fishwaldo Exp $
|
||||
#
|
||||
# Example of an old style ircd.conf file, which h7 will not parse
|
||||
# but is kept here for historical interest
|
||||
#
|
||||
# Modified by Rodder, Jon Lusky <lusky@blown.net>,
|
||||
# at one time, but he didn't credit his changes.
|
||||
# Updated Dec 19, 1997 Diane Bruce aka db/Dianora <db@db.net>
|
||||
# please also read example.conf.trillian, it covers
|
||||
# elements this example misses.
|
||||
# -db
|
||||
# Updated again July 17, 1998 -db
|
||||
# Updated 990102 to take out P: line connection limiting code
|
||||
# Updated again July 5, 1999 -db
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 1, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
#
|
||||
#
|
||||
# IRC example configuration file
|
||||
#
|
||||
# This file describes the information that should be present in your IRC
|
||||
# configuration and how to present it.
|
||||
#
|
||||
# M: set your server's name. Fields are, in order, host name (domain style),
|
||||
# optional bind address, a text name, and unused.
|
||||
#
|
||||
# NOTE: The "optional bind address" is an address used in binding to a
|
||||
# local address when we connect outbound. For example, if your server machine
|
||||
# is myhost.example.com (192.168.1.5) and you want IRCD to connect to others
|
||||
# from irc.example.com (192.168.1.250), you'd put 192.168.1.250 in the
|
||||
# "optional bind address" field. If left blank, UNIX will choose the primary
|
||||
# address of the interface closest to the destination.
|
||||
#
|
||||
# NOTE: As of hybrid-6, the port field no longer binds a port by default.
|
||||
# It is an inoperative and obsolete field.
|
||||
#
|
||||
M:hayes.ims.alaska.edu:192.168.1.250:University of Alaska Fairbanks:
|
||||
#
|
||||
# A: administrative information. This line should have three fields, which
|
||||
# may contain any arbitrary text. It is printed by the /ADMIN command.
|
||||
#
|
||||
A:University of Alaska Institute of Marine Science:Fairbanks, AK USA:Bill Wisner <wisner@ims.alaska.edu>
|
||||
|
||||
#
|
||||
# .include lines, insert a file from DPATH directory into the conf
|
||||
# you could use this to insert a common file between several
|
||||
# ircd's if you wished. include files are handled after all the
|
||||
# other lines in the conf file are done. i.e. a .include is always
|
||||
# as if it was at the end of the conf file.
|
||||
#
|
||||
.include "olines.conf"
|
||||
#
|
||||
# Y: define connection class. A class must be defined in a Y: line before
|
||||
# it is used in a C, N, or I line. The fields are, in order, class number,
|
||||
# ping frequency in seconds, connect frequency in seconds, maximum
|
||||
# number of links (used for auto-connecting), and size of sendq.
|
||||
# For servers a sendq of at least 4mb is recommended if not more.
|
||||
#
|
||||
# N.B. Y lines must be defined before I lines and O lines, since
|
||||
# both I lines and O lines make reference to Y lines or classes.
|
||||
#
|
||||
# For clients, the connect frequency field is used to set the maximum
|
||||
# number of connects from same IP address. i.e. setting this field to '1'
|
||||
# will limit every I line using this Y, to one connection per IP address.
|
||||
# leaving it blank or 0, will disable any such checking.
|
||||
#
|
||||
# Class numbers must be positive to ensure future modification of ircd to
|
||||
# use -1 internally could not be complicated with it's use externally.
|
||||
#
|
||||
Y:1:90:0:20:100000
|
||||
Y:2:90:300:10:4000000
|
||||
#
|
||||
# I: authorize clients to connect to your server. You can use domains,
|
||||
# IP addresses, and asterisk wildcards. The second field can contain a
|
||||
# password that the client must use in order to be allowed to connect.
|
||||
# The optional fifth field may contain a connection class number.
|
||||
#
|
||||
I:NOMATCH::*.alaska.edu::1
|
||||
I:NOMATCH:password:acad3.alaska.edu::1
|
||||
#
|
||||
# If using IDENT, to activate it, you need to place a "user@" in the
|
||||
# host segment.
|
||||
#
|
||||
I:*@acad3.alask.edu::*@acad3.alaska.edu::1
|
||||
I:root@acad.alask.edu::root@acad.alaska.edu::1
|
||||
#
|
||||
# The above are bad examples of I-lines, what really happens is something
|
||||
# like this:
|
||||
#
|
||||
|
||||
## both these are obsolete in hybrid-6
|
||||
##I:128.250.*::*.mu.oz.au::1
|
||||
##I:root@128.250.*::root@*.mu.oz.au::1
|
||||
|
||||
## This is a correct example in hybrid-6, the username
|
||||
## is not used for an IP I line (this may be changed, its a simple change
|
||||
## but EFnet is currently deprecating the use of non resolving client hosts)
|
||||
## If the IP block has a resolving host name, it will be shown instead
|
||||
## of the IP address. This just serves to allow on an entire block of ip's
|
||||
## without needing to specify each individual hostname.
|
||||
## Note, you must use an 'x' in the name field
|
||||
|
||||
I:128.250.0.0/16::x::1
|
||||
|
||||
#
|
||||
# You can also limit the number of connections from one host
|
||||
# to any value. This can be used to stop cloners
|
||||
# This is done using the normally unused confreq line in the Y line.
|
||||
#
|
||||
# i.e.
|
||||
# Allow 100 users in a "bad boy" class, but allow only ONE
|
||||
# user per IP to connect at a time.
|
||||
#
|
||||
Y:3:90:1:100:100000
|
||||
#
|
||||
# Remember to put your "bad boy" I line last in the file, so it
|
||||
# seen first and matches first before your standard I lines
|
||||
#
|
||||
# With hybrid ircd, max connections is taken from the class
|
||||
# not per I line. i.e. the 3 I lines following will always add
|
||||
# up to 100 or less, not 100 per I line.
|
||||
#
|
||||
I:NOMATCH::*@*ppp*::3
|
||||
I:NOMATCH::*@*slip*::3
|
||||
I:NOMATCH::*@*ts*::3
|
||||
#
|
||||
# a name pattern in the first field will never cause a match since it's only
|
||||
# ever matched against an IP# in the form a.b.c.d and a number in the third
|
||||
# field will never match since a hostname is always compared against this
|
||||
# field. The '@' needs to be in the IP# section for ident to be used.
|
||||
|
||||
#
|
||||
## additional prefix characters in I lines are defined
|
||||
##
|
||||
## from comstud
|
||||
##
|
||||
## 1) There are noticable differences in I: lines now.
|
||||
## There are 4 special characters that you can stick in front
|
||||
## of a hostname or ip# that do special things.
|
||||
## These characers are:
|
||||
## - This will never put a ~ for a user not running identd
|
||||
## + This will force people matching this I: to require identd
|
||||
## ! This means to only allow 1 connection per ip# in this I:
|
||||
## $ (Not used in hybrid)
|
||||
##
|
||||
## Examples:
|
||||
##
|
||||
## a) I:x::!*@*ppp*::class will only allow X connections per ip# for people
|
||||
## who have *ppp* in their hostname where X is given in the Y: line.
|
||||
## If there is no ! and you have a limit in your Y: line, then it matches
|
||||
## full user@host instead of just host.
|
||||
|
||||
## b) I:x::-*@*.cris.com::class will never show a ~, even though they may
|
||||
## not be running identd. (This is equivilent to the old way of not
|
||||
## specifying a @ in the I: line).
|
||||
|
||||
## Additionally since ircd-hybrid-6
|
||||
## B/E/F lines were removed and replaced with 3 other special characters
|
||||
## in I lines
|
||||
##
|
||||
## ^ This will exempt a user from K/G lines, limited protection from D lines
|
||||
## & User can run bots (old B line)
|
||||
## > This user is exempt from I line/server side connection limits
|
||||
## (old F line)
|
||||
##
|
||||
## A variant of amm's spoofing code was added
|
||||
## = Spoof this users IP, normally only used for opers
|
||||
##
|
||||
|
||||
## Examples
|
||||
## c) I:NOMATCH::^db@koruna.varner.com::3
|
||||
## This user is exempt from k/g lines
|
||||
## d) I:NOMATCH::&jerdfelt@*mindspring.net::3
|
||||
## This user can run a bot, and is also "e lined"
|
||||
## e) I:NOMATCH::>lusky@*vol.com::3
|
||||
## This user is immune from I line limits
|
||||
## f) I:NOMATCH::^&>mpearce@*varner.com::3
|
||||
## This user can run a bot, is exempt
|
||||
## from client connect limits.
|
||||
## g) I:smurfers.are.lame::=dgalas@*somewhere.com::3
|
||||
## Show this user as being dgalas@smurfers.are.lame
|
||||
## an IP can be used instead as long as the name field does not begin
|
||||
## with an 'x'
|
||||
## i.e.
|
||||
## I:192.168.0.0/24::x::3 #this is an IP I line
|
||||
## I:192.168.0.0::db@*somesite.com::3 #this is a spoofed IP
|
||||
#
|
||||
# O: authorize operators. Fields are, in order, host name the operator must
|
||||
# be logged in from (wildcards allowed), operator's password, operator's
|
||||
# nickname.
|
||||
## The 4th field is the port number used in c/n's, in ircd-hybrid
|
||||
## this field is used to contain oper flags for this oper
|
||||
## You may wish to constrain an oper from using global kill or unkline
|
||||
## for example.
|
||||
## The flags are:
|
||||
## K/k - allow/disallow kill and kline
|
||||
## O/o - allow/disallow global kill
|
||||
## R/r - allow/disallow remote squit/connect
|
||||
## U/u - allow/disallow unkline
|
||||
## G/g - allow/disallow gline
|
||||
## N/n - allow the use of +n , which should be restricted to tcm use only
|
||||
## for privacy reasons. (+c probably belongs controlled here too but isn't)
|
||||
## H/h - allow the use of /rehash, default is H for O and o, add h to
|
||||
## disable an opers use of /rehash
|
||||
## D/d - allow the use of /die or /restart. Default is d for disallowing
|
||||
## /die /restart
|
||||
##
|
||||
## Default flags for opers are GKORUH
|
||||
## Default flags for local ops, KUH
|
||||
## These flags over-rule what the normal privs of an oper would be,
|
||||
## but they cannot allow a local oper to do global kills for example.
|
||||
##
|
||||
## The global kill of a global oper can be disabled by using o for
|
||||
## example, in the port field.
|
||||
##
|
||||
# The first example allows me to become an operator from any
|
||||
# machine in alaska.edu by typing /oper crunchy frog.
|
||||
#
|
||||
O:*.alaska.edu:frog:crunchy
|
||||
#
|
||||
## This example allow this oper, to global kill, do remote squit/connect
|
||||
## unklines, glines, and use umode +n
|
||||
##
|
||||
O:db@*db.net:-encrypted password-:Dianora:ORUGN:3
|
||||
#
|
||||
##
|
||||
## This example disables this opers use of global kill, unkline, and gline
|
||||
## The oper can still do remote squits/connects
|
||||
##
|
||||
O:newbie@*some.net:-encrypted password-:newbie:oug:3
|
||||
##
|
||||
## This example disables this opers use of global kill, unkline,
|
||||
## gline and gline and remote squits/connects
|
||||
## essentially the same permissions as a local oper, but with the "vanity"
|
||||
## They can still local kill and kline for example.
|
||||
##
|
||||
O:vanity@*some.net:-encrypted password-:vanity:oug:3
|
||||
##
|
||||
## you could make someone vantiy even more, by disabling their
|
||||
## kill/kline privs... note they can still do full traces
|
||||
## umode +c (watch connections) and do rehash
|
||||
## But otherwise, this set of flags is not practical for
|
||||
## a normal oper.
|
||||
##
|
||||
O:vanity@*some.net:-encrypted password-:vanity:nougk:3
|
||||
#
|
||||
## a monitor bot could be given the following privs
|
||||
## k - no kline/kill
|
||||
## g - make sure no GLINE
|
||||
## o - no global kill (already taken care of by 'k' flag above)
|
||||
## r - no remote routing/squits
|
||||
## N - allow this monitor to use umode +n for nick changes
|
||||
##
|
||||
## Some admins do not like remote tcm kills/klines. If this
|
||||
## tcm oper gets compromised, the best they can do is
|
||||
## rehash/trace/umode +cn , i.e. no global kills or "fun" for the
|
||||
## compromised o line. But its still quite usuable for monitoring
|
||||
## clones and nick flooders.
|
||||
##
|
||||
#
|
||||
o:tcm@*varner.com:-encrypted password-:tcm:kgorN:3
|
||||
#
|
||||
## Of course, leaving out the flags entirely defaults to
|
||||
## reasonable defaults, so if you don't want to worry about it, then don't.
|
||||
## You can always add G later for example.
|
||||
#
|
||||
## O : Global operator
|
||||
## No explicit G or G-line flag, no N or allow umode +n flag
|
||||
##
|
||||
O:db@ircd.dianora.com:-encrypted password-:Dianora::3
|
||||
#
|
||||
# o : local operator.
|
||||
o:trainee@shell.box.com:password:MyNick::3
|
||||
#
|
||||
##
|
||||
## The fifth field of an O line, is the new class this oper will join
|
||||
##
|
||||
# C:, N: set up connections to other servers.
|
||||
#
|
||||
# C: specifies a server that your server may connect to.
|
||||
# N: allows a remote server to connect to your own.
|
||||
#
|
||||
# The two lines are usually given in pairs.
|
||||
#
|
||||
# These lines may contain a password in the second field. In fact, to
|
||||
# maintain proper security, *all* IRC server links must have passwords.
|
||||
#
|
||||
# If a C: line contains four fields (the fourth being a TCP port number)
|
||||
# IRC will actively try to connect to that server. You should have at least
|
||||
# one such line.
|
||||
#
|
||||
# If an N: line contains four fields, the fourth should contain a number that
|
||||
# specifies how many components of your own server's name to strip off the
|
||||
# front and be replaced with a *. This is done to implement hostmasking.
|
||||
# For example, to make hayes.ims.alaska.edu present itself to the world as
|
||||
# *.alaska.edu, I would use a 2 (to strip off the first two parts). If you
|
||||
# use this, be sure to tell the administrator of the servers you link to --
|
||||
# they must add your hostmasked name to their configuration file or you will
|
||||
# be unable to connect.
|
||||
#
|
||||
# The host part of C/N lines MUST contain a valid hostname or IP address
|
||||
# The host part in the C:line MUST be identical to the host part in the N:line
|
||||
# The name part of the C/N lines MUST match the associated H/L line name
|
||||
#
|
||||
# The fifth field may contain a connection class number.
|
||||
#
|
||||
# The following two lines tell my server to try connecting to
|
||||
# byron.u.washington.edu.
|
||||
#
|
||||
C:byron.u.washington.edu:crunchyfrog:byron.u.washington.edu:6667:2
|
||||
N:byron.u.washington.edu:crunchyfrog:byron.u.washington.edu:2:2
|
||||
#
|
||||
# The following two lines allow a server to connect to my server, but my
|
||||
# server will not make any attempt to connect to it. Note that since the
|
||||
# server is local to me, I am not using hostmasking.
|
||||
#
|
||||
C:kaja.gi.alaska.edu:llamas:kaja.gi.alaska.edu::2
|
||||
N:kaja.gi.alaska.edu:llamas:kaja.gi.alaska.edu::2
|
||||
#
|
||||
# C and N lines may also use the "user@" combination in the same way as
|
||||
# the I-lines.
|
||||
#
|
||||
C:wisner@kaja.gi.alaska.edu:llamas:kaja.gi.alaska.edu::2
|
||||
N:wisner@kaja.gi.alaska.edu:llamas:kaja.gi.alaska.edu::2
|
||||
#
|
||||
# K: kill a user automatically upon connecting. This is used to deny
|
||||
# troublesome users access to your server. The fields are, in order,
|
||||
# hostname (wildcards are allowed), time of day, and username.
|
||||
|
||||
## Timed k-lines and R: lines are not recommended by the hybrid
|
||||
## team. They might not even work. Timed-klines made more sense
|
||||
## for university ircd's but nowadays with so many open irc servers
|
||||
## around, it just seems pointless.
|
||||
## -Dianora
|
||||
|
||||
# The second example restricts access from acad3.alaska.edu from
|
||||
# 9:00am to noon, and 2:00pm to 5:00pm. This form is only supported if
|
||||
# TIMED_KLINES is defined.
|
||||
#
|
||||
K:*.alaska.edu::FSSPR
|
||||
K:acad3.alaska.edu:0900-1200,1400-1700:*
|
||||
#
|
||||
# R: restrict user access. This is an extended form of the K: line.
|
||||
# It looks for a match then runs an outside program that will determine
|
||||
# whether the person should be allowed on. The fields are hostname,
|
||||
# program, and username. A full pathname to the program should be used.
|
||||
# The output of the program should be a string of the form "Y <message>"
|
||||
# to allow the user, or "N <message>" to block them. In the first case
|
||||
# the message is ignored; in the latter, it is sent as an error message
|
||||
# to the user. R: lines are only functional if activated in config.h.
|
||||
#
|
||||
R:kaja.gi.alaska.edu:/usr/local/lib/irc/does-eric-get-in:ejo
|
||||
#
|
||||
#
|
||||
# L: leaf. This forces the server listed to act as a leaf. If such a
|
||||
# server allows any other servers to connect to it, its link is
|
||||
# dropped. If a port parameter is non-zero, it is used to control the
|
||||
# maximum depth that link will allow, where depth is the tree depth of
|
||||
# that branch.
|
||||
#
|
||||
L:::kaja.gi.alaska.edu
|
||||
L:::cm5.eng.umd.edu:1
|
||||
#
|
||||
# A new extension to the L-line allows you to be selective
|
||||
# about which other servers you wish the connecting server to behave as
|
||||
# as a leaf towards. The following would not allow any server connecting
|
||||
# with a name that matches *.fi to introduce a server matching *.edu.
|
||||
#
|
||||
L:*.edu::*.fi
|
||||
#
|
||||
# H: Hub. This is required to allow other servers which connect to you as
|
||||
# a hub and introduce other servers.
|
||||
#
|
||||
H:*.au:*:*.au
|
||||
#
|
||||
# P : port. The port line allows the server to listen on various ports for
|
||||
# connections. Fields in order: unused,
|
||||
# address to bind to, unused, port to listen on
|
||||
#
|
||||
# NOTE: As of hybrid-6, you MUST have at least one P: line defining a port
|
||||
# to listen on, or the server won't do much.
|
||||
#
|
||||
P::::6667
|
||||
P::209.42.128.252::31337
|
||||
#
|
||||
# Listen on port 6665 on all available interfaces. Only allow connections from
|
||||
# net 128.32. This is checked before existance of other access is available.
|
||||
# 128.32.* == 128.32.0.0 where 0 is a wildcard.
|
||||
# Also listen to port 31337 on only 209.42.128.252. Allow connections from
|
||||
# anywhere.
|
||||
#
|
||||
# D : dump. Dumps all connect attempts from the matched IP
|
||||
# without any procesing.
|
||||
#
|
||||
# First arg is target IP and CIDR mask, second is a comment.
|
||||
#
|
||||
D:208.148.84.3:bot host that changes domain names frequently
|
||||
D:128.183.0/24:NASA users aren't supposed to be on IRC
|
||||
#
|
||||
# d : immunity to D dump
|
||||
# As in D line , First arg is targe IP and CIDR mask, second is a comment.
|
||||
#
|
||||
d:199.0.154.0/24:Don't D line ais.net:
|
||||
|
||||
#
|
||||
# server "clusters"
|
||||
# U: lines treat each of these servers as being part of your server cluster
|
||||
# klines placed on this server will be forwarded to the servers named
|
||||
# in the U lines here. LOCOPS will also be forwarded, but will appear
|
||||
# as "SLOCOPS" instead of "LOCOPS"
|
||||
#
|
||||
# i.e. irc_hub.somewhere.net has leaf servers irc1.somewhere.net
|
||||
# irc2.somewhere.net
|
||||
|
||||
# Hub server would have
|
||||
U:irc1.somewhere.net:
|
||||
U:irc2.somewhere.net
|
||||
|
||||
# each client server would have
|
||||
U:irc_hub.somewhere.net
|
||||
|
||||
|
||||
#
|
||||
#
|
||||
# Q lines, not the old server Q lines, but Quarantine lines for
|
||||
# nicks. Only checked at NICK time, i.e. if added and hashed in
|
||||
# will not kill users who match this nick.
|
||||
#
|
||||
Q:dcc-*:dcc bots not allowed on this server
|
||||
Q:lamestbot:You have to be kidding me
|
||||
Q:crush:In memory of Janet Pippin
|
||||
Q:cwush:In memory of Janet Pippin
|
||||
Q:callas:Only allowed from this host:callas@oper.irc.arpa.com
|
||||
|
||||
#
|
||||
# if JUPE_CHANNEL is defined you can also jupe a channel locally
|
||||
# i.e. no one on your server can join this channel.
|
||||
# You need the backslash to escape the # in the channel
|
||||
#
|
||||
Q:\#packet:I am tired of the packet fights for this channel
|
||||
#
|
||||
# X lines.
|
||||
# Used to match gecos fields and prohibit users or warn about users
|
||||
# who have matching strings in those fields from getting on the server.
|
||||
#
|
||||
# All X line matches are sent to opers in +r user mode
|
||||
# On an X line, a non 0 value for port exits that client
|
||||
# a 0 value, only warns on +r
|
||||
#
|
||||
# These three examples only warn
|
||||
X:*www*:Possible spambot warning 1::0
|
||||
X:*http*:Possible spambot warning 2::0
|
||||
X:*sex*:Possible spambot warning 3::0
|
||||
#
|
||||
# These two examples reject the client
|
||||
# use this to reject IPHONE users
|
||||
X:* vc:IPHONE user::1
|
||||
# This is a very probable spambot
|
||||
X:*see me at*:This has GOT to be a spambot::1
|
||||
X:*hi baby*:This has GOT to be a spambot::1
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
# IRC minimal example configuration file
|
||||
#
|
||||
# $Id: simple.conf,v 1.2 2002/08/13 14:45:01 fishwaldo Exp $
|
||||
# $Id: simple.conf,v 1.2 2002/08/13 14:45:01 fishwaldo Exp $
|
||||
#
|
||||
# This is a basic ircd.conf that will get you up and running with
|
||||
# little or no modifications. See the example.conf file for more
|
||||
# detailed explanations.
|
||||
#
|
||||
# M: set your server's name. Fields are, in order, host name (domain style),
|
||||
# optional bind ip address, a text name, and unused.
|
||||
#
|
||||
M:irc.example.com::Test IRC Server:
|
||||
#
|
||||
# A: administrative information. This line should have three fields, which
|
||||
# may contain any arbitrary text. It is printed by the /ADMIN command.
|
||||
#
|
||||
A:Example, Inc Test IRC Server:Atlanta, GA USA:John Doe <jdoe@example.com>
|
||||
#
|
||||
# Y: see example.conf for docs on how Y/I lines work
|
||||
#
|
||||
# class 1, 90 second ping timeout, no limit of clients per ip
|
||||
# 200 max clients in this class, 100k sendq
|
||||
Y:1:90:0:200:100000
|
||||
#
|
||||
# class 2 give opers more sendq, only 10 opers max on this server
|
||||
Y:2:90:0:10:500000
|
||||
#
|
||||
# allow anyone to connect, but force ident, clients go into class 1
|
||||
I:NOMATCH::*@*::1
|
||||
#
|
||||
#
|
||||
# O: authorize operators. Fields are, in order, host name the operator must
|
||||
# be logged in from (wildcards allowed), operator's password, operator's
|
||||
# nickname. Use the 'mkpasswd' command from the tools dir to encrypt
|
||||
# a password.
|
||||
# When opered, client goes into class 2 where they have more sendq
|
||||
#
|
||||
O:*.example.com:yl9xlY019Bbfc:JohnDoe::2
|
||||
#
|
||||
# P: port. The port line allows the server to listen on various ports for
|
||||
# connections. Fields in order: unused,
|
||||
# address to bind to, unused, port to listen on
|
||||
#
|
||||
# NOTE: As of hybrid-6, you MUST have at least one P: line defining a port
|
||||
# to listen on, or the server won't do much.
|
||||
# The line below listens to port 6667 on all IP addresses of a machine
|
||||
P::::6667
|
||||
# The above below listens to port 31337 on only 192.168.1.123
|
||||
P::192.168.1.123::31337
|
||||
#
|
||||
#
|
||||
# Q: Quarantine a nick: not the old server Q lines, but Quarantine
|
||||
# lines for nicks. Only checked at NICK time, i.e. if added
|
||||
# and hashed in will not kill users who match this nick.
|
||||
#
|
||||
Q:dcc-*:dcc bots not allowed on this server
|
||||
Q:lamestbot:You have to be kidding me
|
||||
Q:nickserv:There is no nickserv on this net!
|
||||
#
|
||||
# There are many more configuration options, see example.conf for the rest.
|
||||
#
|
113
doc/simple.conf
113
doc/simple.conf
|
@ -1,113 +0,0 @@
|
|||
# Hybrid 7 minimal example configuration file
|
||||
#
|
||||
# $Id: simple.conf,v 1.2 2002/08/13 14:45:01 fishwaldo Exp $
|
||||
#
|
||||
# This is a basic ircd.conf that will get your server running with
|
||||
# little modification. See the example.conf for more specific
|
||||
# information.
|
||||
#
|
||||
# The serverinfo block sets up your server's name. Fields that may
|
||||
# be set are the name, description, vhost, network_name, network_desc,
|
||||
# and hub.
|
||||
|
||||
serverinfo {
|
||||
name="irc.example.com";
|
||||
description="Test IRC Server";
|
||||
hub=no;
|
||||
};
|
||||
|
||||
# The administrator block sets up the server administrator information,
|
||||
# that is shown when a user issues the /ADMIN command. All three fields
|
||||
# are required.
|
||||
|
||||
administrator {
|
||||
description="Example, Inc Test IRC Server";
|
||||
name="John Doe";
|
||||
email="jdoe@example.com";
|
||||
};
|
||||
|
||||
# Class blocks define the "privileges" that clients and servers get when they
|
||||
# connect. Ping timing, sendQ size, and user limits are all controlled by
|
||||
# classes. See example.conf for more information
|
||||
|
||||
# Note: to avoid having possible problems later, define class blocks
|
||||
# before anything that uses them (auth, connect, operator)
|
||||
|
||||
class {
|
||||
name="users";
|
||||
ping_time=90;
|
||||
number_per_ip=0;
|
||||
max_number=200;
|
||||
sendq=100000;
|
||||
};
|
||||
|
||||
class {
|
||||
name="opers";
|
||||
ping_time=90;
|
||||
number_per_ip=0;
|
||||
max_number=10;
|
||||
sendq=500000;
|
||||
};
|
||||
|
||||
# Auth blocks define who can connect and what class they are put into.
|
||||
|
||||
auth {
|
||||
user="*@*";
|
||||
class="users";
|
||||
};
|
||||
|
||||
# Operator blocks define who is able to use the OPER command and become IRC
|
||||
# operators. The necessary fields are the user@host, oper nick name, and
|
||||
# the password, encrypted with the mkpasswd program provided.
|
||||
|
||||
operator {
|
||||
name="JohnDoe";
|
||||
user="*@*.example.com";
|
||||
password="yl9xlY019Bbfc";
|
||||
class="opers";
|
||||
};
|
||||
|
||||
# Listen blocks define what ports your server will listen to client and
|
||||
# server connections on. ip is an optional field (Essential for virtual
|
||||
# hosted machines.)
|
||||
|
||||
listen {
|
||||
port=6667;
|
||||
};
|
||||
|
||||
# Quarantine blocks deny certain nicknames from being used.
|
||||
|
||||
quarantine {
|
||||
name="dcc-*";
|
||||
reason="DCC bots are not permitted on this server";
|
||||
};
|
||||
|
||||
quarantine {
|
||||
name="LamestBot";
|
||||
reason="You have to be kidding me!";
|
||||
};
|
||||
|
||||
quarantine {
|
||||
name="NickServ";
|
||||
reason="There are no Nick Services on this Network";
|
||||
};
|
||||
|
||||
# The general block contains most of the configurable options that were once
|
||||
# in config.h. The most important ones are below. For the rest, please see
|
||||
|
||||
# NOTE TO DEVELOPERS: Do we set defaults for the variables in the general
|
||||
# block? If so, then I can leave out most of the things
|
||||
# in here and make it simpler to configure. If not,
|
||||
# please let me know so I can document things clearly
|
||||
general {
|
||||
# Control nick flooding
|
||||
anti_nick_flood=yes;
|
||||
max_nick_time=20;
|
||||
max_nick_changes=5;
|
||||
|
||||
# Show extra warnings when servers connections cannot succeed
|
||||
# because of no "N" line (a misconfigured connect block)
|
||||
warn_no_nline=yes;
|
||||
};
|
||||
|
||||
# There are many more configurable options. See example.conf for the rest
|
132
doc/vchans.txt
132
doc/vchans.txt
|
@ -1,132 +0,0 @@
|
|||
$Id: vchans.txt,v 1.2 2002/08/13 14:45:01 fishwaldo Exp $
|
||||
|
||||
"Virtual Channels"
|
||||
======================
|
||||
|
||||
Non flat channels
|
||||
Or relative ops take 3
|
||||
|
||||
Diane Bruce (db@db.net)
|
||||
Roger Espel Llima (espel@iagora.net)
|
||||
David Harmelin (lunah@mach.unseen.org)
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
IRC has many problems with attacks on channels. The singular
|
||||
namespace only allows for one channel per name and people can
|
||||
fight over this singular namespace. The vchannel proposal allows
|
||||
two competing groups to both run a channel under the same namespace.
|
||||
|
||||
Description:
|
||||
|
||||
The scheme works like this. ircd is modified to allow the creation
|
||||
of a copy of a channel name. An additional command is added to irc
|
||||
called "CJOIN" for "create on join." This allows the creation of
|
||||
multiple versions of the same channel behind one channel name.
|
||||
|
||||
eg.
|
||||
Using ClientA,B,C,D and channel #cats for examples.
|
||||
|
||||
|
||||
Scenario 1
|
||||
----------
|
||||
|
||||
ClientA /join #cats
|
||||
|
||||
There is a single channel known as "#cats" there is no difference
|
||||
so far. Any other client joining "#cats" shows up on the same channel
|
||||
as client A.
|
||||
|
||||
ClientB /join #cats
|
||||
|
||||
There are two clients on channel #cats. No difference from standard IRC
|
||||
so far. As it happens it behaves as standard IRC completely in this scenario.
|
||||
|
||||
|
||||
Scenario 2
|
||||
----------
|
||||
|
||||
ClientA ops ClientB on #cats T0, Client B "takes over."
|
||||
|
||||
ClientA /parts #cats (or has been kicked) ClientA attempts
|
||||
to rejoin #cats, discovers they have been banned. ClientA then
|
||||
does /quote cjoin #cats, thus creating a new version of #cats. The channels
|
||||
are identifiable to users via a 'key'. This key is the nick of a user
|
||||
currently in the channel.
|
||||
|
||||
We now have (where T0 is earlier timestamp then T1)
|
||||
|
||||
T1
|
||||
/ ClientA with ops
|
||||
#cats/
|
||||
\
|
||||
T0 \ ClientB with ops, this version of #cats has ClientA banned.
|
||||
|
||||
|
||||
Thus in this scenario the keys of the channel are 'ClientA' and 'ClientB'.
|
||||
|
||||
Newbie irc user ClientC connects and sends /join #cats, the ircd will
|
||||
then present them with a list of #cats variants to join.
|
||||
|
||||
This is in the form of numerics:
|
||||
RPL_VCHANEXIST (276) - Tells the client the channel they are trying
|
||||
to join has vchannels available.
|
||||
RPL_VCHANLIST (277) - A list of the keys the user can select.
|
||||
RPL_VCHANHELP (278) - A little help numeric detailing how to join
|
||||
a vchannel.
|
||||
|
||||
ClientC would then pick a key and join that channel.
|
||||
|
||||
|
||||
Scenario 3
|
||||
----------
|
||||
|
||||
Classic "Channel faction war". In this scenario two competing
|
||||
factions for the same channel fight it out. In todays IRC one faction
|
||||
"wins" kicking and deopping the other faction. With this modified model
|
||||
the "loser" faction can /cjoin #cats and create their own version of the
|
||||
channel.
|
||||
|
||||
Established "regulars" can choose to join the "other" version of
|
||||
the channel with a key on /join.
|
||||
|
||||
This key can be the nick of any user (or bot) currently on the channel.
|
||||
this alternative version of the channel. Note this automatically means
|
||||
one nick cannot be on two variants of the same channel.
|
||||
|
||||
i.e. ClientD does /join #cats !catbot
|
||||
|
||||
Where catbot is the nick of a bot on #cats.
|
||||
|
||||
|
||||
T1 /Clients A,D,catbot
|
||||
/
|
||||
#cats/
|
||||
\
|
||||
\
|
||||
T0 \Client B
|
||||
|
||||
|
||||
|
||||
|
||||
Implementation
|
||||
--------------
|
||||
|
||||
All a CJOIN does, is link a new channel with the base name of the
|
||||
current channel into the IRC namespace. i.e. #cats T1 is actually
|
||||
##cats_970165390 with a link list from the base channel name of #cats.
|
||||
This allows clients on non "virtual channel" servers to join, as the
|
||||
name maps into "normal" old fashioned IRC channel name space.
|
||||
|
||||
Using a namespace with "##" to map sub channels lessens the parsing
|
||||
needed for vchan aware servers to pick up new vchans.
|
||||
|
||||
Name space collision is dealt with by the ircd by changing the name
|
||||
slightly. i.e. CJOIN tries to create ##cats_970165390 but discovers
|
||||
the channel already exists. In this case the name is pertubed by 1
|
||||
until successful creation happens. The TS of the channel must be the
|
||||
same as the TS in the channel name, else the vchan is not created.
|
||||
|
||||
"JOIN" is modified to allow the addition of a nick "tag" which has the
|
||||
prefix '!'.
|
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: m_whois.c,v 1.7 2002/09/13 16:30:04 fishwaldo Exp $
|
||||
* $Id: m_whois.c,v 1.8 2002/09/14 04:40:49 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -76,7 +76,7 @@ _moddeinit(void)
|
|||
mod_del_cmd(&whois_msgtab);
|
||||
}
|
||||
|
||||
const char *_version = "$Revision: 1.7 $";
|
||||
const char *_version = "$Revision: 1.8 $";
|
||||
#endif
|
||||
/*
|
||||
** m_whois
|
||||
|
@ -489,7 +489,6 @@ static void whois_person(struct Client *source_p,struct Client *target_p, int gl
|
|||
|
||||
/* although we should fill in parc and parv, we don't ..
|
||||
be careful of this when writing whois hooks */
|
||||
printf("doing whois\n");
|
||||
if(MyClient(source_p))
|
||||
hook_call_event("doing_whois", &hd);
|
||||
|
||||
|
|
Reference in a new issue