summaryrefslogtreecommitdiff
path: root/ngircd/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'ngircd/contrib')
-rw-r--r--ngircd/contrib/Debian/.gitignore7
-rw-r--r--ngircd/contrib/Debian/Makefile.am30
-rw-r--r--ngircd/contrib/Debian/changelog598
-rw-r--r--ngircd/contrib/Debian/control46
-rw-r--r--ngircd/contrib/Debian/copyright58
-rw-r--r--ngircd/contrib/Debian/ngircd.default7
-rw-r--r--ngircd/contrib/Debian/ngircd.pam10
-rwxr-xr-xngircd/contrib/Debian/rules72
-rw-r--r--ngircd/contrib/Debian/source/format1
-rw-r--r--ngircd/contrib/Debian/watch10
-rw-r--r--ngircd/contrib/Dockerfile68
-rw-r--r--ngircd/contrib/Makefile.am33
-rw-r--r--ngircd/contrib/README.md40
-rw-r--r--ngircd/contrib/de.barton.ngircd.metainfo.xml129
-rw-r--r--ngircd/contrib/de.barton.ngircd.plist23
-rw-r--r--ngircd/contrib/ngIRCd-Logo.gifbin0 -> 1975 bytes
-rwxr-xr-xngircd/contrib/ngindent.sh46
-rwxr-xr-xngircd/contrib/ngircd-bsd.sh51
-rw-r--r--ngircd/contrib/ngircd-fail2ban.conf25
-rwxr-xr-xngircd/contrib/ngircd-redhat.init119
-rw-r--r--ngircd/contrib/ngircd.logcheck54
-rw-r--r--ngircd/contrib/ngircd.service48
-rw-r--r--ngircd/contrib/ngircd.socket12
-rw-r--r--ngircd/contrib/ngircd.spec57
-rwxr-xr-xngircd/contrib/nglog.sh28
-rwxr-xr-xngircd/contrib/platformtest.sh257
26 files changed, 1829 insertions, 0 deletions
diff --git a/ngircd/contrib/Debian/.gitignore b/ngircd/contrib/Debian/.gitignore
new file mode 100644
index 0000000..2b352d4
--- /dev/null
+++ b/ngircd/contrib/Debian/.gitignore
@@ -0,0 +1,7 @@
+*.log
+*.debhelper
+*.substvars
+debhelper-build-stamp
+files
+ngircd/
+ngircd.service
diff --git a/ngircd/contrib/Debian/Makefile.am b/ngircd/contrib/Debian/Makefile.am
new file mode 100644
index 0000000..bbc715f
--- /dev/null
+++ b/ngircd/contrib/Debian/Makefile.am
@@ -0,0 +1,30 @@
+#
+# ngIRCd -- The Next Generation IRC Daemon
+# Copyright (c)2001-2024 Alexander Barton (alex@barton.de) and Contributors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# Please read the file COPYING, README and AUTHORS for more information.
+#
+
+EXTRA_DIST = \
+ changelog \
+ control \
+ copyright \
+ ngircd.default \
+ ngircd.pam \
+ rules \
+ watch \
+ source/format
+
+maintainer-clean-local:
+ rm -f Makefile Makefile.in
+
+clean-local:
+ rm -f *.log *.debhelper *.substvars
+ rm -f debhelper-build-stamp files ngircd.service
+ rm -rf .debhelper/ ngircd/
+
+# -eof-
diff --git a/ngircd/contrib/Debian/changelog b/ngircd/contrib/Debian/changelog
new file mode 100644
index 0000000..3d008ed
--- /dev/null
+++ b/ngircd/contrib/Debian/changelog
@@ -0,0 +1,598 @@
+ngircd (27-0ab1) unstable; urgency=medium
+
+ * New "upstream" release: ngIRCd 27.
+
+ -- Alexander Barton <alex@barton.de> Fri, 26 Apr 2024 16:52:14 +0200
+
+ngircd (27~rc1-0ab1) unstable; urgency=medium
+
+ * New "upstream" release candidate 1 for ngIRCd Release 27.
+
+ -- Alexander Barton <alex@barton.de> Sat, 13 Apr 2024 12:26:35 +0200
+
+ngircd (26.1-0ab1) unstable; urgency=medium
+
+ * New "upstream" release: ngIRCd 26.1.
+
+ -- Alexander Barton <alex@barton.de> Sat, 02 Jan 2021 14:31:51 +0100
+
+ngircd (26-0ab1) unstable; urgency=medium
+
+ * New "upstream" release: ngIRCd 26.
+
+ -- Alexander Barton <alex@barton.de> Sat, 20 Jun 2020 15:26:46 +0200
+
+ngircd (26~rc2-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 2 for ngIRCd Release 26.
+
+ -- Alexander Barton <alex@barton.de> Thu, 11 Jun 2020 17:21:17 +0200
+
+ngircd (26~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 26.
+
+ -- Alexander Barton <alex@barton.de> Sun, 10 May 2020 17:13:17 +0200
+
+ngircd (25-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 25.
+
+ -- Alexander Barton <alex@barton.de> Wed, 23 Jan 2019 23:13:03 +0100
+
+ngircd (25~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 25.
+
+ -- Alexander Barton <alex@barton.de> Sat, 11 Aug 2018 21:35:08 +0200
+
+ngircd (24-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 24.
+
+ -- Alexander Barton <alex@barton.de> Fri, 20 Jan 2017 16:43:09 +0100
+
+ngircd (24~rc1-0ab2) unstable; urgency=low
+
+ * Use OpenSSL instead of GnuTLS for SSL-enabled packages.
+
+ -- Alexander Barton <alex@barton.de> Fri, 20 Jan 2017 15:20:07 +0100
+
+ngircd (24~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 24.
+
+ -- Alexander Barton <alex@barton.de> Sat, 07 Jan 2017 18:58:02 +0100
+
+ngircd (23-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 23.
+
+ -- Alexander Barton <alex@barton.de> Mon, 16 Nov 2015 21:27:03 +0100
+
+ngircd (23~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 23.
+
+ -- Alexander Barton <alex@barton.de> Sun, 06 Sep 2015 16:55:23 +0200
+
+ngircd (22.1-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 22.1.
+
+ -- Alexander Barton <alex@barton.de> Mon, 06 Apr 2015 14:34:50 +0200
+
+ngircd (22-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 22.
+
+ -- Alexander Barton <alex@barton.de> Sat, 11 Oct 2014 20:29:03 +0200
+
+ngircd (22~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 22.
+
+ -- Alexander Barton <alex@barton.de> Mon, 29 Sep 2014 17:07:55 +0200
+
+ngircd (21.1-0ab2) unstable; urgency=low
+
+ * Use correct package name in pathname to "HelpFile" (Command.txt)
+ in "ngircd-full" and "ngircd-full-dbg" packages.
+ * Don't adjust path names that are correct by default.
+
+ -- Alexander Barton <alex@barton.de> Mon, 14 Jul 2014 11:20:17 +0200
+
+ngircd (21.1-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 21.1.
+
+ -- Alexander Barton <alex@barton.de> Tue, 25 Mar 2014 14:44:59 +0100
+
+ngircd (21-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 21.
+
+ -- Alexander Barton <alex@barton.de> Wed, 30 Oct 2013 22:13:55 +0100
+
+ngircd (21~rc2-0ab3) unstable; urgency=low
+
+ * Fix sed(1) rules adjusting "ngircd-full" package, error introduced
+ by last commit :-/
+
+ -- Alexander Barton <alex@barton.de> Sun, 20 Oct 2013 18:31:16 +0200
+
+ngircd (21~rc2-0ab2) unstable; urgency=low
+
+ * Fix default "HelpFile" file name in ngircd.conf for "full" packages.
+
+ -- Alexander Barton <alex@barton.de> Sun, 20 Oct 2013 17:18:28 +0200
+
+ngircd (21~rc2-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 2 for ngIRCd Release 21.
+
+ -- Alexander Barton <alex@barton.de> Sun, 20 Oct 2013 15:50:03 +0200
+
+ngircd (21~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 21.
+
+ -- Alexander Barton <alex@barton.de> Sat, 05 Oct 2013 23:24:09 +0200
+
+ngircd (20.3-0ab1) unstable; urgency=high
+
+ * New "upstream" release, fixing a security related bug: ngIRCd 20.3.
+
+ -- Alexander Barton <alex@barton.de> Fri, 23 Aug 2013 21:53:21 +0200
+
+ngircd (20.2-0ab1) unstable; urgency=high
+
+ * New "upstream" release, fixing a security related bug: ngIRCd 20.2.
+
+ -- Alexander Barton <alex@barton.de> Fri, 15 Feb 2013 12:17:00 +0100
+
+ngircd (20.1-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 20.1.
+
+ -- Alexander Barton <alex@barton.de> Wed, 02 Jan 2013 22:37:26 +0100
+
+ngircd (20-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 20.
+
+ -- Alexander Barton <alex@barton.de> Mon, 17 Dec 2012 13:04:15 +0100
+
+ngircd (20~rc2-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 2 for ngIRCd Release 20.
+
+ -- Alexander Barton <alex@barton.de> Sun, 02 Dec 2012 18:51:06 +0100
+
+ngircd (20~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 20.
+
+ -- Alexander Barton <alex@barton.de> Sun, 11 Nov 2012 16:03:32 +0100
+
+ngircd (19.2-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 19.2.
+
+ -- Alexander Barton <alex@barton.de> Tue, 19 Jun 2012 11:03:12 +0200
+
+ngircd (19.2~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRC Release 19.2.
+
+ -- Alexander Barton <alex@barton.de> Wed, 13 Jun 2012 10:59:34 +0200
+
+ngircd (19.1-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 19.1.
+
+ -- Alexander Barton <alex@barton.de> Mon, 19 Mar 2012 19:18:28 +0100
+
+ngircd (19-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 19.
+
+ -- Alexander Barton <alex@barton.de> Wed, 29 Feb 2012 17:34:08 +0100
+
+ngircd (19~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 19.
+
+ -- Alexander Barton <alex@barton.de> Sun, 12 Feb 2012 17:47:51 +0100
+
+ngircd (18-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 18.
+
+ -- Alexander Barton <alex@barton.de> Sun, 10 Jul 2011 20:03:20 +0200
+
+ngircd (18~rc2-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 2 for ngIRCd Release 18.
+
+ -- Alexander Barton <alex@barton.de> Wed, 29 Jun 2011 10:20:51 +0200
+
+ngircd (18~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 18.
+
+ -- Alexander Barton <alex@barton.de> Mon, 27 Jun 2011 22:58:36 +0200
+
+ngircd (17.1-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 17.1.
+
+ -- Alexander Barton <alex@barton.de> Sun, 19 Dec 2010 15:56:42 +0100
+
+ngircd (17-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 17.
+
+ -- Alexander Barton <alex@barton.de> Sun, 07 Nov 2010 17:23:07 +0100
+
+ngircd (17~rc3-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 3 for ngIRCd Release 17.
+
+ -- Alexander Barton <alex@barton.de> Wed, 27 Oct 2010 22:30:08 +0200
+
+ngircd (17~rc2-0ab2) unstable; urgency=low
+
+ * Install /etc/pam.d/ngircd including "auth required pam_permit.so" when
+ installing -full or -full-dbg variant to keep backwards compatibility.
+
+ -- Alexander Barton <alex@barton.de> Tue, 26 Oct 2010 23:34:56 +0200
+
+ngircd (17~rc2-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 2 for ngIRCd Release 17.
+
+ -- Alexander Barton <alex@barton.de> Mon, 25 Oct 2010 18:51:15 +0200
+
+ngircd (17~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 17.
+
+ -- Alexander Barton <alex@barton.de> Mon, 11 Oct 2010 16:57:47 +0200
+
+ngircd (16-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 16.
+
+ -- Alexander Barton <alex@barton.de> Sun, 02 May 2010 13:32:41 +0200
+
+ngircd (16~rc2-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 2 for ngIRCd Release 16.
+
+ -- Alexander Barton <alex@barton.de> Sun, 25 Apr 2010 13:12:42 +0200
+
+ngircd (16~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 16.
+
+ -- Alexander Barton <alex@barton.de> Thu, 25 Mar 2010 15:56:03 +0200
+
+ngircd (15-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 15.
+
+ -- Alexander Barton <alex@barton.de> Thu, 7 Nov 2009 12:07:08 +0200
+
+ngircd (15~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 15.
+
+ -- Alexander Barton <alex@barton.de> Thu, 15 Oct 2009 10:01:08 +0200
+
+ngircd (14.1-0ab1) unstable; urgency=high
+
+ * New "upstream" release ngIRCd 14.1, fixing a security-related bug.
+
+ -- Alexander Barton <alex@barton.de> Tue, 5 May 2009 13:13:38 +0200
+
+ngircd (14-0ab3) unstable; urgency=low
+
+ * Fixed "Conflicts:" line in debian/control: missing comma.
+
+ -- Alexander Barton <alex@barton.de> Mon, 4 May 2009 11:21:55 +0200
+
+ngircd (14-0ab2) unstable; urgency=low
+
+ * Add new "ngircd-full-dbg" package including degug code and both
+ the --debug and --sniffer options, and containing debug symbols.
+
+ -- Alexander Barton <alex@barton.de> Wed, 29 Apr 2009 01:13:03 +0200
+
+ngircd (14-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 14.
+
+ -- Alexander Barton <alex@barton.de> Mon, 20 Apr 2009 11:09:12 +0200
+
+ngircd (14~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 14.
+
+ -- Alexander Barton <alex@barton.de> Sun, 29 Mar 2009 17:09:17 +0200
+
+ngircd (13-0ab1) unstable; urgency=low
+
+ * New "upstream" release: ngIRCd 13.
+
+ -- Alexander Barton <alex@barton.de> Thu, 25 Dec 2008 23:09:58 +0100
+
+ngircd (13~rc1-0ab1) unstable; urgency=low
+
+ * New "upstream" release candidate 1 for ngIRCd Release 13.
+
+ -- Alexander Barton <alex@barton.de> Fri, 21 Nov 2008 22:04:41 +0100
+
+ngircd (0.12.1-0ab1+dev) unstable; urgency=low
+
+ * Update package for testing the new "upstream" features:
+ - Support for IRC services (see http://www.ircservices.za.net),
+ - Encrypted connections using GNU TLS (ngircd-full),
+ - Support for the IPv6 protocol (ngircd-full).
+
+ -- Alexander Barton <alex@barton.de> Fri, 03 Oct 2008 16:22:55 +0200
+
+ngircd (0.12.1-0ab1) unstable; urgency=low
+
+ * New "upstream" release ngIRCd 0.12.1.
+
+ -- Alexander Barton <alex@barton.de> Wed, 9 Jul 2008 11:27:00 +0200
+
+ngircd (0.12.0-0ab1) unstable; urgency=low
+
+ * New "upstream" release ngIRCd 0.12.0.
+
+ -- Alexander Barton <alex@barton.de> Tue, 13 May 2008 12:30:31 +0200
+
+ngircd (0.12.0-0ab0-pre2) unstable; urgency=low
+
+ * Second prerelease of upcoming new "upstrem" release 0.12.0-pre1.
+
+ -- Alexander Barton <alex@barton.de> Tue, 29 Apr 2008 23:06:14 +0200
+
+ngircd (0.12.0-0ab0-pre1) unstable; urgency=low
+
+ * Prereloease of upcoming new "upstrem" release 0.12.0-pre1.
+
+ -- Alexander Barton <alex@barton.de> Sun, 20 Apr 2008 15:43:34 +0200
+
+ngircd (0.11.0-0ab0-pre2) unstable; urgency=low
+
+ * Second prerelease of upcoming new "upstream release".
+
+ -- Alexander Barton <alex@barton.de> Mon, 7 Jan 2008 15:32:42 +0100
+
+ngircd (0.11.0-0ab0-pre1) unstable; urgency=low
+
+ * Prerelease of upcoming new "upstream release".
+
+ -- Alexander Barton <alex@barton.de> Wed, 2 Jan 2008 21:33:15 +0100
+
+ngircd (0.10.4-0ab1) unstable; urgency=high
+
+ * New "upstream" release: 0.10.4 - fixing a security bug.
+
+ -- Alexander Barton <alex@barton.de> Mon, 7 Jan 2008 22:04:44 +0100
+
+ngircd (0.10.0-0ab1) unstable; urgency=low
+
+ * New "upstream" release: 0.10.0
+
+ -- Alexander Barton <alex@barton.de> Sun, 1 Oct 2006 18:14:21 +0200
+
+ngircd (0.10.0-0ab0-pre2-1) unstable; urgency=low
+
+ * Bumped standards version to 3.7.2.1.
+ * Added "Provides: ircd" to Debian control file.
+
+ -- Alexander Barton <alex@barton.de> Sun, 1 Oct 2006 16:25:33 +0200
+
+ngircd (0.10.0-0ab0-pre2) unstable; urgency=low
+
+ * Second "upstream" prerelease of upcoming 0.10.0 release.
+
+ -- Alexander Barton <alex@barton.de> Sat, 9 Sep 2006 20:57:52 +0200
+
+ngircd (0.10.0-0ab0-pre1) unstable; urgency=low
+
+ * Prerelease of upcoming new "upstream release".
+
+ -- Alexander Barton <alex@barton.de> Wed, 2 Aug 2006 12:01:07 +0200
+
+ngircd (0.9.2-0ab1) unstable; urgency=low
+
+ * New "upstream release" fixing a few bugs in 0.9.1.
+
+ -- Alexander Barton <alex@barton.de> Sat, 15 Oct 2005 14:10:34 +0200
+
+ngircd (0.9.1-0ab1) unstable; urgency=medium
+
+ * New "upstream release" addressing two problems in ngIRCd 0.9.0.
+
+ -- Alexander Barton <alex@barton.de> Wed, 3 Aug 2005 15:10:41 +0200
+
+ngircd (0.9.0-0ab2) unstable; urgency=medium
+
+ * Init script: fixed a problem with symbolic links in runlevel directories
+ that could prevent the init script from working correctly.
+
+ -- Alexander Barton <alex@barton.de> Tue, 26 Jul 2005 21:31:18 +0200
+
+ngircd (0.9.0-0ab1) unstable; urgency=low
+
+ * New "upstream release".
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Sat, 24 Jul 2005 23:30:00 +0200
+
+ngircd (0.8.3-0ab1) unstable; urgency=high
+
+ * New "upstream release", including security fixes.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Thu, 3 Feb 2005 10:41:55 +0100
+
+ngircd (0.8.2-0ab1) unstable; urgency=high
+
+ * New "upstream release", including security fixes.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Wed, 26 Jan 2005 23:14:12 +0100
+
+ngircd (0.8.1-0ab1) unstable; urgency=low
+
+ * New "upstream release".
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Sat, 25 Dec 2004 01:18:32 +0100
+
+ngircd (0.8.0-0ab2) unstable; urgency=low
+
+ * Added missing commas to debian control file, fixes bug #56.
+ Thanks to Kevin Otte.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Thu, 15 Jul 2004 10:53:39 +0200
+
+ngircd (0.8.0-0ab1) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Sat, 26 Jun 2004 11:25:59 +0200
+
+ngircd (0.7.7+HEAD-0ab6) unstable; urgency=low
+
+ * Incorporated actual CVS HEAD version which includes all features of
+ version 0.8.0-pre1 and patches for the resolver and logger.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Tue, 11 May 2004 02:18:50 +0200
+
+ngircd (0.7.7+HEAD-0ab5) unstable; urgency=low
+
+ * Updates from CVS HEAD branch, most notably: "INVITE- and BAN-lists
+ become synchronized between IRC+ servers when establishing new
+ connections, if the peer supports this as well."
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Mon, 26 Apr 2004 01:53:15 +0200
+
+ngircd (0.7.7+HEAD-0ab4) unstable; urgency=low
+
+ * This version includes fixes for INVITE command and the handling of the
+ invite and ban lists from CVS-HEAD.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Fri, 9 Apr 2004 23:55:13 +0200
+
+ngircd (0.7.7+HEAD-0ab3) unstable; urgency=low
+
+ * Included MODE fix from CVS-HEAD branch.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Mon, 5 Apr 2004 13:09:24 +0200
+
+ngircd (0.7.7+HEAD-0ab2) unstable; urgency=low
+
+ * Incorporated more fixes and enhancements of CVS-HEAD version,
+ e. g. better connection logging and fixed TRACE command.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Sat, 28 Feb 2004 03:20:32 +0100
+
+ngircd (0.7.7+HEAD-0ab1) unstable; urgency=low
+
+ * New upstream version. This debian package includes all features of
+ ngIRCd 0.7.7 and changes of the CVS-HEAD development tree.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Thu, 5 Feb 2004 15:23:22 +0100
+
+ngircd (0.7.6+HEAD-0ab2) unstable; urgency=low
+
+ * Included new fixes and additions from the CVS-HEAD upstream branch,
+ e. g. the setting of type of service (TOS) on sockets.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Mon, 26 Jan 2004 04:05:41 +0100
+
+ngircd (0.7.6+HEAD-0ab1) unstable; urgency=low
+
+ * Included all changes from the CVS-HEAD upstream version.
+ * Restructured debian packaging system: now there are two packages, a
+ "standard" version that includes all the default options and a "full"
+ version that additionally includes support for TCP wrappers and IDENT
+ lookups.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Thu, 1 Jan 2004 23:12:11 +0100
+
+ngircd (0.7.6-0ab1) unstable; urgency=medium
+
+ * New upstream version.
+ * Changed version numvering scheme of debian package.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Fri, 5 Dec 2003 14:26:41 +0100
+
+ngircd (0.7.5-0.2ab) unstable; urgency=low
+
+ * Updated RPM and Debian package description and configuration.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Sat, 29 Nov 2003 21:24:32 +0100
+
+ngircd (0.7.5-0.1ab) unstable; urgency=low
+
+ * New upstream version.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Fri, 7 Nov 2003 21:59:58 +0100
+
+ngircd (0.7.1-0.1ab) unstable; urgency=low
+
+ * New upstream version :-)
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Fri, 18 Jul 2003 22:53:02 +0200
+
+ngircd (0.7.0-0.7ab) unstable; urgency=low
+
+ * Fixed up post installation script (added interpreter, fixed chmod call).
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Sun, 13 Jul 2003 00:52:38 +0200
+
+ngircd (0.7.0-0.6ab) unstable; urgency=low
+
+ * Added /etc/default/ngircd.
+ * Included own post installation script.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Sat, 12 Jul 2003 20:31:09 +0200
+
+ngircd (0.7.0-0.5ab) unstable; urgency=low
+
+ * Enhanced init script.
+ * Included NJOIN fix from actual CVS "HEAD" branch.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Wed, 9 Jul 2003 22:40:49 +0200
+
+ngircd (0.7.0-0.4ab) unstable; urgency=low
+
+ * Reverted use of dh_installexamples.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Thu, 22 May 2003 00:15:03 +0200
+
+ngircd (0.7.0-0.3ab) unstable; urgency=low
+
+ * Removed "debian/docs" and "debian/conffiles"; debhelper takes care of
+ this for us automagically.
+ * Excluded "etc/ngircd.conf" from dh_fixperms.
+
+ -- Alexander Barton <alex@Arthur.Ath.CX> Wed, 21 May 2003 23:25:05 +0200
+
+ngircd (0.7.0-0.2ab) unstable; urgency=low
+
+ * Fixed wrong variable substitution in init script.
+ * Added some CVS "Id-Tags" (but not checked in, yet).
+ * Removed own "Provides:" from control file.
+
+ -- Alexander Barton <alex@barton.de> Wed, 21 May 2003 12:32:34 +0200
+
+ngircd (0.7.0-0.1ab) unstable; urgency=low
+
+ * Initial Release.
+
+ -- Alexander Barton <alex@barton.de> Wed, 21 May 2003 02:36:52 +0200
diff --git a/ngircd/contrib/Debian/control b/ngircd/contrib/Debian/control
new file mode 100644
index 0000000..e05ae64
--- /dev/null
+++ b/ngircd/contrib/Debian/control
@@ -0,0 +1,46 @@
+Source: ngircd
+Section: net
+Priority: optional
+Maintainer: Alexander Barton <alex@barton.de>
+Rules-Requires-Root: binary-targets
+Build-Depends: debhelper-compat (= 13),
+ expect,
+ libident-dev,
+ libpam0g-dev,
+ libssl-dev,
+ libz-dev,
+ openssl,
+ procps,
+ telnet | telnet-ssl,
+Standards-Version: 4.6.2
+Homepage: https://ngircd.barton.de
+Vcs-Browser: https://github.com/ngircd/ngircd
+Vcs-Git: https://github.com/ngircd/ngircd.git
+
+Package: ngircd
+Architecture: any
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+Conflicts:
+ ircd,
+Provides:
+ ircd,
+Description: lightweight Internet Relay Chat (IRC) server
+ ngIRCd is a free, portable and lightweight Internet Relay Chat (IRC) server
+ for small or private networks, developed under the terms of the GNU General
+ Public License (GPL).
+ .
+ The server is quite easy to configure and runs as a single-node server or can
+ be part of a network of ngIRCd servers in a LAN or across the internet. It
+ optionally supports the IPv6 protocol, SSL/TLS-protected client-server and
+ server-server links, the Pluggable Authentication Modules (PAM) system for
+ user authentication, IDENT requests, and character set conversion for legacy
+ clients.
+ .
+ The name ngIRCd stands for next-generation IRC daemon, which is a little bit
+ exaggerated: lightweight Internet Relay Chat server most probably would have
+ been a better name :-)
+ .
+ This package is built with support for all optional features and uses the
+ OpenSSL library for SSL/TLS support.
diff --git a/ngircd/contrib/Debian/copyright b/ngircd/contrib/Debian/copyright
new file mode 100644
index 0000000..4b39bfa
--- /dev/null
+++ b/ngircd/contrib/Debian/copyright
@@ -0,0 +1,58 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Source: https://ngircd.barton.de
+Upstream-Name: ngircd
+Upstream-Contact: ngIRCd Mailing List <ngircd@lists.barton.de>
+
+Files:
+ *
+Copyright:
+ 2001-2024 Alexander Barton <alex@barton.de> and Contributors.
+License: GPL-2.0+
+Comment:
+ See /usr/share/doc/ngircd/AUTHORS.md for the full list of authors and
+ contributors.
+
+Files:
+ contrib/de.barton.ngircd.metainfo.xml
+Copyright:
+ 2001-2024 Alexander Barton <alex@barton.de> and Contributors.
+License: MIT
+Comment:
+ See /usr/share/doc/ngircd/AUTHORS.md for the full list of authors and
+ contributors.
+
+License: GPL-2.0+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>
+Comment:
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
+
+License: MIT
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
diff --git a/ngircd/contrib/Debian/ngircd.default b/ngircd/contrib/Debian/ngircd.default
new file mode 100644
index 0000000..062d376
--- /dev/null
+++ b/ngircd/contrib/Debian/ngircd.default
@@ -0,0 +1,7 @@
+#
+# Defaults for the ngIRCd daemon
+#
+
+# Parameters to pass to the ngircd daemon on startup, see ngircd(8) for
+# possible options (default: empty).
+PARAMS=""
diff --git a/ngircd/contrib/Debian/ngircd.pam b/ngircd/contrib/Debian/ngircd.pam
new file mode 100644
index 0000000..9d2f6d5
--- /dev/null
+++ b/ngircd/contrib/Debian/ngircd.pam
@@ -0,0 +1,10 @@
+# /etc/pam.d/ngircd
+
+# You have to adjust this configuration to your local setup and needs. Keep in
+# mind that all PAM modules are run with the privileges of the user account the
+# ngIRCd daemon runs as ("irc" by default, not root!), so you can't use PAM
+# modules requiring root privileges (like pam_unix, for example)!
+
+# Log and deny all connections to ngIRCd:
+auth required pam_warn.so
+auth required pam_deny.so
diff --git a/ngircd/contrib/Debian/rules b/ngircd/contrib/Debian/rules
new file mode 100755
index 0000000..561f765
--- /dev/null
+++ b/ngircd/contrib/Debian/rules
@@ -0,0 +1,72 @@
+#!/usr/bin/make -f
+
+# See FEATURE AREAS in dpkg-buildflags(1).
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+%:
+ dh $@
+
+# Disable dh_autoreconf since we are using de-ANSI-fication which was removed
+# from automake a while ago. See <https://github.com/ngircd/ngircd/issues/261>.
+override_dh_autoreconf:
+
+override_dh_auto_configure:
+ dh_auto_configure -- \
+ --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
+ --prefix=/usr \
+ --mandir=\$${prefix}/share/man \
+ --sysconfdir=/etc/ngircd \
+ --with-iconv \
+ --with-ident \
+ --with-openssl \
+ --with-pam \
+ --with-syslog \
+ --with-zlib
+
+execute_before_dh_auto_install:
+ ln -fs $(CURDIR)/contrib/ngircd.service $(CURDIR)/debian/ngircd.service
+
+execute_after_dh_auto_install:
+# Generate the default ngircd.conf:
+ install -o root -g irc -m 0640 -D /dev/null \
+ $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf
+ sed \
+ -e "s|;ServerUID = 65534|ServerUID = irc|g" \
+ -e "s|;ServerGID = 65534|ServerGID = irc|g" \
+ -e "s|;PidFile = /var/run/ngircd/ngircd.pid|PidFile = /run/ircd/ngircd.pid|g" \
+ -e "s|;PAM = yes|PAM = no|g" \
+ -e "s|;\[SSL\]|[SSL]|g" \
+ -e "s|;CAFile = /etc/ssl/CA/cacert.pem|CAFile = /etc/ssl/certs/ca-certificates.crt|g" \
+ $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/sample-ngircd.conf \
+ >>$(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf
+
+# Create drop-in configuration directory:
+ install -o root -g irc -m 0750 -d \
+ $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf.d
+
+# Install an empty MOTD file.
+ install -o root -g irc -m 0640 -D /dev/null \
+ $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.motd
+
+# Install the logcheck(8) configuration.
+ install -o root -g root -m 0644 -D \
+ $(CURDIR)/contrib/ngircd.logcheck \
+ $(CURDIR)/debian/ngircd/etc/logcheck/ignore.d.paranoid/ngircd
+
+# Install the fail2ban configuration.
+ install -o root -g root -m 0644 -D \
+ $(CURDIR)/contrib/ngircd-fail2ban.conf \
+ $(CURDIR)/debian/ngircd/etc/fail2ban/filter.d/ngircd.conf
+
+# Make lintian happy :-)
+ rm $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/COPYING
+ mv $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/ChangeLog \
+ $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/changelog
+
+override_dh_fixperms:
+# Preserve the permissions of files installed in /etc/ngircd!
+ dh_fixperms -X/etc/ngircd
+
+override_dh_compress:
+# The Commands.txt file is read by the daemon, don't compress it!
+ dh_compress -XCommands.txt
diff --git a/ngircd/contrib/Debian/source/format b/ngircd/contrib/Debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/ngircd/contrib/Debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/ngircd/contrib/Debian/watch b/ngircd/contrib/Debian/watch
new file mode 100644
index 0000000..7943e69
--- /dev/null
+++ b/ngircd/contrib/Debian/watch
@@ -0,0 +1,10 @@
+# Watch control file for uscan.
+# See uscan(1) for format.
+
+# Compulsory line, this is a version 4 file.
+version=4
+
+# PGP signature mangle, so foo.tar.gz has foo.tar.gz.sig.
+opts="pgpsigurlmangle=s%$%.sig%"
+
+https://arthur.barton.de/pub/@PACKAGE@/@PACKAGE@-([0-9\.]+)@ARCHIVE_EXT@
diff --git a/ngircd/contrib/Dockerfile b/ngircd/contrib/Dockerfile
new file mode 100644
index 0000000..de4cc37
--- /dev/null
+++ b/ngircd/contrib/Dockerfile
@@ -0,0 +1,68 @@
+# ngIRCd -- The Next Generation IRC Daemon
+# Copyright (c)2001-2024 Alexander Barton (alex@barton.de) and Contributors
+
+# Build Container
+
+FROM docker.io/library/debian:stable-slim AS build
+LABEL org.opencontainers.image.source=https://github.com/ngircd/ngircd
+LABEL org.opencontainers.image.description="Free, portable and lightweight Internet Relay Chat server (build container)"
+LABEL org.opencontainers.image.licenses=GPL-2.0-or-later
+USER root
+RUN apt-get -y update \
+ && apt-get -y install --no-install-recommends \
+ autoconf \
+ automake \
+ build-essential \
+ expect \
+ gawk \
+ git \
+ libgnutls28-dev \
+ libident-dev \
+ libpam0g-dev \
+ openssl \
+ pkg-config \
+ telnet \
+ zlib1g-dev \
+ && mkdir -p /usr/local/src/ngircd /opt/ngircd \
+ && chown bin:bin /usr/local/src/ngircd /opt/ngircd
+WORKDIR /usr/local/src/ngircd
+COPY . /usr/local/src/ngircd
+RUN chown -R bin /usr/local/src/ngircd
+USER bin
+RUN ./autogen.sh --prefix=/opt/ngircd \
+ --with-gnutls \
+ --with-iconv \
+ --with-ident \
+ --with-pam \
+ && make all \
+ && make -C src/ngircd check \
+ && make install \
+ && printf \
+ "# ngircd.conf\n\n[Global]\nServerGID=irc\nServerUID=irc\n\n[Options]\nIdent=no\nPAM=no\n\n[SSL]\nCAFile=/etc/ssl/certs/ca-certificates.crt\n" \
+ >/opt/ngircd/etc/ngircd.conf \
+ && chmod -R a+rX /opt/ngircd
+
+# Run container
+
+FROM docker.io/library/debian:stable-slim
+LABEL org.opencontainers.image.source=https://github.com/ngircd/ngircd
+LABEL org.opencontainers.image.description="Free, portable and lightweight Internet Relay Chat server"
+LABEL org.opencontainers.image.licenses=GPL-2.0-or-later
+USER root
+RUN apt-get -y update \
+ && apt-get -y install --no-install-recommends --no-install-suggests \
+ ca-certificates \
+ catatonit \
+ libgnutls30 \
+ libident \
+ libpam0g \
+ libwrap0 \
+ zlib1g \
+ && apt-get -y clean \
+ && rm -rf /var/cache/debconf/*-old /var/lib/apt/lists/*
+COPY --from=build /opt/ngircd /opt/ngircd
+USER irc
+ENTRYPOINT [ "/usr/bin/catatonit", "--", "/opt/ngircd/sbin/ngircd", "--nodaemon" ]
+EXPOSE 6667 6697
+HEALTHCHECK --interval=30s --timeout=5s --retries=1 --start-period=5s \
+ CMD [ "/usr/bin/grep", "-F", ":1A0B ", "/proc/net/tcp" ]
diff --git a/ngircd/contrib/Makefile.am b/ngircd/contrib/Makefile.am
new file mode 100644
index 0000000..cd2eb05
--- /dev/null
+++ b/ngircd/contrib/Makefile.am
@@ -0,0 +1,33 @@
+#
+# ngIRCd -- The Next Generation IRC Daemon
+# Copyright (c)2001-2024 Alexander Barton (alex@barton.de) and Contributors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# Please read the file COPYING, README and AUTHORS for more information.
+#
+
+SUBDIRS = Debian
+
+EXTRA_DIST = README.md \
+ de.barton.ngircd.metainfo.xml \
+ de.barton.ngircd.plist \
+ Dockerfile \
+ ngindent.sh \
+ ngircd-bsd.sh \
+ ngircd-fail2ban.conf \
+ ngIRCd-Logo.gif \
+ ngircd-redhat.init \
+ ngircd.logcheck \
+ ngircd.service \
+ ngircd.socket \
+ ngircd.spec \
+ nglog.sh \
+ platformtest.sh
+
+maintainer-clean-local:
+ rm -f Makefile Makefile.in
+
+# -eof-
diff --git a/ngircd/contrib/README.md b/ngircd/contrib/README.md
new file mode 100644
index 0000000..5ab5769
--- /dev/null
+++ b/ngircd/contrib/README.md
@@ -0,0 +1,40 @@
+# [ngIRCd](https://ngircd.barton.de) - Supplemental Files
+
+This `contrib/` directory contains the following sub-folders and files:
+
+- `Debian/` folder: This subfolder contains the _rules_ file and additional
+ assets for building Debian packages.
+
+- `de.barton.ngircd.metainfo.xml`: AppStream metadata file.
+
+- `de.barton.ngircd.plist[.tmpl]`: launchd(8) property list file.
+
+- `Dockerfile`: Container definition file, for Docker or Podman for example.
+ More information can be found in the `doc/Container.md` file.
+
+- `ngindent.sh`: Script to indent the code of ngIRCd in the "standard way".
+
+- `ngircd-bsd.sh`: Start/stop script for FreeBSD.
+
+- `ngircd-fail2ban.conf`: fail2ban(1) filter configuration for ngIRCd.
+
+- `ngircd-redhat.init`: Start/stop script for old(er) RedHat-based
+ distributions (like CentOS and Fedora), which did _not_ use systemd(8).
+
+- `ngIRCd-Logo.gif`: The ngIRCd logo as GIF file.
+
+- `ngircd.logcheck`: Sample rules for logcheck(8) to ignore "normal" log
+ messages of ngIRCd.
+
+- `ngircd.service`: systemd(8) service unit configuration file.
+
+- `ngircd.socket`: systemd(8) socket unit configuration file for "socket
+ activation".
+
+- `ngircd.spec`: RPM "spec" file.
+
+- `nglog.sh`: Script for colorizing the log messages of ngircd(8) according to
+ their log level. Example: `./src/ngircd/ngircd -n | ./contrib/nglog.sh`.
+
+- `platformtest.sh`: Build ngIRCd and output a "result line" suitable for
+ the `doc/Platforms.txt` file.
diff --git a/ngircd/contrib/de.barton.ngircd.metainfo.xml b/ngircd/contrib/de.barton.ngircd.metainfo.xml
new file mode 100644
index 0000000..d06e378
--- /dev/null
+++ b/ngircd/contrib/de.barton.ngircd.metainfo.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<component type="service">
+ <id>de.barton.ngircd</id>
+ <name>ngIRCd</name>
+ <summary>Lightweight Internet Relay Chat server</summary>
+ <metadata_license>MIT</metadata_license>
+ <project_license>GPL-2.0-or-later</project_license>
+ <developer_name>Alexander Barton and Contributors</developer_name>
+ <update_contact>alex@barton.de</update_contact>
+ <description>
+ <p>ngIRCd is a free, portable and lightweight Internet Relay Chat server for small or private networks, developed under the GNU General Public License (GPL).</p>
+ <p>The server is quite easy to configure and runs as a single-node server or can be part of a network of ngIRCd servers in a LAN or across the internet. It optionally supports the IPv6 protocol, SSL/TLS-protected client-server and server-server links, the Pluggable Authentication Modules (PAM) system for user authentication, IDENT requests, and character set conversion for legacy clients.</p>
+ <p>The name ngIRCd stands for next-generation IRC daemon, which is a little bit exaggerated: lightweight Internet Relay Chat server most probably would have been a better name :-)</p>
+ </description>
+ <icon type="remote" width="300" height="300">https://ngircd.barton.de/common/ngircd-300x300.png</icon>
+ <categories>
+ <category>Network</category>
+ </categories>
+ <url type="homepage">https://ngircd.barton.de</url>
+ <url type="bugtracker">https://ngircd.barton.de/bugtracker</url>
+ <url type="help">https://ngircd.barton.de/support</url>
+ <provides>
+ <binary>ngircd</binary>
+ </provides>
+ <launchable type="service">ngircd</launchable>
+ <releases>
+ <release version="27" date="2024-04-26" />
+ <release version="27~rc1" date="2024-04-13" />
+ <release version="26.1" date="2021-01-02" />
+ <release version="26" date="2020-06-20" />
+ <release version="26~rc2" date="2020-06-11" type="development" />
+ <release version="26~rc1" date="2020-05-10" type="development" />
+ <release version="25" date="2019-01-23" />
+ <release version="25~rc1" date="2018-08-11" type="development" />
+ <release version="24" date="2017-01-20" />
+ <release version="24~rc1" date="2017-01-07" type="development" />
+ <release version="23" date="2015-11-16" />
+ <release version="23~rc1" date="2015-09-06" type="development" />
+ <release version="22.1" date="2015-04-06" />
+ <release version="22" date="2014-10-11" />
+ <release version="22~rc1" date="2014-09-29" type="development" />
+ <release version="21.1" date="2014-03-25" />
+ <release version="21" date="2013-10-30" />
+ <release version="21~rc2" date="2013-10-20" type="development" />
+ <release version="21~rc1" date="2013-10-05" type="development" />
+ <release version="20.3" date="2013-08-23" />
+ <release version="20.2" date="2013-02-15" />
+ <release version="20.1" date="2013-01-02" />
+ <release version="20" date="2012-12-17" />
+ <release version="20~rc2" date="2012-12-02" type="development" />
+ <release version="20~rc1" date="2012-11-11" type="development" />
+ <release version="19.2" date="2012-06-19" />
+ <release version="19.2~rc1" date="2012-06-13" type="development" />
+ <release version="19.1" date="2012-03-19" />
+ <release version="19" date="2012-02-29" />
+ <release version="19~rc1" date="2012-02-12" type="development" />
+ <release version="18" date="2011-07-10" />
+ <release version="18~rc2" date="2011-06-29" type="development" />
+ <release version="18~rc1" date="2011-06-27" type="development" />
+ <release version="17.1" date="2010-12-19" />
+ <release version="17" date="2010-11-07" />
+ <release version="17~rc3" date="2010-10-27" type="development" />
+ <release version="17~rc2" date="2010-10-25" type="development" />
+ <release version="17~rc1" date="2010-10-11" type="development" />
+ <release version="16" date="2010-05-02" />
+ <release version="16~rc2" date="2010-04-25" type="development" />
+ <release version="16~rc1" date="2010-03-25" type="development" />
+ <release version="15" date="2009-11-07" />
+ <release version="15~rc1" date="2009-10-15" type="development" />
+ <release version="14.1" date="2009-05-05" />
+ <release version="14" date="2009-04-20" />
+ <release version="14~rc1" date="2009-03-29" type="development" />
+ <release version="13" date="2008-12-25" />
+ <release version="0.12.1" date="2008-07-09" />
+ <release version="0.12.0" date="2008-05-13" />
+ <release version="0.12.0-pre2" date="2008-04-29" type="development" />
+ <release version="0.12.0-pre1" date="2008-04-20" type="development" />
+ <release version="0.11.1" date="2008-02-26" />
+ <release version="0.11.0" date="2008-01-15" />
+ <release version="0.11.0-pre2" date="2008-01-07" type="development" />
+ <release version="0.11.0-pre1" date="2008-01-02" type="development" />
+ <release version="0.10.4" date="2008-01-07" />
+ <release version="0.10.3" date="2007-08-01" />
+ <release version="0.10.2" date="2007-06-08" />
+ <release version="0.10.2-pre2" date="2007-05-19" type="development" />
+ <release version="0.10.2-pre1" date="2007-05-05" type="development" />
+ <release version="0.10.1" date="2006-12-17" />
+ <release version="0.10.0" date="2006-10-01" />
+ <release version="0.10.0-pre2" date="2006-09-09" type="development" />
+ <release version="0.10.0-pre1" date="2006-08-02" type="development" />
+ <release version="0.9.2" date="2005-10-15" />
+ <release version="0.9.1" date="2005-08-03" />
+ <release version="0.9.0" date="2005-07-24" />
+ <release version="0.9.0-pre1" date="2005-07-09" type="development" />
+ <release version="0.8.3" date="2005-02-03" />
+ <release version="0.8.2" date="2005-01-26" />
+ <release version="0.8.1" date="2004-12-25" />
+ <release version="0.8.0" date="2004-06-26" />
+ <release version="0.8.0-pre1" date="2004-05-07" type="development" />
+ <release version="0.7.7" date="2004-02-05" />
+ <release version="0.7.6" date="2003-12-05" />
+ <release version="0.7.5" date="2003-11-07" />
+ <release version="0.7.1" date="2003-07-18" />
+ <release version="0.7.0" date="2003-05-01" />
+ <release version="0.7.0-pre2" date="2003-04-27" type="development" />
+ <release version="0.7.0-pre1" date="2003-04-22" type="development" />
+ <release version="0.6.0" date="2002-12-24" />
+ <release version="0.6.0-pre2" date="2002-12-23" type="development" />
+ <release version="0.6.0-pre1" date="2002-12-18" type="development" />
+ <release version="0.5.4" date="2002-11-24" />
+ <release version="0.5.3" date="2002-11-08" />
+ <release version="0.5.2" date="2002-10-04" />
+ <release version="0.5.1" date="2002-10-03" />
+ <release version="0.5.0" date="2002-09-20" />
+ <release version="0.5.0-pre2" date="2002-09-17" type="development" />
+ <release version="0.5.0-pre1" date="2002-09-16" type="development" />
+ <release version="0.4.3" date="2002-06-11" />
+ <release version="0.4.2" date="2002-04-29" />
+ <release version="0.4.1" date="2002-04-08" />
+ <release version="0.4.0" date="2002-04-01" />
+ <release version="0.3.0" date="2002-03-02" />
+ <release version="0.2.1" date="2002-02-17" />
+ <release version="0.2.0" date="2002-02-15" />
+ <release version="0.1.0" date="2002-01-29" />
+ <release version="0.0.3" date="2002-01-16" />
+ <release version="0.0.2" date="2002-01-06" />
+ <release version="0.0.1" date="2001-12-31" />
+ </releases>
+</component>
diff --git a/ngircd/contrib/de.barton.ngircd.plist b/ngircd/contrib/de.barton.ngircd.plist
new file mode 100644
index 0000000..38754b5
--- /dev/null
+++ b/ngircd/contrib/de.barton.ngircd.plist
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>Disabled</key>
+ <true/>
+ <key>KeepAlive</key>
+ <true/>
+ <key>Label</key>
+ <string>de.barton.ngIRCd</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>/opt/ngircd/sbin/ngircd</string>
+ <string>--nodaemon</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>StandardErrorPath</key>
+ <string>/Library/Logs/ngIRCd.log</string>
+ <key>StandardOutPath</key>
+ <string>/Library/Logs/ngIRCd.log</string>
+</dict>
+</plist>
diff --git a/ngircd/contrib/ngIRCd-Logo.gif b/ngircd/contrib/ngIRCd-Logo.gif
new file mode 100644
index 0000000..9fc6d14
--- /dev/null
+++ b/ngircd/contrib/ngIRCd-Logo.gif
Binary files differ
diff --git a/ngircd/contrib/ngindent.sh b/ngircd/contrib/ngindent.sh
new file mode 100755
index 0000000..57cbf81
--- /dev/null
+++ b/ngircd/contrib/ngindent.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# ngIRCd -- The Next Generation IRC Daemon
+# Copyright (c)2001-2019 Alexander Barton (alex@barton.de) and Contributors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# Please read the file COPYING, README and AUTHORS for more information.
+#
+# This script uses GNU indent(1) to format C source code files of ngIRCd.
+# Usage:
+# - ./contrib/ngindent.sh [<file> [<file> [...]]]
+# - cat ./src/ngircd/<c_file> | ./contrib/ngindent.sh
+
+# Use a coding-style based on "Kernighan & Ritchie" (-kr):
+INDENTARGS="-kr
+ -bad
+ -c3
+ -cd41
+ -i8
+ -l80
+ -ncs
+ -psl
+ -sob
+ -ss
+ -ts8
+ -blf
+ -il0
+"
+
+# check if indent(1) is available
+command -v indent >/dev/null 2>&1 && INDENT="indent"
+command -v gindent >/dev/null 2>&1 && INDENT="gindent"
+command -v gnuindent >/dev/null 2>&1 && INDENT="gnuindent"
+
+if [ -z "$INDENT" ]; then
+ echo "Error: GNU \"indent\" not found!"
+ exit 1
+fi
+
+# shellcheck disable=SC2086
+$INDENT -v $INDENTARGS "$@"
+
+# -eof-
diff --git a/ngircd/contrib/ngircd-bsd.sh b/ngircd/contrib/ngircd-bsd.sh
new file mode 100755
index 0000000..e085646
--- /dev/null
+++ b/ngircd/contrib/ngircd-bsd.sh
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+# PROVIDE: ngircd
+# REQUIRE: NETWORKING SERVERS
+# BEFORE: DAEMON
+# KEYWORD: FreeBSD shutdown
+
+# Add the following line to /etc/rc.conf to enable `ngircd':
+#
+#ngircd_enable="YES"
+#
+
+. "/etc/rc.subr"
+
+name="ngircd"
+rcvar=`set_rcvar`
+
+command="/usr/local/sbin/ngircd"
+command_args=""
+
+load_rc_config "$name"
+: ${ngircd_enable="NO"}
+: ${ngircd_flags=""}
+
+required_files="/usr/local/etc/$name.conf"
+pidfile="${ngircd_pidfile:-/var/run/${name}/${name}.pid}"
+
+if [ ! x"${ngircd_chrootdir}" = x ];then
+ # Mount a devfs in the chroot directory if needed
+ if [ ! -c ${ngircd_chrootdir}/dev/random \
+ -o ! -c ${ngircd_chrootdir}/dev/null ]; then
+ umount ${ngircd_chrootdir}/dev 2>/dev/null
+ mount_devfs devfs ${ngircd_chrootdir}/dev
+ fi
+
+ devfs -m ${ngircd_chrootdir}/dev rule apply hide
+ devfs -m ${ngircd_chrootdir}/dev rule apply path null unhide
+ devfs -m ${ngircd_chrootdir}/dev rule apply path random unhide
+
+ # Copy local timezone information if it is not up to date.
+ if [ -f /etc/localtime ]; then
+ cmp -s /etc/localtime "${named_chrootdir}/etc/localtime" || \
+ cp -p /etc/localtime "${named_chrootdir}/etc/localtime"
+ fi
+
+ pidfile="${ngircd_chrootdir}${pidfile}"
+fi
+
+run_rc_command "$1"
+
+# -eof-
diff --git a/ngircd/contrib/ngircd-fail2ban.conf b/ngircd/contrib/ngircd-fail2ban.conf
new file mode 100644
index 0000000..c9903e0
--- /dev/null
+++ b/ngircd/contrib/ngircd-fail2ban.conf
@@ -0,0 +1,25 @@
+# Fail2ban filter for ngIRCd
+#
+# Put into /etc/fail2ban/filter.d/ngircd.conf and enable in your jail.local
+# configuration like this:
+#
+# [ngircd]
+# enabled = true
+# backend = systemd
+#
+
+[INCLUDES]
+
+before = common.conf
+
+[DEFAULT]
+
+_daemon = ngircd
+
+[Definition]
+
+failregex = ^%(__prefix_line)sRefused connection from <ADDR> on socket \d+:
+
+[Init]
+
+journalmatch = _SYSTEMD_UNIT=ngircd.service + _COMM=ngircd
diff --git a/ngircd/contrib/ngircd-redhat.init b/ngircd/contrib/ngircd-redhat.init
new file mode 100755
index 0000000..9f133bd
--- /dev/null
+++ b/ngircd/contrib/ngircd-redhat.init
@@ -0,0 +1,119 @@
+#!/bin/sh
+#
+# ngIRCd start and stop script for RedHat based distributions.
+# Written by Naoya Nakazawa <naoya.n@gmail.com> for CentOS 5.2, 2009.
+#
+# chkconfig: 2345 01
+# description: 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.
+#
+# processname: /usr/sbin/ngircd
+# config: /etc/ngircd
+# pidfile: /var/run/ngircd.pid
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/ngircd
+NAME=ngIRCd
+BASENAME=ngircd
+CONF=/etc/$BASENAME.conf
+DESC="IRC daemon"
+PARAMS="-f $CONF"
+
+# Source function library.
+. /etc/init.d/functions
+
+# Get config.
+test -f /etc/sysconfig/network && . /etc/sysconfig/network
+test -f /etc/sysconfig/makuosan && . /etc/sysconfig/makuosan
+
+# Check that networking is up.
+[ "${NETWORKING}" = "yes" ] || exit 0
+
+[ -x $DAEMON ] || exit 1
+[ -f $CONF ] || exit 2
+
+RETVAL=0
+
+start(){
+ echo -n $"Starting $NAME: "
+ daemon $DAEMON $PARAMS
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$BASENAME
+ echo
+ return $RETVAL
+}
+
+stop(){
+ echo -n $"Stopping $NAME: "
+ killproc $DAEMON
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ] ; then
+ rm -f /var/lock/subsys/$BASENAME
+ fi
+ echo
+ return $RETVAL
+}
+
+reload(){
+ echo -n $"Reloading configuration: "
+ killproc $DAEMON -HUP
+ RETVAL=$?
+ echo
+ return $RETVAL
+}
+
+restart(){
+ stop
+ start
+}
+
+condrestart(){
+ [ -e /var/lock/subsys/$BASENAME ] && restart
+ return 0
+}
+
+check_config(){
+ $DAEMON $PARAMS --configtest >/dev/null 2>&1
+ [ $? -eq 0 ] && return 0
+
+ echo -n $"Configuration of $NAME is not valid, won't (re)start!"
+ echo -n $"Run \"$DAEMON --configtest\" and fix it up ..."
+ exit 6
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ check_config
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ status)
+ status $NAME
+ ;;
+ restart)
+ restart
+ ;;
+ reload)
+ reload
+ ;;
+ condrestart)
+ condrestart
+ ;;
+ test)
+ check_config
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|test}"
+ RETVAL=1
+esac
+
+exit $RETVAL
diff --git a/ngircd/contrib/ngircd.logcheck b/ngircd/contrib/ngircd.logcheck
new file mode 100644
index 0000000..598ed17
--- /dev/null
+++ b/ngircd/contrib/ngircd.logcheck
@@ -0,0 +1,54 @@
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: ".*" added ".*" to G-Line list: ".*" \([0-9]+ seconds\)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: (GnuTLS|OpenSSL) .* initialized\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Accepted connection [0-9]+ from ".*:[0-9]+" on socket [0-9]+\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Address mismatch:
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Can't create pre-defined channel ".*": name already in use\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Can't resolve( address)? ".*": (Name or service not known|No address associated with hostname|Temporary failure in name resolution)( \[.*\]\.)?$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Client( ".*")? unregistered \(connection [0-9]+\): (Can't connect|Client closed connection|Got QUIT command|Read error|Server configuration already in use|SSL accept error, closing socket|Timeout|Write error)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Connection [0-9]+ \(socket [0-9]+\) with ".*:[0-9]+" established\. Now logging in \.\.\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Connection [0-9]+ with ".*:[0-9]+" closed \(in: .*, out: .*\)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Connection [0-9]+: initialized TLSv?1\.[0123] using cipher .*\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Created pre-defined channel ".*", mode ".*" \((channel key set|no channel key), user limit [0-9]+\)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Deleted ".*" \(".*"\) from G-Line list \(expired\)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Enabled link compression \(zlib\) on connection [0-9]+\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Establishing connection for ".*" to ".*:[0-9]+" \(.*\), socket [0-9]+ \.\.\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: File descriptor limit is [0-9]+; "MaxConnections" is (not set|set to [0-9]+)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Got (valid server|unchecked peer) certificate: .*\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Got signal "(Hangup|Terminated)" \.\.\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Got valid OPER for ".*" from ".*", user is an IRC operator now\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: IDENT lookup for connection [0-9]+: (no result|".*")\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: IO subsystem: epoll \(hint size 100, initial maxfd 100, masterfd [0-9]+\)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Not running with changed root directory\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Now listening on .*:[0-9]+ \(socket [0-9]+\)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Peer did not present a certificate\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Peer on connection [0-9]+ announces itself as .* using protocol .* \(flags: ".*"\)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Possible forgery: .* resolved to ".*", which (has no IP address|points to a different address)!$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Preparing to establish a new server link for ".*" \.\.\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Re-reading configuration NOW!$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Re-reading of configuration done\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Read error on connection [0-9]+ \(socket [0-9]+\): Connection reset by peer!$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Running as user .*, group .*, with PID [0-9]+\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: SSL connection on socket [0-9]+ failed!$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: SSL error, client disconnected \[in .*\(\)\]!$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: SSL error: (Connection reset by peer|Broken pipe) \[in .*\]!$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: SSL protocol error: (ConnSSL_Read|ConnSSL_Write|SSL_accept) \(.*\)$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Server ".*" \(on ".*"\) ready\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Server ".*" registered \(connection [0-9]+, 1 hop - direct link\)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Server ".*" registered \(via .*, connected to .*, [0-9]+ hops\)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Server ".*" unregistered \(connection [0-9]+\): Ping timeout: [0-9]+ seconds\.
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Server ".*" unregistered( \(connection [0-9]+\))?: .* \(Server going down\)\.
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Server ".*" unregistered: .* .*\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Server \".*\" \(on ".*"\) ready\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Server going down NOW!$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Shutting down all listening sockets \([0-9]+ total\) \.\.\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Shutting down connection [0-9]+ \(Can't connect|Client closed connection|Closing connection: .* \(Server going down\)|Got QUIT command|ID ".*" already registered|Ping timeout: [0-9]+ seconds|Read error|SSL accept error, closing socket|Server configuration already in use|Server going down|Timeout|Write error|".*" \((G-Line|SQUIT from .*)\)\) with ".*:[0-9]+" \.\.\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Synchronization with ".*" done \(connection [0-9]+\): [0-9]+ seconds? \[[0-9]+ users, [0-9]+ channels\]\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: User ".*!.*@.*" changed nick \(connection [0-9]+\): ".*" -> ".*"\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: User ".*!.*@.*" registered \(connection [0-9]+\)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: User ".*!.*@.*" unregistered \(connection [0-9]+\): (Client closed connection|Got QUIT command|Ping timeout: [0-9]+ seconds|Read error|Server going down)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Using (default|specified) configuration file ".*" \.\.\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: Write error on connection [0-9]+ \(socket [0-9]+\): (Broken pipe|Connection reset by peer)!$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: ngIRCd [0-9].* starting \.\.\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: ngIRCd done, served [0-9]+ connections?\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: warning: /etc/hosts\.allow, line [0-9]+: (can't verify hostname|host name/address mismatch): getaddrinfo\(.*, AF_INET\) failed$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ ngircd\[[0-9]+\]: warning: can't get client address: Connection reset by peer$
diff --git a/ngircd/contrib/ngircd.service b/ngircd/contrib/ngircd.service
new file mode 100644
index 0000000..311bc0d
--- /dev/null
+++ b/ngircd/contrib/ngircd.service
@@ -0,0 +1,48 @@
+# ngIRCd systemd service unit.
+# See systemd(1), systemd.unit(5), systemd.service(5), systemd.exec(5).
+
+[Unit]
+Description=Next Generation IRC Daemon
+Documentation=man:ngircd(8) man:ngircd.conf(5) https://ngircd.barton.de
+After=network.target
+Wants=anope.service atheme.service irc-services.service
+Wants=bopm.service hopm.service
+Before=anope.service atheme.service irc-services.service
+Before=bopm.service hopm.service
+
+[Service]
+Type=notify
+User=irc
+Group=irc
+# Settings & limits:
+CapabilityBoundingSet=CAP_SYS_CHROOT CAP_NET_BIND_SERVICE
+MemoryDenyWriteExecute=yes
+NoNewPrivileges=yes
+PrivateDevices=yes
+PrivateTmp=yes
+ProtectControlGroups=yes
+ProtectHome=yes
+ProtectKernelModules=yes
+ProtectKernelTunables=yes
+ProtectSystem=full
+RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
+RestrictRealtime=yes
+RuntimeDirectory=ircd
+RuntimeDirectoryMode=750
+StandardError=journal
+StandardOutput=journal
+# Try to load "default files" from any Debian package variant to keep this
+# unit generic.
+EnvironmentFile=-/etc/default/ngircd
+EnvironmentFile=-/etc/default/ngircd-full
+EnvironmentFile=-/etc/default/ngircd-full-dbg
+# Start ngIRCd. Note: systemd doesn't allow to use $DAEMON here!
+ExecStart=/usr/sbin/ngircd --nodaemon --syslog $PARAMS
+ExecReload=/bin/kill -HUP $MAINPID
+# Error handling:
+# ngIRCd tries to "ping" the service manager every 3 seconds.
+WatchdogSec=10
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/ngircd/contrib/ngircd.socket b/ngircd/contrib/ngircd.socket
new file mode 100644
index 0000000..1aee546
--- /dev/null
+++ b/ngircd/contrib/ngircd.socket
@@ -0,0 +1,12 @@
+[Unit]
+Description=Next Generation IRC Daemon (Socket)
+Documentation=man:ngircd(8) man:ngircd.conf(5)
+
+[Socket]
+BindIPv6Only=ipv6-only
+ListenStream=0.0.0.0:6667
+#ListenStream=[::]:6667
+IPTOS=low-delay
+
+[Install]
+WantedBy=sockets.target
diff --git a/ngircd/contrib/ngircd.spec b/ngircd/contrib/ngircd.spec
new file mode 100644
index 0000000..3d4eefc
--- /dev/null
+++ b/ngircd/contrib/ngircd.spec
@@ -0,0 +1,57 @@
+%define name ngircd
+%define version 27
+%define release 1
+%define prefix %{_prefix}
+
+Summary: A lightweight daemon for the Internet Relay Chat (IRC)
+Name: %{name}
+Version: %{version}
+Release: %{release}
+License: GPLv2+
+Group: System Environment/Daemons
+URL: http://ngircd.barton.de/
+Source: %{name}-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires: zlib-devel, openssl-devel
+
+%description
+ngIRCd is a free, portable and lightweight Internet Relay Chat server for small
+or private networks, developed under the GNU General Public License (GPL).
+
+The server is quite easy to configure, can handle dynamic IP addresses, and
+optionally supports IDENT, IPv6 connections, SSL-protected links, and PAM for
+user authentication as well as character set conversion for legacy clients. The
+server has been written from scratch and is not based on the forefather, the
+daemon of IRCNet.
+
+
+%prep
+%setup -q
+%build
+%configure \
+ --with-zlib \
+ --with-openssl
+
+make %{?_smp_mflags}
+
+%install
+[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf "$RPM_BUILD_ROOT"
+%makeinstall
+(
+ cd "$RPM_BUILD_ROOT"
+ ( cd usr/sbin; mv *-ngircd ngircd )
+ ( cd usr/share/man/man5; mv *-ngircd.conf.5 ngircd.conf.5 )
+ ( cd usr/share/man/man8; mv *-ngircd.8 ngircd.8 )
+ rm -fr usr/share/doc/ngircd
+)
+
+%clean
+[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf "$RPM_BUILD_ROOT"
+
+%files
+%defattr(755,root,root)
+%doc AUTHORS.md COPYING ChangeLog INSTALL.md NEWS README.md doc/*
+%config(noreplace) /etc
+%{_prefix}/sbin
+%{_mandir}/man5/ngircd.conf*
+%{_mandir}/man8/ngircd.8*
diff --git a/ngircd/contrib/nglog.sh b/ngircd/contrib/nglog.sh
new file mode 100755
index 0000000..cb4eb3e
--- /dev/null
+++ b/ngircd/contrib/nglog.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+# ngIRCd -- The Next Generation IRC Daemon
+# Copyright (c)2001-2020 Alexander Barton (alex@barton.de) and Contributors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# Please read the file COPYING, README and AUTHORS for more information.
+#
+# This script parses the log output of ngircd(8), and colorizes the messages
+# according to their log level. Example usage:
+# ./src/ngircd/ngircd -f $PWD/doc/sample-ngircd.conf -np | ./contrib/nglog.sh
+#
+
+gawk '
+ /^\[[[:digit:]]+:0 / {print "\033[1;95m" $0 "\033[0m"}
+ /^\[[[:digit:]]+:1 / {print "\033[1;35m" $0 "\033[0m"}
+ /^\[[[:digit:]]+:2 / {print "\033[1;91m" $0 "\033[0m"}
+ /^\[[[:digit:]]+:3 / {print "\033[1;31m" $0 "\033[0m"}
+ /^\[[[:digit:]]+:4 / {print "\033[1;33m" $0 "\033[0m"}
+ /^\[[[:digit:]]+:5 / {print "\033[1m" $0 "\033[0m"}
+ /^\[[[:digit:]]+:6 / {print $0}
+ /^\[[[:digit:]]+:7 / {print "\033[90m" $0 "\033[0m"}
+' </dev/stdin &
+
+wait
diff --git a/ngircd/contrib/platformtest.sh b/ngircd/contrib/platformtest.sh
new file mode 100755
index 0000000..e5d577d
--- /dev/null
+++ b/ngircd/contrib/platformtest.sh
@@ -0,0 +1,257 @@
+#!/bin/sh
+#
+# ngIRCd -- The Next Generation IRC Daemon
+# Copyright (c)2001-2016 Alexander Barton (alex@barton.de) and Contributors
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# Please read the file COPYING, README and AUTHORS for more information.
+#
+
+# This script analyzes the build process of ngIRCd and generates output
+# suitable for inclusion in doc/Platforms.txt -- please send reports
+# to the ngIRCd mailing list: <ngircd@lists.barton.de>.
+
+NAME=$(basename "$0")
+VERBOSE=
+CLEAN=1
+
+PLATFORM=
+COMPILER="unknown"
+VERSION="unknown"
+DATE=$(date "+%y-%m-%d")
+COMMENT=
+
+R_CONFIGURE=
+R_MAKE=
+R_CHECK=
+R_CHECK_Y="?"
+R_RUN=
+
+SRC_D=$(dirname "$0")
+MY_D="$PWD"
+
+[ -n "$MAKE" ] || MAKE="make"
+export MAKE CC
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ "-v")
+ VERBOSE=1
+ ;;
+ "-x")
+ CLEAN=
+ ;;
+ *)
+ echo "Usage: $NAME [-v] [-x]"
+ echo
+ echo " -v Verbose output"
+ echo " -x Don't regenerate build system, even when possible"
+ echo
+ exit 2
+ esac
+ shift
+done
+
+for cmd in telnet expect; do
+ command -v "$cmd" >/dev/null 2>&1 \
+ || echo "$NAME: WARNING: $cmd(1) not found, \"make check\" won't run all tests!"
+done
+
+echo "$NAME: Checking ngIRCd base source directory ..."
+grep "ngIRCd" "$SRC_D/ChangeLog" >/dev/null 2>&1
+if [ $? -ne 0 ]; then
+ grep "ngIRCd" "$SRC_D/../ChangeLog" >/dev/null 2>&1
+ if [ $? -ne 0 ]; then
+ echo "$NAME: ngIRCd base source directory not found!?"
+ exit 1
+ fi
+ SRC_D="$SRC_D/.."
+fi
+echo "$NAME: - source directory: $SRC_D"
+echo "$NAME: - working directory: $MY_D"
+
+echo "$NAME: Checking for GIT tree ..."
+if [ -d "$SRC_D/.git" ]; then
+ echo "$NAME: Checking for \"git\" command ..."
+ git version >/dev/null 2>&1
+ if [ $? -eq 0 ] && [ -n "$CLEAN" ]; then
+ echo "$NAME: Running \"git clean\" ..."
+ cd "$SRC_D" || exit 1
+ if [ -n "$VERBOSE" ]; then
+ git clean -dxf
+ else
+ git clean -dxf >/dev/null
+ fi
+ cd "$MY_D" || exit 1
+ fi
+fi
+
+echo "$NAME: Checking for \"$SRC_D/configure\" script ..."
+if [ ! -r "$SRC_D/configure" ]; then
+ echo "$NAME: Running \"$SRC_D/autogen.sh\" ..."
+ cd "$SRC_D" || exit 1
+ if [ -n "$VERBOSE" ]; then
+ ./autogen.sh
+ else
+ ./autogen.sh >/dev/null
+ fi
+ if [ $? -ne 0 ]; then
+ echo "$NAME: \"$SRC_D/autogen.sh\" script failed, aborting!"
+ exit 1
+ fi
+ cd "$MY_D" || exit 1
+fi
+
+if [ -r "$SRC_D/configure" ]; then
+ echo "$NAME: Running \"$SRC_D/configure\" script ..."
+ if [ -n "$VERBOSE" ]; then
+ "$SRC_D/configure" -C
+ else
+ "$SRC_D/configure" -C >/dev/null
+ fi
+ if [ $? -eq 0 ] && [ -r ./Makefile ]; then
+ R_CONFIGURE=1
+ rm -f "src/ngircd/ngircd"
+ echo "$NAME: Running \"$MAKE\" ..."
+ if [ -n "$VERBOSE" ]; then
+ "$MAKE"
+ else
+ "$MAKE" >/dev/null
+ fi
+ if [ $? -eq 0 ] && [ -x src/ngircd/ngircd ]; then
+ R_MAKE=1
+ echo "$NAME: Running \"$MAKE check\" ..."
+ if [ -n "$VERBOSE" ]; then
+ "$MAKE" check
+ else
+ "$MAKE" check >/dev/null
+ fi
+ if [ $? -eq 0 ]; then
+ R_CHECK=1
+ R_RUN=$R_CHECK
+ [ -r ./src/testsuite/tests-skipped.lst ] \
+ && R_CHECK_Y="y" || R_CHECK_Y="Y"
+ else
+ ./src/ngircd/ngircd --help 2>/dev/null \
+ | grep "^ngIRCd" >/dev/null
+ [ $? -eq 0 ] && R_RUN=1
+ fi
+ fi
+ fi
+fi
+
+# Get target platform information
+if [ -r "src/config.h" ]; then
+ CPU=$(grep "HOST_CPU" "src/config.h" | cut -d'"' -f2)
+ OS=$(grep "HOST_OS" "src/config.h" | cut -d'"' -f2)
+ VENDOR=$(grep "HOST_VENDOR" "src/config.h" | cut -d'"' -f2)
+ PLATFORM="$CPU/$VENDOR/$OS"
+fi
+if [ -z "$PLATFORM" ]; then
+ PLATFORM="$(uname 2>/dev/null) $(uname -r 2>/dev/null), $(uname -m 2>/dev/null)"
+fi
+
+# Get compiler information
+if [ -r "Makefile" ]; then
+ CC=$(grep "^CC = " Makefile | cut -d' ' -f3)
+ $CC --version 2>&1 | grep -i "GCC" >/dev/null
+ if [ $? -eq 0 ]; then
+ # GCC, or compiler that mimics GCC
+ $CC --version 2>&1 | grep -i "Open64" >/dev/null
+ if [ $? -eq 0 ]; then
+ COMPILER="Open64"
+ else
+ COMPILER=$($CC --version | head -1 \
+ | cut -d')' -f2 | cut -d' ' -f2)
+ COMPILER="gcc $COMPILER"
+ fi
+ else
+ # Non-GCC compiler
+ $CC --version 2>&1 | grep -i "clang" >/dev/null
+ if [ $? -eq 0 ]; then
+ COMPILER=$($CC --version 2>/dev/null | head -1 \
+ | cut -d'(' -f1 | cut -d'-' -f1 \
+ | sed -e 's/version //g; s/^\([A-Z]\)[A-Za-z]* clang/\1-clang/g; s/LLVM /clang /g')
+ fi
+ $CC -version 2>&1 | grep -i "tcc" >/dev/null
+ if [ $? -eq 0 ]; then
+ COMPILER=$($CC -version 2>/dev/null | head -1 \
+ | cut -d'(' -f1 | sed -e 's/version //g')
+ fi
+ if [ "$COMPILER" = "unknown" ]; then
+ v="$($CC --version 2>/dev/null | head -1)"
+ [ -z "$v" ] && v="$($CC -version 2>/dev/null | head -1)"
+ [ -n "$v" ] && COMPILER="$v"
+ fi
+ fi
+fi
+
+# Get ngIRCd version information
+eval "$(grep "^VERSION = " Makefile | sed -e 's/ //g')"
+case "$VERSION" in
+ *~*-*)
+ VERSION=$(echo "$VERSION" | cut -b1-10)
+ ;;
+esac
+[ -n "$VERSION" ] || VERSION="unknown"
+
+# Get IO interface information
+if [ "$OS" = "linux-gnu" ]; then
+ COMMENT="1"
+else
+ grep "^#define HAVE_SYS_DEVPOLL_H 1" src/config.h >/dev/null 2>&1
+ [ $? -eq 0 ] && COMMENT="4"
+ grep "^#define HAVE_EPOLL_CREATE 1" src/config.h >/dev/null 2>&1
+ [ $? -eq 0 ] && COMMENT="5"
+ grep "^#define HAVE_KQUEUE 1" src/config.h >/dev/null 2>&1
+ [ $? -eq 0 ] && COMMENT="3"
+fi
+
+[ -n "$R_CONFIGURE" ] && C="Y" || C="N"
+[ -n "$R_MAKE" ] && M="Y" || M="N"
+[ -n "$R_CHECK" ] && T="$R_CHECK_Y" || T="N"
+if [ -n "$R_RUN" ]; then
+ # Mark "runs" with "Y" only when the test suite succeeded:
+ [ "$T" = "N" ] && R="?" || R="Y"
+else
+ R="N"
+fi
+[ -n "$COMMENT" ] && COMMENT=" $COMMENT"
+
+echo
+echo " the executable works (\"runs\") as expected --+"
+echo " tests run successfully (\"make check\") --+ |"
+echo " ngIRCd compiles (\"make\") --+ | |"
+echo " ./configure works --+ | | |"
+echo " | | | |"
+echo "Platform Compiler ngIRCd Date Tester C M T R *"
+echo "--------------------------- ------------ ---------- -------- -------- - - - - -"
+command -v printf >/dev/null 2>&1
+if [ $? -eq 0 ]; then
+ printf "%-27s %-12s %-10s %s %-8s %s %s %s %s%s\n" \
+ "$PLATFORM" "$COMPILER" "$VERSION" "$DATE" "$LOGNAME" \
+ "$C" "$M" "$T" "$R" "$COMMENT"
+else
+ echo "$PLATFORM $COMPILER $VERSION $DATE $LOGNAME" \
+ "$C" "$M" "$T" "$R" "$COMMENT"
+fi
+echo
+
+double_check() {
+ echo "Please double check that the ngIRCd daemon starts up, runs and handles IRC"
+ echo "connections successfully!"
+}
+
+if [ "$R_CHECK_Y" = "y" ]; then
+ echo "WARNING: Some tests have been skipped!"
+ double_check
+ echo
+fi
+if [ "$R" = "?" ]; then
+ echo "WARNING: The resulting binary passed simple tests, but the test suite failed!"
+ double_check
+ echo
+fi