From 595ee8e4840bfde7b24e490dbeb323a864bfb2dd Mon Sep 17 00:00:00 2001 From: Andreas Thienemann Date: Mon, 11 Feb 2008 16:49:26 +0000 Subject: [PATCH 01/77] - Updated to 0.11.0 --- .cvsignore | 1 + ngircd.conf | 186 ++++++++++++++++++++++++++++++++++++++++++++++++++++ ngircd.init | 71 ++++++++++++++++++++ ngircd.spec | 111 +++++++++++++++++++++++++++++++ sources | 1 + 5 files changed, 370 insertions(+) create mode 100644 ngircd.conf create mode 100755 ngircd.init create mode 100644 ngircd.spec diff --git a/.cvsignore b/.cvsignore index e69de29..ebc53e3 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +ngircd-0.11.0.tar.gz diff --git a/ngircd.conf b/ngircd.conf new file mode 100644 index 0000000..bca3325 --- /dev/null +++ b/ngircd.conf @@ -0,0 +1,186 @@ +# $Id$ + +# +# This is a sample configuration file for the ngIRCd, which must be adepted +# to the local preferences and needs. +# +# Comments are started with "#" or ";". +# +# Use "ngircd --configtest" (see manual page ngircd(8)) to validate that the +# server interprets the configuration file as expected! +# + +[Global] + # The [Global] section of this file is used to define the main + # configuration of the server, like the server name and the ports + # on which the server should be listening. + + # Server name in the IRC network, must contain at least one dot + # (".") and be unique in the IRC network. Required! + Name = irc.the.net + + # Info text of the server. This will be shown by WHOIS and + # LINKS requests for example. + Info = Server Info Text + + # Global password for all users needed to connect to the server + ;Password = abc + + # Information about the server and the administrator, used by the + # ADMIN command. Not required by server but by RFC! + ;AdminInfo1 = Description + ;AdminInfo2 = Location + ;AdminEMail = admin@irc.server + + # Ports on which the server should listen. There may be more than + # one port, separated with ",". (Default: 6667) + ;Ports = 6667, 6668, 6669 + + # IP address on which the server should listen. (Default: empty, + # so the server listens on all IP addresses of the system) + ;Listen = 1.2.3.4 + + # Text file with the "message of the day" (MOTD). This message will + # be shown to all users connecting to the server: + ;MotdFile = /etc/ngircd.motd + + # A simple Phrase (<256 chars) if you don't want to use a motd file. + # If it is set no MotdFile will be read at all. + ;MotdPhrase = "Hello world!" + + # User ID under which the server should run; you can use the name + # of the user or the numerical ID. ATTENTION: For this to work the + # server must have been started with root privileges! In addition, + # the configuration and MOTD files must be readable by this user, + # otherwise RESTART and REHASH won't work! + ServerUID = ngirc + + # Group ID under which the ngircd should run; you can use the name + # of the group or the numerical ID. ATTENTION: For this to work the + # server must have been started with root privileges! + ServerGID = ngirc + + # A directory to chroot in when everything is initialized. It + # doesn't need to be populated if ngIRCd is compiled as a static + # binary. By default ngIRCd won't use the chroot() feature. + # ATTENTION: For this to work the server must have been started + # with root privileges! + ;ChrootDir = /var/empty + + # This tells ngircd to write its current process id to a file. + # Note that the pidfile is written AFTER chroot and switching uid, + # i. e. the Directory the pidfile resides in must be writeable by + # the ngircd user and exist in the chroot directory. + PidFile = /var/run/ngircd/ngircd.pid + + # After seconds of inactivity the server will send a + # PING to the peer to test whether it is alive or not. + ;PingTimeout = 120 + + # If a client fails to answer a PING with a PONG within + # seconds, it will be disconnected by the server. + ;PongTimeout = 20 + + # The server tries every seconds to establish a link + # to not yet (or no longer) connected servers. + ;ConnectRetry = 60 + + # Should IRC Operators be allowed to use the MODE command even if + # they are not(!) channel-operators? + ;OperCanUseMode = no + + # Mask IRC Operator mode requests as if they were coming from the + # server? (This is a compatibility hack for ircd-irc2 servers) + ;OperServerMode = no + + # Allow Pre-Defined Channels only (see Section [Channels]) + ;PredefChannelsOnly = no + + # Maximum number of simultaneous connection the server is allowed + # to accept (<=0: unlimited): + ;MaxConnections = -1 + + # Maximum number of simultaneous connections from a single IP address + # the server will accept (<=0: unlimited): + ;MaxConnectionsIP = 5 + + # Maximum number of channels a user can be member of (<=0: no limit): + ;MaxJoins = 10 + +[Operator] + # [Operator] sections are used to define IRC Operators. There may be + # more than one [Operator] block, one for each local operator. + + # ID of the operator (may be different of the nick name) + ;Name = TheOper + + # Password of the IRC operator + ;Password = ThePwd + + # Optional Mask from which /OPER will be accepted + ;Mask = *!ident@somewhere.example.com + +[Operator] + # More [Operator] sections, if you like ... + +[Server] + # Other servers are configured in [Server] sections. If you + # configure a port for the connection, then this ngircd tries to + # connect to to the other server on the given port; if not it waits + # for the other server to connect. + # There may be more than one server block, one for each server. + # + # Server Groups: + # The ngIRCd allows "server groups": You can assign an "ID" to every + # server with which you want this ngIRCd to link. If a server of a + # group won't answer, the ngIRCd tries to connect to the next server + # in the given group. But the ngircd never tries to connect to two + # servers with the same group ID. + + # IRC name of the remote server, must match the "Name" variable in + # the [Global] section of the other server (when using ngIRCd). + ;Name = irc2.the.net + + # Internet host name or IP address of the peer (only required when + # this server should establish the connection). + ;Host = connect-to-host.the.net + + # Port of the server to which the ngIRCd should connect. If you + # assign no port the ngIRCd waits for incoming connections. + ;Port = 6667 + + # Own password for the connection. This password has to be configured + # as "PeerPassword" on the other server. + ;MyPassword = MySecret + + # Foreign password for this connection. This password has to be + # configured as "MyPassword" on the other server. + ;PeerPassword = PeerSecret + + # Group of this server (optional) + ;Group = 123 + +[Server] + # More [Server] sections, if you like ... + +[Channel] + # Pre-defined channels can be configured in [Channel] sections. + # Such channels are created by the server when starting up and even + # persist when there are no more members left. + # Persistent channels are marked with the mode 'P', which can be set + # and unset by IRC operators like other modes on the fly. + # There may be more than one [Channel] block, one for each channel. + + # Name of the channel + ;Name = #TheName + + # Topic for this channel + ;Topic = a great topic + + # Initial channel modes + ;Modes = tn + +[Channel] + # More [Channel] sections, if you like ... + +# -eof- diff --git a/ngircd.init b/ngircd.init new file mode 100755 index 0000000..3c810f0 --- /dev/null +++ b/ngircd.init @@ -0,0 +1,71 @@ +#!/bin/bash +# +# ngircd This shell script takes care of starting and stopping +# the ngircd IRC daemon. +# +# chkconfig: - 80 30 +# description: ngircd is an IRC daemon +# processname: ngircd +# pidfile: /var/run/ngircd.pid + +# Source function library. +. /etc/rc.d/init.d/functions + +prog=ngircd +RETVAL=0 + +start() { + echo -n $"Starting $prog: " + daemon ngircd + RETVAL=$? + echo + [ $RETVAL = 0 ] && touch /var/lock/subsys/ngircd + return $RETVAL +} + +stop() { + echo -n $"Stopping $prog: " + killproc ngircd + RETVAL=$? + echo + [ $RETVAL = 0 ] && rm -f /var/lock/subsys/ngircd +} + +reload() { + echo -n $"Reloading $prog: " + killproc ngircd -HUP + RETVAL=$? + echo +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status ngircd + RETVAL=$? + ;; + restart) + stop + start + ;; + reload) + reload + ;; + condrestart) + if [ -f /var/run/ngircd/ngircd.pid ] ; then + stop + start + fi + ;; + *) + echo $"Usage: $prog {start|stop|restart|reload|condrestart|status|help}" + exit 1 +esac + +exit $RETVAL diff --git a/ngircd.spec b/ngircd.spec new file mode 100644 index 0000000..799cabd --- /dev/null +++ b/ngircd.spec @@ -0,0 +1,111 @@ +%define uid 36 +%define username ngircd +%define homedir /tmp +%define gecos "Next Generation IRC Daemon" + +Name: ngircd +Version: 0.11.0 +Release: 1%{?dist} +Summary: Next Generation IRC Daemon +Group: System Environment/Daemons +License: GPL +URL: http://ngircd.barton.de/ +Source0: ftp://ftp.berlios.de/pub/ngircd/ngircd-%{version}.tar.gz +Source1: ngircd.init +Source2: ngircd.conf +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: zlib-devel, avahi-compat-howl-devel, tcp_wrappers-devel +BuildRequires: libident-devel +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/chkconfig +Requires(preun): /sbin/service +Requires(postun): /sbin/service +Requires(pre): fedora-usermgmt +Requires(postun): fedora-usermgmt + + +%description +ngIRCd is a free open source daemon for Internet Relay Chat (IRC), +developed under the GNU General Public License (GPL). It's written from +scratch and is not based upon the original IRCd like many others. + +%prep +%setup -q + +%build +%configure \ + --with-syslog \ + --with-zlib \ + --with-epoll \ + --with-zeroconf \ + --with-tcp-wrappers \ + --with-ident + +make %{?_smp_mflags} + + +%install +rm -rf %{buildroot} +make install DESTDIR=%{buildroot} +install -D -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/ngircd +install -D -m 660 %{SOURCE2} %{buildroot}%{_sysconfdir}/ngircd.conf +touch %{buildroot}%{_sysconfdir}/ngircd.motd +rm -rf %{buildroot}%{_docdir}/ngircd +mkdir -p %{buildroot}%{_localstatedir}/run/ngircd + +%clean +rm -rf %{buildroot} + +%pre +/usr/sbin/fedora-groupadd %uid -r %username &>/dev/null || : +/usr/sbin/fedora-useradd %uid -r -s /sbin/nologin -d %homedir -M \ + -c '%gecos' -g %username %username &>/dev/null || : + +%post +# This adds the proper /etc/rc*.d links for the script +/sbin/chkconfig --add ngircd + +%preun +if [ $1 = 0 ]; then + /sbin/service ngircd stop >/dev/null 2>&1 || : + /sbin/chkconfig --del ngircd +fi + +%postun +if [ "$1" -ge "1" ]; then + /sbin/service ngircd condrestart >/dev/null 2>&1 || : +fi +test "$1" != 0 || /usr/sbin/fedora-userdel %username &>/dev/null || : +test "$1" != 0 || /usr/sbin/fedora-groupdel %username &>/dev/null || : + + +%files +%defattr(-,root,root,-) +%doc AUTHORS COPYING ChangeLog NEWS README doc/* +%config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.conf +%ghost %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.motd +%{_initrddir}/ngircd +%{_sbindir}/ngircd +%{_mandir}/man5/ngircd.conf* +%{_mandir}/man8/ngircd.8* +%dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ + + +%changelog +* Mon Feb 11 2008 Andreas Thienemann 0.11.0-1 +- Updated to 0.11.0 + +* Tue Nov 20 2007 Andreas Thienemann 0.10.3-1 +- Rebased to 0.10.3 +- Incorporated patches from fw@strlen.de + +* Thu Apr 26 2007 Andreas Thienemann 0.10.1-3 +- Removed libident requirement +- Added patch from fw fixing server connections + +* Mon Apr 02 2007 Andreas Thienemann 0.10.1-2 +- Added ngirc user + +* Sat Mar 31 2007 Andreas Thienemann 0.10.1-1 +- Initial package + diff --git a/sources b/sources index e69de29..a0e1d89 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +c322656b173ecec3d626355c0c3e875f ngircd-0.11.0.tar.gz From e200fbcaea64b42de297312f8da12fa1ec2fe1a1 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Mon, 11 Aug 2008 19:22:20 +0000 Subject: [PATCH 02/77] fix license tag --- ngircd.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ngircd.spec b/ngircd.spec index 799cabd..cf29145 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -5,10 +5,10 @@ Name: ngircd Version: 0.11.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons -License: GPL +License: GPLv2+ URL: http://ngircd.barton.de/ Source0: ftp://ftp.berlios.de/pub/ngircd/ngircd-%{version}.tar.gz Source1: ngircd.init @@ -92,6 +92,9 @@ test "$1" != 0 || /usr/sbin/fedora-groupdel %username &>/dev/null || : %changelog +* Mon Aug 11 2008 Tom "spot" Callaway 0.11.0-2 +- fix license tag + * Mon Feb 11 2008 Andreas Thienemann 0.11.0-1 - Updated to 0.11.0 From e05eb77391b83270ad879f51efe79106e3f4a408 Mon Sep 17 00:00:00 2001 From: Andreas Thienemann Date: Thu, 23 Oct 2008 10:38:59 +0000 Subject: [PATCH 03/77] - Updated to 0.12.1 - Updated configuration sample --- .cvsignore | 2 +- ngircd.conf | 55 +++++++++++++++++++++++++++++++++++++++++++---------- ngircd.init | 7 +++++++ ngircd.spec | 8 ++++++-- sources | 2 +- 5 files changed, 60 insertions(+), 14 deletions(-) diff --git a/.cvsignore b/.cvsignore index ebc53e3..12c491d 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ngircd-0.11.0.tar.gz +ngircd-0.12.1.tar.gz diff --git a/ngircd.conf b/ngircd.conf index bca3325..bb30a0c 100644 --- a/ngircd.conf +++ b/ngircd.conf @@ -1,4 +1,4 @@ -# $Id$ +a# $Id$ # # This is a sample configuration file for the ngIRCd, which must be adepted @@ -6,6 +6,10 @@ # # Comments are started with "#" or ";". # +# A lot of configuration options in this file start with a ";". You have +# to remove the ";" in front of each variable to actually set a value! +# The disabled variables are shown with example values for completeness. +# # Use "ngircd --configtest" (see manual page ngircd(8)) to validate that the # server interprets the configuration file as expected! # @@ -31,14 +35,16 @@ ;AdminInfo1 = Description ;AdminInfo2 = Location ;AdminEMail = admin@irc.server - + # Ports on which the server should listen. There may be more than # one port, separated with ",". (Default: 6667) ;Ports = 6667, 6668, 6669 - # IP address on which the server should listen. (Default: empty, - # so the server listens on all IP addresses of the system) - ;Listen = 1.2.3.4 + # comma seperated list of IP addresses on which the server should + # listen. Default values are: + # "0.0.0.0" or (if compiled with IPv6 support) "::,0.0.0.0" + # so the server listens on all IP addresses of the system by default. + Listen = 127.0.0.1 # Text file with the "message of the day" (MOTD). This message will # be shown to all users connecting to the server: @@ -96,17 +102,29 @@ # Allow Pre-Defined Channels only (see Section [Channels]) ;PredefChannelsOnly = no + # Don't do any DNS lookups when a client connects to the server. + ;NoDNS = no + + # try to connect to other irc servers using ipv4 and ipv6, if possible + ;ConnectIPv6 = yes + ;ConnectIPv4 = yes + # Maximum number of simultaneous connection the server is allowed - # to accept (<=0: unlimited): - ;MaxConnections = -1 + # to accept (0: unlimited): + ;MaxConnections = 0 # Maximum number of simultaneous connections from a single IP address - # the server will accept (<=0: unlimited): + # the server will accept (0: unlimited): ;MaxConnectionsIP = 5 - # Maximum number of channels a user can be member of (<=0: no limit): + # Maximum number of channels a user can be member of (0: no limit): ;MaxJoins = 10 + # Maximum length of an user nick name (Default: 9, as in RFC 2812). + # Please note that all servers in an IRC network MUST use the same + # maximum nick name length! + ;MaxNickLength = 9 + [Operator] # [Operator] sections are used to define IRC Operators. There may be # more than one [Operator] block, one for each local operator. @@ -145,6 +163,10 @@ # this server should establish the connection). ;Host = connect-to-host.the.net + # IP address to use as _source_ address for the connection. if unspecified, + # ngircd will let the operating system pick an address. + ;Bind = 10.0.0.1 + # Port of the server to which the ngIRCd should connect. If you # assign no port the ngIRCd waits for incoming connections. ;Port = 6667 @@ -160,6 +182,13 @@ # Group of this server (optional) ;Group = 123 + # Set the "Passive" option to "yes" if you don't want this ngIRCd to + # connect to the configured peer (same as leaving the "Port" variable + # empty). The advantage of this option is that you can actually configure + # a port an use the IRC command CONNECT more easily to manually connect + # this specific server later. + ;Passive = no + [Server] # More [Server] sections, if you like ... @@ -178,7 +207,13 @@ ;Topic = a great topic # Initial channel modes - ;Modes = tn + ;Modes = tnk + + # initial channel password (mode k) + ;Key = Secret + + # maximum users per channel (mode l) + ;MaxUsers = 23 [Channel] # More [Channel] sections, if you like ... diff --git a/ngircd.init b/ngircd.init index 3c810f0..93c54c3 100755 --- a/ngircd.init +++ b/ngircd.init @@ -7,6 +7,13 @@ # description: ngircd is an IRC daemon # processname: ngircd # pidfile: /var/run/ngircd.pid +### BEGIN INIT INFO +# Provides: ngircd +# Required-Start: $local_fs $network +# Required-Stop: $local_fs $network +# Short-Description: start and stop the ngircd IRC daemon +# Description: ngircd is an IRC daemon +### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions diff --git a/ngircd.spec b/ngircd.spec index cf29145..c114db4 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -4,8 +4,8 @@ %define gecos "Next Generation IRC Daemon" Name: ngircd -Version: 0.11.0 -Release: 2%{?dist} +Version: 0.12.1 +Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -92,6 +92,10 @@ test "$1" != 0 || /usr/sbin/fedora-groupdel %username &>/dev/null || : %changelog +* Thu Oct 23 2008 Andreas Thienemann 0.12.1-1 +- Updated to 0.12.1 +- Updated configuration sample + * Mon Aug 11 2008 Tom "spot" Callaway 0.11.0-2 - fix license tag diff --git a/sources b/sources index a0e1d89..ef51e76 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c322656b173ecec3d626355c0c3e875f ngircd-0.11.0.tar.gz +db8618877a4dd5fb2be50402a2cb4a14 ngircd-0.12.1.tar.gz From 0e7b3aec9a71ef9831ef7d4d5c3a2a4ca63cc961 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Thu, 26 Feb 2009 05:38:06 +0000 Subject: [PATCH 04/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index c114db4..e23c79c 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -5,7 +5,7 @@ Name: ngircd Version: 0.12.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -92,6 +92,9 @@ test "$1" != 0 || /usr/sbin/fedora-groupdel %username &>/dev/null || : %changelog +* Wed Feb 25 2009 Fedora Release Engineering - 0.12.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Thu Oct 23 2008 Andreas Thienemann 0.12.1-1 - Updated to 0.12.1 - Updated configuration sample From 8384f19573004f8d538172a2fc407b86332584c2 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Sat, 25 Jul 2009 19:20:00 +0000 Subject: [PATCH 05/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index e23c79c..ebf48f3 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -5,7 +5,7 @@ Name: ngircd Version: 0.12.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -92,6 +92,9 @@ test "$1" != 0 || /usr/sbin/fedora-groupdel %username &>/dev/null || : %changelog +* Sat Jul 25 2009 Fedora Release Engineering - 0.12.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Wed Feb 25 2009 Fedora Release Engineering - 0.12.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild From 38ca20ec4158043e453c0fa3b39427f0bdae74e8 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 23:20:11 +0000 Subject: [PATCH 06/77] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f57c7d1..5879934 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := ngircd SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From aa7eaf9b4d34d72f07a5f31abb1d00eb81004146 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 4 Jul 2010 20:51:39 +0000 Subject: [PATCH 07/77] Update to 16 Add ssl support with gnutls Add zeroconf support --- .cvsignore | 2 +- ngircd.spec | 14 +++++++++++--- sources | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.cvsignore b/.cvsignore index 12c491d..aabfeb0 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -ngircd-0.12.1.tar.gz +ngircd-16.tar.gz diff --git a/ngircd.spec b/ngircd.spec index ebf48f3..9c3c151 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -4,8 +4,8 @@ %define gecos "Next Generation IRC Daemon" Name: ngircd -Version: 0.12.1 -Release: 3%{?dist} +Version: 16 +Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -16,6 +16,7 @@ Source2: ngircd.conf BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: zlib-devel, avahi-compat-howl-devel, tcp_wrappers-devel BuildRequires: libident-devel +BuildRequires: gnutls-devel Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig Requires(preun): /sbin/service @@ -39,7 +40,9 @@ scratch and is not based upon the original IRCd like many others. --with-epoll \ --with-zeroconf \ --with-tcp-wrappers \ - --with-ident + --with-ident \ + --with-gnutls \ + --enable-ipv6 make %{?_smp_mflags} @@ -92,6 +95,11 @@ test "$1" != 0 || /usr/sbin/fedora-groupdel %username &>/dev/null || : %changelog +* Sun Jul 04 2010 Kevin Fenzi - 16-1 +- Update to 16 +- Add ssl support with gnutls +- Add zeroconf support + * Sat Jul 25 2009 Fedora Release Engineering - 0.12.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild diff --git a/sources b/sources index ef51e76..b4cdbf9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -db8618877a4dd5fb2be50402a2cb4a14 ngircd-0.12.1.tar.gz +8c9e0382cd982b0ca77c05528ebe28eb ngircd-16.tar.gz From 16bfa24449e66c5a06d410a61c6057c19f98f819 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 04:26:02 +0000 Subject: [PATCH 08/77] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- 2 files changed, 21 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index 5879934..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: ngircd -# $Id$ -NAME := ngircd -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) From ef0e12d5cc4e8cb1070639c8e894f47718a643a1 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 21 Nov 2010 20:32:44 -0700 Subject: [PATCH 09/77] Update to 17 --- .gitignore | 1 + ngircd.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index aabfeb0..4b244da 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ ngircd-16.tar.gz +/ngircd-17.tar.gz diff --git a/ngircd.spec b/ngircd.spec index 9c3c151..b5c79dd 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -4,7 +4,7 @@ %define gecos "Next Generation IRC Daemon" Name: ngircd -Version: 16 +Version: 17 Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons @@ -95,6 +95,9 @@ test "$1" != 0 || /usr/sbin/fedora-groupdel %username &>/dev/null || : %changelog +* Sun Nov 21 2010 Kevin Fenzi - 17-1 +- Update to 17 + * Sun Jul 04 2010 Kevin Fenzi - 16-1 - Update to 16 - Add ssl support with gnutls diff --git a/sources b/sources index b4cdbf9..dcbb193 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8c9e0382cd982b0ca77c05528ebe28eb ngircd-16.tar.gz +9965d7358055d45fe226f7e11e969a1f ngircd-17.tar.gz From a8568cc40b2773b5d9720b7993652c02b2bc1e84 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 21 Dec 2010 22:30:15 -0700 Subject: [PATCH 10/77] Update to 17.1 --- .gitignore | 1 + ngircd.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4b244da..cfeb7f2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ ngircd-16.tar.gz /ngircd-17.tar.gz +/ngircd-17.1.tar.gz diff --git a/ngircd.spec b/ngircd.spec index b5c79dd..794a253 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -4,7 +4,7 @@ %define gecos "Next Generation IRC Daemon" Name: ngircd -Version: 17 +Version: 17.1 Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons @@ -95,6 +95,9 @@ test "$1" != 0 || /usr/sbin/fedora-groupdel %username &>/dev/null || : %changelog +* Tue Dec 21 2010 Kevin Fenzi - 17.1-1 +- Update to 17.1 + * Sun Nov 21 2010 Kevin Fenzi - 17-1 - Update to 17 diff --git a/sources b/sources index dcbb193..55e436f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9965d7358055d45fe226f7e11e969a1f ngircd-17.tar.gz +b4ad0b1f18875ff3f2e92f076e64496b ngircd-17.1.tar.gz From 8ac106fc56815fef4d10b3f8269f6980f4187dd7 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 23 Jan 2011 14:14:39 -0700 Subject: [PATCH 11/77] Fix up for tmpfs /var/run Remove fedora-usermgmt stuff Fix username in config file to match up. --- ngircd.conf | 4 ++-- ngircd.init | 5 ++++- ngircd.spec | 27 ++++++++++++--------------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/ngircd.conf b/ngircd.conf index bb30a0c..a6dcb92 100644 --- a/ngircd.conf +++ b/ngircd.conf @@ -59,12 +59,12 @@ a# $Id$ # server must have been started with root privileges! In addition, # the configuration and MOTD files must be readable by this user, # otherwise RESTART and REHASH won't work! - ServerUID = ngirc + ServerUID = ngircd # Group ID under which the ngircd should run; you can use the name # of the group or the numerical ID. ATTENTION: For this to work the # server must have been started with root privileges! - ServerGID = ngirc + ServerGID = ngircd # A directory to chroot in when everything is initialized. It # doesn't need to be populated if ngIRCd is compiled as a static diff --git a/ngircd.init b/ngircd.init index 93c54c3..69a5b3f 100755 --- a/ngircd.init +++ b/ngircd.init @@ -6,7 +6,7 @@ # chkconfig: - 80 30 # description: ngircd is an IRC daemon # processname: ngircd -# pidfile: /var/run/ngircd.pid +# pidfile: /var/run/ngircd/ngircd.pid ### BEGIN INIT INFO # Provides: ngircd # Required-Start: $local_fs $network @@ -21,6 +21,9 @@ prog=ngircd RETVAL=0 +mkdir -p /var/run/ngircd 2>/dev/null +chown ngircd /var/run/ngircd + start() { echo -n $"Starting $prog: " daemon ngircd diff --git a/ngircd.spec b/ngircd.spec index 794a253..6de6d21 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,11 +1,6 @@ -%define uid 36 -%define username ngircd -%define homedir /tmp -%define gecos "Next Generation IRC Daemon" - Name: ngircd Version: 17.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -21,9 +16,7 @@ Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig Requires(preun): /sbin/service Requires(postun): /sbin/service -Requires(pre): fedora-usermgmt -Requires(postun): fedora-usermgmt - +Requires(pre): shadow-utils %description ngIRCd is a free open source daemon for Internet Relay Chat (IRC), @@ -60,9 +53,11 @@ mkdir -p %{buildroot}%{_localstatedir}/run/ngircd rm -rf %{buildroot} %pre -/usr/sbin/fedora-groupadd %uid -r %username &>/dev/null || : -/usr/sbin/fedora-useradd %uid -r -s /sbin/nologin -d %homedir -M \ - -c '%gecos' -g %username %username &>/dev/null || : +getent group ngircd >/dev/null || groupadd -r ngircd +getent passwd ngircd >/dev/null || \ + useradd -r -g ngircd -d /tmp/ -s /sbin/nologin \ + -c "Next Generation IRC Daemon" ngircd +exit 0 %post # This adds the proper /etc/rc*.d links for the script @@ -78,9 +73,6 @@ fi if [ "$1" -ge "1" ]; then /sbin/service ngircd condrestart >/dev/null 2>&1 || : fi -test "$1" != 0 || /usr/sbin/fedora-userdel %username &>/dev/null || : -test "$1" != 0 || /usr/sbin/fedora-groupdel %username &>/dev/null || : - %files %defattr(-,root,root,-) @@ -95,6 +87,11 @@ test "$1" != 0 || /usr/sbin/fedora-groupdel %username &>/dev/null || : %changelog +* Sun Jan 23 2011 Kevin Fenzi - 17.1-2 +- Fix up for tmpfs /var/run +- Remove fedora-usermgmt stuff +- Fix username in config file to match up. + * Tue Dec 21 2010 Kevin Fenzi - 17.1-1 - Update to 17.1 From 1a2794dfba5528be646a1f3b85293afc097e92a7 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 8 Feb 2011 18:25:15 -0600 Subject: [PATCH 12/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 6de6d21..5602758 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 17.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -87,6 +87,9 @@ fi %changelog +* Tue Feb 08 2011 Fedora Release Engineering - 17.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Sun Jan 23 2011 Kevin Fenzi - 17.1-2 - Fix up for tmpfs /var/run - Remove fedora-usermgmt stuff From a3b73a844d6505ce64dd68767dee17d878704840 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 22 Aug 2011 16:27:23 -0600 Subject: [PATCH 13/77] Update to 18 --- .gitignore | 1 + ngircd.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index cfeb7f2..ef64c0a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ ngircd-16.tar.gz /ngircd-17.tar.gz /ngircd-17.1.tar.gz +/ngircd-18.tar.gz diff --git a/ngircd.spec b/ngircd.spec index 5602758..2985f1f 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd -Version: 17.1 -Release: 3%{?dist} +Version: 18 +Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -87,6 +87,9 @@ fi %changelog +* Mon Aug 22 2011 Kevin Fenzi - 18-1 +- Update to 18 + * Tue Feb 08 2011 Fedora Release Engineering - 17.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild diff --git a/sources b/sources index 55e436f..16c4575 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b4ad0b1f18875ff3f2e92f076e64496b ngircd-17.1.tar.gz +4958c8b2d128cf3e9888af3f782892a1 ngircd-18.tar.gz From 36d9b1cf743561a6f23be41a66a251e49988d71a Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 22 Aug 2011 16:35:26 -0600 Subject: [PATCH 14/77] Fix config file typo --- ngircd.conf | 2 +- ngircd.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ngircd.conf b/ngircd.conf index a6dcb92..6310468 100644 --- a/ngircd.conf +++ b/ngircd.conf @@ -1,4 +1,4 @@ -a# $Id$ +# $Id$ # # This is a sample configuration file for the ngIRCd, which must be adepted diff --git a/ngircd.spec b/ngircd.spec index 2985f1f..1ff37d7 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 18 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -87,6 +87,9 @@ fi %changelog +* Mon Aug 22 2011 Kevin Fenzi - 18-2 +- Fix config file typo. + * Mon Aug 22 2011 Kevin Fenzi - 18-1 - Update to 18 From a3c34975c2628ae4973abab4cb392e618f6d0332 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 13 Jan 2012 05:08:20 -0600 Subject: [PATCH 15/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 1ff37d7..c583e9c 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 18 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -87,6 +87,9 @@ fi %changelog +* Fri Jan 13 2012 Fedora Release Engineering - 18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Mon Aug 22 2011 Kevin Fenzi - 18-2 - Fix config file typo. From fa793d8be563d86d805d225af1434a06e856f18d Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 19 Jul 2012 23:50:55 -0500 Subject: [PATCH 16/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index c583e9c..dae4918 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 18 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -87,6 +87,9 @@ fi %changelog +* Fri Jul 20 2012 Fedora Release Engineering - 18-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Fri Jan 13 2012 Fedora Release Engineering - 18-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild From 30974743a2becc12b558fe1b040028bf905743ea Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 2 Feb 2013 18:13:41 -0700 Subject: [PATCH 17/77] Update to 20.1 - Convert to systemd units for f19+ --- .gitignore | 1 + ngircd.service | 11 +++++++++++ ngircd.spec | 42 ++++++++++++++++++++++++++++++++++++++---- sources | 2 +- 4 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 ngircd.service diff --git a/.gitignore b/.gitignore index ef64c0a..6592ffc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ ngircd-16.tar.gz /ngircd-17.tar.gz /ngircd-17.1.tar.gz /ngircd-18.tar.gz +/ngircd-20.1.tar.gz diff --git a/ngircd.service b/ngircd.service new file mode 100644 index 0000000..7187a52 --- /dev/null +++ b/ngircd.service @@ -0,0 +1,11 @@ +[Unit] +Description=Next Generation IRC Daemon +Documentation=man:ngircd(8) man:ngircd.conf(5) http://ngircd.barton.de/documentation.php.en +After=network.target + +[Service] +ExecStart=/usr/sbin/ngircd -n +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/ngircd.spec b/ngircd.spec index dae4918..25e8158 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd -Version: 18 -Release: 4%{?dist} +Version: 20.1 +Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -8,14 +8,23 @@ URL: http://ngircd.barton.de/ Source0: ftp://ftp.berlios.de/pub/ngircd/ngircd-%{version}.tar.gz Source1: ngircd.init Source2: ngircd.conf -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Source3: ngircd.service + BuildRequires: zlib-devel, avahi-compat-howl-devel, tcp_wrappers-devel BuildRequires: libident-devel BuildRequires: gnutls-devel +%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +BuildRequires: systemd +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd +%else Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig Requires(preun): /sbin/service Requires(postun): /sbin/service +%endif + Requires(pre): shadow-utils %description @@ -43,7 +52,13 @@ make %{?_smp_mflags} %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} + +%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +install -D -m 755 %{SOURCE3} %{buildroot}%{_unitdir}/ngircd.service +%else install -D -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/ngircd +%endif + install -D -m 660 %{SOURCE2} %{buildroot}%{_sysconfdir}/ngircd.conf touch %{buildroot}%{_sysconfdir}/ngircd.motd rm -rf %{buildroot}%{_docdir}/ngircd @@ -60,33 +75,52 @@ getent passwd ngircd >/dev/null || \ exit 0 %post +%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +%systemd_post ngircd.service +%else # This adds the proper /etc/rc*.d links for the script /sbin/chkconfig --add ngircd +%endif %preun +%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +%systemd_preun ngircd.service +%else if [ $1 = 0 ]; then /sbin/service ngircd stop >/dev/null 2>&1 || : /sbin/chkconfig --del ngircd fi +%endif %postun +%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +%systemd_postun_with_restart ngircd.service +%else if [ "$1" -ge "1" ]; then /sbin/service ngircd condrestart >/dev/null 2>&1 || : fi +%endif %files %defattr(-,root,root,-) %doc AUTHORS COPYING ChangeLog NEWS README doc/* %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.conf %ghost %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.motd +%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +%{_unitdir}/ngircd.service +%else %{_initrddir}/ngircd +%endif %{_sbindir}/ngircd %{_mandir}/man5/ngircd.conf* %{_mandir}/man8/ngircd.8* %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ - %changelog +* Sat Feb 2 2013 Kevin Fenzi 20.1-1 +- Update to 20.1 +- Convert to systemd units for f19+ + * Fri Jul 20 2012 Fedora Release Engineering - 18-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild diff --git a/sources b/sources index 16c4575..0af7bf6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4958c8b2d128cf3e9888af3f782892a1 ngircd-18.tar.gz +f37a949af4ab0cd76faabc48011790bb ngircd-20.1.tar.gz From 5456a09519a174c2464743c823a6e8a2c1ddbc4a Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Thu, 7 Mar 2013 09:38:28 +0100 Subject: [PATCH 18/77] Rebuilt with new GnuTLS --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 25e8158..d24fabb 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 20.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -117,6 +117,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Thu Mar 7 2013 Tomáš Mráz 20.1-2 +- Rebuilt with new GnuTLS + * Sat Feb 2 2013 Kevin Fenzi 20.1-1 - Update to 20.1 - Convert to systemd units for f19+ From 31d216fb5094ae7643967ce840a81a4a30eb1d9a Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 29 Mar 2013 11:14:33 -0600 Subject: [PATCH 19/77] Update to 20.2. - Fix for CVE-2013-1747 --- .gitignore | 1 + ngircd.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6592ffc..cf84232 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ ngircd-16.tar.gz /ngircd-17.1.tar.gz /ngircd-18.tar.gz /ngircd-20.1.tar.gz +/ngircd-20.2.tar.gz diff --git a/ngircd.spec b/ngircd.spec index d24fabb..ca17055 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd -Version: 20.1 -Release: 2%{?dist} +Version: 20.2 +Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -117,6 +117,10 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Fri Mar 29 2013 Kevin Fenzi 20.2-1 +- Update to 20.2. +- Fix for CVE-2013-1747 + * Thu Mar 7 2013 Tomáš Mráz 20.1-2 - Rebuilt with new GnuTLS diff --git a/sources b/sources index 0af7bf6..cbac40e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f37a949af4ab0cd76faabc48011790bb ngircd-20.1.tar.gz +603f0b05e57a2b3bce0e7184bf418461 ngircd-20.2.tar.gz From a5ce4115b6b12b98c05f6213f038c017cb9b7a5f Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 3 Aug 2013 08:18:09 -0500 Subject: [PATCH 20/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index ca17055..94a6c5c 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 20.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -117,6 +117,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Sat Aug 03 2013 Fedora Release Engineering - 20.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Fri Mar 29 2013 Kevin Fenzi 20.2-1 - Update to 20.2. - Fix for CVE-2013-1747 From ea5285d62e98e5ddc9926bb3c0bc5c1ee1189ab4 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 24 Aug 2013 10:03:46 -0600 Subject: [PATCH 21/77] Update to 20.3. Fixes bug #1000690 - Fix for CVE-2013-5580 --- .gitignore | 1 + ngircd.spec | 8 ++++++-- sources | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index cf84232..b79ca53 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ ngircd-16.tar.gz /ngircd-18.tar.gz /ngircd-20.1.tar.gz /ngircd-20.2.tar.gz +/ngircd-20.3.tar.gz diff --git a/ngircd.spec b/ngircd.spec index 94a6c5c..5f7760b 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd -Version: 20.2 -Release: 2%{?dist} +Version: 20.3 +Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -117,6 +117,10 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Sat Aug 24 2013 Kevin Fenzi 20.3-1 +- Update to 20.3. Fixes bug #1000690 +- Fix for CVE-2013-5580 + * Sat Aug 03 2013 Fedora Release Engineering - 20.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild diff --git a/sources b/sources index cbac40e..1990c6e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -603f0b05e57a2b3bce0e7184bf418461 ngircd-20.2.tar.gz +224681726cf88120785fd05e0c314928 ngircd-20.3.tar.gz From 8a6e656861a9c5d0a079d7a636d752bfdfebee92 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 4 Sep 2013 18:18:44 -0600 Subject: [PATCH 22/77] Fix docs to not include Makefiles. Fixes bug #1004557 --- ngircd.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ngircd.spec b/ngircd.spec index 5f7760b..2e01c57 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 20.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -103,7 +103,7 @@ fi %files %defattr(-,root,root,-) -%doc AUTHORS COPYING ChangeLog NEWS README doc/* +%doc AUTHORS COPYING ChangeLog NEWS README doc/*.txt doc/*.tmpl doc/sample-ngircd.conf %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.conf %ghost %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.motd %if 0%{?rhel} > 6 || 0%{?fedora} > 18 @@ -117,6 +117,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Wed Sep 04 2013 Kevin Fenzi 20.3-2 +- Fix docs to not include Makefiles. Fixes bug #1004557 + * Sat Aug 24 2013 Kevin Fenzi 20.3-1 - Update to 20.3. Fixes bug #1000690 - Fix for CVE-2013-5580 From d1299fc3ba84022dad7b9fc1708125c83a104e7d Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 1 Nov 2013 13:33:08 -0600 Subject: [PATCH 23/77] Update to 21 --- .gitignore | 1 + ngircd.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b79ca53..d60789e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ ngircd-16.tar.gz /ngircd-20.1.tar.gz /ngircd-20.2.tar.gz /ngircd-20.3.tar.gz +/ngircd-21.tar.gz diff --git a/ngircd.spec b/ngircd.spec index 2e01c57..19e4120 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd -Version: 20.3 -Release: 2%{?dist} +Version: 21 +Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -117,6 +117,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Fri Nov 01 2013 Kevin Fenzi 21-1 +- Update to 21 + * Wed Sep 04 2013 Kevin Fenzi 20.3-2 - Fix docs to not include Makefiles. Fixes bug #1004557 diff --git a/sources b/sources index 1990c6e..53e0f94 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -224681726cf88120785fd05e0c314928 ngircd-20.3.tar.gz +cd5d9d0019c781834bb6ba1c1a2ad9e0 ngircd-21.tar.gz From 31402aeca6424c48318cc48b9af384c90fe394f5 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 26 Mar 2014 09:16:25 -0600 Subject: [PATCH 24/77] Update to 21.1 --- .gitignore | 1 + ngircd.spec | 5 ++++- sources | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index d60789e..64e101e 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ ngircd-16.tar.gz /ngircd-20.2.tar.gz /ngircd-20.3.tar.gz /ngircd-21.tar.gz +/ngircd-21.1.tar.gz diff --git a/ngircd.spec b/ngircd.spec index 19e4120..a453cc6 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,5 +1,5 @@ Name: ngircd -Version: 21 +Version: 21.1 Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons @@ -117,6 +117,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Wed Mar 26 2014 Kevin Fenzi 21.1-1 +- Update to 21.1 + * Fri Nov 01 2013 Kevin Fenzi 21-1 - Update to 21 diff --git a/sources b/sources index 53e0f94..270bbe8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cd5d9d0019c781834bb6ba1c1a2ad9e0 ngircd-21.tar.gz +69eacaaa46124541a1eef2b1e955bdef ngircd-21.1.tar.gz From 77d5f63c05a7a386da9af64baa741798c0120268 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Tue, 29 Apr 2014 13:38:12 -0600 Subject: [PATCH 25/77] Enable pam support. Fixes bug #1092706 --- ngircd.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index a453cc6..512119f 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 21.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -13,6 +13,7 @@ Source3: ngircd.service BuildRequires: zlib-devel, avahi-compat-howl-devel, tcp_wrappers-devel BuildRequires: libident-devel BuildRequires: gnutls-devel +BuildRequires: pam-devel %if 0%{?rhel} > 6 || 0%{?fedora} > 18 BuildRequires: systemd Requires(post): systemd @@ -44,6 +45,7 @@ scratch and is not based upon the original IRCd like many others. --with-tcp-wrappers \ --with-ident \ --with-gnutls \ + --with-pam \ --enable-ipv6 make %{?_smp_mflags} @@ -117,6 +119,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Tue Apr 29 2014 Kevin Fenzi 21.1-2 +- Enable pam support. Fixes bug #1092706 + * Wed Mar 26 2014 Kevin Fenzi 21.1-1 - Update to 21.1 From 7f57ead43f98f9bec1e2cf3b2b01112dba9b4ab8 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 07:48:25 -0500 Subject: [PATCH 26/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 512119f..527b10b 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 21.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -119,6 +119,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 21.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Tue Apr 29 2014 Kevin Fenzi 21.1-2 - Enable pam support. Fixes bug #1092706 From 80445a0979c62357c6a05f4d5e51a9ae525a9bab Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 11 Aug 2014 14:24:00 -0600 Subject: [PATCH 27/77] Set pam config to allow connections by default. --- ngircd.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 527b10b..f722235 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 21.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -62,6 +62,10 @@ install -D -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/ngircd %endif install -D -m 660 %{SOURCE2} %{buildroot}%{_sysconfdir}/ngircd.conf + +mkdir -p %{buildroot}%{_sysconfdir}/pam.d +install -D -m 660 ./contrib/Debian/ngircd.pam %{buildroot}%{_sysconfdir}/pam.d/ngircd + touch %{buildroot}%{_sysconfdir}/ngircd.motd rm -rf %{buildroot}%{_docdir}/ngircd mkdir -p %{buildroot}%{_localstatedir}/run/ngircd @@ -107,6 +111,7 @@ fi %defattr(-,root,root,-) %doc AUTHORS COPYING ChangeLog NEWS README doc/*.txt doc/*.tmpl doc/sample-ngircd.conf %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.conf +%config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/pam.d/ngircd %ghost %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.motd %if 0%{?rhel} > 6 || 0%{?fedora} > 18 %{_unitdir}/ngircd.service @@ -119,6 +124,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Mon Aug 11 2014 Kevin Fenzi 21.1-4 +- Set pam config to allow connections by default. + * Sat Jun 07 2014 Fedora Release Engineering - 21.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild From 3a7b423821150e6dc6d3120496ef55994776c756 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sun, 17 Aug 2014 11:49:51 +0000 Subject: [PATCH 28/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index f722235..8e2a896 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 21.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -124,6 +124,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Sun Aug 17 2014 Fedora Release Engineering - 21.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Mon Aug 11 2014 Kevin Fenzi 21.1-4 - Set pam config to allow connections by default. From 4159265779326dfad5227edbc7b32d3842328c23 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 3 Oct 2014 16:07:04 -0600 Subject: [PATCH 29/77] Sync ngircd.conf with sample template version. Fixes bug #1149012 --- ngircd.conf | 310 +++++++++++++++++++++++++++++++++++++++------------- ngircd.spec | 5 +- 2 files changed, 240 insertions(+), 75 deletions(-) diff --git a/ngircd.conf b/ngircd.conf index 6310468..0775060 100644 --- a/ngircd.conf +++ b/ngircd.conf @@ -1,34 +1,31 @@ -# $Id$ - # -# This is a sample configuration file for the ngIRCd, which must be adepted -# to the local preferences and needs. +# This is a sample configuration file for the ngIRCd IRC daemon, which must +# be customized to the local preferences and needs. # # Comments are started with "#" or ";". # # A lot of configuration options in this file start with a ";". You have # to remove the ";" in front of each variable to actually set a value! -# The disabled variables are shown with example values for completeness. +# The disabled variables are shown with example values for completeness only +# and the daemon is using compiled-in default settings. # # Use "ngircd --configtest" (see manual page ngircd(8)) to validate that the # server interprets the configuration file as expected! # +# Please see ngircd.conf(5) for a complete list of configuration options +# and their descriptions. +# [Global] # The [Global] section of this file is used to define the main # configuration of the server, like the server name and the ports # on which the server should be listening. + # These settings depend on your personal preferences, so you should + # make sure that they correspond to your installation and setup! # Server name in the IRC network, must contain at least one dot # (".") and be unique in the IRC network. Required! - Name = irc.the.net - - # Info text of the server. This will be shown by WHOIS and - # LINKS requests for example. - Info = Server Info Text - - # Global password for all users needed to connect to the server - ;Password = abc + Name = irc.example.net # Information about the server and the administrator, used by the # ADMIN command. Not required by server but by RFC! @@ -36,11 +33,15 @@ ;AdminInfo2 = Location ;AdminEMail = admin@irc.server - # Ports on which the server should listen. There may be more than - # one port, separated with ",". (Default: 6667) - ;Ports = 6667, 6668, 6669 + # Text file which contains the ngIRCd help text. This file is required + # to display help texts when using the "HELP " command. + ;HelpFile = :DOCDIR:/Commands.txt - # comma seperated list of IP addresses on which the server should + # Info text of the server. This will be shown by WHOIS and + # LINKS requests for example. + Info = Server Info Text + + # Comma separated list of IP addresses on which the server should # listen. Default values are: # "0.0.0.0" or (if compiled with IPv6 support) "::,0.0.0.0" # so the server listens on all IP addresses of the system by default. @@ -48,12 +49,30 @@ # Text file with the "message of the day" (MOTD). This message will # be shown to all users connecting to the server: - ;MotdFile = /etc/ngircd.motd + ;MotdFile = :ETCDIR:/ngircd.motd # A simple Phrase (<256 chars) if you don't want to use a motd file. - # If it is set no MotdFile will be read at all. ;MotdPhrase = "Hello world!" + # Global password for all users needed to connect to the server. + # (Default: not set) + ;Password = abc + + # This tells ngIRCd to write its current process ID to a file. + # Note that the pidfile is written AFTER chroot and switching the + # user ID, e.g. the directory the pidfile resides in must be + # writable by the ngIRCd user and exist in the chroot directory. + ;PidFile = /var/run/ngircd/ngircd.pid + + # Ports on which the server should listen. There may be more than + # one port, separated with ",". (Default: 6667) + ;Ports = 6667, 6668, 6669 + + # Group ID under which the ngIRCd should run; you can use the name + # of the group or the numerical ID. ATTENTION: For this to work the + # server must have been started with root privileges! + ServerGID = ngircd + # User ID under which the server should run; you can use the name # of the user or the numerical ID. ATTENTION: For this to work the # server must have been started with root privileges! In addition, @@ -61,56 +80,23 @@ # otherwise RESTART and REHASH won't work! ServerUID = ngircd - # Group ID under which the ngircd should run; you can use the name - # of the group or the numerical ID. ATTENTION: For this to work the - # server must have been started with root privileges! - ServerGID = ngircd - - # A directory to chroot in when everything is initialized. It - # doesn't need to be populated if ngIRCd is compiled as a static - # binary. By default ngIRCd won't use the chroot() feature. - # ATTENTION: For this to work the server must have been started - # with root privileges! - ;ChrootDir = /var/empty - - # This tells ngircd to write its current process id to a file. - # Note that the pidfile is written AFTER chroot and switching uid, - # i. e. the Directory the pidfile resides in must be writeable by - # the ngircd user and exist in the chroot directory. - PidFile = /var/run/ngircd/ngircd.pid - - # After seconds of inactivity the server will send a - # PING to the peer to test whether it is alive or not. - ;PingTimeout = 120 - - # If a client fails to answer a PING with a PONG within - # seconds, it will be disconnected by the server. - ;PongTimeout = 20 +[Limits] + # Define some limits and timeouts for this ngIRCd instance. Default + # values should be safe, but it is wise to double-check :-) # The server tries every seconds to establish a link # to not yet (or no longer) connected servers. ;ConnectRetry = 60 - # Should IRC Operators be allowed to use the MODE command even if - # they are not(!) channel-operators? - ;OperCanUseMode = no + # Number of seconds after which the whole daemon should shutdown when + # no connections are left active after handling at least one client + # (0: never, which is the default). + # This can be useful for testing or when ngIRCd is started using + # "socket activation" with systemd(8), for example. + ;IdleTimeout = 0 - # Mask IRC Operator mode requests as if they were coming from the - # server? (This is a compatibility hack for ircd-irc2 servers) - ;OperServerMode = no - - # Allow Pre-Defined Channels only (see Section [Channels]) - ;PredefChannelsOnly = no - - # Don't do any DNS lookups when a client connects to the server. - ;NoDNS = no - - # try to connect to other irc servers using ipv4 and ipv6, if possible - ;ConnectIPv6 = yes - ;ConnectIPv4 = yes - - # Maximum number of simultaneous connection the server is allowed - # to accept (0: unlimited): + # Maximum number of simultaneous in- and outbound connections the + # server is allowed to accept (0: unlimited): ;MaxConnections = 0 # Maximum number of simultaneous connections from a single IP address @@ -120,16 +106,174 @@ # Maximum number of channels a user can be member of (0: no limit): ;MaxJoins = 10 - # Maximum length of an user nick name (Default: 9, as in RFC 2812). + # Maximum length of an user nickname (Default: 9, as in RFC 2812). # Please note that all servers in an IRC network MUST use the same - # maximum nick name length! + # maximum nickname length! ;MaxNickLength = 9 + # Maximum number of channels returned in response to a /list + # command (0: unlimited): + ;MaxListSize = 100 + + # After seconds of inactivity the server will send a + # PING to the peer to test whether it is alive or not. + ;PingTimeout = 120 + + # If a client fails to answer a PING with a PONG within + # seconds, it will be disconnected by the server. + ;PongTimeout = 20 + +[Options] + # Optional features and configuration options to further tweak the + # behavior of ngIRCd. If you want to get started quickly, you most + # probably don't have to make changes here -- they are all optional. + + # List of allowed channel types (channel prefixes) for newly created + # channels on the local server. By default, all supported channel + # types are allowed. Set this variable to the empty string to disallow + # creation of new channels by local clients at all. + ;AllowedChannelTypes = #&+ + + # Are remote IRC operators allowed to control this server, e.g. + # use commands like CONNECT, SQUIT, DIE, ...? + ;AllowRemoteOper = no + + # A directory to chroot in when everything is initialized. It + # doesn't need to be populated if ngIRCd is compiled as a static + # binary. By default ngIRCd won't use the chroot() feature. + # ATTENTION: For this to work the server must have been started + # with root privileges! + ;ChrootDir = /var/empty + + # Set this hostname for every client instead of the real one. + # Use %x to add the hashed value of the original hostname. + ;CloakHost = cloaked.host + + # Use this hostname for hostname cloaking on clients that have the + # user mode "+x" set, instead of the name of the server. + # Use %x to add the hashed value of the original hostname. + ;CloakHostModeX = cloaked.user + + # The Salt for cloaked hostname hashing. When undefined a random + # hash is generated after each server start. + ;CloakHostSalt = abcdefghijklmnopqrstuvwxyz + + # Set every clients' user name to their nickname + ;CloakUserToNick = yes + + # Try to connect to other IRC servers using IPv4 and IPv6, if possible. + ;ConnectIPv6 = yes + ;ConnectIPv4 = yes + + # Default user mode(s) to set on new local clients. Please note that + # only modes can be set that the client could set on itself, you can't + # set "a" (away) or "o" (IRC Op), for example! Default: none. + ;DefaultUserModes = i + + # Do DNS lookups when a client connects to the server. + ;DNS = yes + + # Do IDENT lookups if ngIRCd has been compiled with support for it. + # Users identified using IDENT are registered without the "~" character + # prepended to their user name. + ;Ident = yes + + # Directory containing configuration snippets (*.conf), that should + # be read in after parsing this configuration file. + ;IncludeDir = :ETCDIR:/conf.d + + # Enhance user privacy slightly (useful for IRC server on TOR or I2P) + # by censoring some information like idle time, logon time, etc. + ;MorePrivacy = no + + # Normally ngIRCd doesn't send any messages to a client until it is + # registered. Enable this option to let the daemon send "NOTICE AUTH" + # messages to clients while connecting. + ;NoticeAuth = no + + # Should IRC Operators be allowed to use the MODE command even if + # they are not(!) channel-operators? + ;OperCanUseMode = no + + # Should IRC Operators get AutoOp (+o) in persistent (+P) channels? + ;OperChanPAutoOp = yes + + # Mask IRC Operator mode requests as if they were coming from the + # server? (This is a compatibility hack for ircd-irc2 servers) + ;OperServerMode = no + + # Use PAM if ngIRCd has been compiled with support for it. + # Users identified using PAM are registered without the "~" character + # prepended to their user name. + ;PAM = yes + + # When PAM is enabled, all clients are required to be authenticated + # using PAM; connecting to the server without successful PAM + # authentication isn't possible. + # If this option is set, clients not sending a password are still + # allowed to connect: they won't become "identified" and keep the "~" + # character prepended to their supplied user name. + # Please note: To make some use of this behavior, it most probably + # isn't useful to enable "Ident", "PAM" and "PAMIsOptional" at the + # same time, because you wouldn't be able to distinguish between + # Ident'ified and PAM-authenticated users: both don't have a "~" + # character prepended to their respective user names! + ;PAMIsOptional = no + + # Let ngIRCd send an "authentication PING" when a new client connects, + # and register this client only after receiving the corresponding + # "PONG" reply. + ;RequireAuthPing = no + + # Silently drop all incoming CTCP requests. + ;ScrubCTCP = no + + # Syslog "facility" to which ngIRCd should send log messages. + # Possible values are system dependent, but most probably auth, daemon, + # user and local1 through local7 are possible values; see syslog(3). + # Default is "local5" for historical reasons, you probably want to + # change this to "daemon", for example. + ;SyslogFacility = local1 + + # Password required for using the WEBIRC command used by some + # Web-to-IRC gateways. If not set/empty, the WEBIRC command can't + # be used. (Default: not set) + ;WebircPassword = xyz + +;[SSL] + # SSL-related configuration options. Please note that this section + # is only available when ngIRCd is compiled with support for SSL! + # So don't forget to remove the ";" above if this is the case ... + + # SSL Server Key Certificate + ;CertFile = :ETCDIR:/ssl/server-cert.pem + + # Select cipher suites allowed for SSL/TLS connections. This defaults + # to HIGH:!aNULL:@STRENGTH (OpenSSL) or SECURE128 (GnuTLS). + # See 'man 1ssl ciphers' (OpenSSL) or 'man 3 gnutls_priority_init' + # (GnuTLS) for details. + # For OpenSSL: + ;CipherList = HIGH:!aNULL:@STRENGTH + # For GnuTLS: + ;CipherList = SECURE128 + + # Diffie-Hellman parameters + ;DHFile = :ETCDIR:/ssl/dhparams.pem + + # SSL Server Key + ;KeyFile = :ETCDIR:/ssl/server-key.pem + + # password to decrypt SSLKeyFile (OpenSSL only) + ;KeyFilePassword = secret + + # Additional Listen Ports that expect SSL/TLS encrypted connections + ;Ports = 6697, 9999 + [Operator] # [Operator] sections are used to define IRC Operators. There may be # more than one [Operator] block, one for each local operator. - # ID of the operator (may be different of the nick name) + # ID of the operator (may be different of the nickname) ;Name = TheOper # Password of the IRC operator @@ -157,14 +301,14 @@ # IRC name of the remote server, must match the "Name" variable in # the [Global] section of the other server (when using ngIRCd). - ;Name = irc2.the.net - + ;Name = irc2.example.net + # Internet host name or IP address of the peer (only required when # this server should establish the connection). - ;Host = connect-to-host.the.net + ;Host = connect-to-host.example.net - # IP address to use as _source_ address for the connection. if unspecified, - # ngircd will let the operating system pick an address. + # IP address to use as _source_ address for the connection. if + # unspecified, ngircd will let the operating system pick an address. ;Bind = 10.0.0.1 # Port of the server to which the ngIRCd should connect. If you @@ -184,11 +328,25 @@ # Set the "Passive" option to "yes" if you don't want this ngIRCd to # connect to the configured peer (same as leaving the "Port" variable - # empty). The advantage of this option is that you can actually configure - # a port an use the IRC command CONNECT more easily to manually connect - # this specific server later. + # empty). The advantage of this option is that you can actually + # configure a port an use the IRC command CONNECT more easily to + # manually connect this specific server later. ;Passive = no + # Connect to the remote server using TLS/SSL (Default: false) + ;SSLConnect = yes + + # Define a (case insensitive) list of masks matching nicknames that + # should be treated as IRC services when introduced via this remote + # server, separated by commas (","). + # REGULAR SERVERS DON'T NEED this parameter, so leave it empty + # (which is the default). + # When you are connecting IRC services which mask as a IRC server + # and which use "virtual users" to communicate with, for example + # "NickServ" and "ChanServ", you should set this parameter to + # something like "*Serv" or "NickServ,ChanServ,XyzServ". + ;ServiceMask = *Serv,Global + [Server] # More [Server] sections, if you like ... @@ -212,6 +370,10 @@ # initial channel password (mode k) ;Key = Secret + # Key file, syntax for each line: "::". + # Default: none. + ;KeyFile = :ETCDIR:/#chan.key + # maximum users per channel (mode l) ;MaxUsers = 23 diff --git a/ngircd.spec b/ngircd.spec index 8e2a896..4a290b2 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 21.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -124,6 +124,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Fri Oct 03 2014 Kevin Fenzi 21.1-6 +- Sync ngircd.conf with sample template version. Fixes bug #1149012 + * Sun Aug 17 2014 Fedora Release Engineering - 21.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From ba4c4a01a7ea7bcb01690ff4764fcd759f815355 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 13 Oct 2014 09:45:51 -0600 Subject: [PATCH 30/77] Update to 22. Fixes bug #1152080 --- .gitignore | 1 + ngircd.spec | 9 ++++++--- sources | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 64e101e..28f63dc 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ ngircd-16.tar.gz /ngircd-20.3.tar.gz /ngircd-21.tar.gz /ngircd-21.1.tar.gz +/ngircd-22.tar.gz diff --git a/ngircd.spec b/ngircd.spec index 4a290b2..d45b68b 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,11 +1,11 @@ Name: ngircd -Version: 21.1 -Release: 6%{?dist} +Version: 22 +Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ URL: http://ngircd.barton.de/ -Source0: ftp://ftp.berlios.de/pub/ngircd/ngircd-%{version}.tar.gz +Source0: http://ngircd.barton.de/pub/ngircd/ngircd-%{version}.tar.gz Source1: ngircd.init Source2: ngircd.conf Source3: ngircd.service @@ -124,6 +124,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Mon Oct 13 2014 Kevin Fenzi 22-1 +- Update to 22. Fixes bug #1152080 + * Fri Oct 03 2014 Kevin Fenzi 21.1-6 - Sync ngircd.conf with sample template version. Fixes bug #1149012 diff --git a/sources b/sources index 270bbe8..3d48a21 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -69eacaaa46124541a1eef2b1e955bdef ngircd-21.1.tar.gz +c6cfd105f6ee21cb3c051a88664990a4 ngircd-22.tar.gz From 812522027186331b73adbaa120911bd1435e3129 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 19 Jan 2015 20:59:27 -0700 Subject: [PATCH 31/77] Set default gnutls ciphers to "@SYSTEM". Fixes bug #1179328 --- ngircd.conf | 2 ++ ngircd.spec | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ngircd.conf b/ngircd.conf index 0775060..5e62db9 100644 --- a/ngircd.conf +++ b/ngircd.conf @@ -256,6 +256,8 @@ ;CipherList = HIGH:!aNULL:@STRENGTH # For GnuTLS: ;CipherList = SECURE128 + # Set the default to use Fedora's site wide crypto policy. + CipherList = @SYSTEM # Diffie-Hellman parameters ;DHFile = :ETCDIR:/ssl/dhparams.pem diff --git a/ngircd.spec b/ngircd.spec index d45b68b..4880d17 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 22 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -124,6 +124,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Mon Jan 19 2015 Kevin Fenzi 22-2 +- Set default gnutls ciphers to "@SYSTEM". Fixes bug #1179328 + * Mon Oct 13 2014 Kevin Fenzi 22-1 - Update to 22. Fixes bug #1152080 From 8673f1ce2a38e92b1f9daccebd7a87d342a91196 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Mon, 6 Apr 2015 19:48:17 -0600 Subject: [PATCH 32/77] Update to 22.1 --- .gitignore | 1 + ngircd.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 28f63dc..8096230 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ ngircd-16.tar.gz /ngircd-21.tar.gz /ngircd-21.1.tar.gz /ngircd-22.tar.gz +/ngircd-22.1.tar.gz diff --git a/ngircd.spec b/ngircd.spec index 4880d17..e5a3448 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd -Version: 22 -Release: 2%{?dist} +Version: 22.1 +Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -124,6 +124,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Mon Apr 06 2015 Kevin Fenzi 22.1-1 +- Update to 22.1 + * Mon Jan 19 2015 Kevin Fenzi 22-2 - Set default gnutls ciphers to "@SYSTEM". Fixes bug #1179328 diff --git a/sources b/sources index 3d48a21..857c4f0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c6cfd105f6ee21cb3c051a88664990a4 ngircd-22.tar.gz +586c4fef1fbb77dcbe723e9136ec08eb ngircd-22.1.tar.gz From 2a965de9eea374e83b3a85b86a0976d6faa1af30 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 17 Jun 2015 21:48:49 +0000 Subject: [PATCH 33/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index e5a3448..cf628b2 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 22.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -124,6 +124,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Wed Jun 17 2015 Fedora Release Engineering - 22.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Mon Apr 06 2015 Kevin Fenzi 22.1-1 - Update to 22.1 From 1c9e764d3d8d1d8b8c4bc65e4828a3e24566a430 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 17 Nov 2015 09:25:20 -0700 Subject: [PATCH 34/77] Minor spec cleanup --- ngircd.spec | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/ngircd.spec b/ngircd.spec index cf628b2..b0fa6da 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -14,7 +14,7 @@ BuildRequires: zlib-devel, avahi-compat-howl-devel, tcp_wrappers-devel BuildRequires: libident-devel BuildRequires: gnutls-devel BuildRequires: pam-devel -%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +%if 0%{?rhel} > 6 || 0%{?fedora} BuildRequires: systemd Requires(post): systemd Requires(preun): systemd @@ -55,7 +55,7 @@ make %{?_smp_mflags} rm -rf %{buildroot} make install DESTDIR=%{buildroot} -%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +%if 0%{?rhel} > 6 || 0%{?fedora} install -D -m 755 %{SOURCE3} %{buildroot}%{_unitdir}/ngircd.service %else install -D -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/ngircd @@ -81,7 +81,7 @@ getent passwd ngircd >/dev/null || \ exit 0 %post -%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +%if 0%{?rhel} > 6 || 0%{?fedora} %systemd_post ngircd.service %else # This adds the proper /etc/rc*.d links for the script @@ -89,7 +89,7 @@ exit 0 %endif %preun -%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +%if 0%{?rhel} > 6 || 0%{?fedora} %systemd_preun ngircd.service %else if [ $1 = 0 ]; then @@ -99,7 +99,7 @@ fi %endif %postun -%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +%if 0%{?rhel} > 6 || 0%{?fedora} %systemd_postun_with_restart ngircd.service %else if [ "$1" -ge "1" ]; then @@ -108,12 +108,11 @@ fi %endif %files -%defattr(-,root,root,-) %doc AUTHORS COPYING ChangeLog NEWS README doc/*.txt doc/*.tmpl doc/sample-ngircd.conf %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.conf %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/pam.d/ngircd %ghost %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.motd -%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +%if 0%{?rhel} > 6 || 0%{?fedora} %{_unitdir}/ngircd.service %else %{_initrddir}/ngircd From 13aa5ccc26df7497ed0177ab846bbd0b1069664f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 17 Nov 2015 09:53:46 -0700 Subject: [PATCH 35/77] Substitute :ETCDIR:,:DOCDIR: in ngircd.conf --- ngircd.conf | 14 +++++++------- ngircd.spec | 14 ++++++++++---- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/ngircd.conf b/ngircd.conf index 5e62db9..44a1640 100644 --- a/ngircd.conf +++ b/ngircd.conf @@ -35,7 +35,7 @@ # Text file which contains the ngIRCd help text. This file is required # to display help texts when using the "HELP " command. - ;HelpFile = :DOCDIR:/Commands.txt + ;HelpFile = /usr/share/doc/ngircd/Commands.txt # Info text of the server. This will be shown by WHOIS and # LINKS requests for example. @@ -49,7 +49,7 @@ # Text file with the "message of the day" (MOTD). This message will # be shown to all users connecting to the server: - ;MotdFile = :ETCDIR:/ngircd.motd + ;MotdFile = /etc/ngircd.motd # A simple Phrase (<256 chars) if you don't want to use a motd file. ;MotdPhrase = "Hello world!" @@ -180,7 +180,7 @@ # Directory containing configuration snippets (*.conf), that should # be read in after parsing this configuration file. - ;IncludeDir = :ETCDIR:/conf.d + ;IncludeDir = /etc/conf.d # Enhance user privacy slightly (useful for IRC server on TOR or I2P) # by censoring some information like idle time, logon time, etc. @@ -246,7 +246,7 @@ # So don't forget to remove the ";" above if this is the case ... # SSL Server Key Certificate - ;CertFile = :ETCDIR:/ssl/server-cert.pem + ;CertFile = /etc/ssl/server-cert.pem # Select cipher suites allowed for SSL/TLS connections. This defaults # to HIGH:!aNULL:@STRENGTH (OpenSSL) or SECURE128 (GnuTLS). @@ -260,10 +260,10 @@ CipherList = @SYSTEM # Diffie-Hellman parameters - ;DHFile = :ETCDIR:/ssl/dhparams.pem + ;DHFile = /etc/ssl/dhparams.pem # SSL Server Key - ;KeyFile = :ETCDIR:/ssl/server-key.pem + ;KeyFile = /etc/ssl/server-key.pem # password to decrypt SSLKeyFile (OpenSSL only) ;KeyFilePassword = secret @@ -374,7 +374,7 @@ # Key file, syntax for each line: "::". # Default: none. - ;KeyFile = :ETCDIR:/#chan.key + ;KeyFile = /etc/#chan.key # maximum users per channel (mode l) ;MaxUsers = 23 diff --git a/ngircd.spec b/ngircd.spec index b0fa6da..2fff636 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,14 +1,16 @@ Name: ngircd -Version: 22.1 -Release: 2%{?dist} +Version: 23 +Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ URL: http://ngircd.barton.de/ Source0: http://ngircd.barton.de/pub/ngircd/ngircd-%{version}.tar.gz +# Patch for servivce file +Patch0: ngircd-nofork.patch + Source1: ngircd.init Source2: ngircd.conf -Source3: ngircd.service BuildRequires: zlib-devel, avahi-compat-howl-devel, tcp_wrappers-devel BuildRequires: libident-devel @@ -35,6 +37,7 @@ scratch and is not based upon the original IRCd like many others. %prep %setup -q +%patch0 -p1 -b .nofork %build %configure \ @@ -56,7 +59,7 @@ rm -rf %{buildroot} make install DESTDIR=%{buildroot} %if 0%{?rhel} > 6 || 0%{?fedora} -install -D -m 755 %{SOURCE3} %{buildroot}%{_unitdir}/ngircd.service +install -D -m 755 contrib/ngircd.service %{buildroot}%{_unitdir}/ngircd.service %else install -D -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/ngircd %endif @@ -123,6 +126,9 @@ fi %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ %changelog +* Tue Nov 17 2015 Orion Poplawski 23-1 +- Update to 23 + * Wed Jun 17 2015 Fedora Release Engineering - 22.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild From 28a807ef4e446fee8b6c30f284f20febf700bc6f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 17 Nov 2015 13:59:35 -0700 Subject: [PATCH 36/77] Update to 23 - Update service file from upstream - Base config file on upstream - Use %license, upstream doc install --- .gitignore | 1 + ngircd-cipher.patch | 21 +++ ngircd-fedora.patch | 29 ++++ ngircd-service.patch | 27 +++ ngircd.conf | 385 ------------------------------------------- ngircd.service | 4 + ngircd.spec | 35 +++- sources | 2 +- 8 files changed, 110 insertions(+), 394 deletions(-) create mode 100644 ngircd-cipher.patch create mode 100644 ngircd-fedora.patch create mode 100644 ngircd-service.patch delete mode 100644 ngircd.conf diff --git a/.gitignore b/.gitignore index 8096230..08f57a1 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ ngircd-16.tar.gz /ngircd-21.1.tar.gz /ngircd-22.tar.gz /ngircd-22.1.tar.gz +/ngircd-23.tar.gz diff --git a/ngircd-cipher.patch b/ngircd-cipher.patch new file mode 100644 index 0000000..5782075 --- /dev/null +++ b/ngircd-cipher.patch @@ -0,0 +1,21 @@ +diff -up ngircd-23/doc/sample-ngircd.conf.tmpl.cipher ngircd-23/doc/sample-ngircd.conf.tmpl +--- ngircd-23/doc/sample-ngircd.conf.tmpl.cipher 2015-08-20 08:29:56.000000000 -0600 ++++ ngircd-23/doc/sample-ngircd.conf.tmpl 2015-11-17 10:30:10.124060823 -0700 +@@ -246,7 +246,7 @@ + # be used. (Default: not set) + ;WebircPassword = xyz + +-;[SSL] ++[SSL] + # SSL-related configuration options. Please note that this section + # is only available when ngIRCd is compiled with support for SSL! + # So don't forget to remove the ";" above if this is the case ... +@@ -262,6 +262,8 @@ + ;CipherList = HIGH:!aNULL:@STRENGTH:!SSLv3 + # For GnuTLS: + ;CipherList = SECURE128:-VERS-SSL3.0 ++ # Set the default to use Fedora's site wide crypto policy. ++ CipherList = @SYSTEM + + # Diffie-Hellman parameters + ;DHFile = :ETCDIR:/ssl/dhparams.pem diff --git a/ngircd-fedora.patch b/ngircd-fedora.patch new file mode 100644 index 0000000..85fdf5c --- /dev/null +++ b/ngircd-fedora.patch @@ -0,0 +1,29 @@ +diff -up ngircd-23/doc/sample-ngircd.conf.tmpl.fedora ngircd-23/doc/sample-ngircd.conf.tmpl +--- ngircd-23/doc/sample-ngircd.conf.tmpl.fedora 2015-08-20 08:29:56.000000000 -0600 ++++ ngircd-23/doc/sample-ngircd.conf.tmpl 2015-11-17 12:26:54.905029870 -0700 +@@ -45,7 +45,7 @@ + # listen. Default values are: + # "0.0.0.0" or (if compiled with IPv6 support) "::,0.0.0.0" + # so the server listens on all IP addresses of the system by default. +- ;Listen = 127.0.0.1,192.168.0.1 ++ Listen = 127.0.0.1 + + # Text file with the "message of the day" (MOTD). This message will + # be shown to all users connecting to the server: +@@ -77,14 +77,14 @@ + # Group ID under which the ngIRCd should run; you can use the name + # of the group or the numerical ID. ATTENTION: For this to work the + # server must have been started with root privileges! +- ;ServerGID = 65534 ++ ServerGID = ngircd + + # User ID under which the server should run; you can use the name + # of the user or the numerical ID. ATTENTION: For this to work the + # server must have been started with root privileges! In addition, + # the configuration and MOTD files must be readable by this user, + # otherwise RESTART and REHASH won't work! +- ;ServerUID = 65534 ++ ServerUID = ngircd + + [Limits] + # Define some limits and timeouts for this ngIRCd instance. Default diff --git a/ngircd-service.patch b/ngircd-service.patch new file mode 100644 index 0000000..460eae2 --- /dev/null +++ b/ngircd-service.patch @@ -0,0 +1,27 @@ +diff -up ngircd-23/contrib/ngircd.service.service ngircd-23/contrib/ngircd.service +--- ngircd-23/contrib/ngircd.service.service 2015-08-20 08:29:56.000000000 -0600 ++++ ngircd-23/contrib/ngircd.service 2015-11-17 13:54:13.472933250 -0700 +@@ -1,12 +1,10 @@ + [Unit] + Description=Next Generation IRC Daemon ++Documentation=man:ngircd(8) man:ngircd.conf(5) http://ngircd.barton.de/documentation.php.en + After=network.target + + [Service] +-Type=forking +-User=irc +-Group=irc +-CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_SYS_CHROOT CAP_NET_BIND_SERVICE ++CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_SYS_CHROOT CAP_NET_BIND_SERVICE CAP_KILL + PrivateTmp=yes + PrivateDevices=yes + ProtectSystem=full +@@ -14,7 +12,7 @@ ProtectHome=true + NoNewPrivileges=true + RuntimeDirectory=ircd + RuntimeDirectoryMode=750 +-ExecStart=/usr/sbin/ngircd ++ExecStart=/usr/sbin/ngircd -n + ExecReload=/bin/kill -HUP $MAINPID + Restart=on-failure + diff --git a/ngircd.conf b/ngircd.conf deleted file mode 100644 index 44a1640..0000000 --- a/ngircd.conf +++ /dev/null @@ -1,385 +0,0 @@ -# -# This is a sample configuration file for the ngIRCd IRC daemon, which must -# be customized to the local preferences and needs. -# -# Comments are started with "#" or ";". -# -# A lot of configuration options in this file start with a ";". You have -# to remove the ";" in front of each variable to actually set a value! -# The disabled variables are shown with example values for completeness only -# and the daemon is using compiled-in default settings. -# -# Use "ngircd --configtest" (see manual page ngircd(8)) to validate that the -# server interprets the configuration file as expected! -# -# Please see ngircd.conf(5) for a complete list of configuration options -# and their descriptions. -# - -[Global] - # The [Global] section of this file is used to define the main - # configuration of the server, like the server name and the ports - # on which the server should be listening. - # These settings depend on your personal preferences, so you should - # make sure that they correspond to your installation and setup! - - # Server name in the IRC network, must contain at least one dot - # (".") and be unique in the IRC network. Required! - Name = irc.example.net - - # Information about the server and the administrator, used by the - # ADMIN command. Not required by server but by RFC! - ;AdminInfo1 = Description - ;AdminInfo2 = Location - ;AdminEMail = admin@irc.server - - # Text file which contains the ngIRCd help text. This file is required - # to display help texts when using the "HELP " command. - ;HelpFile = /usr/share/doc/ngircd/Commands.txt - - # Info text of the server. This will be shown by WHOIS and - # LINKS requests for example. - Info = Server Info Text - - # Comma separated list of IP addresses on which the server should - # listen. Default values are: - # "0.0.0.0" or (if compiled with IPv6 support) "::,0.0.0.0" - # so the server listens on all IP addresses of the system by default. - Listen = 127.0.0.1 - - # Text file with the "message of the day" (MOTD). This message will - # be shown to all users connecting to the server: - ;MotdFile = /etc/ngircd.motd - - # A simple Phrase (<256 chars) if you don't want to use a motd file. - ;MotdPhrase = "Hello world!" - - # Global password for all users needed to connect to the server. - # (Default: not set) - ;Password = abc - - # This tells ngIRCd to write its current process ID to a file. - # Note that the pidfile is written AFTER chroot and switching the - # user ID, e.g. the directory the pidfile resides in must be - # writable by the ngIRCd user and exist in the chroot directory. - ;PidFile = /var/run/ngircd/ngircd.pid - - # Ports on which the server should listen. There may be more than - # one port, separated with ",". (Default: 6667) - ;Ports = 6667, 6668, 6669 - - # Group ID under which the ngIRCd should run; you can use the name - # of the group or the numerical ID. ATTENTION: For this to work the - # server must have been started with root privileges! - ServerGID = ngircd - - # User ID under which the server should run; you can use the name - # of the user or the numerical ID. ATTENTION: For this to work the - # server must have been started with root privileges! In addition, - # the configuration and MOTD files must be readable by this user, - # otherwise RESTART and REHASH won't work! - ServerUID = ngircd - -[Limits] - # Define some limits and timeouts for this ngIRCd instance. Default - # values should be safe, but it is wise to double-check :-) - - # The server tries every seconds to establish a link - # to not yet (or no longer) connected servers. - ;ConnectRetry = 60 - - # Number of seconds after which the whole daemon should shutdown when - # no connections are left active after handling at least one client - # (0: never, which is the default). - # This can be useful for testing or when ngIRCd is started using - # "socket activation" with systemd(8), for example. - ;IdleTimeout = 0 - - # Maximum number of simultaneous in- and outbound connections the - # server is allowed to accept (0: unlimited): - ;MaxConnections = 0 - - # Maximum number of simultaneous connections from a single IP address - # the server will accept (0: unlimited): - ;MaxConnectionsIP = 5 - - # Maximum number of channels a user can be member of (0: no limit): - ;MaxJoins = 10 - - # Maximum length of an user nickname (Default: 9, as in RFC 2812). - # Please note that all servers in an IRC network MUST use the same - # maximum nickname length! - ;MaxNickLength = 9 - - # Maximum number of channels returned in response to a /list - # command (0: unlimited): - ;MaxListSize = 100 - - # After seconds of inactivity the server will send a - # PING to the peer to test whether it is alive or not. - ;PingTimeout = 120 - - # If a client fails to answer a PING with a PONG within - # seconds, it will be disconnected by the server. - ;PongTimeout = 20 - -[Options] - # Optional features and configuration options to further tweak the - # behavior of ngIRCd. If you want to get started quickly, you most - # probably don't have to make changes here -- they are all optional. - - # List of allowed channel types (channel prefixes) for newly created - # channels on the local server. By default, all supported channel - # types are allowed. Set this variable to the empty string to disallow - # creation of new channels by local clients at all. - ;AllowedChannelTypes = #&+ - - # Are remote IRC operators allowed to control this server, e.g. - # use commands like CONNECT, SQUIT, DIE, ...? - ;AllowRemoteOper = no - - # A directory to chroot in when everything is initialized. It - # doesn't need to be populated if ngIRCd is compiled as a static - # binary. By default ngIRCd won't use the chroot() feature. - # ATTENTION: For this to work the server must have been started - # with root privileges! - ;ChrootDir = /var/empty - - # Set this hostname for every client instead of the real one. - # Use %x to add the hashed value of the original hostname. - ;CloakHost = cloaked.host - - # Use this hostname for hostname cloaking on clients that have the - # user mode "+x" set, instead of the name of the server. - # Use %x to add the hashed value of the original hostname. - ;CloakHostModeX = cloaked.user - - # The Salt for cloaked hostname hashing. When undefined a random - # hash is generated after each server start. - ;CloakHostSalt = abcdefghijklmnopqrstuvwxyz - - # Set every clients' user name to their nickname - ;CloakUserToNick = yes - - # Try to connect to other IRC servers using IPv4 and IPv6, if possible. - ;ConnectIPv6 = yes - ;ConnectIPv4 = yes - - # Default user mode(s) to set on new local clients. Please note that - # only modes can be set that the client could set on itself, you can't - # set "a" (away) or "o" (IRC Op), for example! Default: none. - ;DefaultUserModes = i - - # Do DNS lookups when a client connects to the server. - ;DNS = yes - - # Do IDENT lookups if ngIRCd has been compiled with support for it. - # Users identified using IDENT are registered without the "~" character - # prepended to their user name. - ;Ident = yes - - # Directory containing configuration snippets (*.conf), that should - # be read in after parsing this configuration file. - ;IncludeDir = /etc/conf.d - - # Enhance user privacy slightly (useful for IRC server on TOR or I2P) - # by censoring some information like idle time, logon time, etc. - ;MorePrivacy = no - - # Normally ngIRCd doesn't send any messages to a client until it is - # registered. Enable this option to let the daemon send "NOTICE AUTH" - # messages to clients while connecting. - ;NoticeAuth = no - - # Should IRC Operators be allowed to use the MODE command even if - # they are not(!) channel-operators? - ;OperCanUseMode = no - - # Should IRC Operators get AutoOp (+o) in persistent (+P) channels? - ;OperChanPAutoOp = yes - - # Mask IRC Operator mode requests as if they were coming from the - # server? (This is a compatibility hack for ircd-irc2 servers) - ;OperServerMode = no - - # Use PAM if ngIRCd has been compiled with support for it. - # Users identified using PAM are registered without the "~" character - # prepended to their user name. - ;PAM = yes - - # When PAM is enabled, all clients are required to be authenticated - # using PAM; connecting to the server without successful PAM - # authentication isn't possible. - # If this option is set, clients not sending a password are still - # allowed to connect: they won't become "identified" and keep the "~" - # character prepended to their supplied user name. - # Please note: To make some use of this behavior, it most probably - # isn't useful to enable "Ident", "PAM" and "PAMIsOptional" at the - # same time, because you wouldn't be able to distinguish between - # Ident'ified and PAM-authenticated users: both don't have a "~" - # character prepended to their respective user names! - ;PAMIsOptional = no - - # Let ngIRCd send an "authentication PING" when a new client connects, - # and register this client only after receiving the corresponding - # "PONG" reply. - ;RequireAuthPing = no - - # Silently drop all incoming CTCP requests. - ;ScrubCTCP = no - - # Syslog "facility" to which ngIRCd should send log messages. - # Possible values are system dependent, but most probably auth, daemon, - # user and local1 through local7 are possible values; see syslog(3). - # Default is "local5" for historical reasons, you probably want to - # change this to "daemon", for example. - ;SyslogFacility = local1 - - # Password required for using the WEBIRC command used by some - # Web-to-IRC gateways. If not set/empty, the WEBIRC command can't - # be used. (Default: not set) - ;WebircPassword = xyz - -;[SSL] - # SSL-related configuration options. Please note that this section - # is only available when ngIRCd is compiled with support for SSL! - # So don't forget to remove the ";" above if this is the case ... - - # SSL Server Key Certificate - ;CertFile = /etc/ssl/server-cert.pem - - # Select cipher suites allowed for SSL/TLS connections. This defaults - # to HIGH:!aNULL:@STRENGTH (OpenSSL) or SECURE128 (GnuTLS). - # See 'man 1ssl ciphers' (OpenSSL) or 'man 3 gnutls_priority_init' - # (GnuTLS) for details. - # For OpenSSL: - ;CipherList = HIGH:!aNULL:@STRENGTH - # For GnuTLS: - ;CipherList = SECURE128 - # Set the default to use Fedora's site wide crypto policy. - CipherList = @SYSTEM - - # Diffie-Hellman parameters - ;DHFile = /etc/ssl/dhparams.pem - - # SSL Server Key - ;KeyFile = /etc/ssl/server-key.pem - - # password to decrypt SSLKeyFile (OpenSSL only) - ;KeyFilePassword = secret - - # Additional Listen Ports that expect SSL/TLS encrypted connections - ;Ports = 6697, 9999 - -[Operator] - # [Operator] sections are used to define IRC Operators. There may be - # more than one [Operator] block, one for each local operator. - - # ID of the operator (may be different of the nickname) - ;Name = TheOper - - # Password of the IRC operator - ;Password = ThePwd - - # Optional Mask from which /OPER will be accepted - ;Mask = *!ident@somewhere.example.com - -[Operator] - # More [Operator] sections, if you like ... - -[Server] - # Other servers are configured in [Server] sections. If you - # configure a port for the connection, then this ngircd tries to - # connect to to the other server on the given port; if not it waits - # for the other server to connect. - # There may be more than one server block, one for each server. - # - # Server Groups: - # The ngIRCd allows "server groups": You can assign an "ID" to every - # server with which you want this ngIRCd to link. If a server of a - # group won't answer, the ngIRCd tries to connect to the next server - # in the given group. But the ngircd never tries to connect to two - # servers with the same group ID. - - # IRC name of the remote server, must match the "Name" variable in - # the [Global] section of the other server (when using ngIRCd). - ;Name = irc2.example.net - - # Internet host name or IP address of the peer (only required when - # this server should establish the connection). - ;Host = connect-to-host.example.net - - # IP address to use as _source_ address for the connection. if - # unspecified, ngircd will let the operating system pick an address. - ;Bind = 10.0.0.1 - - # Port of the server to which the ngIRCd should connect. If you - # assign no port the ngIRCd waits for incoming connections. - ;Port = 6667 - - # Own password for the connection. This password has to be configured - # as "PeerPassword" on the other server. - ;MyPassword = MySecret - - # Foreign password for this connection. This password has to be - # configured as "MyPassword" on the other server. - ;PeerPassword = PeerSecret - - # Group of this server (optional) - ;Group = 123 - - # Set the "Passive" option to "yes" if you don't want this ngIRCd to - # connect to the configured peer (same as leaving the "Port" variable - # empty). The advantage of this option is that you can actually - # configure a port an use the IRC command CONNECT more easily to - # manually connect this specific server later. - ;Passive = no - - # Connect to the remote server using TLS/SSL (Default: false) - ;SSLConnect = yes - - # Define a (case insensitive) list of masks matching nicknames that - # should be treated as IRC services when introduced via this remote - # server, separated by commas (","). - # REGULAR SERVERS DON'T NEED this parameter, so leave it empty - # (which is the default). - # When you are connecting IRC services which mask as a IRC server - # and which use "virtual users" to communicate with, for example - # "NickServ" and "ChanServ", you should set this parameter to - # something like "*Serv" or "NickServ,ChanServ,XyzServ". - ;ServiceMask = *Serv,Global - -[Server] - # More [Server] sections, if you like ... - -[Channel] - # Pre-defined channels can be configured in [Channel] sections. - # Such channels are created by the server when starting up and even - # persist when there are no more members left. - # Persistent channels are marked with the mode 'P', which can be set - # and unset by IRC operators like other modes on the fly. - # There may be more than one [Channel] block, one for each channel. - - # Name of the channel - ;Name = #TheName - - # Topic for this channel - ;Topic = a great topic - - # Initial channel modes - ;Modes = tnk - - # initial channel password (mode k) - ;Key = Secret - - # Key file, syntax for each line: "::". - # Default: none. - ;KeyFile = /etc/#chan.key - - # maximum users per channel (mode l) - ;MaxUsers = 23 - -[Channel] - # More [Channel] sections, if you like ... - -# -eof- diff --git a/ngircd.service b/ngircd.service index 7187a52..721ac58 100644 --- a/ngircd.service +++ b/ngircd.service @@ -4,8 +4,12 @@ Documentation=man:ngircd(8) man:ngircd.conf(5) http://ngircd.barton.de/documenta After=network.target [Service] +CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_SYS_CHROOT CAP_NET_BIND_SERVICE CAP_KILL +PrivateTmp=yes +NoNewPrivileges=true ExecStart=/usr/sbin/ngircd -n ExecReload=/bin/kill -HUP $MAINPID +Restart=on-failure [Install] WantedBy=multi-user.target diff --git a/ngircd.spec b/ngircd.spec index 2fff636..8633a2a 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -6,11 +6,15 @@ Group: System Environment/Daemons License: GPLv2+ URL: http://ngircd.barton.de/ Source0: http://ngircd.barton.de/pub/ngircd/ngircd-%{version}.tar.gz -# Patch for servivce file -Patch0: ngircd-nofork.patch - Source1: ngircd.init -Source2: ngircd.conf +Source2: ngircd.service +# Listen only on localhost by default, set user/group +Patch0: ngircd-fedora.patch +# Use system cipher list +Patch1: ngircd-cipher.patch +# Patch for service file - no forking, no user/group for SSL key access, add doc, +# add CAP_KILL to allow reload +Patch2: ngircd-service.patch BuildRequires: zlib-devel, avahi-compat-howl-devel, tcp_wrappers-devel BuildRequires: libident-devel @@ -37,7 +41,12 @@ scratch and is not based upon the original IRCd like many others. %prep %setup -q -%patch0 -p1 -b .nofork +%patch0 -p1 -b .fedora +# SYSTEM Cipher support not yet in EL +%if 0%{?fedora} +%patch1 -p1 -b .cipher +%endif +%patch2 -p1 -b .service %build %configure \ @@ -59,18 +68,23 @@ rm -rf %{buildroot} make install DESTDIR=%{buildroot} %if 0%{?rhel} > 6 || 0%{?fedora} +# Upstream service file uses options only in newer systemd +%if 0%{?fedora} install -D -m 755 contrib/ngircd.service %{buildroot}%{_unitdir}/ngircd.service %else +install -D -m 755 %{SOURCE2} %{buildroot}%{_unitdir}/ngircd.service +%endif +%else install -D -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/ngircd %endif -install -D -m 660 %{SOURCE2} %{buildroot}%{_sysconfdir}/ngircd.conf +install -D -m 660 doc/sample-ngircd.conf %{buildroot}%{_sysconfdir}/ngircd.conf mkdir -p %{buildroot}%{_sysconfdir}/pam.d install -D -m 660 ./contrib/Debian/ngircd.pam %{buildroot}%{_sysconfdir}/pam.d/ngircd touch %{buildroot}%{_sysconfdir}/ngircd.motd -rm -rf %{buildroot}%{_docdir}/ngircd +rm %{buildroot}%{_docdir}/ngircd/INSTALL mkdir -p %{buildroot}%{_localstatedir}/run/ngircd %clean @@ -111,7 +125,8 @@ fi %endif %files -%doc AUTHORS COPYING ChangeLog NEWS README doc/*.txt doc/*.tmpl doc/sample-ngircd.conf +%{!?_licensedir:%global license %%doc} +%license COPYING %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.conf %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/pam.d/ngircd %ghost %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.motd @@ -121,6 +136,7 @@ fi %{_initrddir}/ngircd %endif %{_sbindir}/ngircd +%{_docdir}/ngircd/ %{_mandir}/man5/ngircd.conf* %{_mandir}/man8/ngircd.8* %dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ @@ -128,6 +144,9 @@ fi %changelog * Tue Nov 17 2015 Orion Poplawski 23-1 - Update to 23 +- Update service file from upstream +- Base config file on upstream +- Use %%license, upstream doc install * Wed Jun 17 2015 Fedora Release Engineering - 22.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild diff --git a/sources b/sources index 857c4f0..eb229ef 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -586c4fef1fbb77dcbe723e9136ec08eb ngircd-22.1.tar.gz +a58e0075fea60176fa7df092ca7e2c6a ngircd-23.tar.gz From 2ee0acbb6bc33050da8312f54274f177dc6a56a6 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Tue, 17 Nov 2015 14:36:22 -0700 Subject: [PATCH 37/77] Fix runtime directory, service file permissions --- ngircd-service.patch | 10 +++++----- ngircd.spec | 15 ++++++++++++--- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/ngircd-service.patch b/ngircd-service.patch index 460eae2..cc768f4 100644 --- a/ngircd-service.patch +++ b/ngircd-service.patch @@ -1,7 +1,7 @@ diff -up ngircd-23/contrib/ngircd.service.service ngircd-23/contrib/ngircd.service --- ngircd-23/contrib/ngircd.service.service 2015-08-20 08:29:56.000000000 -0600 -+++ ngircd-23/contrib/ngircd.service 2015-11-17 13:54:13.472933250 -0700 -@@ -1,12 +1,10 @@ ++++ ngircd-23/contrib/ngircd.service 2015-11-17 14:34:03.116837671 -0700 +@@ -1,20 +1,16 @@ [Unit] Description=Next Generation IRC Daemon +Documentation=man:ngircd(8) man:ngircd.conf(5) http://ngircd.barton.de/documentation.php.en @@ -16,10 +16,10 @@ diff -up ngircd-23/contrib/ngircd.service.service ngircd-23/contrib/ngircd.servi PrivateTmp=yes PrivateDevices=yes ProtectSystem=full -@@ -14,7 +12,7 @@ ProtectHome=true + ProtectHome=true NoNewPrivileges=true - RuntimeDirectory=ircd - RuntimeDirectoryMode=750 +-RuntimeDirectory=ircd +-RuntimeDirectoryMode=750 -ExecStart=/usr/sbin/ngircd +ExecStart=/usr/sbin/ngircd -n ExecReload=/bin/kill -HUP $MAINPID diff --git a/ngircd.spec b/ngircd.spec index 8633a2a..5372593 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -70,9 +70,9 @@ make install DESTDIR=%{buildroot} %if 0%{?rhel} > 6 || 0%{?fedora} # Upstream service file uses options only in newer systemd %if 0%{?fedora} -install -D -m 755 contrib/ngircd.service %{buildroot}%{_unitdir}/ngircd.service +install -D -m 644 contrib/ngircd.service %{buildroot}%{_unitdir}/ngircd.service %else -install -D -m 755 %{SOURCE2} %{buildroot}%{_unitdir}/ngircd.service +install -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/ngircd.service %endif %else install -D -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/ngircd @@ -85,7 +85,12 @@ install -D -m 660 ./contrib/Debian/ngircd.pam %{buildroot}%{_sysconfdir}/pam.d/n touch %{buildroot}%{_sysconfdir}/ngircd.motd rm %{buildroot}%{_docdir}/ngircd/INSTALL +%if 0%{?rhel} > 6 || 0%{?fedora} +mkdir -p %{buildroot}%{_tmpfilesdir} +echo d /run/ngircd 0750 ngircd ngircd - > %{buildroot}%{_tmpfilesdir}/ngircd.conf +%else mkdir -p %{buildroot}%{_localstatedir}/run/ngircd +%endif %clean rm -rf %{buildroot} @@ -139,7 +144,11 @@ fi %{_docdir}/ngircd/ %{_mandir}/man5/ngircd.conf* %{_mandir}/man8/ngircd.8* -%dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ +%if 0%{?rhel} > 6 || 0%{?fedora} +%{_tmpfilesdir}/ngircd.conf +%else +%dir %attr(750, ngircd, ngircd) %{_localstatedir}/run/ngircd/ +%endif %changelog * Tue Nov 17 2015 Orion Poplawski 23-1 From ae246aff5300505f3b4c2b7aa0e393362c2a8a25 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 4 Feb 2016 09:20:58 +0000 Subject: [PATCH 38/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 5372593..6e3d6e7 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 23 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -151,6 +151,9 @@ fi %endif %changelog +* Thu Feb 04 2016 Fedora Release Engineering - 23-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Tue Nov 17 2015 Orion Poplawski 23-1 - Update to 23 - Update service file from upstream From 854371eedc90fad581e948eacb4258b9d93a202b Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 28 Jan 2017 16:05:19 -0700 Subject: [PATCH 39/77] Update to 24. Fixes bug #1415350 --- .gitignore | 1 + ngircd-service.patch | 33 ++++++++++++++++++++------------- ngircd.spec | 12 ++++++++++-- sources | 2 +- 4 files changed, 32 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 08f57a1..f524020 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ ngircd-16.tar.gz /ngircd-22.tar.gz /ngircd-22.1.tar.gz /ngircd-23.tar.gz +/ngircd-24.tar.gz diff --git a/ngircd-service.patch b/ngircd-service.patch index cc768f4..26b7938 100644 --- a/ngircd-service.patch +++ b/ngircd-service.patch @@ -1,27 +1,34 @@ -diff -up ngircd-23/contrib/ngircd.service.service ngircd-23/contrib/ngircd.service ---- ngircd-23/contrib/ngircd.service.service 2015-08-20 08:29:56.000000000 -0600 -+++ ngircd-23/contrib/ngircd.service 2015-11-17 14:34:03.116837671 -0700 -@@ -1,20 +1,16 @@ - [Unit] - Description=Next Generation IRC Daemon -+Documentation=man:ngircd(8) man:ngircd.conf(5) http://ngircd.barton.de/documentation.php.en - After=network.target +diff -Nur ngircd-24.orig/contrib/ngircd.service ngircd-24/contrib/ngircd.service +--- ngircd-24.orig/contrib/ngircd.service 2017-01-07 13:24:46.000000000 -0700 ++++ ngircd-24/contrib/ngircd.service 2017-01-28 15:36:45.127789109 -0700 +@@ -11,11 +11,8 @@ + Before=bopm.service [Service] -Type=forking -User=irc -Group=irc --CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_SYS_CHROOT CAP_NET_BIND_SERVICE + # Settings & limits: +-CapabilityBoundingSet=CAP_SYS_CHROOT CAP_NET_BIND_SERVICE +CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_SYS_CHROOT CAP_NET_BIND_SERVICE CAP_KILL - PrivateTmp=yes + MemoryDenyWriteExecute=yes + NoNewPrivileges=yes PrivateDevices=yes +@@ -27,15 +24,8 @@ ProtectSystem=full - ProtectHome=true - NoNewPrivileges=true + RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX + RestrictRealtime=yes -RuntimeDirectory=ircd -RuntimeDirectoryMode=750 --ExecStart=/usr/sbin/ngircd +-# 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 $PARAMS +ExecStart=/usr/sbin/ngircd -n ExecReload=/bin/kill -HUP $MAINPID Restart=on-failure +Binary files ngircd-24.orig/contrib/.ngircd.service.swp and ngircd-24/contrib/.ngircd.service.swp differ diff --git a/ngircd.spec b/ngircd.spec index 6e3d6e7..780f4fd 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd -Version: 23 -Release: 2%{?dist} +Version: 24 +Release: 1%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -20,6 +20,8 @@ BuildRequires: zlib-devel, avahi-compat-howl-devel, tcp_wrappers-devel BuildRequires: libident-devel BuildRequires: gnutls-devel BuildRequires: pam-devel +# Needed for tests +BuildRequires: expect procps-ng telnet %if 0%{?rhel} > 6 || 0%{?fedora} BuildRequires: systemd Requires(post): systemd @@ -92,6 +94,9 @@ echo d /run/ngircd 0750 ngircd ngircd - > %{buildroot}%{_tmpfilesdir}/ngircd.con mkdir -p %{buildroot}%{_localstatedir}/run/ngircd %endif +%check +make check + %clean rm -rf %{buildroot} @@ -151,6 +156,9 @@ fi %endif %changelog +* Fri Jan 20 2017 Kevin Fenzi - 24-1 +- Update to 24. Fixes bug #1415350 + * Thu Feb 04 2016 Fedora Release Engineering - 23-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild diff --git a/sources b/sources index eb229ef..bb8a116 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a58e0075fea60176fa7df092ca7e2c6a ngircd-23.tar.gz +SHA512 (ngircd-24.tar.gz) = 66d1b9576c03d0a70be17a235f2da50ee661646cd428d18a6c61975407671dd4a3a545069258536773b27d4fb63523527366bbbf4f35cb08111dc60842924395 From 032bcad5db8161d038f50530dcd70fab97cf259f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 22:17:41 +0000 Subject: [PATCH 40/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 780f4fd..cb17d01 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 24 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -156,6 +156,9 @@ fi %endif %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 24-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Fri Jan 20 2017 Kevin Fenzi - 24-1 - Update to 24. Fixes bug #1415350 From e5175585d930b12385f6edd3b9d5c8e2f7f554e9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 22:56:31 +0000 Subject: [PATCH 41/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index cb17d01..a227474 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 24 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -156,6 +156,9 @@ fi %endif %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 24-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Fri Feb 10 2017 Fedora Release Engineering - 24-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From ba2dc3c3e4c516ab593a4c72384e96a1f36a3e8d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 3 Aug 2017 03:58:28 +0000 Subject: [PATCH 42/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index a227474..13035f5 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 24 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -156,6 +156,9 @@ fi %endif %changelog +* Thu Aug 03 2017 Fedora Release Engineering - 24-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 24-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 05dbb85015f6549310e145c70fc2eabcda466347 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 2 Dec 2017 15:58:07 -0800 Subject: [PATCH 43/77] Drop tcpwrappers support. Fixes bug #1518770 --- ngircd.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ngircd.spec b/ngircd.spec index 13035f5..dac26af 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 24 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -16,7 +16,7 @@ Patch1: ngircd-cipher.patch # add CAP_KILL to allow reload Patch2: ngircd-service.patch -BuildRequires: zlib-devel, avahi-compat-howl-devel, tcp_wrappers-devel +BuildRequires: zlib-devel, avahi-compat-howl-devel BuildRequires: libident-devel BuildRequires: gnutls-devel BuildRequires: pam-devel @@ -56,7 +56,6 @@ scratch and is not based upon the original IRCd like many others. --with-zlib \ --with-epoll \ --with-zeroconf \ - --with-tcp-wrappers \ --with-ident \ --with-gnutls \ --with-pam \ @@ -156,6 +155,9 @@ fi %endif %changelog +* Sat Dec 02 2017 Kevin Fenzi - 24-5 +- Drop tcpwrappers support. Fixes bug #1518770 + * Thu Aug 03 2017 Fedora Release Engineering - 24-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From a80e9fc7a549c1dcb5472829f0fd7432dcb61617 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 8 Feb 2018 04:12:46 +0000 Subject: [PATCH 44/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index dac26af..14da269 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 24 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -155,6 +155,9 @@ fi %endif %changelog +* Thu Feb 08 2018 Fedora Release Engineering - 24-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Sat Dec 02 2017 Kevin Fenzi - 24-5 - Drop tcpwrappers support. Fixes bug #1518770 From 5b86b1d5e3ace8d5dc64bcf6531614ff14c417e5 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 Feb 2018 07:23:00 +0100 Subject: [PATCH 45/77] Remove %clean section None of currently supported distributions need that. Last one was EL5 which is EOL for a while. Signed-off-by: Igor Gnatenko --- ngircd.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/ngircd.spec b/ngircd.spec index 14da269..750febc 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -96,9 +96,6 @@ mkdir -p %{buildroot}%{_localstatedir}/run/ngircd %check make check -%clean -rm -rf %{buildroot} - %pre getent group ngircd >/dev/null || groupadd -r ngircd getent passwd ngircd >/dev/null || \ From 66c5af8768c00fafb87b21d9f8fdae0b1fea548b Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 9 Jul 2018 19:06:49 +0200 Subject: [PATCH 46/77] add BuildRequires: gcc Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- ngircd.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/ngircd.spec b/ngircd.spec index 750febc..d50c3b3 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -16,6 +16,7 @@ Patch1: ngircd-cipher.patch # add CAP_KILL to allow reload Patch2: ngircd-service.patch +BuildRequires: gcc BuildRequires: zlib-devel, avahi-compat-howl-devel BuildRequires: libident-devel BuildRequires: gnutls-devel From 6a2c8b0b059c3729209cecf8d4747ef81f60fec0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 13 Jul 2018 11:36:22 +0000 Subject: [PATCH 47/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index d50c3b3..ef6e7d3 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 24 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Next Generation IRC Daemon Group: System Environment/Daemons License: GPLv2+ @@ -153,6 +153,9 @@ fi %endif %changelog +* Fri Jul 13 2018 Fedora Release Engineering - 24-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Thu Feb 08 2018 Fedora Release Engineering - 24-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From 74be36bf3e9a27616e43f68a22d32b6cd774a5ae Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:55 +0100 Subject: [PATCH 48/77] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- ngircd.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index ef6e7d3..caf1ceb 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -2,7 +2,6 @@ Name: ngircd Version: 24 Release: 7%{?dist} Summary: Next Generation IRC Daemon -Group: System Environment/Daemons License: GPLv2+ URL: http://ngircd.barton.de/ Source0: http://ngircd.barton.de/pub/ngircd/ngircd-%{version}.tar.gz From 3a73d813a93d2e5d839dbb7e3edea81752f3b3f8 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 30 Jan 2019 11:52:41 -0800 Subject: [PATCH 49/77] Update to 25. Fixes bug #1668960 --- .gitignore | 1 + ngircd.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index f524020..1c1fff5 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ ngircd-16.tar.gz /ngircd-22.1.tar.gz /ngircd-23.tar.gz /ngircd-24.tar.gz +/ngircd-25.tar.gz diff --git a/ngircd.spec b/ngircd.spec index caf1ceb..e7aba0c 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd -Version: 24 -Release: 7%{?dist} +Version: 25 +Release: 1%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -152,6 +152,9 @@ fi %endif %changelog +* Wed Jan 30 2019 Kevin Fenzi - 25-1 +- Update to 25. Fixes bug #1668960 + * Fri Jul 13 2018 Fedora Release Engineering - 24-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index bb8a116..79444cc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ngircd-24.tar.gz) = 66d1b9576c03d0a70be17a235f2da50ee661646cd428d18a6c61975407671dd4a3a545069258536773b27d4fb63523527366bbbf4f35cb08111dc60842924395 +SHA512 (ngircd-25.tar.gz) = 0c96e97da312fe86c50007a72db03f85b9f79df053806f50badd07c7ca8e8bddd99adb478eab8be9630330707d7aa578b5d0bd3017b59bf4515319a64c29ea6c From 468994d734daf95b7636686249668864bddfcb96 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 1 Feb 2019 12:20:40 +0000 Subject: [PATCH 50/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index e7aba0c..1866e17 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 25 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -152,6 +152,9 @@ fi %endif %changelog +* Fri Feb 01 2019 Fedora Release Engineering - 25-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Wed Jan 30 2019 Kevin Fenzi - 25-1 - Update to 25. Fixes bug #1668960 From 31aaadb6f10ec7f16b37610760509ec18460bc02 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jul 2019 18:39:50 +0000 Subject: [PATCH 51/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 1866e17..48c7d35 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 25 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -152,6 +152,9 @@ fi %endif %changelog +* Thu Jul 25 2019 Fedora Release Engineering - 25-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Fri Feb 01 2019 Fedora Release Engineering - 25-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From d5f37ade2baa5011a2be2b7efaebf6c8e4f13f2f Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Mon, 13 Jan 2020 21:35:45 -0700 Subject: [PATCH 52/77] Build without libident (bz#1790478) --- ngircd.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ngircd.spec b/ngircd.spec index 48c7d35..5f580b6 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 25 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -17,7 +17,6 @@ Patch2: ngircd-service.patch BuildRequires: gcc BuildRequires: zlib-devel, avahi-compat-howl-devel -BuildRequires: libident-devel BuildRequires: gnutls-devel BuildRequires: pam-devel # Needed for tests @@ -56,7 +55,6 @@ scratch and is not based upon the original IRCd like many others. --with-zlib \ --with-epoll \ --with-zeroconf \ - --with-ident \ --with-gnutls \ --with-pam \ --enable-ipv6 @@ -152,6 +150,9 @@ fi %endif %changelog +* Tue Jan 14 2020 Orion Poplawski - 25-4 +- Build without libident (bz#1790478) + * Thu Jul 25 2019 Fedora Release Engineering - 25-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 873f25537a862053df4f7464fe50ae07f66e9303 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jan 2020 14:58:50 +0000 Subject: [PATCH 53/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 5f580b6..999a6f5 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 25 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -150,6 +150,9 @@ fi %endif %changelog +* Wed Jan 29 2020 Fedora Release Engineering - 25-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Tue Jan 14 2020 Orion Poplawski - 25-4 - Build without libident (bz#1790478) From e1905181c2d7ded1e0650ed0d1f874e18eb06457 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 29 Mar 2020 10:55:59 -0700 Subject: [PATCH 54/77] Build with -fcommon for now until upstream gcc10 fixes land. Fixes FTBFS bug #1799688 --- ngircd.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 999a6f5..1c23d4a 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,12 @@ +# +# Needed until upstream gcc10 porting is doen +# https://github.com/ngircd/ngircd/issues/266 +# +%define _legacy_common_support 1 + Name: ngircd Version: 25 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -150,6 +156,9 @@ fi %endif %changelog +* Sun Mar 29 2020 Kevin Fenzi - 25-6 +- Build with -fcommon for now until upstream gcc10 fixes land. Fixes FTBFS bug #1799688 + * Wed Jan 29 2020 Fedora Release Engineering - 25-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 1f00213c5be2e456ccd80d9e34dd0cf3414fb400 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sat, 16 May 2020 14:09:00 -0700 Subject: [PATCH 55/77] rhel8 also has system cypher support, so add that before initial epel8 package. --- ngircd.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ngircd.spec b/ngircd.spec index 1c23d4a..a3cead4 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -6,7 +6,7 @@ Name: ngircd Version: 25 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -49,8 +49,8 @@ scratch and is not based upon the original IRCd like many others. %prep %setup -q %patch0 -p1 -b .fedora -# SYSTEM Cipher support not yet in EL -%if 0%{?fedora} +# SYSTEM Cipher support in fedora and rhel > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 %patch1 -p1 -b .cipher %endif %patch2 -p1 -b .service @@ -156,6 +156,9 @@ fi %endif %changelog +* Sat May 16 2020 Kevin Fenzi - 25-7 +- rhel8 also has system cypher support, so add that before initial epel8 package. + * Sun Mar 29 2020 Kevin Fenzi - 25-6 - Build with -fcommon for now until upstream gcc10 fixes land. Fixes FTBFS bug #1799688 From d295d098285d66c72b605d14479bc0c6830db376 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 24 Jun 2020 20:55:01 -0700 Subject: [PATCH 56/77] Update to 26. Fixes bug 1849314 --- .gitignore | 1 + ngircd.spec | 11 +++++++---- sources | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 1c1fff5..45f0c4b 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ ngircd-16.tar.gz /ngircd-23.tar.gz /ngircd-24.tar.gz /ngircd-25.tar.gz +/ngircd-26.tar.gz diff --git a/ngircd.spec b/ngircd.spec index a3cead4..0607c5d 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -5,8 +5,8 @@ %define _legacy_common_support 1 Name: ngircd -Version: 25 -Release: 7%{?dist} +Version: 26 +Release: 1%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -26,7 +26,7 @@ BuildRequires: zlib-devel, avahi-compat-howl-devel BuildRequires: gnutls-devel BuildRequires: pam-devel # Needed for tests -BuildRequires: expect procps-ng telnet +BuildRequires: expect procps-ng telnet openssl %if 0%{?rhel} > 6 || 0%{?fedora} BuildRequires: systemd Requires(post): systemd @@ -89,7 +89,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/pam.d install -D -m 660 ./contrib/Debian/ngircd.pam %{buildroot}%{_sysconfdir}/pam.d/ngircd touch %{buildroot}%{_sysconfdir}/ngircd.motd -rm %{buildroot}%{_docdir}/ngircd/INSTALL +rm %{buildroot}%{_docdir}/ngircd/INSTALL.md %if 0%{?rhel} > 6 || 0%{?fedora} mkdir -p %{buildroot}%{_tmpfilesdir} echo d /run/ngircd 0750 ngircd ngircd - > %{buildroot}%{_tmpfilesdir}/ngircd.conf @@ -156,6 +156,9 @@ fi %endif %changelog +* Wed Jun 24 2020 Kevin Fenzi - 26-1 +- Update to 26. Fixes bug 1849314 + * Sat May 16 2020 Kevin Fenzi - 25-7 - rhel8 also has system cypher support, so add that before initial epel8 package. diff --git a/sources b/sources index 79444cc..bf5e38e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ngircd-25.tar.gz) = 0c96e97da312fe86c50007a72db03f85b9f79df053806f50badd07c7ca8e8bddd99adb478eab8be9630330707d7aa578b5d0bd3017b59bf4515319a64c29ea6c +SHA512 (ngircd-26.tar.gz) = 2502baf83e3bfca3e6b83c22fe660fee24732ee875b32a7071a489a8babcc08124738142215b55d4f9bd4e94bec3f2a41889ab18324f772b1674b02883cbfb91 From c268f77302a3862d88ce78556aa2c5f8c5ff28b6 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 28 Jun 2020 15:45:00 -0700 Subject: [PATCH 57/77] Drop gcc10 workaround (fixed upstream) Disable tests on i686 for now as they seem sporadically broken. ( https://github.com/ngircd/ngircd/issues/280 ) --- ngircd.spec | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/ngircd.spec b/ngircd.spec index 0607c5d..8cd6e76 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,12 +1,6 @@ -# -# Needed until upstream gcc10 porting is doen -# https://github.com/ngircd/ngircd/issues/266 -# -%define _legacy_common_support 1 - Name: ngircd Version: 26 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -98,7 +92,12 @@ mkdir -p %{buildroot}%{_localstatedir}/run/ngircd %endif %check +# +# Disable i686 tests pending https://github.com/ngircd/ngircd/issues/280 +# +%ifarch %{ix86} make check +%endif %pre getent group ngircd >/dev/null || groupadd -r ngircd @@ -156,6 +155,10 @@ fi %endif %changelog +* Sun Jun 28 2020 Kevin Fenzi - 26-2 +- Drop gcc10 workaround (fixed upstream) +- Disable tests on i686 for now as they seem sporadically broken. ( https://github.com/ngircd/ngircd/issues/280 ) + * Wed Jun 24 2020 Kevin Fenzi - 26-1 - Update to 26. Fixes bug 1849314 From a8e524deaed9f5cd6838fdcca5f590118ab375e1 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 28 Jun 2020 16:07:28 -0700 Subject: [PATCH 58/77] Fix arch conditional for tests. :( --- ngircd.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ngircd.spec b/ngircd.spec index 8cd6e76..d0f05c5 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 26 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -95,7 +95,7 @@ mkdir -p %{buildroot}%{_localstatedir}/run/ngircd # # Disable i686 tests pending https://github.com/ngircd/ngircd/issues/280 # -%ifarch %{ix86} +%ifnarch %{ix86} make check %endif @@ -155,6 +155,9 @@ fi %endif %changelog +* Sun Jun 28 2020 Kevin Fenzi - 26-3 +- Fix arch conditional for tests. :( + * Sun Jun 28 2020 Kevin Fenzi - 26-2 - Drop gcc10 workaround (fixed upstream) - Disable tests on i686 for now as they seem sporadically broken. ( https://github.com/ngircd/ngircd/issues/280 ) From 73e2e58fbd8f902204dd212001fbb5e3f1753d4b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jul 2020 09:09:10 +0000 Subject: [PATCH 59/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index d0f05c5..3318234 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 26 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -155,6 +155,9 @@ fi %endif %changelog +* Tue Jul 28 2020 Fedora Release Engineering - 26-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Sun Jun 28 2020 Kevin Fenzi - 26-3 - Fix arch conditional for tests. :( From 2d52847a9d2aee3d956899a02895b6a8197bb35c Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 3 Jan 2021 14:39:12 -0800 Subject: [PATCH 60/77] Update to 26.1. rhbz#1912027 --- .gitignore | 1 + ngircd.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 45f0c4b..a09ecde 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ ngircd-16.tar.gz /ngircd-24.tar.gz /ngircd-25.tar.gz /ngircd-26.tar.gz +/ngircd-26.1.tar.gz diff --git a/ngircd.spec b/ngircd.spec index 3318234..5b0eb17 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd -Version: 26 -Release: 4%{?dist} +Version: 26.1 +Release: 1%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -155,6 +155,9 @@ fi %endif %changelog +* Sun Jan 03 2021 Kevin Fenzi - 26.1-1 +- Update to 26.1. rhbz#1912027 + * Tue Jul 28 2020 Fedora Release Engineering - 26-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild diff --git a/sources b/sources index bf5e38e..aa25656 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ngircd-26.tar.gz) = 2502baf83e3bfca3e6b83c22fe660fee24732ee875b32a7071a489a8babcc08124738142215b55d4f9bd4e94bec3f2a41889ab18324f772b1674b02883cbfb91 +SHA512 (ngircd-26.1.tar.gz) = 4a3ee379dd8d8655a71134c745f750359ceb0512e184db555f65f2bcab68087480365a35680a9ec75b1e6eb0fef23e1cbe0a0e13c3c58d211e5a520a8eeaa71c From a86b679a799e6be1159a78724870cb0f86806f5b Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 7 Jan 2021 05:50:51 +0000 Subject: [PATCH 61/77] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- ngircd.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/ngircd.spec b/ngircd.spec index 5b0eb17..f08f894 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -15,6 +15,7 @@ Patch1: ngircd-cipher.patch # add CAP_KILL to allow reload Patch2: ngircd-service.patch +BuildRequires: make BuildRequires: gcc BuildRequires: zlib-devel, avahi-compat-howl-devel BuildRequires: gnutls-devel From 36502e8dfea34a6afe8a3f0be641427f61453a99 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 21:31:04 +0000 Subject: [PATCH 62/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index f08f894..0ccb394 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 26.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -156,6 +156,9 @@ fi %endif %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 26.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Sun Jan 03 2021 Kevin Fenzi - 26.1-1 - Update to 26.1. rhbz#1912027 From 2e47f2ec244a22b87acb50fbbd4fdfce5b525095 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 2 Mar 2021 16:13:18 +0100 Subject: [PATCH 63/77] Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. --- ngircd.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 0ccb394..261d747 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 26.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -156,6 +156,10 @@ fi %endif %changelog +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 26.1-3 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + * Tue Jan 26 2021 Fedora Release Engineering - 26.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 6fcfc97480ea8f1c6a7119b58ac5d68e18865514 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 22 Jul 2021 16:07:38 +0000 Subject: [PATCH 64/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 261d747..f2cc48c 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 26.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -156,6 +156,9 @@ fi %endif %changelog +* Thu Jul 22 2021 Fedora Release Engineering - 26.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 26.1-3 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. From 9afd6044faebb8889eef274752b38e8ca5099d1b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 21:12:14 +0000 Subject: [PATCH 65/77] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index f2cc48c..18e05af 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 26.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -156,6 +156,9 @@ fi %endif %changelog +* Thu Jan 20 2022 Fedora Release Engineering - 26.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Thu Jul 22 2021 Fedora Release Engineering - 26.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 88cc4c9c8b8746289332854f95f307a1183d4dd2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 22 Jul 2022 00:34:12 +0000 Subject: [PATCH 66/77] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 18e05af..3f7a0ef 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 26.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -156,6 +156,9 @@ fi %endif %changelog +* Fri Jul 22 2022 Fedora Release Engineering - 26.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Thu Jan 20 2022 Fedora Release Engineering - 26.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From d2080865831dfb046aaf0bbddc5b1c38b75a9de7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 21:35:11 +0000 Subject: [PATCH 67/77] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 3f7a0ef..83d748b 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 26.1 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -156,6 +156,9 @@ fi %endif %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 26.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Fri Jul 22 2022 Fedora Release Engineering - 26.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 03c129c7ee4a9bc1c68bf6821a206eaee4a727ee Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 2 Feb 2023 10:05:23 +0100 Subject: [PATCH 68/77] Port configure script to C99 Related to: --- ngircd-configure-c99.patch | 42 ++++++++++++++++++++++++++++++++++++++ ngircd.spec | 7 ++++++- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 ngircd-configure-c99.patch diff --git a/ngircd-configure-c99.patch b/ngircd-configure-c99.patch new file mode 100644 index 0000000..0a62d83 --- /dev/null +++ b/ngircd-configure-c99.patch @@ -0,0 +1,42 @@ +Include for memset in WORKING_GETADDRINFO probe. +Otherwise, the probe always fails with compilers which do not support +implicit function declarations. + +Submitted upstream: + +diff --git a/configure b/configure +index 4435369c657b6fd6..242230bc334f7d4e 100755 +--- a/configure ++++ b/configure +@@ -6286,6 +6286,7 @@ else + #include + #include + #include ++#include + int + main(int argc, char **argv) + { +diff --git a/configure.ac b/configure.ac +index 609be364e0d03fef..1d98fd965a844808 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -101,6 +101,7 @@ AC_DEFUN([WORKING_GETADDRINFO],[ + #include + #include + #include ++#include + int + main(int argc, char **argv) + { +diff --git a/configure.ng b/configure.ng +index 59d9d9fe8fd5e469..1195b9e53af2364c 100644 +--- a/configure.ng ++++ b/configure.ng +@@ -101,6 +101,7 @@ AC_DEFUN([WORKING_GETADDRINFO],[ + #include + #include + #include ++#include + int + main(int argc, char **argv) + { diff --git a/ngircd.spec b/ngircd.spec index 83d748b..105d4e5 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 26.1 -Release: 7%{?dist} +Release: 8%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -14,6 +14,7 @@ Patch1: ngircd-cipher.patch # Patch for service file - no forking, no user/group for SSL key access, add doc, # add CAP_KILL to allow reload Patch2: ngircd-service.patch +Patch3: ngircd-configure-c99.patch BuildRequires: make BuildRequires: gcc @@ -49,6 +50,7 @@ scratch and is not based upon the original IRCd like many others. %patch1 -p1 -b .cipher %endif %patch2 -p1 -b .service +%patch3 -p1 %build %configure \ @@ -156,6 +158,9 @@ fi %endif %changelog +* Thu Feb 02 2023 Florian Weimer - 26.1-8 +- Port configure script to C99 + * Thu Jan 19 2023 Fedora Release Engineering - 26.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 308c277d690da80b904c6e0daaf4c20910d43474 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jul 2023 16:40:22 +0000 Subject: [PATCH 69/77] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 105d4e5..077a8f1 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 26.1 -Release: 8%{?dist} +Release: 9%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -158,6 +158,9 @@ fi %endif %changelog +* Thu Jul 20 2023 Fedora Release Engineering - 26.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Thu Feb 02 2023 Florian Weimer - 26.1-8 - Port configure script to C99 From 271bc51dc4459de2428888d0255e65b9b159eb7a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 09:42:05 +0000 Subject: [PATCH 70/77] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 077a8f1..c3155c4 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 26.1 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -158,6 +158,9 @@ fi %endif %changelog +* Sun Jan 21 2024 Fedora Release Engineering - 26.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Thu Jul 20 2023 Fedora Release Engineering - 26.1-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 192ca6018103c929e185fe231e4d6df9cdd59798 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jan 2024 08:59:01 +0000 Subject: [PATCH 71/77] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index c3155c4..9af923a 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 26.1 -Release: 10%{?dist} +Release: 11%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -158,6 +158,9 @@ fi %endif %changelog +* Thu Jan 25 2024 Fedora Release Engineering - 26.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sun Jan 21 2024 Fedora Release Engineering - 26.1-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 9a87028352957b231fd9564158dd381240e1e0b3 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 12 May 2024 09:56:43 -0700 Subject: [PATCH 72/77] Update to 27. Fixes rhbz#2274888 Clean up and drop old conditionals. --- .gitignore | 1 + ngircd-fedora.patch | 22 +++++++------- ngircd-service.patch | 31 ++++++++++--------- ngircd.spec | 71 +++++--------------------------------------- sources | 2 +- 5 files changed, 36 insertions(+), 91 deletions(-) diff --git a/.gitignore b/.gitignore index a09ecde..6d27b44 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ ngircd-16.tar.gz /ngircd-25.tar.gz /ngircd-26.tar.gz /ngircd-26.1.tar.gz +/ngircd-27.tar.gz diff --git a/ngircd-fedora.patch b/ngircd-fedora.patch index 85fdf5c..5e997b2 100644 --- a/ngircd-fedora.patch +++ b/ngircd-fedora.patch @@ -1,28 +1,26 @@ -diff -up ngircd-23/doc/sample-ngircd.conf.tmpl.fedora ngircd-23/doc/sample-ngircd.conf.tmpl ---- ngircd-23/doc/sample-ngircd.conf.tmpl.fedora 2015-08-20 08:29:56.000000000 -0600 -+++ ngircd-23/doc/sample-ngircd.conf.tmpl 2015-11-17 12:26:54.905029870 -0700 -@@ -45,7 +45,7 @@ - # listen. Default values are: +diff --color -Nur ngircd-27.orig/doc/sample-ngircd.conf.tmpl ngircd-27/doc/sample-ngircd.conf.tmpl +--- ngircd-27.orig/doc/sample-ngircd.conf.tmpl 2024-05-11 16:18:32.156364779 -0700 ++++ ngircd-27/doc/sample-ngircd.conf.tmpl 2024-05-11 16:19:47.972042211 -0700 +@@ -49,6 +49,7 @@ # "0.0.0.0" or (if compiled with IPv6 support) "::,0.0.0.0" # so the server listens on all IP addresses of the system by default. -- ;Listen = 127.0.0.1,192.168.0.1 + ;Listen = 127.0.0.1,192.168.0.1 + Listen = 127.0.0.1 # Text file with the "message of the day" (MOTD). This message will - # be shown to all users connecting to the server: -@@ -77,14 +77,14 @@ - # Group ID under which the ngIRCd should run; you can use the name + # be shown to all users connecting to the server: Default: a built-in +@@ -82,6 +83,7 @@ # of the group or the numerical ID. ATTENTION: For this to work the # server must have been started with root privileges! -- ;ServerGID = 65534 + ;ServerGID = 65534 + ServerGID = ngircd # User ID under which the server should run; you can use the name # of the user or the numerical ID. ATTENTION: For this to work the - # server must have been started with root privileges! In addition, +@@ -89,6 +91,7 @@ # the configuration and MOTD files must be readable by this user, # otherwise RESTART and REHASH won't work! -- ;ServerUID = 65534 + ;ServerUID = 65534 + ServerUID = ngircd [Limits] diff --git a/ngircd-service.patch b/ngircd-service.patch index 26b7938..c49250f 100644 --- a/ngircd-service.patch +++ b/ngircd-service.patch @@ -1,34 +1,37 @@ -diff -Nur ngircd-24.orig/contrib/ngircd.service ngircd-24/contrib/ngircd.service ---- ngircd-24.orig/contrib/ngircd.service 2017-01-07 13:24:46.000000000 -0700 -+++ ngircd-24/contrib/ngircd.service 2017-01-28 15:36:45.127789109 -0700 -@@ -11,11 +11,8 @@ - Before=bopm.service +diff --color -Nur ngircd-27.orig/contrib/ngircd.service ngircd-27/contrib/ngircd.service +--- ngircd-27.orig/contrib/ngircd.service 2024-04-13 02:33:33.000000000 -0700 ++++ ngircd-27/contrib/ngircd.service 2024-05-12 09:07:55.595471549 -0700 +@@ -12,10 +12,10 @@ [Service] --Type=forking + Type=notify -User=irc -Group=irc ++User=ngircd ++Group=ngircd # Settings & limits: -CapabilityBoundingSet=CAP_SYS_CHROOT CAP_NET_BIND_SERVICE -+CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_SYS_CHROOT CAP_NET_BIND_SERVICE CAP_KILL ++CapabilityBoundingSet=CAP_SYS_CHROOT CAP_NET_BIND_SERVICE CAP_KILL MemoryDenyWriteExecute=yes NoNewPrivileges=yes PrivateDevices=yes -@@ -27,15 +24,8 @@ +@@ -27,17 +27,12 @@ ProtectSystem=full RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX RestrictRealtime=yes -RuntimeDirectory=ircd --RuntimeDirectoryMode=750 ++RuntimeDirectory=ngircd + 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 $PARAMS -+ExecStart=/usr/sbin/ngircd -n +-ExecStart=/usr/sbin/ngircd --nodaemon --syslog $PARAMS ++ExecStart=/usr/sbin/ngircd --nodaemon --syslog ExecReload=/bin/kill -HUP $MAINPID - Restart=on-failure - -Binary files ngircd-24.orig/contrib/.ngircd.service.swp and ngircd-24/contrib/.ngircd.service.swp differ + # Error handling: + # ngIRCd tries to "ping" the service manager every 3 seconds. diff --git a/ngircd.spec b/ngircd.spec index 9af923a..82b1a17 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd -Version: 26.1 -Release: 11%{?dist} +Version: 27 +Release: 1%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -14,7 +14,6 @@ Patch1: ngircd-cipher.patch # Patch for service file - no forking, no user/group for SSL key access, add doc, # add CAP_KILL to allow reload Patch2: ngircd-service.patch -Patch3: ngircd-configure-c99.patch BuildRequires: make BuildRequires: gcc @@ -23,17 +22,10 @@ BuildRequires: gnutls-devel BuildRequires: pam-devel # Needed for tests BuildRequires: expect procps-ng telnet openssl -%if 0%{?rhel} > 6 || 0%{?fedora} BuildRequires: systemd Requires(post): systemd Requires(preun): systemd Requires(postun): systemd -%else -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/chkconfig -Requires(preun): /sbin/service -Requires(postun): /sbin/service -%endif Requires(pre): shadow-utils @@ -43,21 +35,13 @@ developed under the GNU General Public License (GPL). It's written from scratch and is not based upon the original IRCd like many others. %prep -%setup -q -%patch0 -p1 -b .fedora -# SYSTEM Cipher support in fedora and rhel > 7 -%if 0%{?fedora} || 0%{?rhel} > 7 -%patch1 -p1 -b .cipher -%endif -%patch2 -p1 -b .service -%patch3 -p1 +%autosetup -p1 %build %configure \ --with-syslog \ --with-zlib \ --with-epoll \ - --with-zeroconf \ --with-gnutls \ --with-pam \ --enable-ipv6 @@ -69,17 +53,7 @@ make %{?_smp_mflags} rm -rf %{buildroot} make install DESTDIR=%{buildroot} -%if 0%{?rhel} > 6 || 0%{?fedora} -# Upstream service file uses options only in newer systemd -%if 0%{?fedora} install -D -m 644 contrib/ngircd.service %{buildroot}%{_unitdir}/ngircd.service -%else -install -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/ngircd.service -%endif -%else -install -D -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/ngircd -%endif - install -D -m 660 doc/sample-ngircd.conf %{buildroot}%{_sysconfdir}/ngircd.conf mkdir -p %{buildroot}%{_sysconfdir}/pam.d @@ -87,20 +61,11 @@ install -D -m 660 ./contrib/Debian/ngircd.pam %{buildroot}%{_sysconfdir}/pam.d/n touch %{buildroot}%{_sysconfdir}/ngircd.motd rm %{buildroot}%{_docdir}/ngircd/INSTALL.md -%if 0%{?rhel} > 6 || 0%{?fedora} mkdir -p %{buildroot}%{_tmpfilesdir} echo d /run/ngircd 0750 ngircd ngircd - > %{buildroot}%{_tmpfilesdir}/ngircd.conf -%else -mkdir -p %{buildroot}%{_localstatedir}/run/ngircd -%endif %check -# -# Disable i686 tests pending https://github.com/ngircd/ngircd/issues/280 -# -%ifnarch %{ix86} make check -%endif %pre getent group ngircd >/dev/null || groupadd -r ngircd @@ -110,31 +75,13 @@ getent passwd ngircd >/dev/null || \ exit 0 %post -%if 0%{?rhel} > 6 || 0%{?fedora} %systemd_post ngircd.service -%else -# This adds the proper /etc/rc*.d links for the script -/sbin/chkconfig --add ngircd -%endif %preun -%if 0%{?rhel} > 6 || 0%{?fedora} %systemd_preun ngircd.service -%else -if [ $1 = 0 ]; then - /sbin/service ngircd stop >/dev/null 2>&1 || : - /sbin/chkconfig --del ngircd -fi -%endif %postun -%if 0%{?rhel} > 6 || 0%{?fedora} %systemd_postun_with_restart ngircd.service -%else -if [ "$1" -ge "1" ]; then - /sbin/service ngircd condrestart >/dev/null 2>&1 || : -fi -%endif %files %{!?_licensedir:%global license %%doc} @@ -142,22 +89,18 @@ fi %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.conf %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/pam.d/ngircd %ghost %config(noreplace) %attr(660, root, ngircd) %{_sysconfdir}/ngircd.motd -%if 0%{?rhel} > 6 || 0%{?fedora} %{_unitdir}/ngircd.service -%else -%{_initrddir}/ngircd -%endif %{_sbindir}/ngircd %{_docdir}/ngircd/ %{_mandir}/man5/ngircd.conf* %{_mandir}/man8/ngircd.8* -%if 0%{?rhel} > 6 || 0%{?fedora} %{_tmpfilesdir}/ngircd.conf -%else -%dir %attr(750, ngircd, ngircd) %{_localstatedir}/run/ngircd/ -%endif %changelog +* Sat May 11 2024 Kevin Fenzi - 27-1 +- Update to 27. Fixes rhbz#2274888 +- Clean up and drop old conditionals. + * Thu Jan 25 2024 Fedora Release Engineering - 26.1-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/sources b/sources index aa25656..0e9026e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ngircd-26.1.tar.gz) = 4a3ee379dd8d8655a71134c745f750359ceb0512e184db555f65f2bcab68087480365a35680a9ec75b1e6eb0fef23e1cbe0a0e13c3c58d211e5a520a8eeaa71c +SHA512 (ngircd-27.tar.gz) = 54ad38b3f5a9a899106c1163f53f45c5b021f6bad3ea3b7cb9b06e619434d76416d494b046508f588b334daba5b39a451bbf28e6196ef8fffa0408e395ea3839 From 2b13b9a9c005a7e5e57a1de2c2d40037660358d3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 19:31:09 +0000 Subject: [PATCH 73/77] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 82b1a17..e92ff03 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 27 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Next Generation IRC Daemon License: GPLv2+ URL: http://ngircd.barton.de/ @@ -97,6 +97,9 @@ exit 0 %{_tmpfilesdir}/ngircd.conf %changelog +* Thu Jul 18 2024 Fedora Release Engineering - 27-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Sat May 11 2024 Kevin Fenzi - 27-1 - Update to 27. Fixes rhbz#2274888 - Clean up and drop old conditionals. From 392b13615075909d0ba8e02a46b7c044d4a377ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Fri, 26 Jul 2024 01:36:42 +0200 Subject: [PATCH 74/77] convert GPLv2+ license to SPDX This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- ngircd.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ngircd.spec b/ngircd.spec index e92ff03..41cf7e1 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,8 +1,9 @@ Name: ngircd Version: 27 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Next Generation IRC Daemon -License: GPLv2+ +# Automatically converted from old format: GPLv2+ - review is highly recommended. +License: GPL-2.0-or-later URL: http://ngircd.barton.de/ Source0: http://ngircd.barton.de/pub/ngircd/ngircd-%{version}.tar.gz Source1: ngircd.init @@ -97,6 +98,9 @@ exit 0 %{_tmpfilesdir}/ngircd.conf %changelog +* Fri Jul 26 2024 Miroslav Suchý - 27-3 +- convert license to SPDX + * Thu Jul 18 2024 Fedora Release Engineering - 27-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 808b08080d354bd507526e5bab4fba0df0e1c354 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jan 2025 20:07:36 +0000 Subject: [PATCH 75/77] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 41cf7e1..3ee3849 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 27 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Next Generation IRC Daemon # Automatically converted from old format: GPLv2+ - review is highly recommended. License: GPL-2.0-or-later @@ -98,6 +98,9 @@ exit 0 %{_tmpfilesdir}/ngircd.conf %changelog +* Fri Jan 17 2025 Fedora Release Engineering - 27-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Fri Jul 26 2024 Miroslav Suchý - 27-3 - convert license to SPDX From 9e54e748387f5490803579891646e8ca671db850 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 11 Feb 2025 15:53:25 +0100 Subject: [PATCH 76/77] Add sysusers.d config file to allow rpm to create users/groups automatically See https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers. --- ngircd.spec | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/ngircd.spec b/ngircd.spec index 3ee3849..6bfc9ef 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 27 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Next Generation IRC Daemon # Automatically converted from old format: GPLv2+ - review is highly recommended. License: GPL-2.0-or-later @@ -28,7 +28,6 @@ Requires(post): systemd Requires(preun): systemd Requires(postun): systemd -Requires(pre): shadow-utils %description ngIRCd is a free open source daemon for Internet Relay Chat (IRC), @@ -38,6 +37,11 @@ scratch and is not based upon the original IRCd like many others. %prep %autosetup -p1 +# Create a sysusers.d config file +cat >ngircd.sysusers.conf < %{buildroot}%{_tmpfilesdir}/ngircd.conf +install -m0644 -D ngircd.sysusers.conf %{buildroot}%{_sysusersdir}/ngircd.conf + %check make check -%pre -getent group ngircd >/dev/null || groupadd -r ngircd -getent passwd ngircd >/dev/null || \ - useradd -r -g ngircd -d /tmp/ -s /sbin/nologin \ - -c "Next Generation IRC Daemon" ngircd -exit 0 %post %systemd_post ngircd.service @@ -96,8 +96,12 @@ exit 0 %{_mandir}/man5/ngircd.conf* %{_mandir}/man8/ngircd.8* %{_tmpfilesdir}/ngircd.conf +%{_sysusersdir}/ngircd.conf %changelog +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 27-5 +- Add sysusers.d config file to allow rpm to create users/groups automatically + * Fri Jan 17 2025 Fedora Release Engineering - 27-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From a5694fcb74cd35fe24f0e74c7dd836f556736fd2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 24 Jul 2025 22:50:08 +0000 Subject: [PATCH 77/77] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- ngircd.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ngircd.spec b/ngircd.spec index 6bfc9ef..acb4468 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,6 +1,6 @@ Name: ngircd Version: 27 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Next Generation IRC Daemon # Automatically converted from old format: GPLv2+ - review is highly recommended. License: GPL-2.0-or-later @@ -99,6 +99,9 @@ make check %{_sysusersdir}/ngircd.conf %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 27-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 27-5 - Add sysusers.d config file to allow rpm to create users/groups automatically