Compare commits

...
Sign in to create a new pull request.

46 commits

Author SHA1 Message Date
Fedora Release Engineering
a5694fcb74 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 22:50:08 +00:00
Zbigniew Jędrzejewski-Szmek
9e54e74838 Add sysusers.d config file to allow rpm to create users/groups automatically
See https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers.
2025-02-11 15:53:25 +01:00
Fedora Release Engineering
808b08080d Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 20:07:36 +00:00
Miroslav Suchý
392b136150 convert GPLv2+ license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-07-26 01:36:42 +02:00
Fedora Release Engineering
2b13b9a9c0 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 19:31:09 +00:00
Kevin Fenzi
9a87028352 Update to 27. Fixes rhbz#2274888
Clean up and drop old conditionals.
2024-05-12 09:56:43 -07:00
Fedora Release Engineering
192ca60181 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 08:59:01 +00:00
Fedora Release Engineering
271bc51dc4 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 09:42:05 +00:00
Fedora Release Engineering
308c277d69 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 16:40:22 +00:00
Florian Weimer
03c129c7ee Port configure script to C99
Related to:

  <https://fedoraproject.org/wiki/Changes/PortingToModernC>
  <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
2023-02-02 10:05:23 +01:00
Fedora Release Engineering
d208086583 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 21:35:11 +00:00
Fedora Release Engineering
88cc4c9c8b Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 00:34:12 +00:00
Fedora Release Engineering
9afd6044fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 21:12:14 +00:00
Fedora Release Engineering
6fcfc97480 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 16:07:38 +00:00
Zbigniew Jędrzejewski-Szmek
2e47f2ec24 Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:13:18 +01:00
Fedora Release Engineering
36502e8dfe - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 21:31:04 +00:00
Tom Stellard
a86b679a79 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-07 05:50:51 +00:00
Kevin Fenzi
2d52847a9d Update to 26.1. rhbz#1912027 2021-01-03 14:39:12 -08:00
Fedora Release Engineering
73e2e58fbd - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 09:09:10 +00:00
Kevin Fenzi
a8e524deae Fix arch conditional for tests. :( 2020-06-28 16:07:28 -07:00
Kevin Fenzi
c268f77302 Drop gcc10 workaround (fixed upstream)
Disable tests on i686 for now as they seem sporadically broken. ( https://github.com/ngircd/ngircd/issues/280 )
2020-06-28 15:45:00 -07:00
Kevin Fenzi
d295d09828 Update to 26. Fixes bug 1849314 2020-06-24 20:55:01 -07:00
Kevin Fenzi
1f00213c5b rhel8 also has system cypher support, so add that before initial epel8 package. 2020-05-16 14:09:00 -07:00
Kevin Fenzi
e1905181c2 Build with -fcommon for now until upstream gcc10 fixes land. Fixes FTBFS bug #1799688 2020-03-29 10:55:59 -07:00
Fedora Release Engineering
873f25537a - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 14:58:50 +00:00
Orion Poplawski
d5f37ade2b Build without libident (bz#1790478) 2020-01-13 21:35:45 -07:00
Fedora Release Engineering
31aaadb6f1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 18:39:50 +00:00
Fedora Release Engineering
468994d734 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 12:20:40 +00:00
Kevin Fenzi
3a73d813a9 Update to 25. Fixes bug #1668960 2019-01-30 11:52:41 -08:00
Igor Gnatenko
74be36bf3e Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:18 +01:00
Fedora Release Engineering
6a2c8b0b05 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 11:36:22 +00:00
Igor Gnatenko
66c5af8768 add BuildRequires: gcc
Reference: https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
2018-07-09 19:06:49 +02:00
Igor Gnatenko
5b86b1d5e3
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 <ignatenkobrain@fedoraproject.org>
2018-02-14 07:23:00 +01:00
Fedora Release Engineering
a80e9fc7a5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-08 04:12:46 +00:00
Kevin Fenzi
05dbb85015 Drop tcpwrappers support. Fixes bug #1518770 2017-12-02 15:58:07 -08:00
Fedora Release Engineering
ba2dc3c3e4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-03 03:58:28 +00:00
Fedora Release Engineering
e5175585d9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 22:56:31 +00:00
Fedora Release Engineering
032bcad5db - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 22:17:41 +00:00
Kevin Fenzi
854371eedc Update to 24. Fixes bug #1415350 2017-01-28 16:05:19 -07:00
Fedora Release Engineering
ae246aff53 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 09:20:58 +00:00
Orion Poplawski
2ee0acbb6b Fix runtime directory, service file permissions 2015-11-17 14:36:22 -07:00
Orion Poplawski
28a807ef4e Update to 23
- Update service file from upstream
- Base config file on upstream
- Use %license, upstream doc install
2015-11-17 13:59:35 -07:00
Orion Poplawski
13aa5ccc26 Substitute :ETCDIR:,:DOCDIR: in ngircd.conf 2015-11-17 09:53:46 -07:00
Orion Poplawski
1c9e764d3d Minor spec cleanup 2015-11-17 09:25:20 -07:00
Dennis Gilmore
2a965de9ee - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 21:48:49 +00:00
Kevin Fenzi
8673f1ce2a Update to 22.1 2015-04-06 19:48:17 -06:00
9 changed files with 299 additions and 448 deletions

7
.gitignore vendored
View file

@ -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

21
ngircd-cipher.patch Normal file
View file

@ -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

View file

@ -0,0 +1,42 @@
Include <string.h> for memset in WORKING_GETADDRINFO probe.
Otherwise, the probe always fails with compilers which do not support
implicit function declarations.
Submitted upstream: <https://github.com/ngircd/ngircd/pull/305>
diff --git a/configure b/configure
index 4435369c657b6fd6..242230bc334f7d4e 100755
--- a/configure
+++ b/configure
@@ -6286,6 +6286,7 @@ else
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
+#include <string.h>
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 <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
+#include <string.h>
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 <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
+#include <string.h>
int
main(int argc, char **argv)
{

27
ngircd-fedora.patch Normal file
View file

@ -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

37
ngircd-service.patch Normal file
View file

@ -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.

View file

@ -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 <cmd>" 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 <ConnectRetry> 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 <PingTimeout> 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 <PongTimeout>
# 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: "<user>:<nick>:<key>".
# Default: none.
;KeyFile = :ETCDIR:/#chan.key
# maximum users per channel (mode l)
;MaxUsers = 23
[Channel]
# More [Channel] sections, if you like ...
# -eof-

View file

@ -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

View file

@ -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 <<EOF
u ngircd - 'Next Generation IRC Daemon' /tmp/ -
EOF
%build
%configure \
--with-syslog \
--with-zlib \
--with-epoll \
--with-zeroconf \
--with-tcp-wrappers \
--with-ident \
--with-gnutls \
--with-pam \
--enable-ipv6
@ -55,75 +58,170 @@ make %{?_smp_mflags}
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
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 <releng@fedoraproject.org> - 27-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 27-5
- Add sysusers.d config file to allow rpm to create users/groups automatically
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 27-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Fri Jul 26 2024 Miroslav Suchý <msuchy@redhat.com> - 27-3
- convert license to SPDX
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 27-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat May 11 2024 Kevin Fenzi <kevin@scrye.com> - 27-1
- Update to 27. Fixes rhbz#2274888
- Clean up and drop old conditionals.
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Feb 02 2023 Florian Weimer <fweimer@redhat.com> - 26.1-8
- Port configure script to C99
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 26.1-3
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 26.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Jan 03 2021 Kevin Fenzi <kevin@scrye.com> - 26.1-1
- Update to 26.1. rhbz#1912027
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 26-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sun Jun 28 2020 Kevin Fenzi <kevin@scrye.com> - 26-3
- Fix arch conditional for tests. :(
* Sun Jun 28 2020 Kevin Fenzi <kevin@scrye.com> - 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 <kevin@scrye.com> - 26-1
- Update to 26. Fixes bug 1849314
* Sat May 16 2020 Kevin Fenzi <kevin@scrye.com> - 25-7
- rhel8 also has system cypher support, so add that before initial epel8 package.
* Sun Mar 29 2020 Kevin Fenzi <kevin@scrye.com> - 25-6
- Build with -fcommon for now until upstream gcc10 fixes land. Fixes FTBFS bug #1799688
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 25-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Jan 14 2020 Orion Poplawski <orion@nwra.com> - 25-4
- Build without libident (bz#1790478)
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 25-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 25-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jan 30 2019 Kevin Fenzi <kevin@scrye.com> - 25-1
- Update to 25. Fixes bug #1668960
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 24-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 24-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Dec 02 2017 Kevin Fenzi <kevin@scrye.com> - 24-5
- Drop tcpwrappers support. Fixes bug #1518770
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 24-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 24-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 24-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jan 20 2017 Kevin Fenzi <kevin@scrye.com> - 24-1
- Update to 24. Fixes bug #1415350
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 23-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Nov 17 2015 Orion Poplawski <orion@cora.nwra.com> 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 <rel-eng@lists.fedoraproject.org> - 22.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Apr 06 2015 Kevin Fenzi <kevin@scrye.com> 22.1-1
- Update to 22.1
* Mon Jan 19 2015 Kevin Fenzi <kevin@scrye.com> 22-2
- Set default gnutls ciphers to "@SYSTEM". Fixes bug #1179328

View file

@ -1 +1 @@
c6cfd105f6ee21cb3c051a88664990a4 ngircd-22.tar.gz
SHA512 (ngircd-27.tar.gz) = 54ad38b3f5a9a899106c1163f53f45c5b021f6bad3ea3b7cb9b06e619434d76416d494b046508f588b334daba5b39a451bbf28e6196ef8fffa0408e395ea3839