Remove unused files. Update snomask.html documentation.
authorMichael Poole <mdpoole@troilus.org>
Sun, 20 Mar 2005 13:35:10 +0000 (13:35 +0000)
committerMichael Poole <mdpoole@troilus.org>
Sun, 20 Mar 2005 13:35:10 +0000 (13:35 +0000)
git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1332 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
doc/Configure.help [deleted file]
doc/exaconf.2 [deleted file]
doc/snomask.html
tools/Makefile.crypt [deleted file]
tools/README [deleted file]
tools/mkpasswd.c [deleted file]
tools/transition [deleted file]

index 1925f139f288f12a9afd7d558687befd6b4e3c98..87de05867876cd793c923a4d0775be6e27e1f834 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2005-03-19  Michael Poole <mdpoole@troilus.org>
+       (Thanks to Reed Loden for pointing these out.)
+
+       * doc/Configure.help: Remove outdated file.
+
+       * doc/exaconf.2: Likewise.
+
+       * doc/snomask.html: Add missing <tr>, SNO_AUTO, SNO_DEBUG, and
+       update SNO_OPERDEFAULT list.
+
+       * tools/mkpasswd.c: Remove outdated file (use ircd/umkpasswd
+       instead).
+
+       * tools/Makefile.crypt: Remove outdated file.
+
+       * tools/mkpasswd.c: Likewise.
+
+       * tools/transition: Likewise.
+
 2005-03-19  Michael Poole <mdpoole@troilus.org>
 
        * ircd/channel.c (sub1_from_channel): Check apass rather than mode
