about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS2
-rw-r--r--ChangeLog16
-rw-r--r--INSTALL2
-rw-r--r--NEWS6
-rw-r--r--README2
-rw-r--r--contrib/Debian/changelog6
-rw-r--r--contrib/MacOSX/ngIRCd.pmdoc/index.xml2
-rw-r--r--contrib/ngircd.spec2
-rw-r--r--src/ngircd/irc.c11
-rw-r--r--src/ngircd/ngircd.c4
10 files changed, 44 insertions, 9 deletions
diff --git a/AUTHORS b/AUTHORS
index 986beefc..1d061a60 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -2,7 +2,7 @@
                      ngIRCd - Next Generation IRC Server
                            http://ngircd.barton.de/
 
-               (c)2001-2012 Alexander Barton and Contributors.
+               (c)2001-2013 Alexander Barton and Contributors.
                ngIRCd is free software and published under the
                    terms of the GNU General Public License.
 
diff --git a/ChangeLog b/ChangeLog
index 9e2a0428..a4cfdb91 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,13 +2,27 @@
                      ngIRCd - Next Generation IRC Server
                            http://ngircd.barton.de/
 
-               (c)2001-2012 Alexander Barton and Contributors.
+               (c)2001-2013 Alexander Barton and Contributors.
                ngIRCd is free software and published under the
                    terms of the GNU General Public License.
 
                                -- ChangeLog --
 
 
+ngIRCd 20.1 (2013-01-02)
+
+  - Allow ERROR command on server and service links only, ignore them and
+    add a penalty time on all other link types.
+  - Enforced mode setting by IRC Operators: Only check the channel user
+    modes of the initiator if he is joined to the channel and not an IRC
+    operator enforcing modes (which requires the configuration option
+    "OperCanUseMode" to be enabled), because trying to check channel user
+    modes of a non-member results in an assertion when running with debug
+    code or could crash the daemon otherwise. This closes bug #147, thanks
+    to James Kirwill <james.kirwill@bk.ru> for tracking this down!
+  - Fix build system to cope with spaces in path names.
+  - Code cleanups, mostly to fix build warnings on Cygwin.
+
 ngIRCd 20 (2012-12-17)
 
   - Allow user names ("INDENT") up to 20 characters when ngIRCd has not
diff --git a/INSTALL b/INSTALL
index b4459581..de60feb8 100644
--- a/INSTALL
+++ b/INSTALL
@@ -2,7 +2,7 @@
                      ngIRCd - Next Generation IRC Server
                            http://ngircd.barton.de/
 
-               (c)2001-2012 Alexander Barton and Contributors.
+               (c)2001-2013 Alexander Barton and Contributors.
                ngIRCd is free software and published under the
                    terms of the GNU General Public License.
 
diff --git a/NEWS b/NEWS
index 96ecdc8b..be743e68 100644
--- a/NEWS
+++ b/NEWS
@@ -2,13 +2,17 @@
                      ngIRCd - Next Generation IRC Server
                            http://ngircd.barton.de/
 
-               (c)2001-2012 Alexander Barton and Contributors.
+               (c)2001-2013 Alexander Barton and Contributors.
                ngIRCd is free software and published under the
                    terms of the GNU General Public License.
 
                                   -- NEWS --
 
 
+ngIRCd 20.1 (2013-01-02)
+
+  - This release is a bugfix release only, without new features.
+
 ngIRCd 20 (2012-12-17)
 
   - Allow user names ("INDENT") up to 20 characters when ngIRCd has not
diff --git a/README b/README
index 11d140d6..c903aa10 100644
--- a/README
+++ b/README
@@ -2,7 +2,7 @@
                      ngIRCd - Next Generation IRC Server
                            http://ngircd.barton.de/
 
-               (c)2001-2012 Alexander Barton and Contributors.
+               (c)2001-2013 Alexander Barton and Contributors.
                ngIRCd is free software and published under the
                    terms of the GNU General Public License.
 
diff --git a/contrib/Debian/changelog b/contrib/Debian/changelog
index 2a9c2df1..03c3df68 100644
--- a/contrib/Debian/changelog
+++ b/contrib/Debian/changelog
@@ -1,3 +1,9 @@
+ngircd (20.1-0ab1) unstable; urgency=low
+
+  * New "upstream" release: ngIRCd 20.1.
+
+ -- Alexander Barton <alex@barton.de>  Wed, 02 Jan 2013 22:37:26 +0100
+
 ngircd (20-0ab1) unstable; urgency=low
 
   * New "upstream" release: ngIRCd 20.
diff --git a/contrib/MacOSX/ngIRCd.pmdoc/index.xml b/contrib/MacOSX/ngIRCd.pmdoc/index.xml
index 34b3baaf..e665bc6b 100644
--- a/contrib/MacOSX/ngIRCd.pmdoc/index.xml
+++ b/contrib/MacOSX/ngIRCd.pmdoc/index.xml
@@ -5,7 +5,7 @@
 \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\qc\pardirnatural
 
 \f0\i\fs24 \cf0 ngIRCd -- The Next Generation IRC Daemon\
-Copyright (c)2001-2011 Alexander Barton and Contributors.\
+Copyright (c)2001-2013 Alexander Barton and Contributors.\
 \pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
 
 \i0 \cf0 \
diff --git a/contrib/ngircd.spec b/contrib/ngircd.spec
index 9632bc03..fa0a6a15 100644
--- a/contrib/ngircd.spec
+++ b/contrib/ngircd.spec
@@ -1,5 +1,5 @@
 %define name    ngircd
-%define version 20
+%define version 20.1
 %define release 1
 %define prefix  %{_prefix}
 
diff --git a/src/ngircd/irc.c b/src/ngircd/irc.c
index f6b9dc59..e76abcb8 100644
--- a/src/ngircd/irc.c
+++ b/src/ngircd/irc.c
@@ -82,6 +82,17 @@ IRC_ERROR( CLIENT *Client, REQUEST *Req )
 	assert( Client != NULL );
 	assert( Req != NULL );
 
+	if (Client_Type(Client) != CLIENT_GOTPASS
+	    && Client_Type(Client) != CLIENT_GOTPASS_2813
+	    && Client_Type(Client) != CLIENT_UNKNOWNSERVER
+	    && Client_Type(Client) != CLIENT_SERVER
+	    && Client_Type(Client) != CLIENT_SERVICE) {
+		LogDebug("Ignored ERROR command from \"%s\" ...",
+			 Client_Mask(Client));
+		IRC_SetPenalty(Client, 2);
+		return CONNECTED;
+	}
+
 	if (Req->argc < 1)
 		Log(LOG_NOTICE, "Got ERROR from \"%s\"!",
 		    Client_Mask(Client));
diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c
index f016b6aa..dfae3366 100644
--- a/src/ngircd/ngircd.c
+++ b/src/ngircd/ngircd.c
@@ -1,6 +1,6 @@
 /*
  * ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors.
+ * Copyright (c)2001-2013 Alexander Barton (alex@barton.de) and Contributors.
  *
  * 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
@@ -460,7 +460,7 @@ static void
 Show_Version( void )
 {
 	puts( NGIRCd_Version );
-	puts( "Copyright (c)2001-2012 Alexander Barton (<alex@barton.de>) and Contributors." );
+	puts( "Copyright (c)2001-2013 Alexander Barton (<alex@barton.de>) and Contributors." );
 	puts( "Homepage: <http://ngircd.barton.de/>\n" );
 	puts( "This is free software; see the source for copying conditions. There is NO" );
 	puts( "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." );