README for ircu2.10.10.beta
Please read this completely before running the server
* If you run ircu2.10.10 on the production network and expect
more than 1000 local clients to connect you will want to make
sure you add -DNDEBUG to the extra CFLAGS setting when you do
a make config.
* Ircu now uses asserts in a lot of places to insure referential
integrity and that impossible situations do not occur. Also
memory integrity checking is defaulted to on as well. The asserts
and memory checking both use cpu and in the case of memory checking
extra memory. We have not had an assert trigger in quite some time
but would prefer to leave the checks enabled for beta testing.
The asserts insure that if the server is going to core it will do
so in well defined places where the problem will be easy to trace,
without them the server could core in not so well defined places.
If you want to disable the checks, add -DNDEBUG in the extra CFLAGS
when you do a make config.
* Ircu no longer uses separate C/N lines, the functionality of both
has been combined in C:lines, see the example.conf for more information.
* Ircu has an different mechanism for defining ports than the previous
versions. Please see the example.conf for information on configuring
them. Ircu also ignores the port specified on the M:line, you MUST define
a server port with a P:line if you want servers to connect to you.
* For beta releases, please understand that there may be bugs we haven't
found yet, (that's why you're beta testing it in the first place :)).
Please report any bugs found in the server to firstname.lastname@example.org or
email@example.com with as much information as you can provide
about how to reproduce the problem. Stack traces for coredumps are
usually helpful, however we aren't expecting any of those ;-).
* Ircu 2.10.08 is a P10 only server, and cannot be used to host P9
links. On a mostly P10 network this is not a major issue, it does
mean that you cannot connect services directly to a 2.10.08 server,
but does not preclude it's use as a leaf or a hub. For now, services
need to continue to be hosted by 2.10.07 servers.
* EXTENDED_NUMERICS is not defined by default, we need to get everyone
using 2.10.07 before we can allow it to be turned on anywhere. If you
are using 2.10.08 on a network where everyone is up to at least 2.10.07
it is safe to turn them on. We have tested them on testnet and they do
* The masked notices using #*.mask has changed to use $@*.mask instead.
Since most of the servers on the net will not understand the new masking
mechanism, this probably won't work for a while. The server notice mask
($*.us.undernet.org) still functions properly. This was a trade off
between backwards compatibility and the improved protocol, we chose to
not maintain backwards compatibility for this command. The #*.mask
functionality is easily circumvented, and the command is rarely used
it is not considered to be a major issue.
* The server no longer sends notices for errors on connections that are
suddenly dropped during connection setup. If you really want to see
them, we suggest you get a life. :)
* Removed: unix domain sockets, uping, m4 preprocessor spawning,
dozens of bugs.
* New stuff:
Added ISUPPORT code to match dalnets.
Added connection progress notices.
Cleaned up operating system checks.
/invite with no arguments lists the channels you're invited to.
Many speedups, ipdiffer, faster strncpy, faster inetntoa.
Passive lag and numerics now displayed by map command.
Server to server tokenization.
Much larger TCP windows/kernel buffers for server connections,
smaller for clients.
Removed BOOT_OPER security hole.
Complete listener port specifications including per port virtual
hosting and hidden listeners.
Default server port for connects (config option).
Speed up some channel ops using new Membership struct.
Hash table performance stats are available now (basic).
Much of the socket code has been rewritten, we now only make one
pass through the local client array.
Added initial support for PROTOCOL command.
Many functions have been made reentrant.
Resolver now uses callbacks for all queries.
Almost every command that is sent to a server uses full P10 numerics
and tokenization, this reduces netburst sizes by at least 10% and
many server to server message sizes by 10-50%.
Major source code reorginization to support engine model.
Parser now uses an indexed table for commands, which elminates
the need to do IsServer IsUser IsOper checks and allows much more
efficient implementation of user/server/oper command handlers.
* For a much longer winded explanation of all this stuff, see the
ChangeLog in this directory, or the cvs log at the coder-com
web site at http://coder-com.undernet.org/