Module: ngircd.git
Branch: master
Commit: e5cdd61fe3d78fa976836192dbca64874160a493
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=e5cdd61f…
Author: Alexander Barton <alex(a)barton.de>
Date: Thu Sep 5 00:18:49 2013 +0200
Commands.txt: Document proprietary DIE <message> parameter
---
doc/Commands.txt | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/doc/Commands.txt b/doc/Commands.txt
index e049f5e..dde1498 100644
--- a/doc/Commands.txt
+++ b/doc/Commands.txt
@@ -668,10 +668,13 @@ Administrative Commands
- RFC 2812, 3.4.7 "Connect message"
- DIE
- DIE
+ DIE [<message>]
.
Instructs the server to shut down.
.
+ The optional (and non-standard) <message> text is sent to each client
+ connected to this server before all connections are closed.
+ .
To use this command, the user must be an IRC Operator.
References:
Module: ngircd.git
Branch: master
Commit: aad92ceafe8b4b0091867415504f83930a74428b
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=aad92cea…
Author: Alexander Barton <alex(a)barton.de>
Date: Tue Sep 3 17:13:46 2013 +0200
Don't enforce channel types for other servers
The configuration option "AllowedChannelTypes" must only be enforced for
regular clients and not for remote servers. Channels created by other
servres are always allowed, because they already exist and the daemon
must stay in sync with the network.
---
src/ngircd/irc-channel.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/src/ngircd/irc-channel.c b/src/ngircd/irc-channel.c
index 78332ea..4bd5a9d 100644
--- a/src/ngircd/irc-channel.c
+++ b/src/ngircd/irc-channel.c
@@ -341,12 +341,6 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req )
}
chan = Channel_Search(channame);
- if (!chan && !strchr(Conf_AllowedChannelTypes, channame[0])) {
- /* channel must be created, but forbidden by config */
- IRC_WriteErrClient(Client, ERR_NOSUCHCHANNEL_MSG,
- Client_ID(Client), channame);
- goto join_next;
- }
/* Local client? */
if (Client_Type(Client) == CLIENT_USER) {
@@ -354,6 +348,15 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req )
/* Already existing channel: already member? */
if (Channel_IsMemberOf(chan, Client))
goto join_next;
+ } else {
+ /* Channel must be created */
+ if (!strchr(Conf_AllowedChannelTypes, channame[0])) {
+ /* ... but channel type is not allowed! */
+ IRC_WriteErrClient(Client,
+ ERR_NOSUCHCHANNEL_MSG,
+ Client_ID(Client), channame);
+ goto join_next;
+ }
}
/* Test if the user has reached the channel limit */
Module: ngircd.git
Branch: master
Commit: 4102e8fdfea33a5d8c398c98db90914c5dc29610
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=4102e8fd…
Author: Alexander Barton <alex(a)barton.de>
Date: Mon Sep 2 16:37:50 2013 +0200
Only log "IDENT ... no result" when IDENT was looked up
Without this patch, ngIRCd logged the "IDENT lookup for connection X:
no result"-message even when IDENT lookups have been disabled using the
"Ident = no" configuration option, which is a little bit misleading.
Reported by "btwe" in #ngircd.
---
src/ngircd/conn.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c
index 8d72c1c..3b09278 100644
--- a/src/ngircd/conn.c
+++ b/src/ngircd/conn.c
@@ -2454,9 +2454,9 @@ cb_Read_Resolver_Result( int r_fd, UNUSED short events )
*ptr ? "" : ": ",
*ptr ? "" : identptr);
}
- } else {
+ } else if(Conf_Ident) {
Log(LOG_INFO, "IDENT lookup for connection %d: no result.", i);
- if (Conf_NoticeAuth && Conf_Ident)
+ if (Conf_NoticeAuth)
(void)Conn_WriteStr(i,
"NOTICE AUTH :*** No ident response");
}