--- ngircd-21.1.orig/debian/changelog +++ ngircd-21.1/debian/changelog @@ -0,0 +1,235 @@ +ngircd (21.1-1) unstable; urgency=low + + * Build ngircd with support for ident (enabled by default) and + PAM (disabled) + * Exempt /usr/share/doc/ngircd/Commands.txt from compression to make + the HELP command work + * Build against GnuTLS 3 to work around Debian#708174 and CAs that + sign certificates with SHA-512 + * Update debian/copyright and debian/watch + * New upstream version 21.1 + + -- Christoph Biedl Sat, 26 Apr 2014 22:27:58 +0000 + +ngircd (21-1) unstable; urgency=low + + * New upstream version 21 + * The cipher settings for TLS connections have been restricted, + please report any problems. + + -- Christoph Biedl Sun, 03 Nov 2013 13:15:58 +0000 + +ngircd (20.3-1) unstable; urgency=low + + * New upstream version 20.3, fixes CVE-2013-5580 + + -- Christoph Biedl Fri, 23 Aug 2013 23:36:54 +0200 + +ngircd (20.2-1~exp1) experimental; urgency=low + + * Fix systemd service definition installation + * New upstream version 20.2. This fixes the denial of service + vulnerability CVE-2013-1747 introduced with 20.1-1~exp1 + + -- Christoph Biedl Sat, 16 Feb 2013 22:57:16 +0100 + +ngircd (20.1-1~exp1) experimental; urgency=low + + * New upstream version 20.1 + * Upload to experimental + + -- Christoph Biedl Mon, 07 Jan 2013 19:27:26 +0100 + +ngircd (20-1) UNRELEASED; urgency=low + + * New upstream version 20 + * Fix path of upstream ngircd.conf. Closes: #693169 + * Remove ngircd-conf-convert and the debconf wrapper for it. This was + needed to support squeeze (ngircd 15) to wheezy (ngircd 19) + upgrades only. + * Merge config config from upstream + * Install systemd service definition + + -- Christoph Biedl Tue, 18 Dec 2012 21:09:55 +0100 + +ngircd (19.2-2) unstable; urgency=low + + * Debconf translation: Japanese (victory). Closes: #692479 + + -- Christoph Biedl Tue, 06 Nov 2012 23:26:40 +0100 + +ngircd (19.2-1) unstable; urgency=low + + * New upstream version 19.2 + * Fix watch file to handle release candidates properly + + -- Christoph Biedl Tue, 19 Jun 2012 18:24:46 +0200 + +ngircd (19.2~rc1-1) unstable; urgency=low + + * New upstream version 19.2~rc1 + * Fix "status" target in init script: + - "status" always returned "not running" since lsb-base 4.1 + - "status" was not documented in the short help + Thanks to Alex Barton for the heads-up. + * Provide a watch file + + -- Christoph Biedl Wed, 13 Jun 2012 21:30:58 +0200 + +ngircd (19.1-1) unstable; urgency=low + + * New upstream version 19.1 + * Enable hardened build flags. Closes: #664984 + + -- Christoph Biedl Tue, 17 Apr 2012 19:47:32 +0200 + +ngircd (19-1) unstable; urgency=low + + * New upstream release 19 + * Upgrade Standards-Version: to 3.9.3, no changes + + -- Christoph Biedl Wed, 29 Feb 2012 18:00:27 +0000 + +ngircd (18-3) UNRELEASED; urgency=low + + * Debconf templates and debian/control reviewed by the debian-l10n- + english team as part of the Smith review project. Closes: #648241 + * [Debconf translation updates] + * Portuguese (Pedro Ribeiro). Closes: #651678 + * Danish (Joe Hansen). Closes: #651892 + * Czech (Michal Simunek). Closes: #652087 + * German (Chris Leick). Closes: #652217 + * Russian (Yuri Kozlov). Closes: #652426 + * Brazilian Portuguese (Adriano Rafael Gomes). Closes: #652561 + * French (Julien Patriarca). Closes: #652895 + * Dutch (Jeroen Schot). Closes: #653080 + * Swedish (Martin Bagge). Closes: #653568 + * Spanish (Jathan). Closes: #655678 + + -- Christian Perrier Thu, 10 Nov 2011 07:05:54 +0100 + +ngircd (18-2) unstable; urgency=low + + * Fix PIDDIR assertion (Closes: #648815). + + -- Christoph Biedl Thu, 17 Nov 2011 20:22:15 +0000 + +ngircd (18-1) unstable; urgency=low + + * New upstream release 18 + * The ngircd.conf file firmat has changed. Provide a helper program + to rewrite the configuration file. + * Upgrade to Standards-Version 3.9.2, no changes. + + -- Christoph Biedl Sun, 06 Nov 2011 21:52:33 +0100 + +ngircd (17.1-1) UNRELEASED; urgency=low + + * New upstream release 17.1 + * Upgrade to Standards-Version 3.9.1, no changes. + * Upgrade Debianisation to debhelper7. + * Clean up init script (fixes Ubuntu bug #382027). + + -- Christoph Biedl Sat, 04 Jun 2011 18:16:00 +0200 + +ngircd (15-0.1) unstable; urgency=low + + * Non-maintainer upload. + * New upstream version (Closes: #534410). + * Enable reload in init script (Closes: #548797). + * Enable TLS support. + * Enable IPv6 support. + * Set STARTTIME in init script. + + -- Christoph Biedl Sun, 07 Feb 2010 21:15:58 +0100 + +ngircd (0.12.1-2) unstable; urgency=low + + * Create /var/run/ngircd/ when starting the daemon Closes: #507259 + -- Patch thanks to Adrien Cunin + * Add myself to Uploaders + + -- Matt Arnold Tue, 23 Dec 2008 11:54:00 -0500 + +ngircd (0.12.1-1) unstable; urgency=low + + * New upstream release (Closes: #465815, #466063). + * Maintainer set to Debian IRC Team. + * Added Vcs-* fields in debian/control. + * Added Homepage field in debian/control. + * Removed Homepage from description field in debian/control. + * Bumped policy version to 3.8.0. + * Enabled syslog (Closes: #452028). + * New init-script derived from actual dh-templates. (Closes: #478338). + + -- Mario Iseli Sat, 13 Sep 2008 16:47:32 +0200 + +ngircd (0.10.3-1) unstable; urgency=low + + * New maintainer E-Mail address. + * New upstream release. + * Removed several useless whitespaces in debian/*. + * Added [ ! -f Makefile ] || $(MAKE) distclean to debian/rules. + + -- Mario Iseli Sat, 04 Aug 2007 17:04:53 +0200 + +ngircd (0.10.0-3) unstable; urgency=medium + + * Corrected the PidFile direction in sample ngircd.conf (Closes: #397331). + + -- Mario Iseli Tue, 12 Dec 2006 10:34:13 +0100 + +ngircd (0.10.0-2) unstable; urgency=medium + + * Compile without epoll(), works now on Linux 2.4.x (Closes: #395553). + * Corrected the path to the example config in referenced ngircd.conf. + + -- Mario Iseli Sun, 05 Nov 2006 13:51:59 +0100 + +ngircd (0.10.0-1) unstable; urgency=low + + * New upstream release (Closes: #392616). + * Removed provide on ircd. + + -- Mario Iseli Wed, 11 Oct 2006 23:49:03 +0200 + +ngircd (0.9.2-4) unstable; urgency=low + + * Updated to policy 3.7.2 + * Removed patch 04-nicklength to be RFC-compliant (Closes: #353876) + + -- Mario Iseli Sun, 07 May 2006 15:21:34 +0200 + +ngircd (0.9.2-3) unstable; urgency=low + + * New patch which allows longer nicknames, thanks to Benjamin A'Lee + for the patch. (Closes: #355342) + * Fixed the typo in the example config. (Closes: #353876) + + -- Mario Iseli Sun, 05 Mar 2006 23:22:34 +0100 + +ngircd (0.9.2-2) unstable; urgency=low + + * Wrote 03-ping.dpatch (Closes: #343200) + * Added a "if" in debian/ngircd.postinst + + -- Mario Iseli Wed, 14 Dec 2005 23:02:34 +0100 + +ngircd (0.9.2-1) unstable; urgency=low + + * New upstream version + * Changed the init and postinst script + * reload in init script is now supported + * fixed mistake in configfile + * added original config as example + * Removed patches/01-manuals and added patches/02-manuals + + -- Mario Iseli Wed, 16 Nov 2005 17:50:17 +0100 + +ngircd (0.8.2-1) unstable; urgency=low + + * Initial release Closes: #295970 + * New debian-optimized config + * Introduced dpatch and wrote a patch for the manuals (01-manuals) + + -- Mario Iseli Tue, 1 Nov 2005 20:08:53 +0100 --- ngircd-21.1.orig/debian/compat +++ ngircd-21.1/debian/compat @@ -0,0 +1 @@ +9 --- ngircd-21.1.orig/debian/control +++ ngircd-21.1/debian/control @@ -0,0 +1,37 @@ +Source: ngircd +Section: net +Priority: optional +Maintainer: Debian IRC Team +Uploaders: + Matt Arnold , + Mario Iseli , + Christoph Biedl , +Build-Depends: debhelper (>= 9~), + autotools-dev, + expect, + libgnutls28-dev, + libident-dev, + libpam0g-dev, + procps, + telnet, +Homepage: http://ngircd.barton.de +Vcs-Svn: svn://svn.debian.org/pkg-irc/ +Vcs-Browser: http://svn.debian.org/wsvn/pkg-irc +Standards-Version: 3.9.5 + +Package: ngircd +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, +Replaces: ircd +Conflicts: + dancer-ircd, + ircd-hybrid, + ircd-irc2, + ircd-ircu, + rageircd, +Description: lightweight Internet Relay Chat server + This package provides ngIRCd, a lightweight Internet Relay Chat + server for small or private networks. It is simple to configure, can + cope with dynamic IP addresses, and supports IPv6 as well as SSL. It + is written from scratch, not based on the original IRCd and quite + portable. --- ngircd-21.1.orig/debian/copyright +++ ngircd-21.1/debian/copyright @@ -0,0 +1,38 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ngircd +Upstream-Contact: Alexander Barton +Source: http://ngircd.barton.de/ + +Files: * +Copyright: 2001-2013 Alexander Barton and contributors. +Comment: See /usr/share/doc/ngircd/AUTHORS for the full list of + authors and contributors. +License: GPL-2+ + +Files: debian/* +Copyright: + 2005-2008 Mario Iseli , + 2010-2013 Christoph Biedl +License: GPL-2+ + +License: GPL-2+ + This program is free software; you can redistribute it + and/or modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later + version. + . + This program is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the GNU General Public License for more + details. + . + You should have received a copy of the GNU General Public + License along with this package; if not, write to the Free + Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301 USA + . + On Debian systems, the full text of the GNU General Public + License version 2 can be found in the file + `/usr/share/common-licenses/GPL-2'. --- ngircd-21.1.orig/debian/ngircd.README.Debian +++ ngircd-21.1/debian/ngircd.README.Debian @@ -0,0 +1,81 @@ +What's new in ngIRCd 18 +======================= + +Generic +------- +For generic information, including the new names of configuration +variables, see /usr/share/doc/ngircd/INSTALL.gz + +Debian specific +--------------- +The configuration of the user and group ID ngIRCd runs as has +changed in ngircd 18-1. If you see messages like + + Can't change group ID to 65534: Operation not permitted + +Change the lines + + ;ServerUID = 65534 + ;ServerGID = 65534 + +into + + ServerGID = irc + ServerUID = irc + + +TLS support +=========== + +Some things to take into account when configuring TLS/SSL support: + +* The irc user must be able to read the key file. +* ngIRCd will run without a DH parameters file but that's a bad idea. +* A certificate exchange requires restart. + + +Certificate location +-------------------- +* If your certificate and key are for ngIRCd only: Simply place them in + /etc/ngircd, set KeyFile and CertFile accordingly. To secure the key + file (server.key): + + chown irc:irc server.key + chmod 600 server.key + +* If however you offer several TLS-based services that using the same + certificate and key: Consider installing the ssl-cert package which + provides the ssl-cert group. Place the certificate file (server.crt) + in /etc/ssl/certs/ and the key file (server.key) in /etc/ssl/private/, + and make sure ngIRCd can read it: + + chown root:ssl-cert /etc/ssl/private/server.key + chmod 640 /etc/ssl/private/server.key + adduser irc ssl-cert + + Repeat the last step for all users that run a daemon providing TLS. + + +DH parameters file +------------------ +It is suggested to create a DH params file. If missing, ngIRCd will +create one on the fly but this will prolong each startup. + +To create that file: + +* using gnutls (from gnutls-cli package): + + certtool --generate-dh-params --bits 2048 >/etc/ngircd/dhparams.pem + +* using openssl: + + openssl dhparam -2 -out /etc/ngircd/dhparams.pem 2048 + +This has to be done only once. Don't forget to enable the DHFile +setting in /etc/ngircd/ngircd.conf. + + +Certificate exchange +-------------------- +Due to limitations of GnuTLS, a re-start of ngIRCd is required if the +certificates were changed. A reload is not sufficient. --- ngircd-21.1.orig/debian/ngircd.bug-script +++ ngircd-21.1/debian/ngircd.bug-script @@ -0,0 +1,13 @@ +#!/bin/bash -e + +cat <<__EOS__ >&3 + +WARNING: Your ngIRCd configuration file may contain data the world +should not see, like passwords or structure of your IRC network. + +If you chose to include /etc/ngircd/ngircd.conf, make sure no +confidential information remains. To keep this report terse, also +remove all comments unless they are really necessary, and delete +this notice. + +__EOS__ --- ngircd-21.1.orig/debian/ngircd.conf +++ ngircd-21.1/debian/ngircd.conf @@ -0,0 +1,384 @@ +# +# 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. +# +# The original can be found at: +# /usr/share/doc/ngircd/sample-ngircd.conf.gz + +[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 = Debian User + AdminInfo2 = Debian City + AdminEMail = irc@irc.example.com + + # Info text of the server. This will be shown by WHOIS and + # LINKS requests for example. + Info = Yet another IRC Server running on Debian GNU/Linux + + # 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,192.168.0.1 + + # Text file with the "message of the day" (MOTD). This message will + # be shown to all users connecting to the server: + MotdFile = /etc/ngircd/ngircd.motd + + # A simple Phrase (<256 chars) if you don't want to use a motd file. + ;MotdPhrase = "Hello. This is the Debian default MOTD sentence" + + # Global password for all users needed to connect to the server. + # (Default: not set) + ;Password = wealllikedebian + + # 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. + # Keep this setting in sync with PIDFILE in /etc/init.d/ngircd + 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! + # Keep this setting in sync with DAEMONUSER in /etc/init.d/ngircd + ServerGID = irc + + # 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! + # Keep this setting in sync with DAEMONUSER in /etc/init.d/ngircd + ServerUID = irc + +[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 = 500 + + # Maximum number of simultaneous connections from a single IP address + # the server will accept (0: unlimited): + MaxConnectionsIP = 10 + + # Maximum number of channels a user can be member of (0: no limit): + MaxJoins = 10 + + # Maximum length of an user nickname (Default: 9, as in RFC 2812). + # Please note that all servers in an IRC network MUST use the same + # maximum nickname length! + ;MaxNickLength = 9 + + # Maximum number of channels returned in response to a /list + # command (0: unlimited): + ;MaxListSize = 100 + + # After seconds of inactivity the server will send a + # PING to the peer to test whether it is alive or not. + PingTimeout = 120 + + # If a client fails to answer a PING with a PONG within + # seconds, it will be disconnected by the server. + PongTimeout = 20 + +[Options] + # Optional features and configuration options to further tweak the + # behavior of ngIRCd. If you want to get started quickly, you most + # probably don't have to make changes here -- they are all optional. + + # List of allowed channel types (channel prefixes) for newly created + # channels on the local server. By default, all supported channel + # types are allowed. Set this variable to the empty string to disallow + # creation of new channels by local clients at all. + ;AllowedChannelTypes = #&+ + + # Are remote IRC operators allowed to control this server, e.g. + # use commands like CONNECT, SQUIT, DIE, ...? + ;AllowRemoteOper = no + + # A directory to chroot in when everything is initialized. It + # doesn't need to be populated if ngIRCd is compiled as a static + # binary. By default ngIRCd won't use the chroot() feature. + # ATTENTION: For this to work the server must have been started + # with root privileges! + ;ChrootDir = /var/empty + + # Set this hostname for every client instead of the real one. + # Use %x to add the hashed value of the original hostname. + ;CloakHost = cloaked.host + + # Use this hostname for hostname cloaking on clients that have the + # user mode "+x" set, instead of the name of the server. + # Use %x to add the hashed value of the original hostname. + ;CloakHostModeX = cloaked.user + + # The Salt for cloaked hostname hashing. When undefined a random + # hash is generated after each server start. + ;CloakHostSalt = abcdefghijklmnopqrstuvwxyz + + # Set every clients' user name to their nickname + ;CloakUserToNick = yes + + # Try to connect to other IRC servers using IPv4 and IPv6, if possible. + ;ConnectIPv6 = yes + ;ConnectIPv4 = yes + + # Default user mode(s) to set on new local clients. Please note that + # only modes can be set that the client could set on itself, you can't + # set "a" (away) or "o" (IRC Op), for example! Default: none. + ;DefaultUserModes = i + + # Do DNS lookups when a client connects to the server. + ;DNS = yes + + # Do IDENT lookups if ngIRCd has been compiled with support for it. + # Users identified using IDENT are registered without the "~" character + # prepended to their user name. + ;Ident = yes + + # Directory containing configuration snippets (*.conf), that should + # be read in after parsing this configuration file. + ;IncludeDir = /etc/ngircd/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 = yes + + # 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 = no + + # 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. + + # SSL Server Key Certificate + ;CertFile = /etc/ssl/certs/server.crt + + # 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 (this Debian package was linked against GnuTLS): + CipherList = SECURE128 + + # Diffie-Hellman parameters + ;DHFile = /etc/ngircd/dhparams.pem + + # SSL Server Key + ;KeyFile = /etc/ssl/private/server.key + + # password to decrypt SSLKeyFile (OpenSSL only) + # Note that this Debian package is linked against GnuTLS so this + # option has no effect. + ;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 = #ngircd + + # Topic for this channel + ;Topic = Our ngircd testing channel + + # Initial channel modes + ;Modes = tnk + + # initial channel password (mode k) + ;Key = Secret + + # Key file, syntax for each line: "::". + # Default: none. + ;KeyFile = /etc/ngircd/#chan.key + + # maximum users per channel (mode l) + ;MaxUsers = 23 + +[Channel] + # More [Channel] sections, if you like ... + +# -eof- --- ngircd-21.1.orig/debian/ngircd.init +++ ngircd-21.1/debian/ngircd.init @@ -0,0 +1,160 @@ +#! /bin/sh + +### BEGIN INIT INFO +# Provides: ngircd +# Required-Start: $network $local_fs $remote_fs +# Required-Stop: $network $local_fs $remote_fs +# Should-Start: $named $syslog +# Should-Stop: $named $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Next generation IRC daemon +# Description: Simple IRC daemon written from scratch +### END INIT INFO + +# Author: Christoph Biedl + +# Do NOT "set -e" + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC='Next generation IRC daemon' +NAME='ngircd' +DAEMON="/usr/sbin/$NAME" +DAEMON_ARGS="" +PIDDIR='/var/run/ngircd' +PIDFILE="$PIDDIR/$NAME.pid" +SCRIPTNAME="/etc/init.d/$NAME" +DAEMONUSER='irc' # also group + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r "/etc/default/$NAME" ] && . "/etc/default/$NAME" + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.2-14) to ensure that this file is present +# and status_of_proc is working. +. /lib/lsb/init-functions + +# Assert PIDDIR +[ -d "$PIDDIR" ] || mkdir -p "$PIDDIR" +chown "$DAEMONUSER:$DAEMONUSER" "$PIDDIR" + +# Assert DAEMONUSER's home +DAEMONHOME=$(getent passwd "$DAEMONUSER" | cut -d: -f6) +[ -d "$DAEMONHOME" ] || mkdir -p "$DAEMONHOME" +chown "$DAEMONUSER:$DAEMONUSER" "$DAEMONHOME" + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon --start --quiet \ + --pidfile "$PIDFILE" --exec "$DAEMON" \ + --test > /dev/null || return 1 + start-stop-daemon --start --quiet \ + --chuid "$DAEMONUSER:$DAEMONUSER" \ + --pidfile "$PIDFILE" --exec "$DAEMON" -- \ + $DAEMON_ARGS || return 2 + # Add code here, if necessary, that waits for the process to be ready + # to handle requests from services started subsequently which depend + # on this one. As a last resort, sleep for some time. +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \ + --pidfile "$PIDFILE" --name "$NAME" + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Wait for children to finish too if this is a daemon that forks + # and if the daemon is only ever run from this initscript. + # If the above conditions are not satisfied then add some other code + # that waits for the process to drop all resources that could be + # needed by services started subsequently. A last resort is to + # sleep for some time. + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 \ + --exec "$DAEMON" + [ "$?" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f "$PIDFILE" + return "$RETVAL" +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + start-stop-daemon --stop --signal 1 --quiet \ + --pidfile "$PIDFILE" --name "$NAME" + return 0 +} + +case "$1" in +start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; +stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; +status) + status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $? + ;; +reload|force-reload) + log_daemon_msg "Reloading $DESC" "$NAME" + do_reload + log_end_msg $? + ;; +restart) + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; +*) + echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload|status}" >&2 + exit 3 + ;; +esac + +exit 0 --- ngircd-21.1.orig/debian/ngircd.lintian-overrides +++ ngircd-21.1/debian/ngircd.lintian-overrides @@ -0,0 +1,3 @@ + +# INSTALL also contains upgrading information, so ship it +ngircd: package-contains-upstream-install-documentation usr/share/doc/ngircd/INSTALL.gz --- ngircd-21.1.orig/debian/ngircd.motd +++ ngircd-21.1/debian/ngircd.motd @@ -0,0 +1,11 @@ +************************************************** +* H E L L O * +* This is a private irc server. Please contact * +* the admin of the server for any questions or * +* issues. * +************************************************** +* The software was provided as a package of * +* Debian GNU/Linux . * +* However, Debian has no control over this * +* server. * +************************************************** --- ngircd-21.1.orig/debian/rules +++ ngircd-21.1/debian/rules @@ -0,0 +1,35 @@ +#!/usr/bin/make -f + +export DEB_BUILD_HARDENING=1 + +override_dh_auto_configure: + dh_auto_configure -- \ + --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ + --prefix=/usr \ + --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info \ + --sysconfdir=/etc/ngircd \ + --with-gnutls \ + --with-ident \ + --with-pam \ + --enable-ipv6 + +override_dh_auto_install: + dh_auto_install + # install config and sample motd file + install -m 640 -D $(CURDIR)/debian/ngircd.conf \ + $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.conf + install -m 640 -D $(CURDIR)/debian/ngircd.motd \ + $(CURDIR)/debian/ngircd/etc/ngircd/ngircd.motd + install -m 640 -D $(CURDIR)/contrib/ngircd.service \ + $(CURDIR)/debian/ngircd/lib/systemd/system/ngircd.service + # make lintian happy + rm $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/COPYING + mv $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/ChangeLog \ + $(CURDIR)/debian/ngircd/usr/share/doc/ngircd/changelog + +override_dh_compress: + dh_compress -XCommands.txt + +%: + dh $@ --- ngircd-21.1.orig/debian/source/format +++ ngircd-21.1/debian/source/format @@ -0,0 +1 @@ +1.0 --- ngircd-21.1.orig/debian/upstream-signing-key.pgp +++ ngircd-21.1/debian/upstream-signing-key.pgp @@ -0,0 +1,446 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.12 (GNU/Linux) + +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 +AGYAaQBsACAAUgBHAEIAIABHAGUAbgDpAHIAaQBjAG8EFwQwBDMEMAQ7BEwEPQQ4 +BDkAIAQ/BEAEPgREBDAEOQQ7ACAAUgBHAEIAUAByAG8AZgBpAGwAIABnAOkAbgDp +AHIAaQBxAHUAZQAgAFIAVgBCkBp1KAAgAFIARwBCACCCcl9pY8+P8ABQAHIAbwBm +AGkAbABvACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjAG8ARwBlAG4AZQByAGkAcwBr +ACAAUgBHAEIALQBwAHIAbwBmAGkAbMd8vBgAIABSAEcAQgAg1QS4XNMMx3wATwBi +AGUAYwBuAP0AIABSAEcAQgAgAHAAcgBvAGYAaQBsBeQF6AXVBeQF2QXcACAAUgBH +AEIAIAXbBdwF3AXZAEEAbABsAGcAZQBtAGUAaQBuAGUAcwAgAFIARwBCAC0AUABy +AG8AZgBpAGwAwQBsAHQAYQBsAOEAbgBvAHMAIABSAEcAQgAgAHAAcgBvAGYAaQBs +Zm6QGgAgAFIARwBCACBjz4/wZYdO9k4AgiwAIABSAEcAQgAgMNcw7TDVMKEwpDDr +AFAAcgBvAGYAaQBsACAAUgBHAEIAIABnAGUAbgBlAHIAaQBjA5MDtQO9A7kDugPM +ACADwAPBA78DxgOvA7sAIABSAEcAQgBQAGUAcgBmAGkAbAAgAFIARwBCACAAZwBl +AG4A6QByAGkAYwBvAEEAbABnAGUAbQBlAGUAbgAgAFIARwBCAC0AcAByAG8AZgBp +AGUAbA5CDhsOIw5EDh8OJQ5MACAAUgBHAEIAIA4XDjEOSA4nDkQOGwBHAGUAbgBl +AGwAIABSAEcAQgAgAFAAcgBvAGYAaQBsAGkAWQBsAGUAaQBuAGUAbgAgAFIARwBC +AC0AcAByAG8AZgBpAGkAbABpAFUAbgBpAHcAZQByAHMAYQBsAG4AeQAgAHAAcgBv +AGYAaQBsACAAUgBHAEIEHgQxBEkEOAQ5ACAEPwRABD4ERAQ4BDsETAAgAFIARwBC +BkUGRAZBACAGKgY5BjEGSgZBACAAUgBHAEIAIAYnBkQGOQYnBkUARwBlAG4AZQBy +AGkAYwAgAFIARwBCACAAUAByAG8AZgBpAGwAZQBHAGUAbgBlAHIAZQBsACAAUgBH +AEIALQBiAGUAcwBrAHIAaQB2AGUAbABzAGV0ZXh0AAAAAENvcHlyaWdodCAyMDA3 +IEFwcGxlIEluYy4sIGFsbCByaWdodHMgcmVzZXJ2ZWQuAFhZWiAAAAAAAADzUgAB +AAAAARbPWFlaIAAAAAAAAHRNAAA97gAAA9BYWVogAAAAAAAAWnUAAKxzAAAXNFhZ +WiAAAAAAAAAoGgAAFZ8AALg2Y3VydgAAAAAAAAABAc0AAHNmMzIAAAAAAAEMQgAA +Bd7///MmAAAHkgAA/ZH///ui///9owAAA9wAAMBs/+EAvEV4aWYAAE1NACoAAAAI +AAcBEgADAAAAAQABAAABGgAFAAAAAQAAAGIBGwAFAAAAAQAAAGoBKAADAAAAAQAC +AAABMQACAAAAEAAAAHIBMgACAAAAFAAAAIKHaQAEAAAAAQAAAJYAAAAAAAAASAAA +AAEAAABIAAAAAVF1aWNrVGltZSA3LjcuMQAyMDEyOjAyOjEyIDIzOjA1OjQxAAAC +oAIABAAAAAEAAABAoAMABAAAAAEAAABAAAAAAP/hAapodHRwOi8vbnMuYWRvYmUu +Y29tL3hhcC8xLjAvADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8i +IHg6eG1wdGs9IlhNUCBDb3JlIDUuMS4yIj4KICAgPHJkZjpSREYgeG1sbnM6cmRm +PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4K +ICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAg +eG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAg +ICAgPHhtcDpDcmVhdG9yVG9vbD5RdWlja1RpbWUgNy43LjE8L3htcDpDcmVhdG9y +VG9vbD4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTItMDItMTJUMjM6MDU6 +NDE8L3htcDpNb2RpZnlEYXRlPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAg +PC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K/9sAQwACAgICAgECAgICAgICAwMGBAMD +AwMHBQUEBggHCAgIBwgICQoNCwkJDAoICAsPCwwNDg4ODgkLEBEPDhENDg4O/9sA +QwECAgIDAwMGBAQGDgkICQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4O +Dg4ODg4ODg4ODg4ODg4ODg4O/8AAEQgAQABAAwEiAAIRAQMRAf/EAB8AAAEFAQEB +AQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAE +EQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2 +Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SV +lpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn +6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//E +ALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkj +M1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2Rl +ZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5 +usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR +AD8A/NL4IfDjXbz4sT6hrfhrxfZw6dALiznlsbu1Tzw23JIVGfAJ+VWzyc9K+t7r +QNeSyEB0zxHZzIVE8dncahslzyPmdmC9QAPXPPSq154k8Qf8I9HaW2ueJrUXJ2Pv +u5ImJBJDcHA7HsSCMmmnxR4iaR0m1TVJEz5TML+WQburE88gZ4yOOcV85WqSnK+x +6dOCijm/Do1y30vxZBrR1ee20nxBc2UF5fy3MMscK7XVXdSqqy79ucA4xnk1Hp2r +Sar48XS/DUev6hcJGzfb01OYxRNjgKzMVbGDnqM5HPbyD41eN/EVl8S/EfhKG71p +Iddv9Nv5IJJiftMYsEhijOT+83SoHDnk4APQiuv8HXGm+HNL0y3hvr6LWLi3j/tm +aR+I3kcyCDGSCYwSrNyDwRjkVnXpStddTuy6jCrUSlsj9XP2fb3WvDHwntdEvrqy +1C1e9eWKO5jE0u6TBwHxyAcAcfpX03cfE3xB4XFvc61p1xf+HpGCXd5prgyWSk48 +0qeSF7gV8ifBuS38nS4Euo55JCGidyGGOMAZ4BGSc9xX6H+HPhZb2Pwsa51u7Go3 +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 +Gjbt244h4EPLe2F6yUxkFITm86Lm+BWkmG7jEmD5S3kyXxbjtXhNzb6C0WRo7nPU +mQJ2bgY5U/DcdxgL+vyN1ydPU05zhkB2ivJYS67RxSPFIQEQAAEBAAAAAAAAAAAA +AAAA/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL +DBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBD +AQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy +MjIyMjIyMjIyMjIyMjIyMjL/wAARCABAAEADASIAAhEBAxEB/8QAHwAAAQUBAQEB +AQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR +BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 +ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWW +l5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo +6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QA +tREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz +UvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVm +Z2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6 +wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEA +PwDDgmEQ/c2rHPXLdahntL+5O62tlUZz8vXNdTDEbZbNRECjcPKgyvtU+rzppmm3 +F3G4Vgv3WHftQBw9za3UVwGuSQzdQetTQxQSS7VffJjl2OR+RrFa6vtTvWZHZpW+ +9V+y03US5UwyCM8M2M07ATvpG2d5BMJF/vYqGKyKgMygLL0bzMbfYir4028sb5Vl +jcB/uYqlqibfLmOItxKOOwYUAJPHEsUO0khucE81QdZFYssW4sMAYq3JOxs7TEYL +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 +=mc12 +-----END PGP PUBLIC KEY BLOCK----- --- ngircd-21.1.orig/debian/watch +++ ngircd-21.1/debian/watch @@ -0,0 +1,4 @@ + +version=3 +opts=pgpsigurlmangle=s/$/.sig/ \ + http://arthur.barton.de/pub/ngircd/ngircd-([0-9\.]+(?:~rc\d+)?)\.tar\.gz --- ngircd-21.1.orig/src/testsuite/Makefile.in +++ ngircd-21.1/src/testsuite/Makefile.in @@ -202,7 +202,6 @@ mode-test \ opless-channel-test \ who-test \ - whois-test \ server-link-test \ stop-server2 \ stress-server.sh \