diff --git a/doc/Configure.help b/doc/Configure.help
deleted file mode 100644 (file)
index d66b16e..0000000
+++ /dev/null
@@ -1,818 +0,0 @@
-# Format of this file: description<nl>variable<nl>helptext<nl><nl>.
-# If the question being documented is of type "choice", we list
-# only the first occurring config variable. The help texts
-# must not contain empty lines. No variable should occur twice; if it
-# does, only the first occurrence will be used by Configure. The lines
-# in a help text should be indented two positions. Lines starting with
-# `#' are ignored. Limit your lines to 78 characters.
-#
-# If you add a help text to this file, please try to be as gentle as
-# possible. Don't use unexplained acronyms and generally write for the
-# hypothetical admin who has just downloaded ircu for the first time.
-# Tell them what to do if they're unsure. Technical information
-# should go in a README in the Documentation directory. Mention all
-# the relevant READMEs and HOWTOs in the help text.
-#
-# All this was shamelessly stolen from several different sources. Many
-# thanks to all the contributors. The texts are copyrighted # (c) 1997
-# by Carlo Wood and governed by the GNU Public License.
-#
-
-Do you want to change your previous configuration
-CHANGE_CONFIG
-  You will be presented a series of questions that you have to answer
-  in order to configure the IRC daemon, prior to compilation.
-  If you went through this before, then your choices have been stored
-  in a file '.config'.  If you want to use the same stored configuration
-  now, specify 'n'; this will quickly skip through all questions that
-  you already answered previously, only prompting you for NEW questions.
-  Note that NEW questions only can occur when you just upgraded to a
-  new version.  Note also that if you abort by pressing ^C (control-C)
-  anywhere, then all answers are lost; you must finish it before the
-  answers are stored.
-  Pressing a 'c' or 'C' (followed by a return) on any question will
-  Continue the script in "use_defaults mode", that means that it will
-  take all default values unless it finds a NEW question (like when you
-  specify a 'n' here).  'C' will finish everything, but a 'c' will
-  only finish the current paragraph.
-  If you are unsure, or if you want to change a previously entered
-  configuration, specify 'y'.
-
-Which compiler do you want to use
-CC
-  Here you need to specify the C compiler you want to use.
-  Using 'gcc' is highly recommended, you might even want to install it
-  on your machine first.  Note that you can specify the full path if you
-  are not sure if the compiler is in your PATH (or whether or not the right
-  compiler will be used).  An example is: "/usr/ucb/cc".
-  The package needs an ANSI compiler.  Some compilers need an extra option
-  to compile ANSI C.  In those cases you can add these options also here.
-  For example, on a HPUX-8.x you would use (if you don't have gcc):
-  "cc -Aa -D_HPUX_SOURCE".
-  Note that you should not use quotes.
-
-What flags should I pass to $CC
-CFLAGS
-  These are the compiler flags, used for CC when compiling.
-  If you are not using gcc, it might be possible that your compiler is not
-  supporting -g and -O at the same time.  The -g option is necessary to be
-  able to debug the daemon in the case it contains a bug that makes the
-  ircd core dump.  Unless you use a version that is proven to be VERY stable,
-  it is highly recommended to use this option.  All Undernet production servers
-  are expected to use it in order to help coder-com to track down bugs.
-  The -O3 will optimize the code - it also makes debugging harder.
-  If you have plenty of cpu cycles then you can use -O2 instead of -O3:
-  it will disable inlining which makes it easier to debug or core dump,
-  the daemon will use a few percent more cpu however.
-  If you are not running a production server you should remove the -Ox.
-  Ircd developers can optionally use more options to turn on extra warnings.
-  Developers (which are using gcc of course ;), should use:
-  "-g -Wall -pedantic -DGODMODE"
-  Note that you should not use quotes.
-  Note that the server uses several non-ANSI (though POSIX.1) function calls.
-
-Do you need extra include directories
-EXTRA_INCLUDEDIRS
-  If your compiler needs extra include directories, you can specify them
-  here as a space separated list of directories.  Do not use quotes and do
-  not specify the '-I' prefix.  Usually you don't have to specify any
-  extra include directory, in that case you should specify "none" here.
-  If unsure, try "none" (without quotes) and see if all the '#include'
-  header files are found during compilation.
-
-Which linker flags do you need
-LDFLAGS
-  Here you can specify extra flags that will be passed to the linker.
-  Usually you will not need to pass any flags and you can therefore
-  specify "none" here (without the quotes).
-  SunOS users may want to add "-Bstatic" (but only if you need it).
-  You can also specify any "-L..." flags here if you need those for
-  extra libraries.
-
-Which extra libraries do you need
-IRCDLIBS
-  Some Operating Systems need linking with extra libraries for some of the
-  functions used by the daemon.  In some cases, it is not known which
-  libraries are needed, even when the Operating System is known.  This is
-  for instance the case with SunOS, some need -lresolv, while others don't.
-  If you forget to add a library then this will result in 'undefined variables'
-  during linking.  If you do not know which library to add, it might be
-  helpful to use the unix command `nm', which lists the variables of a
-  library.  For instance, if you get "unknown variable '_res_mkquery'", and you
-  wonder if this is in /usr/lib/libresolv.so, you can do:
-  nm /usr/lib/libresolv.so | grep res_mkquery
-  Do not use the leading '_' in the grep, this underscore is added by the
-  assembler but is not part of the original variable name and does not show
-  up in the output of nm.
-  Most libraries are in /lib or /usr/lib, which are scanned by default. In
-  some cases you will need to tell the linker where to search for a library.
-  You can do this by adding an -L... option to IRCDLIBS.  For instance:
-  "-L/usr/ucblib -lucb" will look for 'libucb.so' in /usr/ucblib too.
-  Here is a list of what you MAYBE need to specify depending on your
-  Operating System:
-  OS                   Specify here
-  NeXT != 2.0          -lsys_s
-  Dynix/ptx            -lsocket -linet -lnsl -lseq
-  Dell SVR4            -lsocket -lnsl -lucb
-  All others           Default provided by autoconf
-  If unsure use the default provided by autoconf.
-
-Where should I install the ircd binary
-BINDIR
-  After compilation (by typing 'make'), you can install the server with
-  the command 'make install'.  This will install the ircd in the directory
-  you specify here.  The package tries to use a meaningful name by naming
-  the binary "ircd.<tag>", where <tag> is the name of the last patch that
-  was applied by the maintainer.  A symbolic link (to be specified next)
-  will be used to point to this binary.  This allows a /RESTART to
-  immediately start the new version, while keeping the old binary.
-  Note that you need to have write permissions in this directory during
-  the install.  Please re-check the permissions/owner and group after
-  installation.
-
-What should the name of the installed symbolic link to the executable be
-SYMLINK
-  'make install' installs the binary with an unique name, however it makes
-  a symbolic link to this newly installed executable which always has the
-  same name, so you can use /RESTART and/or use this name in scripts that
-  automatically restart the ircd after a reboot or crash.
-  Here you can specify the name of that symbolic link.  Note that it may
-  not contain a '/'; it is just the name if the symbolic link and will be
-  installed in BINDIR.
-
-Which permissions do you want the binary to have
-IRCDMODE
-  Here you need to specify the octal file mode of the ircd binary.
-  Recommended is 711 - but you might need setuid or something.
-  Note that using a setuid and starting the daemon as another user
-  does prohibit the daemon from core dumping in case of a crash on some
-  Operating Systems.
-
-Which owner do you want the binary to have
-IRCDOWN
-This will be the owner of the ircd binary after installation.
-
-Which group do you want the binary to have
-IRCDGRP
-This will be the group of the ircd binary after installation.
-
-Where should I install the man page
-MANDIR
-  This is the base directory where the manual page of the ircd is installed.
-  If you are not root on your system, you can change it to your personal
-  manpath directory (which of course should be in your MANPATH environment
-  variable then).
-
-Use inlining for a few crucial functions
-FORCEINLINE
-  This will increases the size of the executable with 7 kb, but it also
-  speeds up execution a bit :).  Your compiler needs to understand the
-  keyword __inline__ (GNU gcc and egcs do).
-  If unsure, try if `y' compiles.  If it doesn't, you can try using a
-  C++ compiler (ie, configure CC to be 'g++' instead 'gcc').
-
-You have poll(), but do you want to use it
-USE_POLL
-  Some Operating Systems implement select() by calling poll(), others
-  implement poll() by calling select().  The best performance will be
-  achieved by calling the lowest (sys)call ourselves of course.
-  The Undernet Daemon allows you to use select() or poll().
-  If you specify 'y' here, the daemon will use poll() directly, otherwise
-  it will use select().  If you don't know what your Operating System
-  uses as syscall, you can compile the server with USE_POLL and detach
-  the running process with 'strace -p <pid>', 'truss -p <pid>' or
-  'trace -p <pid>' depending on your Operating System, these UNIX commands
-  will show you the syscalls and therefore show if you use poll() or select().
-  The advantage of using poll() is that you are not bothered by the limits
-  of select() and fd_set size (ie, the number of clients that connect).
-  The following Operating Systems seem to use poll():
-  Solaris 2.x, SunOS 4.x, AIX, Digital UNIX, and NetBSD.
-  linux-2.2.x use poll(), but only of your glibc was compiled with that
-  kernel (and it won't unless you compile it yourself).
-  The following Operating Systems use select():
-  linux-2.0.x.
-  If unsure, test it (a ./configure check will be added in ircu2.10.06).
-
-What is the domain name of your network
-DOMAINNAME
-  This define allows you to specify what you consider to be 'local'.
-  It is only used for statistics.  When you issue the IRC command /stats w,
-  the server will respond with statistics of how many clients have been
-  connecting to your server in the last minute, hour and day.  It will
-  give these statistics for all connections (including the servers), all
-  clients (from anywhere) and also for clients whose hostname ends on
-  the domain you specify here.  So if you are an ISP and you want to know
-  specifically the client load from your own domain, specify that domain
-  here.  If you are unsure what to do, then it isn't really important what
-  you give here, just don't give an empty string.  A good guess is the last
-  two parts of your own hostname (ie, if your hostname is foo.bar.nowhere.org,
-  specify 'nowhere.org').  Note that the string you give should NOT start
-  with a '.' and you should not use quotes.
-
-Please give a random seed of eight characters
-RANDOM_SEED
-  You should specify exactly eight characters (0-9A-Za-z) here.  Do not use
-  quotes or any other special characters.  This value is used to initialize
-  the random generator of the server which is used to generate PING/PONG
-  cookies in order to stop spoofing IP-numbers (a PING with a random number is
-  sent to this IP-number and if the client doesn't respond with the
-  exact same number, access is denied).  In order to make the random
-  number impossible to guess, it is important that you use your own random
-  seed here.
-
-Does your host have a reliable clock
-RELIABLE_CLOCK
-  You should really ONLY specify 'y' here when your system clock is
-  stable and accurate at all times (within a few seconds).
-  If you are running ntpdate on a regular basis, or an equivalent
-  like xntpd, to keep your system clock synchronized over the network,
-  then you might have an accurate clock.  However, this is not guaranteed,
-  for example, it is known that xntpd gives unstable results on linux
-  in some cases.  Note that an unstable clock is worse then an clock that
-  has a constant offset, because the servers attempt to correct for a
-  constant offset, but do not correct jumps of your system clock !
-  In general you SHOULD be running ntpdate or equivalent AND make sure it
-  works when you run a production server on Undernet.  Otherwise leave
-  your clock alone and specify 'n' here.
-  If unsure specify 'n' !
-
-Change root (/) after start of daemon
-CHROOTDIR
-  If you are a security freak and you want to the daemon to run in
-  its own environment, then you can specify 'y' here.  The daemon will
-  change '/' to 'DPATH' (which you will have to specify later).
-  If this confuses you or if you are uncertain, specify 'n'.
-
-Do you want the daemon set its own uid/gid
-CONFIG_SETUGID
-  If you specify 'y' here, then the daemon will attempt to set its
-  User ID (uid) and Group ID (gid) to the numeric values that you will
-  have to specify next.  This only makes sense if you (have to) start
-  the server as root.  The most secure operation of the server is to
-  not use setuid stuff (here or by means of setting the file mode)
-  and to run the server as a special user only (ie 'irc').  Of course
-  this user must have access to all log and configuration files.
-  Note that using a setuid and starting the daemon as another user
-  does prohibit the daemon from core dumping in case of a crash on some
-  Operating Systems.
-  This option is actually only necessary when you use the Change Root
-  option, because otherwise you can use the file mode to set the uid
-  and gid.  Note that the server refuses to run as root.
-  If unsure, specify 'n'.
-
-UID of irc daemon
-IRC_UID
-  Ok, if you insist on using this option: Here you must specify the
-  numeric value of the uid that you want the server to run as.
-  Note that you need to look in the right /etc/passwd file, which isn't
-  the same file when you used the Change Root option.
-
-GID of irc daemon
-IRC_GID
-  Ok, if you insist on using this option: Here you must specify the
-  numeric value of the gid that you want the server to run as.
-  Note that you need to look in the right /etc/group file, which isn't
-  the same file when you used the Change Root option.
-
-Allow to specify configuration file on command line
-CMDLINE_CONFIG
-  If you specify 'y' here, you will be allowed to specify the ircd.conf
-  path (the ircd daemon configuration file) on the command line when
-  starting the daemon (with the -f <ircd.conf file> option).
-  Note that defining this and installing ircd SUID or SGID is a MAJOR
-  security problem - they can use the '-f' option to read any files
-  that the 'new' access lets them.  Note also that defining this is
-  a major security hole if other users have accounts on the same machine;
-  when your ircd goes down and some other user starts up the server with
-  a new conf file that has some extra O-lines.  So don't use this unless
-  you're debugging.
-
-Set up a Unix domain socket to connect clients/servers
-UNIXPORT
-  If there are lots of users having an account on the same machine
-  (which is very unlikely because the server needs all cpu ;), then
-  using a UNIX domain socket to connect these clients to is more
-  efficient then letting them connect via TCP/IP.  A UNIX domain
-  socket is a special device that will be created in your File System.
-  Your client must also support connecting to a UNIX domain socket.
-  The name of the special device must be specified in the "ircd.conf"
-  file by means of an extra 'P: line', see doc/example.conf for the
-  syntax.
-  If you don't have many IRC-ing users on the same host as the server,
-  or when your local IRC client doesn't support UNIX domain sockets,
-  specify 'n' here.  Otherwise specify 'y'.
-
-Do you need virtual hosting
-VIRTUAL_HOST
-  This is only needed when you want to run two or more servers on the
-  same machine and on the same port (but different devices).
-  In general you will only need this if you have at least two ethernet
-  cards in your machine with a different IP-number.
-  If you specify 'y' here, then you can "bind" a server to one of your
-  interfaces.  You should use the command line option '-w' to tell the
-  server to which interface to bind to.  No error is reported if this
-  fails, the server will simply not run.
-  If no '-w' option is given then the server name specified in the
-  'M: line' of the "ircd.conf" file of the server is used, provided it
-  resolves to an IP-number of one of your interfaces.  Note that
-  normally the name does not have to resolve, but when you define this,
-  it MUST resolve or you must use the -w command line option, or the
-  "bind" will fail.
-  If you are unsure, specify 'n'.
-
-Will you connect to more then one server at a time
-HUB
-  All servers of one IRC "network" are connected in a "tree" (no loops).
-  Servers that are only connected to one other server (called the
-  'uplink') are called "leafs", servers that are connected to more then
-  one other server are called HUBs.
-  If you specify 'n' here then your server will prevent itself from acciden-
-  tally connecting to two servers at once, which is good because this is
-  generally bad for servers in "leaf" positions (they are net.wise located
-  too bad to route traffic).  Note that on Undernet all newly linked servers
-  are linked as leafs during their test phase, and should specify 'n' here.
-
-Send a short message instead of the MOTD to connecting clients
-NODEFAULTMOTD
-  Every time a client connects to your server, the full Message Of
-  The Day (as specified in its file MPATH) is sent to the client.
-  Even while many clients allow the user to ignore the message of
-  the day: the server still sends it. Many users never read the
-  message of the day anyway, making it a huge waste of bandwidth.
-  If you specify 'y' here than the server won't send the MOTD by
-  default to the client, but rather tell the client when the MOTD
-  was last changed and how to receive the MOTD by typing /MOTD.
-  If unsure specify 'n'.
-
-Do you want to enable debugging output
-DEBUGMODE
-  Sometimes things just don't work.  This doesn't have to be a crash,
-  but it is also possible that your server just doesn't want to start
-  at all, or disallows clients to connect at all, etc.
-  With all such drastic and REPRODUCIBLE problems, it makes sense to
-  recompile the server with this option set and then running the
-  ircd (irc daemon) with the (extra) command line options: -t -x9
-  This will make the server run in the foreground and write debug output
-  to the terminal; in a lot of cases this can give a clue on what is
-  wrong (although more often it doesn't).
-  Because defining DEBUGMODE uses a LOT of cpu and is never useful
-  unless you are debugging a reproducible test case, you should never
-  specify 'y' here except for the reason just mentioned.
-  You should certainly NEVER specify 'y' for a server that runs on a
-  production net.
-
-Do you want memory- allocation and/or leak checking
-DEBUGMALLOC
-  If you specify 'y' here, then the server will start to do book keeping
-  on the allocated memory blocks.  This uses extra cpu and memory,
-  so normally you do not want this - unless you are debugging.
-  This option uses 8 bytes extra per allocated memory block.
-  The main purpose of this option is to check if a call to free(2) is done
-  with a valid pointer - if the pointer was not previously returned by
-  malloc(2), calloc(2) or realloc(2), the server will core dump in a place
-  that allows the maintainer to get an idea of what went wrong - but only
-  when the server was compiled with the -g flag of course.
-  You also need to specify 'y' here if you want to search for memory leaks.
-  On a production server, specify 'n' - unless you have lots of cpu to
-  spare and you volunteer to search for memory leaks - contact the
-  maintainer in this case.
-  If unsure, specify 'n'.
-
-Do you want to have boundary checking
-MEMMAGICNUMS
-  One of the most nasty bugs are those where buffer overruns are involved.
-  In an attempt to catch those in an early stage, this option will add
-  so called "magic numbers" to the beginning and end of each allocated
-  memory block.  When a block is freed or reallocated, the magic numbers
-  are checked and the server core dumps when they were corrupted.
-  This option uses 12 bytes extra per allocated memory block.
-  It doesn't really use much extra cpu compared to defining DEBUGMALLOC, so
-  you might as well specify 'y' here, just in case.  It only makes sense
-  though if you compiled the server with compiler option '-g'.
-  If unsure, specify 'n'.
-
-Do you want memory leak testing (stats M)
-MEMLEAKSTATS
-  If you specify 'y' here then the server will start to do extra book keeping
-  on the allocated memory blocks, counting the number of currently allocated
-  blocks per source code location (file and line number).  You will be able
-  to retrieve these statistics with the command /stats M.
-  When there is a memory leak, then allocated memory blocks that were allocated
-  under certain conditions are never freed (however the contents of those
-  memory blocks are never used anymore); this would result in a (slow?)
-  increase of the count of allocated memory blocks.  This option allows to
-  find where these blocks were allocated which might give a clue on the memory
-  leak problem.
-  This option uses 4 bytes extra per allocated memory block.
-  If you want to look for memory leaks, specify 'y' - otherwise specify 'n'.
-
-Do you want extra info on allocated sizes
-MEMSIZESTATS
-  If you specify 'y' here then the server will start to do extra book keeping
-  on the sizes of the allocated memory blocks.  /stats M will not only return
-  the number of allocated blocks, but also the total number of allocated
-  bytes involved.  If you defined MEMLEAKSTATS to look for memory leaks, it
-  will give the total number of allocated memory per source code location
-  (file and line number).
-  This option uses 4 bytes extra per allocated memory block, unless you already
-  specified 'y' for MEMMAGICNUMS (boundary checking), because in that case
-  it was already included (and it doesn't matter what you specify here).
-  I think you should specify 'y' here, its more fun to see the sizes :).
-
-Do you want support for a time interval with /stats M
-MEMTIMESTATS
-  If you specify 'y' here then the server will start to do extra book keeping
-  on the allocated memory blocks, storing the time at which the memory block
-  was allocated.  This especially slows down /stats M (but unless you use
-  that command frequently, it shouldn't really matter) and uses again 4 bytes
-  of extra memory per allocated memory block.
-  This option is especially useful if you are looking for memory leaks
-  because it allows you to specify a time window with /stats M for which
-  counted blocks must be returned.  This allows to ignore recently allocated
-  blocks and permanently allocated blocks (since the start of the server).
-
-Are you testing on a host without DNS
-NODNS
-  If you are playing with the server off-line, and no DNS is available, then
-  long delays occur before the server starts up because it tries to resolv
-  the name given on the M:line (which usually isn't given in /etc/hosts) and
-  for each connecting client.
-  If you specify 'y' here, then a call to gethostbyname() will be done only
-  for the real hostname, and the server will not try to resolv clients that
-  connect to `localhost'.
-  Note that other calls to gethostbyname() are still done anyway if you
-  use VIRTUAL_HOST and that the server still tries to resolv clients
-  that connect to the real IP-number of the server.
-
-Directory where all ircd stuff sits
-DPATH
-  DPATH is provided so that the other path names may be provided in just
-  filename form.  It is the Default PATH.  When the server starts, it
-  chdir's to DPATH before chroot or any other file operation, making
-  it the "current directory" for the server.  This is where core files
-  will go if the server core dumps.
-  Note that you should not include quotes here.
-  Note also that the command line option "-d <dir>" overrides the DPATH
-  you give here, except for the chroot (if you use that).
-
-Server configuration file
-CPATH
-  This is the IRC daemon Configuration filename, mostly called "ircd.conf".
-  If you just specify the filename, the server will read its configuration
-  file from the Default Path "DPATH", which you specified above.  However,
-  you are also allowed to specify a full path.
-  Note that you should not include quotes here.
-
-Server MOTD file
-MPATH
-  MPATH is the filename, relative to DPATH, or the full path, of the
-  "Message Of The Day" file; mostly called "ircd.motd".  The contents
-  of this file will be sent to every client that connects to the server,
-  after registration.
-  Note that you should not include quotes here.
-
-Server remote MOTD file (3 lines max)
-RPATH
-  RPATH is the filename, relative to DPATH, or the full path, of the
-  "Remote Message Of The Day" file; mostly called "remote.motd".  The
-  contents of this file will be sent to every remote client that issues
-  a /MOTD <your server name>.  Only the first three lines are sent, so
-  you might want to keep it that short ;).
-  Note that you should not include quotes here.
-
-File for server pid
-PPATH
-  PPATH is the filename, relative to DPATH, or the full path, of the
-  "PID file", mostly called "ircd.pid".  It is used for storing the
-  server's PID so a ps(1) isn't necessary.
-  Note that you should not include quotes here.
-
-Use crypted passwords for operators
-CRYPT_OPER_PASSWORD
-  In order to allow certain users to become IRC OPERators, they must
-  authenticate themselves with a password.  This password is matched
-  against an 'O: line' in the "ircd.conf" configuration file, see
-  doc/example.conf for more details.  If you specify 'y' here, you are
-  allowed to use the DES encrypted form of these passwords in your
-  "ircd.conf" file (even more, your Opers don't have to tell you their
-  real password, they can provide the DES encrypted form themselves).
-  Since it has happened often in the past that the "ircd.conf" file
-  was compromised somehow, you are highly encouraged to specify 'y' here
-  and use the DES encrypted form.  You can find a program 'mkpasswd' in
-  the ircd/crypt directory that will allow you to generate the encrypted
-  form.
-
-Max size of the total of of all sendqs (bytes)
-BUFFERPOOL
-  This specifies the maximum amount of RAM that your server will allocate
-  for buffering sendQ's.  Small leafs can use a value as little as 1000000,
-  while large HUBs need to specify a value as high as 20000000.
-  If you run out of memory, clients and/or servers are dropped with the
-  error "Buffer allocation error".  Then you will have to up this number
-  (and install more RAM if appropriate).
-  If you want a more educated guess for this value then realize that any
-  value is good if you _really_ rather want to drop servers and clients
-  then allocate more memory; this will be the case when there is the
-  danger to run out memory for other allocations.
-  Even if you run the daemon on a dedicated machine, then specifying the 
-  maximum of the RAM you have is a Bad Thing because really running out 
-  of memory is a lot worse then dropping clients in a controlled way:
-  if possible you should have memory left for all the internal structures
-  (channels, clients, banlists, receive buffers) at all times.
-  On average, clients seem to use 150 bytes of sendQ, but at peak moments
-  this can easily increase to 2032 bytes per client (sendQs are allocated
-  in chunks of 2032 bytes).
-  The maximum possible ammount that can be allocated for sendQs is the
-  number of connected clients times whatever you specified as maximum
-  sendQ in your Y: lines in the ircd.conf file.  Likely, that value will
-  be larger then the ammount of RAM you have.
-  The educated guess I talked about earlier would be 'number of clients'
-  times * 2048 bytes + 'size of net.burst' * n, where `n' is 1 for leafs
-  and up till 5 for HUB's.  The 'size of net.burst' is about 125 bytes
-  per online client (on the total network).
-  For large HUBs with 4000 clients on undernet (30,000 users), this results
-  in 27 Mb.  Leafs could use 12 Mb.  Of course you can use less when you
-  have less than 4000 local clients.
-  Don't forget to specify this value in bytes.
-
-Aggressively empty the sendqpool (Read Help!)
-HAS_FERGUSON_FLUSHER
-  Instead of dropping clients with 'Buffer Allocation Error', try to send
-  data to clients to try and drop the sendq buffer size as a last resort
-  before dropping clients.  This doesn't get rid of the problem, it just
-  tries hard to limit it's impact.
-  WARNING: *THIS PANICS UNCONFIGURED FREEBSD MACHINES*, make sure you've
-  read doc/freebsd.txt before enabling this feature on a FreeBSD machine.
-
-Max receive queue for clients (bytes)
-CLIENT_FLOOD
-  Currently, everything that a client sends to a server is read by the server
-  and stored in a buffer (the clients receive queue).  The server will
-  process messages from this queue one by one (running over all clients
-  each time).  When a client sends new messages faster they get processed,
-  and the size of its receive buffer reaches this value, the client is
-  dropped with the error "Excess flood".  A reasonable value is 1024 bytes.
-  The maximum size is 8000 bytes.
-
-Maximum number of network connections (23 - (FD_SETSIZE-4))
-MAXCONNECTIONS
-  This specifies the maximum number of network connections the server
-  will use.  You also need some non-network connects (log files etc), so
-  the maximum value is "FD_SETSIZE-4".  The minimum value is 23.
-  The only benefit of using a small value is that your server uses less
-  memory - but *only* when you really have a small (client) load.
-  Routing server that hardly take clients can use 128 here for instance.
-  Servers that are always full should just specify the maximum amount
-  that still works (which might be less then FD_SETSIZE-4, some OS need
-  kernel hacking to allow more then 1024 fds per process). The only max.
-  value that is guaranteed to work is 252 ;).  Note that if the value of
-  FD_SETSIZE is for instance 1024, then that doesn't mean you can't
-  connect MORE clients - but in this case you certainly need kernel
-  hacking.  Find an experienced admin with the same Operating System and
-  ask him what the maximum is and how to achieve it.
-
-Nickname history length
-NICKNAMEHISTORYLENGTH
-  This value specifies the length of the nick name history list, which
-  is only used for /WHOWAS.  It uses about 300 to 400 bytes per entry.
-  Note that at a net.break so many client disappear that the whole
-  "whowas" list refreshed a few times (unless you make it as big as
-  20,000 of course - but you shouldn't because thats a waste of ram
-  and cpu).  A reasonable value is 'total number of clients' / 25.
-
-Allow Opers to see (dis)connects of local clients
-ALLOW_SNO_CONNEXIT
-  If you specify 'y' here, you will be allowed to see all client connects and
-  disconnects as a server notice.  The historical reason for adding this
-  option was to detect clone bots that connected to your server.  However,
-  on a large IRC network like Undernet, the number of clients that connect
-  are so huge that it is not possible to keep an eye on this and everyone
-  has been filtering these notices out anyway.  Next to that it turned out
-  to use no less then 10% of the total cpu usage last time I measured it
-  (this has been improved after that, but still).
-  Unless you insist on seeing those notices you should specify 'n' here.
-  Note that in the meantime Undernet has a LOT of other (semi- and fully-
-  automated) ways to detect clone bots, which work a LOT better for this
-  purpose.
-
-Show IP address in client connection notices
-SNO_CONNEXIT_IP
-  Usually when showing a client connection, a nick, userid and hostname are
-  displayed.  Selecting 'y' here will also display the numeric IP and connection
-  class of the connecting client. This can be useful for detecting spoofed DNS and
-  virtual hosted clones. This does use extra CPU though and is generally not needed, 
-  however if a connection monitor bot is the only client that looks at these 
-  notices, it is more efficient than sending USERIP for every connection. This
-  option makes the server compatible with Hybrid tcm bots.
-
-Do you want to use R: lines in your configuration file
-R_LINES
-  If you specify 'y' here you will be allowed to use R:lines in the "ircd.conf".
-  This allows more freedom in restricting connections to your server by
-  calling an external program to determine whether to allow the connection.
-  It also uses a lot of overhead however, and can bog things down, so you should
-  consider whether you really need them, and if you can handle the extra load.
-  If unsure, specify 'n'.
-
-Process R: lines every rehash
-R_LINES_REHASH
-  You may not want to have the R: lines checks everywhere since this can
-  cost a lot of time and delays.  If you specify 'y' here, then R: lines are
-  checked whenever the "ircd.conf" file is reloaded (when the REHASH command
-  is used, or a signal SIGHUP is received by the daemon).  This shouldn't be
-  too much of a drain on the system if the R:lines programs are short.
-
-Process R: lines always
-R_LINES_OFTEN
-  If you specify 'y' here then R: lines will be checked as often as K: lines.
-  Note that this is -very- likely to cause a severe drain on your resources.
-  Use at your own risk, specify 'n' unless your really sure.
-
-Do you want to have a default LIST parameter
-CONFIG_LIST
-  Pre-Undernet, the LIST command could either be given with one channel
-  name, or without any parameter.  In the last case it would simply list
-  all channels.  In time the IRC networks grew big, until the output of
-  the LIST command always filled up the sendQ of the client (and dis-
-  connected it).  This was fixed by Carlo Wood (Run@IRC) on request of a
-  Dutch ISP whose users complained about this:  The LIST output is now
-  generated in small chunks, generating more each time when there is room
-  in the clients sendQ.  However, then it turned out that LIST (now it
-  worked) used 50% of all cpu (not even mentioning the bandwidth)...
-  This was unacceptable and the mentioned patch was disabled.  On the
-  other hand we wanted LIST to work at least partly, so a few new
-  parameters have been added to LIST: <,>,C<,C>,T<,T> each followed by
-  a number they filter respectively the number of users on the channel,
-  the creation time of the channel (or age, depended on the value of
-  the number) and the topic set time.
-  If you specify 'y' here, then each time a "/LIST" (without parameter)
-  is issued by a client, a default parameter is used.  Note that when
-  a parameter is used, the client can still max. sendq out - the send
-  flood control only works without any parameter.
-  If you specify 'n' here then a "/LIST" without parameters will list
-  all channels (and work), but as just said: it uses a LOT of cpu and
-  bandwidth on a large net.work.
-  If you specify 'y' you will be prompted for the default parameter.
-
-Give default LIST parameter
-DEFAULT_LIST
-  Here you need to specify the default LIST parameter which is used
-  when the server receives a LIST without any parameter.
-  You should use something that limits the output to a maximum of a
-  few hundred channels; for instance "T<10" (topic is set less then
-  10 seconds ago) or ">10" (more then 10 users on the channel) or even
-  a combination of this.  Note that you should not include quotes here.
-
-K: line comments treated as a file
-COMMENT_IS_FILE
-  If you specify 'y' here, then K: line comments (see doc/example.conf
-  for more details on the K: line syntax) will be treated as a filename
-  by default. The file needs to exist and will be written to clients
-  that match that K: line.
-  If you specify 'n' here, then K: line comments will be treated as
-  a comments by default.
-  In both cases you can override the default by prepending a filename
-  with a '!' or enclose a comment between double quotes.
-  If unsure, use the default.
-
-Only nullify idle-time on PRIVMSG
-IDLE_FROM_MSG
-  The IRC command WHOIS gives an idle time for clients.  If you want that
-  this idle time is set to zero only when the clients send a PRIVMSG,
-  then you should specify a 'y' here.
-  If you specify a 'n' then the idle time will be nullified on all messages
-  except the server PING/PONG.
-
-Check clone limit (2!)
-CHECK_CLONE_LIMIT
-  Set this to 2.
-
-Check clone period (20!)
-CHECK_CLONE_PERIOD
-  Set this to 20.
-
-Check clone delay (600!)
-CHECK_CLONE_DELAY
-  Set this to 600.
-
-Max auto connects per class (1!)
-MAXIMUM_LINKS
-  Set this to 1.
-
-Enable message logging
-MSGLOG_ENABLED
-  Define this if you want the server to log received messages in static memory
-  at parsing time.  -This is for debugging purposes only-.  You might want to
-  redefine LOG_MASK_TYPE in s_debug.h and LOG_MASK_LEVEL in s_debug.c too.
-  The default is to log all messages that change some status in server's data
-  structures.  Select 'n' unless you are debugging the server code.
-  DO NOT SELECT THIS ON PRODUCTION SERVERS!
-
-Message log size
-MSGLOG_SIZE
-  Number of messages to log. Keep this low as raising it to 1024 will use 800k
-  of _static_ memory! Recommended value is 128. You must include this even if
-  you selected 'n' for MSGLOG_ENABLED.
-
-Max server idle time (60)
-TIMESEC
-  This is the maximum idle time for the server. If no messages are received
-  in TIMSEC seconds, PINGFREQUENCY and CONNECTFREQUENCY are checked.
-  Recommended value is 60 seconds.
-
-KILL nick chase time limit (30)
-KILLCHASETIMELIMIT
-  This is the maximum amount of time a KILL command will automatically change
-  to the current nick of a user that has just changed nicks from the one given
-  with the original KILL.  Don't change this unless you really need to.
-
-Max number of channels per user (recommended: 5)
-MAXCHANNELSPERUSER
-  This is the maximum number of channels a user can be in at a time.
-  The "mandatory" value on Undernet is currently 10.  Since it only
-  influences the local server when you decrease it, its up to you to decide
-  if you want to use a smaller value.  Do not use a larger value however,
-  because it DOES cost more memory and bandwidth on all other servers
-  when you allow users to join more channels simultaneously.
-  One of the most important reasons to choose a smaller value is the fact
-  that the now-a-days 'GUI' clients tend to stay on every channel they
-  join (they aren't bothered by flooding in other channels).  It DOES take
-  your bandwidth however to send all those messages for 10 different
-  channels to all your users.
-
-Max number of silence masks (15!)
-MAXSILES
-  This is the maximum number of masks a user can silence at a time.
-  The silence command allows users to filter messages directed at them
-  from certain users or domains, at the source server.  Increasing this
-  number allows users to use up more memory with inefficient use of the
-  command.  If your not sure, don't change this.
-
-Expected average banmask length (40!)
-AVBANLEN
-  This is the expected average banmask length.  Leave it at 40.
-
-Use .config of THIS source tree as your upgrade default
-CONFIG_NEW
-  Each source tree keeps its *own* config/.config file with the default
-  values for all questions (those that you gave the last time you did a
-  'make config').  Whenever you do 'make config' again in this source tree,
-  you will get these defaults.
-  However, when you *upgrade* to a new version (and get a NEW source tree),
-  it doesn't have a .config yet and will (try to) use a .config of one of
-  your previous source trees.
-  If you specify 'y' here, then the last defaults of THIS source tree will
-  be used in your next upgrade.  Note that any changes you make later to
-  config/.config (by running 'make config' again) will also take effect
-  on this later upgrade.
-  You can always change this by making a new hard link from .config ->
-  ircu2.10.xx/config/.config in the directory where you keep the source
-  trees.
-  If unsure, and you are not currently installing a test source tree,
-  specify 'y'.  If this is a second source tree that you will only be
-  experimenting with, specify 'n'.
-
-Class 0 ping frequency (120)
-PINGFREQUENCY
-  If the daemon doesn't receive anything from any of its links within
-  PINGFREQUENCY seconds, then the it will attempt to check for an active link
-  with a PING message.  If no reply is received within (PINGFREQUENCY * 2)
-  seconds, then the connection will be closed.  This value is overridden by
-  a Y:line in "ircd.conf" if the connections I/C/N: line in "ircd.conf" assigns
-  a specific class to the connection (recommended).
-
-Class 0 connect frequency (600)
-CONNECTFREQUENCY
-  This is the default frequency that the server attempts to reconnect with
-  its uplink server if it is set to auto connect to it. Note that this value
-  is overridden by a Y:line in ircd.conf if the C/N:lines in ircd.conf
-  assigns a specific class to the connection (recommended).
-
-Min time before a link is good (300)
-HANGONGOODLINK
-  Often the net breaks for a short time and its useful to reestablish the
-  same connection faster than CONNECTFREQUENCY would allow, but to keep
-  from trying again on a bad connection, we require that the connection be
-  open for a certain minimum time. The recommended value is 300 seconds.
-
-Wait before reconnecting to good link (10!)
-HANGONRETRYDELAY
-  When attempting to quickly reestablish a connection to a good link, we
-  give the net a few seconds to steady. This time must be long enough for
-  the other end to notice it broke too. The recommended value is 10 seconds.
-
-connect(2) timeout (90!)
-CONNECTTIMEOUT
-  Number of seconds to wait for a connect(2) call to complete.  NOTE: this
-  must be at *LEAST* 10.  When a client connects, it has CONNECTTIMEOUT - 10
-  seconds for its host to respond to an ident lookup query and for a DNS
-  lookup to complete. It is recommended you don't change this value, but if
-  you do, consider the fact that users whose clients do not support NOSPOOF
-  will have to type /QUOTE PING <big number> before registration.
-
-Max send queue (40000)
-DEFAULTMAXSENDQLENGTH
-  This is the default value of the "max. sendq length" of Y: line classes
-  (see doc/example.conf for details on Y: lines).  You will probably
-  always override this value in your "ircd.conf" with the Y: lines.
-  The given value used to be an often used value for client sendqs.
diff --git a/doc/exaconf.2 b/doc/exaconf.2
deleted file mode 100644 (file)
index 6e8ece2..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-# Set the name of the server, its numeric, and the server info field
-serverinfo {
-       name "test.server.undernet.org";
-       capacity 6124;
-       numeric 18;
-       description "A test server for the next generation";
-
-       # this is an optional parameter to specify where outbound
-       # connections should originate from
-       addr "18.177.0.118";
-}
-
-# Select a seed from /dev/random or the appropriate local alternative.
-# If /dev/random doesn't exist, use a seed
-# Note: on Linux, /dev/urandom should probably be used--it won't block.
-seedfile "/dev/random";
-
-# Let's set up some logging
-logging {
-       syslog daemon; # set the syslog facility to daemon
-
-       logpath "/home/irc/logs" # path prepended to log file names
-
-       log kill syslog notice; # log kills to syslog at priority "notice"
-       log squit syslog notice;
-       log connect syslog debug;
-
-       log oper file "opers.log"; # log /opers to file "opers.log"
-       log gline file "gline.log";
-
-       nolog users; # turn off logging for users (default, but illustrative)
-
-       pid "ircd.pid";
-}
-
-binpath "/home/irc/bin/ircd"; # binary to exec() when we /restart
-libpath "/home/irc/lib"; # directory to chdir() to on start-up
-
-# Here's an authorization record--defines who is permitted on the server
-# and what special information needs to be remembered about them.
-auth everyone {
-       host "*@*";     # hosts this auth record matches
-       maxusers 1200;  # Max users for this auth record
-       perhost 2;      # Maximum of 2 users per host on this server
-       global 3;       # Maximum of 2 users per host on the entire network
-       ping 120;       # ping them once every 120 seconds if link inactive
-       sendq 270000;   # max sendq for everyone in the auth record
-}
-
-# Here's another one for miters people
-auth miters {
-       host "*@*.mit.edu";
-       host "*@18.*";
-       maxusers 1200;
-       perhost 1;
-       global 1;
-       ping 300;
-       sendq 120000;
-}
-
-# And here's a back door for my operators--perhaps to be used in an emergency
-auth opers {
-       host "*@*";
-       unset ident;    # no identd
-       unset banable;  # no denial rules
-       unset limit;    # ignore any limits
-       set ipspoof;    # hostname is spoofed to protect the guilty
-       password "MybacKd004!"; # password-only access
-       motd "opers.motd";      # a special MOTD for opers
-}
-
-port {
-       accept opers; # auth records are tried in order listed
-       accept miters;
-       accept everyone;
-
-       port 6660-6669 "18.177.0.118"; # ports to open
-       port 6660-6669 "18.177.0.119";
-}
-
-port {
-       set hide;
-
-       accept opers;
-
-       port 7000; # IP is optional and defaults to 0.0.0.0
-}
-
-port {
-       set hide;
-       set serveronly;
-
-       port 4400 "18.177.0.118";
-}
-
-# allow channel hacks and glines
-server uworld.undernet.org {
-       set channelhack;
-       set gline;
-}
-
-server uworld2.undernet.org {
-       set channelhack;
-       set gline;
-}
-
-server uworld.eu.undernet.org {
-       set channelhack;
-       set gline;
-}
-
-# allow channel hacks only
-server channels.undernet.org {
-       set channelhack;
-}
-
-server channels2.undernet.org {
-       set channelhack;
-}
-
-# here's some link class definitions for servers (only)
-class hubs {
-       limit 2;        # Max connection attempts per class
-       freq 600;       # Connect frequency
-       ping 300;       # how often to ping them
-       sendq 2700000;  # sendq
-}
-
-# Here's a hub link
-server santaclara.ca.us.undernet.org {
-       class hubs;                     # this is in the hubs link class
-
-       link 4400 "205.158.23.3";       # link address
-       password "toysrus";             # link password
-       set auto;                       # we'll auto to it
-       set hub;                        # it's a hub
-}
-
-server dallas-r.tx.us.undernet.org {
-       class hubs;
-
-       link 4400 "204.178.73.175";
-       password "areyouready?";
-       set auto;
-       set hub;
-
-       deny "linked(santaclara.ca.us.undernet.org)"; # a d-line
-}
-
-# here's a leaf
-server vancouver.bc.ca.undernet.org {
-       link 4400 "199.60.228.129";
-       password "toylink";
-       set auto;
-
-       denyoper "linked(santaclara.ca.us.undernet.org)"; # a D-line
-}
-
-# here's a set of default flags for opers
-#
-# the part before the '.' specifies the namespace the flags are from--
-# not necessary inside the user record itself, but we don't otherwise
-# know the namespace here.  The part after the '.' is a label.
-flagset user.oper {
-       set kill;       # allow kills...
-       set kline;      # allow kline/unkline
-       set gline;      # allow local glines
-       set rehash;     # can use /rehash
-       set restart;    # can use /restart
-       set die;        # can use /die
-       set wallops;    # can use /wallops
-       set connect;    # can use /connect and /squit
-       set stats;      # can use /stats
-       set info;       # can use /info
-       set opernotice; # can see oper-only notices
-       set massmsg;    # can use mass messages
-}
-
-# here's an operator
-user Kev {
-       default oper;                   # a set of flags for the user
-       cryptpass "J/7oDe78NhQ+/";      # password must be given to activate
-       host "*.mit.edu";               # must be from the listed hosts
-       host "*.ne.mediaone.net";
-       host "18.*";
-       host "168.159.*";
-}
-
-# nick jupes
-user Uworld {
-       set juped;
-}
-
-user Uworld2 {
-       set juped;
-}
-
-user EUworld {
-       set juped;
-}
-
-user X {
-       set juped;
-}
-
-user W {
-       set juped;
-}
-
-# File deny records are kept in; this can be modified from online
-denyfile "klines.conf";
index 3fef184a4c3a18e27a89ed996092e87690b5b97c..8abc768a112e2a4af0db3cab5ebc627c26b0f3dd 100644 (file)
@@ -113,16 +113,30 @@ Usage:
 <td><font face="arial" size="2">0x1000</td>\r
 <td><font face="arial" size="2">/* host throttle add/remove notices */</td>\r
 </tr>\r
+<tr>\r
 <td><font face="arial" size="2">8192</td>\r
 <td><font face="arial" size="2">SNO_OLDREALOP</td>\r
 <td><font face="arial" size="2">0x2000</td>\r
 <td><font face="arial" size="2">/* old oper-only messages */</td>\r
 </tr>\r
+<tr>\r
 <td><font face="arial" size="2">16384</td>\r
 <td><font face="arial" size="2">SNO_CONNEXIT</td>\r
 <td><font face="arial" size="2">0x4000</td>\r
 <td><font face="arial" size="2">/* client connect/exit (ugh) */</td>\r
 </tr>\r
+<tr>\r
+<td><font face="arial" size="2">32768</td>\r
+<td><font face="arial" size="2">SNO_AUTO</td>\r
+<td><font face="arial" size="2">0x8000</td>\r
+<td><font face="arial" size="2">/* AUTO G-Lines */</td>\r
+</tr>\r
+<tr>\r
+<td><font face="arial" size="2">65536</td>\r
+<td><font face="arial" size="2">SNO_DEBUG</td>\r
+<td><font face="arial" size="2">0x10000</td>\r
+<td><font face="arial" size="2">/* debugging messages (DEBUGMODE only) */</td>\r
+</tr>\r
 </table>\r
 </center>\r
 \r
@@ -135,7 +149,7 @@ Usage:
 </tr>\r
 <tr>\r
 <td><font face="arial" size="2">standard +s when +o/O</td>\r
-<td><font face="arial" size="2">SNO_DEFAULT | SNO_HACK2 | SNO_HACK4 | SNO_OLDSNO)</td>\r
+<td><font face="arial" size="2">SNO_DEFAULT | SNO_HACK2 | SNO_HACK4 | SNO_THROTTLE | SNO_OLDSNO)</td>\r
 </tr>\r
 <tr>\r
 <td><font face="arial" size="2">only opers may set</td>\r
diff --git a/tools/Makefile.crypt b/tools/Makefile.crypt
deleted file mode 100644 (file)
index 4270bed..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#************************************************************************
-#*   IRC - Internet Relay Chat
-#*   Copyright (C) 1991 Darren Reed
-#*
-#*   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.
-#*/
-#
-# Change this to the path of your local ircd.conf file
-#
-IRCDCONF = /usr/local/lib/irc/ircd.conf
-
-LIBS = -lcrypt
-
-all: mkpasswd
-crypt: install
-
-mkpasswd: mkpasswd.c
-       gcc -Wall -O2 mkpasswd.c -o mkpasswd ${LIBS}
-
-install:
-       crypter ${IRCDCONF}
-       @echo 'done.'
-
-clean:
-       /bin/rm -f mkpasswd
diff --git a/tools/README b/tools/README
deleted file mode 100644 (file)
index 8547bd5..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/************************************************************************
- *   IRC - Internet Relay Chat, tools/README
- *   Copyright (C) 1991 Nelson Minar
- *
- *   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.
- */
-
-The change implemented here is that the operator password in irc.conf
-is no longer stored in plaintext form, but is encrypted the same way
-that user passwords are encrypted on normal UNIX systems. Ie, instead
-of having
-
-       O:*:goodboy:Nelson
-
-in your ircd.conf file, you have
-
-       O:*:sCnvYRmbFJ7oI:Nelson
-
-You still type "/oper Nelson goodboy" to become operator. However, if
-someone gets ahold of your ircd.conf file, they can no longer figure
-out what the password is from reading it.  There are still other
-security holes, namely server-server passwords, but this closes one
-obvious problem.
-
-So, how do you generate these icky looking strings for passwords?
-There's a simple program called mkpasswd to do that for you. To
-compile mkpasswd, just "make -f Makefile.crypt" in this directory. After it
-compiles, just run mkpasswd, and at the prompt type in your plaintext passwor\
-d.
-It will spit out the encrypted password, which you should then just copy
-into your ircd.conf file. This should be done only when adding new passwords
-to your ircd.conf file. Crypting of oper passwords is automatically done
-with the new F:lines so there is nothing to enable to be able to use
-crypted oper passwords. All you have to do is edit the Makefile.crypt in this
-directory and change "IRCDCONF = /usr/local/lib/irc/ircd.conf" to the full
-path to your ircd.conf file. Then "make -f Makefile.crypt install" in this
-directory to replace all the operator passwords in your ircd.conf file
-with the encrypted format.
-
-Choose your passwords carefully. Do not choose something in a
-dictionary, make sure its at least 5 characters. Anything past 8
-characters is ignored.
-
-One thing to note about crypt() passwords - for every plaintext, there
-are 4096 different passwords. Some valid encryptions of "goodboy"
-include t1Ub2RhRQHd4g sCnvYRmbFJ7oI and Xr4Z.Kg5tcdy6. The first
-two characters (the "salt") determine which of the 4096 passwords
-you will get. mkpasswd chooses the salt randomly, or alternately
-will let you specify one on the command line.
-
-see also - crypt(3)
diff --git a/tools/mkpasswd.c b/tools/mkpasswd.c
deleted file mode 100644 (file)
index a36493a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/* simple password generator by Nelson Minar (minar@reed.edu)
- * copyright 1991, all rights reserved.
- * You can use this code as long as my name stays with it.
- * $Id$
- */
-#define _XOPEN_SOURCE
-#define _XOPEN_VERSION 4
-#define _XOPEN_SOURCE_EXTENDED
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#include <unistd.h>
-
-int main(int argc, char *argv[])
-{
-  static char saltChars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./";
-  char salt[3];
-  char * plaintext;
-
-  if (argc < 2) {
-    srandom(time(0));          /* may not be the BEST salt, but its close */
-    salt[0] = saltChars[random() % 64];
-    salt[1] = saltChars[random() % 64];
-    salt[2] = 0;
-  }
-  else {
-    salt[0] = argv[1][0];
-    salt[1] = argv[1][1];
-    salt[2] = '\0';
-    if ((strchr(saltChars, salt[0]) == NULL) || (strchr(saltChars, salt[1]) == NULL))
-      fprintf(stderr, "illegal salt %s\n", salt), exit(1);
-  }
-
-  plaintext = getpass("plaintext: ");
-
-  printf("%s\n", crypt(plaintext, salt));
-  return 0;
-}
-
diff --git a/tools/transition b/tools/transition
deleted file mode 100755 (executable)
index a2aee89..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-#!/bin/sh
-#
-# IRC - Internet Relay Chat, tools/transition
-# Copyright (C) 2001 Kevin L. Mitchell <klmitch@mit.edu>
-#
-# 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.
-#
-# $Id: transition,v 1.1 2001-06-21 23:28:53 kev Exp $
-
-# Better than having evals all over the place
-setvar () {
-    eval $1=\$2
-}
-getvar () {
-    eval echo \$$1
-}
-
-# Set up an echo that doesn't newline-terminate
-if test x`echo -n` = x-n; then
-    echo_n () {
-       echo "$@"'\c'
-    }
-else
-    echo_n () {
-       echo -n "$@"
-    }
-fi
-
-# Debugging notices, enabled only if $DEBUG has something in it
-if test x"$DEBUG" = x; then
-    deb () {
-       :
-    }
-    deb_n () {
-       :
-    }
-else
-    deb () {
-       echo "$@"
-    }
-    deb_n () {
-       echo_n "$@"
-    }
-fi
-
-# Get base directory; first step, how were we called?
-case $0 in
-*/*)
-    basedir=`echo $0 | sed -e 's@/[^/]*@@g'`
-    ;;
-
-*)
-    basedir=`pwd`
-    ;;
-esac
-
-# Now locate the ircd subdirectory
-if test -d $basedir/ircd; then
-    :
-elif test -d $basedir/../ircd; then
-    basedir=$basedir/..
-elif test -d ./ircd; then
-    basedir=`pwd`
-else
-    echo "Cannot find base ircd directory!" >&2
-    exit 1
-fi
-
-# Finally, canonicalize it
-cwd=`pwd`
-cd $basedir
-basedir=`pwd`
-cd $cwd
-
-deb "Base directory: $basedir"
-
-# This is where our ./configure-parsable results will go
-cache_file=$basedir/config.cache
-
-# Now locate .config and config.cache
-config_in=
-config_cache_in=
-
-# If the config subdirectory isn't there anymore, don't bother checking there
-if test -d $basedir/config; then
-    if test -r $basedir/config/.config; then
-       config_in=$basedir/config/.config
-    fi
-
-    if test -r $basedir/config/config.cache; then
-       config_cache_in=$basedir/config/config.cache
-    fi
-fi
-
-# Last ditch effort...try ../.config
-if test x"$config_in" = x; then
-    if test -r $basedir/../.config; then
-       config_in=$basedir/../.config
-    else
-       echo "Cannot find original .config file!" >&2
-       exit 2
-    fi
-fi
-
-# Last ditch effort...try ../.config.cache
-if test x"$config_cache_in" = x; then
-    if test -r $basedir/../.config.cache; then
-       config_cache_in=$basedir/../.config.cache
-    else
-       echo "Cannot find original config.cache file!" >&2
-       exit 3
-    fi
-fi
-
-# Now load the two data files
-echo "Loading old config.cache file $config_cache_in"
-. $config_cache_in
-echo "Loading old .config file $config_in"
-. $config_in
-
-# Now we have to track down the defaults so we will know what to generate
-# F-lines for
-if test ! -r $basedir/ircd/ircd_features.c; then
-    echo "Cannot find default features!" >&2
-    exit 4
-fi
-
-echo_n "Loading feature default values; please be patient... "
-deb ""
-features=
-exec 4<$basedir/ircd/ircd_features.c
-while read line <&4; do
-    # if a line has '(' but not ')', then we hang them until we find the
-    # matching ')'; this is not robust!
-    if test x"$hangline" != x; then
-       line="$hangline $line"
-       hangline=
-    fi
-
-    if test x"`echo "$line" | grep '(' 2>/dev/null`" != x -a \
-           x"`echo "$line" | grep ')' 2>/dev/null`" = x; then
-       hangline=$line
-       continue
-    fi
-
-    # Now we process the line we read...
-    case $line in
-    \#*) # We want to ignore the #define, since it's a false positive
-       ;;
-
-    F_[NIBS]*) # Found one of the feature define macros
-       type=`echo "$line" | sed -e 's/^F_\([NIBS]\).*$/\1/g'`
-       arglist=`echo "$line" | sed -e 's/^F_[NIBS](\(.*\)),.*/\1/g' \
-                -e 's/ | /|/g'`
-
-       # Now we must parse the arguments
-       tIFS=$IFS
-       IFS=,$IFS
-       name=
-       value=
-       argnum=0
-       for arg in $arglist; do
-           case $type$argnum in
-               [NIBS]0) # First argument is always the name of the feature
-                   name=$arg
-                   ;;
-
-               I2) # Second argument of F_I() is the numerical value
-                   value=$arg
-                   ;;
-
-               B2) # Second argument of F_B() is a numerical value
-                   # We must convert this numerical value to "y" or "n"
-                   if test x"$arg" = x0; then
-                       value=n
-                   else
-                       value=y
-                   fi
-                   ;;
-
-               [ST]2) # Second argument of F_S() is a string value; must
-                      # take into account unquoted possibilities, though
-                   dequote=`echo "$arg" | sed -e 's/^"\(.*\)"$/\1/g'`
-                   if test x"$dequote" = x"$arg"; then
-                       type=T
-                       value=$arg
-                   else
-                       value=$dequote
-                   fi
-                   ;;
-           esac
-
-           # Next time through, we'll be testing the next argument
-           argnum=`expr $argnum + 1`
-       done
-       IFS=$tIFS
-
-       deb "Loaded feature \"$name\" of type \"$type\"; default: \"$value\""
-
-       # Store the information we extracted
-       setvar type_$name $type
-       setvar def_$name "$value"
-
-       # Keep a list of features we've checked
-       features="$features $name"
-       ;;
-    esac
-done
-exec 4<&-
-echo "done"
-
-echo "Converting some options that are still compile-time"
-
-unet_cv_prefix=`echo $SPATH | sed -e 's@/bin/ircd@@g'`
-deb "Installation directory (derived from SPATH)... $unet_cv_prefix"
-
-deb_n "Enable debugging (DEBUGMODE)... "
-if test x"$DEBUGMODE" = xy; then
-    unet_cv_enable_debug=yes
-else
-    unet_cv_enable_debug=no
-fi
-deb "$unet_cv_enable_debug"
-
-deb_n "Enable assertion checking (CONFIG_NDEBUG)... "
-if test x"$CONFIG_NDEBUG" = xy; then
-    unet_cv_enable_asserts=yes
-else
-    unet_cv_enable_asserts=no
-fi
-deb "$unet_cv_enable_asserts"
-
-deb_n "Force inlining of some critical functions (FORCEINLINE)... "
-if test x"$FORCEINLINE" = xy; then
-    unet_cv_enable_inlines=yes
-else
-    unet_cv_enable_inlines=no
-fi
-deb "$unet_cv_enable_inlines"
-
-unet_cv_with_symlink=$SYMLINK
-deb "Symlink name (SYMLINK)... $unet_cv_with_symlink"
-
-unet_cv_with_mode=$IRCDMODE
-deb "Binary permissions (IRCDMODE)... $unet_cv_with_mode"
-
-unet_cv_with_owner=$IRCDOWN
-deb "Binary owner (IRCDOWN)... $unet_cv_with_owner"
-
-unet_cv_with_group=$IRCDGRP
-deb "Binary group owner (IRCDGRP)... $unet_cv_with_group"
-
-unet_cv_with_domain=$DOMAINNAME
-deb "Local domain name (DOMAINNAME)... $unet_cv_with_domain"
-
-deb_n "Enable CHROOT operation (CHROOTDIR)... "
-if test x"$CHROOTDIR" = xy; then
-    deb_n "yes, path "
-    unet_cv_with_chroot=$DPATH
-else
-    unet_cv_with_chroot=no
-fi
-deb "$unet_cv_with_chroot"
-
-unet_cv_with_dpath=$DPATH
-deb "Data path (DPATH)... $unet_cv_with_dpath"
-
-unet_cv_with_cpath=$CPATH
-deb "Configuration file (CPATH)... $unet_cv_with_cpath"
-
-# LPATH may not be set; if it's not, we'll just ignore it here and let
-# ./configure fill it in appropriately
-if test x"$LPATH" != x; then
-    unet_cv_with_lpath=$LPATH
-    deb "Debug log file (LPATH)... $unet_cv_with_lpath"
-fi
-
-unet_cv_with_maxcon=$MAXCONNECTIONS
-deb "Maximum number of connections (MAXCONNECTIONS)... $unet_cv_with_maxcon"
-
-# Shouldn't run ./configure before the transition script, but we can deal
-if test -r "$cache_file"; then
-    echo "WARNING: Destroying new config.cache file $cache_file" >&2
-    rm $cache_file
-fi
-
-# Create the cache file...
-echo "Creating new config.cache file $cache_file"
-> $cache_file
-
-# This section is copied from a GNU autoconf-generated configure script
-###############################################################################
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs.  It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already.  You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
-  case `(ac_space=' '; set | grep ac_space) 2>&1` in
-  *ac_space=\ *)
-    # `set' does not quote correctly, so add quotes (double-quote substitution
-    # turns \\\\ into \\, and sed turns \\ into \).
-    sed -n \
-      -e "s/'/'\\\\''/g" \
-      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-    ;;
-  *)
-    # `set' quotes correctly as required by POSIX, so do not add quotes.
-    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-    ;;
-  esac >> confcache
-if cmp -s $cache_file confcache; then
-  :
-else
-  if test -w $cache_file; then
-    echo "updating cache $cache_file"
-    cat confcache > $cache_file
-  else
-    echo "not updating unwritable cache $cache_file"
-  fi
-fi
-rm -f confcache
-###############################################################################
-
-# If they ran ./configure before, there'll be a config.status hanging around;
-# if so, we can run that to integrate the config.cache we just generated.
-if test -x $basedir/config.status; then
-    echo "Running $basedir/config.status to update configuration"
-    cwd=`pwd`
-    cd $basedir
-    # Have to run it twice to get the Makefile recreated
-    ./config.status --recheck
-    ./config.status
-    cd $cwd
-fi
-
-# Now we need to track down ircd.conf so we can add the F-lines.
-echo_n "Locating IRCD configuration file... "
-case $unet_cv_with_cpath in
-/*) # CPATH is absolute
-    conf_file=$unet_cv_with_cpath
-    ;;
-
-*) # CPATH is relative to DPATH
-    conf_file=$unet_cv_with_dpath/$unet_cv_with_cpath
-    ;;
-esac
-# suppress duplicate '/'
-conf_file=`echo "$conf_file" | sed -e 's@//*@/@g'`
-echo "$conf_file"
-
-# if we can't find the .conf, use "flines.conf" in the base directory (so
-# they'll be easy to find).
-if test ! -r $conf_file; then
-    fline_conf=yes
-    conf_file=$basedir/flines.conf
-    if test ! -r $conf_file; then
-       > $conf_file
-    fi
-    echo "WARNING: Unable to read ircd.conf; you will need to add the" >&2
-    echo "         F-lines manually.  For your convenience, they will be" >&2
-    echo "         placed in $conf_file." >&2
-fi
-
-# here's where we take the old .config and compare it to the feature defaults
-echo_n "Building feature table... "
-for feature in $features; do
-    defval=`getvar def_$feature`
-    value=`getvar $feature`
-
-    if test x"$value" = x -o x"$value" = x"$defval"; then
-       setvar FEAT_$feature $defval
-    else
-       setvar FEAT_$feature $value
-    fi
-done
-
-# We won't add an F-line for DOMAINNAME, since (hopefully) the right one is
-# already compiled in
-FEAT_DOMAINNAME=DOMAINNAME
-
-# Have to make sure we have a RANDOM_SEED to enhance randomness...
-FEAT_RANDOM_SEED=$RANDOM_SEED
-
-# This feature changed names to be consistent...
-FEAT_OPER_LBADCHAN=$LOCAL_BADCHAN
-
-# DEFAULT_LIST_PARAM is perhaps the most complicated to transition, but
-# this'll do the trick...
-if test x"$CONFIG_LIST" = xy; then
-    FEAT_DEFAULT_LIST_PARAM=$DEFAULT_LIST_PARAM
-else
-    FEAT_DEFAULT_LIST_PARAM=0
-fi
-
-echo "done"
-
-# Now we just generate the F-lines
-echo_n "Generating F-lines... "
-exec 4>>$conf_file
-
-# The various log files are set up first--these are all that were defined
-# in u2.10.10.pl15
-if test x"$CONFIG_LOG_WHOX" = xy; then
-    echo "F:LOG:WHO:FILE:$WPATH" >&4
-fi
-if test x"$CONFIG_LOG_GLINES" = xy; then
-    echo "F:LOG:GLINE:FILE:$GPATH" >&4
-fi
-if test x"$CONFIG_LOG_USERS" = xy; then
-    echo "F:LOG:USER:FILE:$FNAME_USERLOG" >&4
-fi
-if test x"$CONFIG_LOG_OPERS" = xy; then
-    echo "F:LOG:OPER:FILE:$FNAME_OPERLOG" >&4
-fi
-
-# Now we traverse the entire feature table and compare values with their
-# defaults
-for feature in $features; do
-    type=`getvar type_$feature`
-    defval=`getvar def_$feature`
-    value=`getvar FEAT_$feature`
-
-    if test x"$defval" != x"$value"; then
-       if test x"$type" = xB; then
-           # Must map booleans yet again; I prefer TRUE/FALSE
-           if test x"$value" = xy; then
-               value=TRUE
-           else
-               value=FALSE
-           fi
-       fi
-
-       # Write the F-line
-       echo "F:$feature:$value" >&4
-    fi
-done
-exec 4>&-
-echo "done"
-
-echo_n "Transition is complete."
-if test ! -r $basedir/config.status; then
-    echo_n "  You should now run ./configure."
-fi
-
-echo ""
-
-if test x"$fline_conf" = xyes; then
-    echo "Don't forget to add the F-lines to your ircd.conf.  They can be"
-    echo "found in $conf_file."
-else
-    echo "Don't forget to verify the F-lines in your ircd.conf!"
-fi