Module: ngircd.git
Branch: master
Commit: fa7fac88d27861beec9533fb4b141aca1dcb3f2d
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=fa7fac88…
Author: Alexander Barton <alex(a)barton.de>
Date: Mon Sep 22 02:37:37 2014 +0200
Update NEWS and ChangeLog for ngIRCd 22 once more ...
---
ChangeLog | 7 +++++++
NEWS | 5 +++++
2 files changed, 12 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 52fc6e8..c5da9d0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -12,6 +12,13 @@
ngIRCd 22
ngIRCd 22~rc1
+ - Sync "except lists" between servers: Up to now, ban, invite, and G-Line
+ lists have been synced between servers while linking -- but obviously
+ nobody noticed that except list have been missing ever since. Until now.
+ Thanks to "j4jackj", who reported this issue in #ngircd.
+ - Allow longer user names (up to 63 characters) for authentication.
+ - Correctly check that a server has a valid hostname and port, thanks to
+ David Binderman <dcb314(a)hotmail.com> who reported this bug.
- Fix the function which generates complete "IRC masks" from user input,
don't destroy the source buffer and use all provided parts (nick, user,
host name). This fixes GLINEs/KLINEs from not working in some situations.
diff --git a/NEWS b/NEWS
index 4f44b8f..dbb6b29 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,11 @@
ngIRCd 22~rc1
+ - Sync "except lists" between servers: Up to now, ban, invite, and G-Line
+ lists have been synced between servers while linking -- but obviously
+ nobody noticed that except list have been missing ever since. Until now.
+ Thanks to "j4jackj", who reported this issue in #ngircd.
+ - Allow longer user names (up to 63 characters) for authentication.
- Increase MAX_SERVERS from 16 to 64: There are installations out there
that would like to configure more than 16 links per server, so increase
this limit. Best would be to get rid of MAX_SERVERS altogether and make
Module: ngircd.git
Branch: master
Commit: ffad2da835e26a1a457d4f4a16acf6797d4cc71e
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=ffad2da8…
Author: Alexander Barton <alex(a)barton.de>
Date: Wed Sep 10 13:03:30 2014 +0200
Correctly check that a server has a valid hostname and port
David Binderman <dcb314(a)hotmail.com> reported the following compiler warning,
which is a real bug in ngIRCd, thanks!
conn.c:2077:55: warning: logical not is only applied to the left hand
side of comparison [-Wlogical-not-parentheses]
---
src/ngircd/conn.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c
index 5c175df..6256154 100644
--- a/src/ngircd/conn.c
+++ b/src/ngircd/conn.c
@@ -1904,7 +1904,7 @@ Check_Servers(void)
for (i = 0; i < MAX_SERVERS; i++) {
if (Conf_Server[i].conn_id != NONE)
continue; /* Already establishing or connected */
- if (!Conf_Server[i].host[0] || !Conf_Server[i].port > 0)
+ if (!Conf_Server[i].host[0] || Conf_Server[i].port <= 0)
continue; /* No host and/or port configured */
if (Conf_Server[i].flags & CONF_SFLAG_DISABLED)
continue; /* Disabled configuration entry */
Module: ngircd.git
Branch: master
Commit: 3f1547ecdec24fd685f05e40733ae0d907bcb9d8
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=3f1547ec…
Author: Alexander Barton <alex(a)barton.de>
Date: Thu Sep 4 18:28:33 2014 +0200
Fix spelling and whitespaces in INSTALL
---
INSTALL | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/INSTALL b/INSTALL
index 998274a..cf33fa3 100644
--- a/INSTALL
+++ b/INSTALL
@@ -170,7 +170,7 @@ autogen.sh produces the Makefile.in's, which are necessary for the configure
script itself, and some more files for make. To run autogen.sh you'll need
GNU autoconf and GNU automake: at least autoconf 2.61 and automake 1.10 are
requird, newer is better. But don't use automake 1.12 or newer for creating
-distribution archives: it will work but lack "de-ANSI-fucation" support in the
+distribution archives: it will work but lack "de-ANSI-fication" support in the
generated Makefile's! Stick with automake 1.11.x for this purpose ...
So automake 1.11.x and autoconf 2.67+ is recommended.
@@ -226,7 +226,7 @@ which will be used to search for the required libraries and header files in
the given paths ("<path>/lib/...", "<path>/include/...") in addition to the
standard locations.
-* Syslog Logging (autodetected by default):
+* Syslog Logging (autodetected by default):
--with-syslog[=<path>] / --without-syslog
Enable (disable) support for logging to "syslog", which should be
@@ -237,13 +237,13 @@ standard locations.
Enable (disable) support for compressed server-server links.
The Z compression library ("libz") is required for this option.
-
+
* IO Backend (autodetected by default):
--with-select[=<path>] / --without-select
--with-poll[=<path>] / --without-poll
--with-devpoll[=<path>] / --without-devpoll
--with-epoll[=<path>] / --without-epoll
- --with-kqueue[=<path>] / --without-kqueue
+ --with-kqueue[=<path>] / --without-kqueue
ngIRCd can use different IO "backends": the "old school" select() and poll()
API which should be supported by most UNIX-like operating systems, or the
@@ -261,7 +261,7 @@ standard locations.
required for this option.
* TCP-Wrappers:
- --with-tcp-wrappers[=<path>]
+ --with-tcp-wrappers[=<path>]
Include support for Wietse Venemas "TCP Wrappers" to limit client access
to the daemon, for example by using "/etc/hosts.{allow|deny}".
@@ -318,7 +318,7 @@ IRC operators of this server are defined in [Operator] blocks, remote
servers are configured in [Server] sections, and [Channel] blocks are
used to configure pre-defined ("persistent") IRC channels.
-The meaning of the variables in the configuration file is explained in the
+The meaning of the variables in the configuration file is explained in the
"doc/sample-ngircd.conf", which is used as sample configuration file in
/usr/local/etc after running "make install" (if you don't already have one)
and in the ngircd.conf(5) manual page.
Module: ngircd.git
Branch: master
Commit: 7893dc524192715ef004028f8959819f53d34660
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=7893dc52…
Author: Alexander Barton <alex(a)barton.de>
Date: Thu Sep 4 18:28:17 2014 +0200
Update NEWS and ChangeLog for ngIRCd 22
---
ChangeLog | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
NEWS | 48 ++++++++++++++++++++++++++++++++++++++-
2 files changed, 118 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 27e8545..52fc6e8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,73 @@
-- ChangeLog --
+ngIRCd 22
+
+ ngIRCd 22~rc1
+ - Fix the function which generates complete "IRC masks" from user input,
+ don't destroy the source buffer and use all provided parts (nick, user,
+ host name). This fixes GLINEs/KLINEs from not working in some situations.
+ - Increase MAX_SERVERS from 16 to 64: There are installations out there
+ that would like to configure more than 16 links per server, so increase
+ this limit. Best would be to get rid of MAX_SERVERS altogether and make
+ if fully dynamic, but start with this quick and dirty hack ...
+ - Debian: Don't adjust path names that are correct by default and correctly
+ set and use "docdir".
+ - Update config.guess and config.sub to recent versions.
+ - Test suite/platformtest.sh: Detect when tests have been skipped.
+ - doc/Bopm.txt: Update "connregex" and "kline" for current ngIRCd.
+ - Allow "DefaultUserModes" to set all possible modes, including modes only
+ settable by IRC Operators.
+ - Spoofed prefixes: Really kill connection on non-server links.
+ - Implement user mode "F": "relaxed flood protection". Clients with mode "F"
+ set are allowed to send data to the daemon. This mode is only settable by
+ IRC Operators and can cause problems in the network -- so be careful and
+ only set it on "trusted" clients!
+ User mode "F" is used by Bahamut for this purpose, for example.
+ - Handle "throttling" in a single function: ngIRCd implements "command
+ throttling" and "bps throttling" (bytes per second). The states are
+ detected in different functions, Conn_Handler() and Read_Request(), but
+ handle the actual "throttling" in a common function: this enables us to
+ guarantee consistent behavior and to disable throttling for special
+ connections in only one place
+ - Use server password when PAM is compiled in but disabled.
+ - Streamline punctuation of log messages.
+ - Return ISUPPORT(005) numerics on "VERSION". This is how ircd-seven,
+ Charybdis, Hybrid, and InspIRCd behave, for example.
+ - configure: Only link "contrib/Debian" if it exists, which isn't the case
+ on "VPATH builds", for example.
+ - Show the account name in WHOIS. This uses the same numeric as Charybdis
+ and ircu families: WHOISLOGGEDIN(330).
+ - Pattern matching: Remove "range matching" in our pattern matching code
+ using the "[...]" syntax, because [ and ] are valid characters in nick
+ names and one has to quote them currently using the "\" character, which
+ is quite unexpected for users.
+ - platformtest.sh: New option "-x", don't regenerate build system and
+ allow using separate source and build trees.
+ - Test suite: explicitly enable glibc memory checking.
+ - Make "MODE -k" handling more robust and compatible, send "fake '*' key"
+ in all replies.
+ - Update configure.ng: ngIRCd requires GNU autoconf 2.61 for generating its
+ build system, so update the build system accordingly and implement all
+ changes that autoupdate(1) suggests: Update AC_PREREQ and AC_INIT, use
+ AC_LINK_IFELSE, AC_RUN_IFELSE, and AC_COMPILE_IFELSE, and remove
+ AC_TYPE_SIGNAL (we don't use RETSIGTYPE).
+ - portabtest: Actually test the functions snprintf(), strlcpy(), strlcat(),
+ and vsnprintf() for correctness, not only existence (which was quite
+ useless, because if they weren't available, the program could not have
+ been linked at all ...).
+ - Implement new configuration option "Network": it is used to set the
+ (completely optional) "network name", to which this instance of the
+ daemon belongs. When set, this name is used in the ISUPPORT(005) numeric
+ which is sent to all clients connecting to the server after logging in.
+ - Update doc/Platforms.txt.
+ - Various code cleanups, remove unused code, streamline error handling.
+ Remove all imp.h and exp.h header files, support non-standard vsnprintf()
+ return codes, and fix some K&R C portability issues. Streamline
+ DEBUG_ARRAY, DEBUG_BUFFER, DEBUG_IO, DEBUG_ZIP definitions.
+ - Increase penalty time to 10 seconds when handling OPER commands with an
+ invalid password.
+
ngIRCd 21.1 (2014-03-25)
- Don't ignore but use the server password when PAM is compiled in but
@@ -1011,7 +1078,7 @@ ngIRCd 0.11.0 (2008-01-15)
ngIRCd 0.11.0-pre2 (2008-01-07)
- SECURITY: IRC_PART could reference invalid memory, causing
ngircd to crash [from HEAD]. (CVE-2008-0285)
-
+
ngIRCd 0.11.0-pre1 (2008-01-02)
- Use dotted-decimal IP address if host name is >= 64.
- Add support for /STAT u (server uptime) command.
@@ -1045,7 +1112,7 @@ ngIRCd 0.10.4 (2008-01-07)
- SECURITY: IRC_PART could reference invalid memory, causing
ngircd to crash [from HEAD]. (CVE-2008-0285)
-
+
ngIRCd 0.10.3 (2007-08-01)
- SECURITY: Fixed a severe bug in handling JOIN commands, which could
@@ -1431,7 +1498,7 @@ ngIRCd 0.6.0, 24.12.2002
ngIRCd 0.5.4, 24.11.2002
- - Fehler-Handling von connect() gefixed: der Server kann sich nun auch
+ - Fehler-Handling von connect() gefixed: der Server kann sich nun auch
unter A/UX wieder zu anderen verbinden.
- in den Konfigurationsvariablen ServerUID und ServerGID kann nun nicht
nur die numerische ID, sondern auch der Name des Users bzw. der Gruppe
@@ -1543,7 +1610,7 @@ ngIRCd 0.5.0, 20.09.2002
- ADMIN-Befehl implementiert. Die Daten hierzu werden in der Konfig-Datei
im [Global]-Abschnitt mit den Variablen "AdminInfo1", "AdminInfo2" und
"AdminEMail" konfiguriert.
-
+
ngIRCd 0.4.3, 11.06.2002
- Bei PRIVMSG und NOTICE hat der ngIRCd nicht ueberpruft, ob das Ziel
diff --git a/NEWS b/NEWS
index 1bb7505..4f44b8f 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,52 @@
-- NEWS --
+ ngIRCd 22~rc1
+ - Increase MAX_SERVERS from 16 to 64: There are installations out there
+ that would like to configure more than 16 links per server, so increase
+ this limit. Best would be to get rid of MAX_SERVERS altogether and make
+ if fully dynamic, but start with this quick and dirty hack ...
+ - Test suite/platformtest.sh: Detect when tests have been skipped.
+ - Allow "DefaultUserModes" to set all possible modes, including modes only
+ settable by IRC Operators.
+ - Implement user mode "F": "relaxed flood protection". Clients with mode "F"
+ set are allowed to send data to the daemon. This mode is only settable by
+ IRC Operators and can cause problems in the network -- so be careful and
+ only set it on "trusted" clients!
+ User mode "F" is used by Bahamut for this purpose, for example.
+ - Use server password when PAM is compiled in but disabled.
+ - Streamline punctuation of log messages.
+ - Return ISUPPORT(005) numerics on "VERSION". This is how ircd-seven,
+ Charybdis, Hybrid, and InspIRCd behave, for example.
+ - configure: Only link "contrib/Debian" if it exists, which isn't the case
+ on "VPATH builds", for example.
+ - Show the account name in WHOIS. This uses the same numeric as Charybdis
+ and ircu families: WHOISLOGGEDIN(330).
+ - Pattern matching: Remove "range matching" in our pattern matching code
+ using the "[...]" syntax, because [ and ] are valid characters in nick
+ names and one has to quote them currently using the "\" character, which
+ is quite unexpected for users.
+ - platformtest.sh: New option "-x", don't regenerate build system and
+ allow using separate source and build trees.
+ - Test suite: explicitly enable glibc memory checking.
+ - Make "MODE -k" handling more robust and compatible, send "fake '*' key"
+ in all replies.
+ - portabtest: Actually test the functions snprintf(), strlcpy(), strlcat(),
+ and vsnprintf() for correctness, not only existence (which was quite
+ useless, because if they weren't available, the program could not have
+ been linked at all ...).
+ - Implement new configuration option "Network": it is used to set the
+ (completely optional) "network name", to which this instance of the
+ daemon belongs. When set, this name is used in the ISUPPORT(005) numeric
+ which is sent to all clients connecting to the server after logging in.
+ - Update doc/Platforms.txt.
+ - Various code cleanups, remove unused code, streamline error handling.
+ Remove all imp.h and exp.h header files, support non-standard vsnprintf()
+ return codes, and fix some K&R C portability issues. Streamline
+ DEBUG_ARRAY, DEBUG_BUFFER, DEBUG_IO, DEBUG_ZIP definitions.
+ - Increase penalty time to 10 seconds when handling OPER commands with an
+ invalid password.
+
ngIRCd 21.1 (2014-03-25)
- Don't ignore but use the server password when PAM is compiled in but
@@ -595,7 +641,7 @@ ngIRCd 0.7.5 (2003-07-11)
(DoS), the default is 5 connections per client IP.
- Added new configuration variable "Listen" to bind all listening
sockets of the server to a single IP address.
-
+
ngIRCd 0.7.1 (2003-07-18)
- Added support for GNU/Hurd.
Module: ngircd.git
Branch: master
Commit: ce3c4074ba08a6a851e45864d1f88ca4b8820a53
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=ce3c4074…
Author: Alexander Barton <alex(a)barton.de>
Date: Sat Jul 26 15:22:35 2014 +0200
Platforms.txt: Add and update systems
- Add armv7l/unk./linux-gnueabihf
- Add x86_64/apple/darwin14.0.0
Thanks to Götz Hoffart <goetz(a)hoffart.de>!
---
doc/Platforms.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/doc/Platforms.txt b/doc/Platforms.txt
index 4555e22..8911765 100644
--- a/doc/Platforms.txt
+++ b/doc/Platforms.txt
@@ -30,6 +30,7 @@ alpha/unknown/netbsd3.0 gcc 3.3.3 CVSHEAD 06-05-07 fw Y Y Y Y 3
armv6l/unk./linux-gnueabi gcc 4.7.2 20.2 13-03-08 goetz Y Y Y Y 5
armv6l/unk./linux-gnueabihf gcc 4.6.3 21~rc2 13-10-26 pi Y Y Y Y 5
armv7l/unk./linux-gnueabi gcc 4.4.3 19.1 12-04-29 goetz Y Y Y Y 5
+armv7l/unk./linux-gnueabihf gcc 4.8.2 21.1 14-07-15 goetz Y Y Y Y 5
hppa/unknown/openbsd3.5 gcc 2.95.3 CVSHEAD 04-05-25 alex Y Y Y Y
hppa/unknown/openbsd5.4 gcc 4.2.1 21 13-11-10 alex Y Y Y Y 3
hppa1.1/unknown/linux-gnu gcc 3.3.3 0.8.0 04-05-30 alex Y Y Y Y
@@ -86,6 +87,7 @@ sparc/unknown/openbsd5.5 gcc 4.2.1 21.1 14-05-03 goetz Y Y Y Y 3
x86_64/apple/darwin10.8.0 gcc 4.2.1 21~rc2 13-10-30 alex Y Y Y Y 3
x86_64/apple/darwin12.3.0 gcc 4.2.1 20.2 13-04-01 alex Y Y Y Y 3
x86_64/apple/darwin13.0.0 A-clang 5.0 21 14-01-02 alex Y Y Y Y 3
+x86_64/apple/darwin14.0.0 A-clang 6.0 21.1 14-07-25 goetz Y Y Y Y 3
x86_64/unknown/dragonfly3.4 gcc 4.7.2 21 13-11-12 goetz Y Y N Y 3
x86_64/unknown/freebsd8.4 gcc 4.2.1 21 14-01-02 alex Y Y Y Y 3
x86_64/unknown/freebsd9.1 gcc 4.2.1 21 14-01-02 alex Y Y Y Y 3
Module: ngircd.git
Branch: master
Commit: 40ed94a1f23aa120cb80bcf8224cef69124909f1
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=40ed94a1…
Author: Alexander Barton <alex(a)barton.de>
Date: Sun Jul 20 13:19:36 2014 +0200
Increase MAX_SERVERS from 16 to 64
There are installations out there that would like to configure more
than 16 links per server, so increase this limit. Best would be to
get rid of MAX_SERVERS altogether and make if fully dynamic, but
start with this quick and dirty hack ...
---
src/ngircd/defines.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ngircd/defines.h b/src/ngircd/defines.h
index 4acdc47..a140c9d 100644
--- a/src/ngircd/defines.h
+++ b/src/ngircd/defines.h
@@ -53,7 +53,7 @@
/* Size of structures */
/** Max. count of configurable servers. */
-#define MAX_SERVERS 16
+#define MAX_SERVERS 64
/** Max. number of WHOWAS list items that can be stored. */
#define MAX_WHOWAS 64