Compare commits
46 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5694fcb74 | ||
|
|
9e54e74838 | ||
|
|
808b08080d | ||
|
|
392b136150 | ||
|
|
2b13b9a9c0 | ||
|
|
9a87028352 | ||
|
|
192ca60181 | ||
|
|
271bc51dc4 | ||
|
|
308c277d69 | ||
|
|
03c129c7ee | ||
|
|
d208086583 | ||
|
|
88cc4c9c8b | ||
|
|
9afd6044fa | ||
|
|
6fcfc97480 | ||
|
|
2e47f2ec24 | ||
|
|
36502e8dfe | ||
|
|
a86b679a79 | ||
|
|
2d52847a9d | ||
|
|
73e2e58fbd | ||
|
|
a8e524deae | ||
|
|
c268f77302 | ||
|
|
d295d09828 | ||
|
|
1f00213c5b | ||
|
|
e1905181c2 | ||
|
|
873f25537a | ||
|
|
d5f37ade2b | ||
|
|
31aaadb6f1 | ||
|
|
468994d734 | ||
|
|
3a73d813a9 | ||
|
|
74be36bf3e | ||
|
|
6a2c8b0b05 | ||
|
|
66c5af8768 | ||
|
|
5b86b1d5e3 |
||
|
|
a80e9fc7a5 | ||
|
|
05dbb85015 | ||
|
|
ba2dc3c3e4 | ||
|
|
e5175585d9 | ||
|
|
032bcad5db | ||
|
|
854371eedc | ||
|
|
ae246aff53 | ||
|
|
2ee0acbb6b | ||
|
|
28a807ef4e | ||
|
|
13aa5ccc26 | ||
|
|
1c9e764d3d | ||
|
|
2a965de9ee | ||
|
|
8673f1ce2a |
9 changed files with 299 additions and 448 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
|
@ -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
21
ngircd-cipher.patch
Normal 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
|
||||
42
ngircd-configure-c99.patch
Normal file
42
ngircd-configure-c99.patch
Normal 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
27
ngircd-fedora.patch
Normal 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
37
ngircd-service.patch
Normal 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.
|
||||
385
ngircd.conf
385
ngircd.conf
|
|
@ -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-
|
||||
|
|
@ -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
|
||||
|
|
|
|||
222
ngircd.spec
222
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 <<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
|
||||
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
c6cfd105f6ee21cb3c051a88664990a4 ngircd-22.tar.gz
|
||||
SHA512 (ngircd-27.tar.gz) = 54ad38b3f5a9a899106c1163f53f45c5b021f6bad3ea3b7cb9b06e619434d76416d494b046508f588b334daba5b39a451bbf28e6196ef8fffa0408e395ea3839
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue