ngircd optimised for use with a tor HS || note to self; compile with ./configure --with-openssl --enable-ipv6
Go to file
Florian Westphal 643ae1b48b enforce upper limit on maximum number of handled commands
reported on #ngircd: pasting lots of lines into a channel can kill off
many people on the channel if the read buffer is drained quickly enough
and the client-side TCP can't keep up with the incoming data.

This implements a throttling scheme:
- an irc client may send up to 3 commands per second before a one second
pause is enforced.
- an irc client may send up to 256 bytes per second before a one second
pause is enforced.

After discussion with Alexander Barton, server <-> server links are
treated specially: There is no artificial limit on the number of bytes
sent per second, and up to 10 commands are processed per second before
a pause is enforced.

It may be neccessary to make those limits tuneable to accomondate larger
networks, but for now they are compile time values.
2009-05-25 22:25:18 +02:00
contrib Updated Debian "changelog" file for ngIRCd 14.1 2009-05-05 13:14:23 +02:00
doc Doxygen: update source code repository link to GIT 2009-04-25 00:53:47 +02:00
man manpage: move SSLConnect option to the right section 2009-05-17 01:22:18 +02:00
src enforce upper limit on maximum number of handled commands 2009-05-25 22:25:18 +02:00
.gitignore GIT: Ignore Debian-related generated files. 2008-10-03 15:50:35 +02:00
AUTHORS Add missing contributors to AUTHORS file 2009-03-11 11:51:59 +01:00
COPYING - Dokumentation aktualisiert. 2002-03-03 13:07:01 +00:00
ChangeLog ngIRCd release 14.1 2009-05-05 12:58:51 +02:00
INSTALL Documentation: get rid of some more references to CVS, switch to GIT. 2008-04-25 00:13:07 +02:00
Makefile.am Xcode: get release number dynamically; new make target "xcode-clean". 2009-01-06 16:02:27 +01:00
NEWS ngIRCd release 14.1 2009-05-05 12:58:51 +02:00
README Documentation: get rid of some more references to CVS, switch to GIT. 2008-04-25 00:13:07 +02:00
autogen.sh autogen.sh: Don't set AUTO{CONF|MAKE}_VERSION and WANT_AUTO{CONF|MAKE} 2008-06-27 05:55:45 +02:00
config.guess Updated config.{guess|sub} to version 2008-01-16. 2008-10-03 15:35:43 +02:00
config.sub Updated config.{guess|sub} to version 2008-01-16. 2008-10-03 15:35:43 +02:00
configure.in ngIRCd release 14.1 2009-05-05 12:58:51 +02:00

README

                     ngIRCd - Next Generation IRC Server

                        (c)2001-2007 Alexander Barton,
                    alex@barton.de, http://www.barton.de/

               ngIRCd is free software and published under the
                   terms of the GNU General Public License.

                                -- README --


I. Introduction
~~~~~~~~~~~~~~~

ngIRCd is an Open Source server for the Internet Relay Chat (IRC), which
is developed and published under the terms of the GNU General Public
Licence (URL: http://www.gnu.org/licenses/gpl.html). ngIRCd means "next
generation IRC daemon", it's written from scratch and not deduced from the
"grandfather of IRC daemons", the daemon of the IRCNet.

Please see the INSTALL document for installation and upgrade information!


II. Status
~~~~~~~~~~~

It is not the goal of ngIRCd to implement all the nasty behaviours of the
original ircd, but to implement most of the useful commands and semantics
specified by the RFCs.

In the meantime ngIRCd should be quite feature complete and stable to be
used in real IRC networks.

Implemented IRC-commands are:

ADMIN, AWAY, CHANINFO, CONNECT, DIE, DISCONNECT, ERROR, HELP, INVITE, ISON,
JOIN, KICK, KILL, LINKS, LIST, LUSERS, MODE, MOTD, NAMES, NICK, NJOIN, NOTICE,
OPER, PART, PASS, PING, PONG, PRIVMSG, QUIT, REHASH, RESTART, SERVER, SQUIT,
STATS, TIME, TOPIC, TRACE, USER, USERHOST, VERSION, WALLOPS, WHO, WHOIS,
WHOWAS.


III. Features (or: why use ngIRCd?)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- no problems with servers which have dynamic IP addresses
- simple, easy understandable configuration file,
- freely published open-source C source code,
- ngIRCd will be developed on in the future.
- wide field of supported platforms, including AIX, A/UX, FreeBSD, HP-UX,
  IRIX, Linux, Mac OS X, NetBSD, OpenBSD, Solaris, and Windows with Cygwin.


IV. Documentation
~~~~~~~~~~~~~~~~~

More documentation can be found in the "doc/" directory and the homepage of
the ngIRCd: <http://ngircd.barton.de/>.


V. Download
~~~~~~~~~~~

The homepage of the ngIRCd is: <http://ngircd.barton.de/>; you will find
the newest information about the ngIRCd and the most recent ("stable")
releases there.

If you are interested in the latest development versions (which are not
always stable), then please read the section about "GIT" on the homepage and
the file "doc/GIT.txt" which describes the use of GIT, the version control
system used by ngIRCd (homepage: http://git.or.cz/).


VI. Bugs
~~~~~~~~

If you find bugs in the ngIRCd (which might be there :-), please report
them at the following URL:

<http://ngircd.barton.de/#bugs>

There you can read about known bugs and limitations, too.

If you have critics, patches or something else, please feel free to post a
mail to the ngIRCd mailing list: <ngircd-ml@arthur.ath.cx> (please see
<http://ngircd.barton.de/#ml> for details).