ngircd optimised for use with a tor HS || note to self; compile with ./configure --with-openssl --enable-ipv6
Go to file
Christoph Biedl ccc899c7f4 Reproducible builds
At the moment ngircd fails the tests for reproducible builds in Debian
since it uses the __DATE__ and __TIME__ macros for the INFO command.

Instead of patching this out I decided to implement an optional
constant BIRTHTIME that allows you to set a time stamp for the "Birth
Date" information, in seconds since the epoch, like in

    export CFLAGS += -DBIRTHTIME=$(shell date +%s --date="2015/08/15 23:42:22")

In the future, Debian will provide a SOURCE_DATE_EPOCH environment
variable, dealing with the situation until then will be my job.

The time format was taken from the NGIRCd_StartStr formatting in
ngircd.c so the "Birth Date" and "On-line since" lines in the INFO
output look similar:

    :irc.example.net 371 nick :ngIRCd 22.1-IDENT+IPv6+IRCPLUS+PAM+SSL+SYSLOG+ZLIB-x86_64/pc/linux-gnu
    :irc.example.net 371 nick :Birth Date: Tue Aug 25 2015 at 18:11:11 (CEST)
    :irc.example.net 371 nick :On-line since Tue Aug 25 2015 at 18:11:33 (CEST)
    :irc.example.net 374 nick :End of INFO list

The format of the time stamped is changed, but as far as I can tell, there's no
rule that is violated by that.

Bonus level: Reformat the messages so the time stamps are aligned.
2015-08-26 10:05:36 +02:00
contrib Update systemd service file 2015-08-14 19:55:32 +02:00
doc Merge pull request #217 from SaberUK/master+notice-auth 2015-08-01 14:51:04 +02:00
man Merge pull request #217 from SaberUK/master+notice-auth 2015-08-01 14:51:04 +02:00
src Reproducible builds 2015-08-26 10:05:36 +02:00
.gitignore Add "build+*" to .gitignore file 2015-07-20 09:34:39 +02:00
.mailmap Added mailmap file for git-[short]log and git-blame 2010-07-25 15:13:50 +02:00
.travis.yml Travis-CI: Enable OpenSSL and libiconv support 2013-06-04 12:46:44 +02:00
AUTHORS READNE, AUTHORS: Update mailing list and issue tracker URLs 2015-07-19 03:21:37 +02:00
COPYING Update GPL 2 license text to current version 2011-11-06 21:53:15 +01:00
ChangeLog Update NEWS and ChangeLog files 2015-08-07 17:20:47 +02:00
INSTALL INSTALL: Add deprecation notice for "PredefChannelsOnly" 2015-08-01 14:52:11 +02:00
Makefile.am Makefile.am: don't use "test -e", it isn't portable 2014-01-05 00:12:10 +01:00
NEWS Update NEWS and ChangeLog files 2015-08-07 17:20:47 +02:00
README READNE, AUTHORS: Update mailing list and issue tracker URLs 2015-07-19 03:21:37 +02:00
autogen.sh autogen.sh: Check for autoconf/automake wrapper scripts 2013-01-27 12:54:48 +01:00
config.guess Update config.guess and config.sub to recent versions 2014-07-14 10:53:37 +02:00
config.sub Update config.guess and config.sub to recent versions 2014-07-14 10:53:37 +02:00
configure.ng Make setgroups(3) function optional 2015-06-06 22:19:47 +02:00

README

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

               (c)2001-2015 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:

<https://github.com/ngircd/ngircd/issues>

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

If you have comments, patches or something else, please feel free to post
a mail to the ngIRCd mailing list: <ngircd-ml@ngircd.barton.de> (please see
<http://ngircd.barton.de/support.php> for details) or join the ngIRCd IRC
channel: <irc://irc.barton.de/ngircd>.