diff --git a/.gitignore b/.gitignore index 28f63dc..6d27b44 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,10 @@ ngircd-16.tar.gz /ngircd-21.tar.gz /ngircd-21.1.tar.gz /ngircd-22.tar.gz +/ngircd-22.1.tar.gz +/ngircd-23.tar.gz +/ngircd-24.tar.gz +/ngircd-25.tar.gz +/ngircd-26.tar.gz +/ngircd-26.1.tar.gz +/ngircd-27.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-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-fedora.patch b/ngircd-fedora.patch new file mode 100644 index 0000000..5e997b2 --- /dev/null +++ b/ngircd-fedora.patch @@ -0,0 +1,27 @@ +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 + + # Text file with the "message of the day" (MOTD). This message will + # 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 = 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 +@@ -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 = 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..c49250f --- /dev/null +++ b/ngircd-service.patch @@ -0,0 +1,37 @@ +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=notify +-User=irc +-Group=irc ++User=ngircd ++Group=ngircd + # Settings & limits: +-CapabilityBoundingSet=CAP_SYS_CHROOT CAP_NET_BIND_SERVICE ++CapabilityBoundingSet=CAP_SYS_CHROOT CAP_NET_BIND_SERVICE CAP_KILL + MemoryDenyWriteExecute=yes + NoNewPrivileges=yes + PrivateDevices=yes +@@ -27,17 +27,12 @@ + ProtectSystem=full + RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX + RestrictRealtime=yes +-RuntimeDirectory=ircd ++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 --nodaemon --syslog $PARAMS ++ExecStart=/usr/sbin/ngircd --nodaemon --syslog + ExecReload=/bin/kill -HUP $MAINPID + # Error handling: + # ngIRCd tries to "ping" the service manager every 3 seconds. diff --git a/ngircd.conf b/ngircd.conf deleted file mode 100644 index 5e62db9..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 = :DOCDIR:/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 = :ETCDIR:/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 = :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 - # Set the default to use Fedora's site wide crypto policy. - CipherList = @SYSTEM - - # 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 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 = :ETCDIR:/#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 4880d17..acb4468 100644 --- a/ngircd.spec +++ b/ngircd.spec @@ -1,32 +1,33 @@ Name: ngircd -Version: 22 -Release: 2%{?dist} +Version: 27 +Release: 6%{?dist} Summary: Next Generation IRC Daemon -Group: System Environment/Daemons -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 -Source2: ngircd.conf -Source3: ngircd.service +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 +BuildRequires: make +BuildRequires: gcc +BuildRequires: zlib-devel, avahi-compat-howl-devel BuildRequires: gnutls-devel BuildRequires: pam-devel -%if 0%{?rhel} > 6 || 0%{?fedora} > 18 +# Needed for tests +BuildRequires: expect procps-ng telnet openssl 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 ngIRCd is a free open source daemon for Internet Relay Chat (IRC), @@ -34,16 +35,18 @@ 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 +%autosetup -p1 + +# Create a sysusers.d config file +cat >ngircd.sysusers.conf < 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 +install -D -m 644 contrib/ngircd.service %{buildroot}%{_unitdir}/ngircd.service +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 -mkdir -p %{buildroot}%{_localstatedir}/run/ngircd +rm %{buildroot}%{_docdir}/ngircd/INSTALL.md +mkdir -p %{buildroot}%{_tmpfilesdir} +echo d /run/ngircd 0750 ngircd ngircd - > %{buildroot}%{_tmpfilesdir}/ngircd.conf -%clean -rm -rf %{buildroot} +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 -%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/*.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 -%if 0%{?rhel} > 6 || 0%{?fedora} > 18 %{_unitdir}/ngircd.service -%else -%{_initrddir}/ngircd -%endif %{_sbindir}/ngircd +%{_docdir}/ngircd/ %{_mandir}/man5/ngircd.conf* %{_mandir}/man8/ngircd.8* -%dir %attr(775, root, ngircd) %{_localstatedir}/run/ngircd/ +%{_tmpfilesdir}/ngircd.conf +%{_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 + +* 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 + +* 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. + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 ) + +* 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. + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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 + +* 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..0e9026e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c6cfd105f6ee21cb3c051a88664990a4 ngircd-22.tar.gz +SHA512 (ngircd-27.tar.gz) = 54ad38b3f5a9a899106c1163f53f45c5b021f6bad3ea3b7cb9b06e619434d76416d494b046508f588b334daba5b39a451bbf28e6196ef8fffa0408e395ea3839