ngircd optimised for use with a tor HS || note to self; compile with ./configure --with-openssl --enable-ipv6
Go to file
Alexander Barton 8ab097afb7 Implement support for systemd(8) "socket activation"
This patch enables ngIRCd to work with listening sockets already
initialized and passed-in by systemd(8) and hereby to support on-demand
"socket activation".

systemd(8) uses two environment variables to pass information about the
sockets to ngIRCd, LISTEN_PID and LISTEN_FDS, and this mechanism only
kicks in when both variables are set. In all other cases, and therefore
in most installations out there, nothing changes at all.

Please note:
If socket activation is in effect, ngIRCd will not initialize any (other)
soeckets on its own! All sockets must be configured in the systemd(8)
socket unit configuration file in this case, see ./contrib/ngircd.socket
for example.

Probably it would be interesting to match passed-in sockets to configured
listening sockets and to initialize all the remaining ones not already
set up by systemd(8), but this is kept back for an other patch ...

See
 - <http://0pointer.de/blog/projects/socket-activation.html>
 - <http://0pointer.de/blog/projects/socket-activation2.html>
 - <http://www.freedesktop.org/software/systemd/man/systemd.socket.html>
2013-02-04 21:52:27 +01:00
contrib Implement support for systemd(8) "socket activation" 2013-02-04 21:52:27 +01:00
doc Use "${docdir}/Commands.txt" as help text file 2013-01-01 19:25:06 +01:00
man Add a note that "help file" is updated on startup and REHASH only 2013-01-01 15:35:58 +01:00
src Implement support for systemd(8) "socket activation" 2013-02-04 21:52:27 +01:00
.gitignore Rename configure.in to configure.ac 2012-09-24 20:40:31 +02:00
.mailmap Added mailmap file for git-[short]log and git-blame 2010-07-25 15:13:50 +02:00
AUTHORS AUTHORS: Update list of contributors 2013-01-23 19:45:00 +01:00
COPYING Update GPL 2 license text to current version 2011-11-06 21:53:15 +01:00
ChangeLog ngIRCd Release 20.1 2013-01-02 22:37:55 +01:00
INSTALL Update Copyright notices for 2013 2013-01-01 19:23:56 +01:00
Makefile.am Makefile.am: don't use "make -C", it isn't portable 2012-09-27 01:11:01 +02:00
NEWS ngIRCd Release 20.1 2013-01-02 22:37:55 +01:00
README Update Copyright notices for 2013 2013-01-01 19:23:56 +01:00
autogen.sh autogen.sh: Check for autoconf/automake wrapper scripts 2013-01-27 12:54:48 +01:00
config.guess Updated config.{guess|sub} to version 2012-08-14 2012-09-13 18:32:28 +02:00
config.sub Updated config.{guess|sub} to version 2012-08-14 2012-09-13 18:32:28 +02:00
configure.ng configure: "netinet/in_systm.h" is optional 2013-01-24 22:45:00 +01:00

README

                     ngIRCd - Next Generation IRC Server
                           http://ngircd.barton.de/

               (c)2001-2013 Alexander Barton and Contributors.
               ngIRCd is free software and published under the
                   terms of the GNU General Public License.

                                -- README --


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

ngIRCd is a free, portable and lightweight Internet Relay Chat server for
small or private networks, developed under the GNU General Public License
(GPL; please see the file COPYING for details). It is simple to configure,
can cope with dynamic IP addresses, and supports IPv6 as well as SSL. It is
written from scratch and not based on the original IRCd.

The name ngIRCd means next generation IRC daemon, which is a little bit
exaggerated: lightweight Internet Relay Chat server most probably would be a
better name :-)

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, GLINE, HELP, INFO,
INVITE, ISON, JOIN, KICK, KILL, KLINE, LINKS, LIST, LUSERS, MODE, MOTD,
NAMES, NICK, NJOIN, NOTICE, OPER, PART, PASS, PING, PONG, PRIVMSG, QUIT,
REHASH, RESTART, SERVER, SERVICE, SERVLIST, SQUERY, SQUIT, STATS, SUMMON,
TIME, TOPIC, TRACE, USER, USERHOST, USERS, VERSION, WALLOPS, WEBIRC, WHO,
WHOIS, WHOWAS.

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

- well arranged (lean) configuration file
- simple to build/install, configure and maintain
- supports IPv6 and SSL
- no problems with servers that have dynamic IP addresses
- freely available, modern, portable and tidy C-source
- wide field of supported platforms, including AIX, A/UX, FreeBSD, HP-UX,
  IRIX, Linux, Mac OS X, NetBSD, OpenBSD, Solaris, and Windows with Cygwin.
- ngIRCd is being actively developed since 2001.


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-scm.com/).


VI. Bugs
~~~~~~~~

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

<http://ngircd.barton.de/bugtracker.php>

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.barton.de> (please see
<http://ngircd.barton.de/support.php#ml> for details) or join the ngIRCd
IRC channel: <irc://irc.barton.de/ngircd>.