Module: ngircd.git
Branch: master
Commit: 39d630c00d5b4680642d52463284e3282c2303ac
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=39d630c0…
Author: Alexander Barton <alex(a)barton.de>
Date: Sat Jan 14 12:29:53 2012 +0100
Update documentation (fix some URL, update some info)
---
AUTHORS | 7 ++++---
README | 7 ++++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/AUTHORS b/AUTHORS
index 241d3a4..986beef 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -10,9 +10,10 @@
Note: If you have critics, patches or something else, please feel free to
-post a mail to the ngIRCd mailing list: <ngircd-ml(a)arthur.ath.cx> (please see
-<http://ngircd.barton.de/#ml> for details). Don't mail the contributors
-directly, if possible!
+post a mail to the ngIRCd mailing list: <ngircd-ml(a)arthur.barton.de> (please
+see <http://ngircd.barton.de/#ml> for details).
+
+Don't mail the people listed here directly, if possible!
Main Authors
diff --git a/README b/README
index 1ea96ef..2e19d83 100644
--- a/README
+++ b/README
@@ -71,7 +71,7 @@ releases there.
If you are interested in the latest development versions (which are not
always stable), then please read the section about "GIT" on the homepage and
the file "doc/GIT.txt" which describes the use of GIT, the version control
-system used by ngIRCd (homepage: http://git.or.cz/).
+system used by ngIRCd (homepage: http://git-scm.com/).
VI. Bugs
@@ -85,5 +85,6 @@ them at the following URL:
There you can read about known bugs and limitations, too.
If you have critics, patches or something else, please feel free to post a
-mail to the ngIRCd mailing list: <ngircd-ml(a)arthur.ath.cx> (please see
-<http://ngircd.barton.de/support.php#ml> for details).
+mail to the ngIRCd mailing list: <ngircd-ml(a)arthur.barton.de> (please see
+<http://ngircd.barton.de/support.php#ml> for details) or join the ngIRCd
+IRC channel: <irc://irc.barton.de/ngircd>.
Module: ngircd.git
Branch: master
Commit: 4fe6b42c53eb483f4a6accadb41b362f1eca7841
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=4fe6b42c…
Author: Alexander Barton <alex(a)barton.de>
Date: Fri Jan 13 19:23:07 2012 +0100
Update NEWS and ChangeLog for next ngIRCd release once more
---
ChangeLog | 36 ++++++++++++++++++++++++++++++++++++
NEWS | 10 ++++++++++
2 files changed, 46 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index e7cbcdd..3d7606b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,42 @@
ngIRCd Release 19
+ - MODE command: correctly return ERR_UNKNOWNMODE(472) numeric for
+ unknown channel modes, instead of ERR_UMODEUNKNOWNFLAG(501).
+ - ISUPPORT(005) numeric: add "O", "R", and "z" modes to "CHANMODES".
+ - Limit the number of list items in the reply of LIST (100), WHO (25),
+ WHOIS (10), and WHOWAS (25) commands.
+ - LIST command: compare pattern case insensitive.
+ - Limit the MODE command to handle a maximum number of 5 channel modes
+ that require an argument (+Ibkl) per call and report this number
+ in the ISUPPORT(005) numeric: "MODES=5".
+ - Fix handling of channel mode sequence with/without arguments.
+ For example, don't generate wrong error messages when handling
+ "MODE #chan +IIIIItn *!aa@b *!bb@c *!cc@d *!dd@e *!ee@f".
+ - When sending data on a connection, only try to get the type of
+ the client if there still is one assigned. This could trigger an
+ assertion and end the daemon in some error paths.
+ - Don't try to close already closed/invalid sockets to forked child
+ processes. This could potentially crash the daemon in some cases
+ with IDENT lookups enabled.
+ - WHOIS command: make sure that the reply ends with RPL_ENDOFWHOIS,
+ don't answer queries for IRC servers, make sure mask matching is
+ case-insensitive, and that RPL_ENDOFWHOIS numeric is sent with the
+ unmodified mask (like it has been received from the client).
+ - LINKS command: support <mask> parameter to limit the reply.
+ - Add 1 second penalty for every further target on PRIVMSG/NOTICE
+ commands: this reduces the possibility of flooding channels with
+ commands like "PRIVMSG/NOTICE #a,#n,#c,... :message" a little bit.
+ Problem noticed by Cahata, thanks!
+ - Display correct error message when "Server{UID|GID}" variabe in the
+ configuration file is invalid (not a number and no existing user).
+ - Update Copyright notices for 2012 :-)
+ - JOIN command: don't stop handling of channel lists when a single
+ channel cannot be joined (because of bad name, wrong key or channel
+ limit reached), but report an error and continue. And don't check
+ the channel limit and don't report with "too many channels" when
+ trying to join a channel that the client already is a member of.
+ - ISON command: reply with the correct upper-/lowercase nick names.
- New configuration option "PAMIsOptional": when set, clients not
sending a password are still allowed to connect: they won't become
"identified" and keep the "~" character prepended to their supplied
diff --git a/NEWS b/NEWS
index d44b4a8..523db0f 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,16 @@
ngIRCd Release 19
+ - Limit the number of list items in the reply of LIST (100), WHO (25),
+ WHOIS (10), and WHOWAS (25) commands.
+ - Limit the MODE command to handle a maximum number of 5 channel modes
+ that require an argument (+Ibkl) per call and report this number
+ in the ISUPPORT(005) numeric: "MODES=5".
+ - LINKS command: support <mask> parameter to limit the reply.
+ - Add 1 second penalty for every further target on PRIVMSG/NOTICE
+ commands: this reduces the possibility of flooding channels with
+ commands like "PRIVMSG/NOTICE #a,#n,#c,... :message" a little bit.
+ Problem noticed by Cahata, thanks!
- New configuration option "PAMIsOptional": when set, clients not
sending a password are still allowed to connect: they won't become
"identified" and keep the "~" character prepended to their supplied
Module: ngircd.git
Branch: master
Commit: d4d8102fc99a57e2b1f6604f8a5956c33e88bf2c
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=d4d8102f…
Author: Alexander Barton <alex(a)barton.de>
Date: Fri Jan 13 10:43:05 2012 +0100
Don't stop join handling on faulty channel, skip it (part #2)
Commit 565523cb allowed processing of further channel names given to the
JOIN command when a single name was invalid.
After this patch, the JOIN command handler continues to process channel
name lists even after errors like "channel is full", "too many channels",
and the like and generates appropriate error messages for all the
channels given by the client.
---
src/ngircd/irc-channel.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/ngircd/irc-channel.c b/src/ngircd/irc-channel.c
index 196b547..77deed7 100644
--- a/src/ngircd/irc-channel.c
+++ b/src/ngircd/irc-channel.c
@@ -364,7 +364,7 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req )
/* channel must be created, but forbidden by config */
IRC_WriteStrClient(Client, ERR_BANNEDFROMCHAN_MSG,
Client_ID(Client), channame);
- break;
+ goto join_next;
}
/* Local client? */
@@ -377,15 +377,19 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req )
/* Test if the user has reached the channel limit */
if ((Conf_MaxJoins > 0) &&
- (Channel_CountForUser(Client) >= Conf_MaxJoins))
- return IRC_WriteStrClient(Client,
+ (Channel_CountForUser(Client) >= Conf_MaxJoins)) {
+ if (!IRC_WriteStrClient(Client,
ERR_TOOMANYCHANNELS_MSG,
- Client_ID(Client), channame);
+ Client_ID(Client), channame))
+ return DISCONNECTED;
+ goto join_next;
+ }
+
if (chan) {
/* Already existing channel: check if the
* client is allowed to join */
if (!join_allowed(Client, chan, channame, key))
- break;
+ goto join_next;
} else {
/* New channel: first user will become channel
* operator unless this is a modeless channel */