ngircd optimised for use with a tor HS || note to self; compile with ./configure --with-openssl --enable-ipv6
Go to file
Alexander Barton d5f80b2a8d Always use get{addr|name}info() when available
Both getaddrinfo() and getnameinfo() are now used always when available, and
not only when compiling ngIRCd with support for IPv6.

This not only enables ngIRCd to handle multiple addresses per hostname when
compiled without support for IPv6, but fixes binding ngIRCd to IP addresses
on Mac OS X (and probably other BSD-based systems) as well: these systems
require that sockaddr_in is zeroed out and sockaddr_in.sin_len is set to
sizeof(sockaddr_in) like that:

  src/ipaddr/ng_ipaddr.c, line 54:

        assert(ip_str);
      + memset(addr, 0, sizeof *addr);
      + addr->sin4.sin_len = sizeof(addr->sin4);
        addr->sin4.sin_family = AF_INET;

But this would break all the systems not using sockaddr_in.sin_len, for
example Linux -- so we assume that all these systems provide getaddrinfo()
and use that for now.
2009-09-14 01:07:39 +02:00
contrib Xcode: add "debug" configuration to project 2009-09-14 00:23:44 +02:00
doc Updated doc/Platforms.txt 2009-08-04 22:53:38 +02:00
man do not add default listening port if ssl ports were specified 2009-08-31 22:08:35 +02:00
src Fix cb_connserver() to handle aborted outgoing connections 2009-09-12 00:17:42 +02:00
.gitignore GIT: Ignore Debian-related generated files. 2008-10-03 15:50:35 +02:00
AUTHORS AUTHORS: update my email address 2009-06-08 12:25:35 +02:00
COPYING - Dokumentation aktualisiert. 2002-03-03 13:07:01 +00:00
ChangeLog Update NEWS and ChangeLog for next release 2009-08-12 14:48:33 +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 Mac OS X: fix test for packagemaker(1) tool in Makefile 2009-09-10 11:48:14 +02:00
NEWS Update NEWS and ChangeLog for next release 2009-08-12 14:48:33 +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 Always use get{addr|name}info() when available 2009-09-14 01:07:39 +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).