Module: ngircd.git
Branch: master
Commit: 1da3e25e65c7bcc3e47d18f114f7c4e76e274250
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=1da3e25e…
Author: Alexander Barton <alex(a)barton.de>
Date: Fri Jan 22 18:26:26 2010 +0100
Added "i586/pc/interix3.5" (MS Services for UNIX) to Platforms.txt
---
doc/Platforms.txt | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/doc/Platforms.txt b/doc/Platforms.txt
index 85b3afa..8629252 100644
--- a/doc/Platforms.txt
+++ b/doc/Platforms.txt
@@ -49,6 +49,7 @@ i386/unknown/netbsdelf3.0.1 gcc 3.3.3 0.10.0-p1 06-08-30 alex Y Y Y Y (3)
i386/unknown/netbsdelf4.0 gcc 4.1.2 14.1 09-07-28 alex Y Y Y Y (3)
i386/unknown/openbsd3.9 gcc 3.3.5 0.10.0-p1 06-08-30 alex Y Y Y Y (3)
i386/unknown/openbsd4.1 gcc 3.3.5 14.1 09-07-28 alex Y Y Y Y (3)
+i586/pc/interix3.5 gcc 3.3 15 10-01-22 alex Y Y N Y
i686/pc/cygwin gcc 3.3.1 0.8.0 04-05-30 alex Y Y n Y
i686/pc/linux-gnu gcc 2.95.4 0.8.0 04-05-30 alex Y Y Y Y (1)
i686/pc/linux-gnu gcc 3.3.5 14.1 09-08-04 alex Y Y Y Y (1)
Module: ngircd.git
Branch: master
Commit: 9f58418765576950983b4a95c4f5f71f068f424f
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=9f584187…
Author: Alexander Barton <alex(a)barton.de>
Date: Sun Jan 17 14:19:35 2010 +0100
Implemented new "secure clients only" channel mode: +z
Only clients using a SSL encrypted connection to the server are
allowed to join such a channel.
But please note three things:
a) already joined clients are not checked when setting this mode,
b) IRC operators are always allowed to join every channel, and
c) remote clients using a server not supporting this mode are not
checked either and therefore always allowed to join.
---
NEWS | 12 +++++++++++-
src/ngircd/defines.h | 2 +-
src/ngircd/irc-channel.c | 14 +++++++++++---
src/ngircd/irc-mode.c | 3 ++-
src/ngircd/messages.h | 1 +
5 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/NEWS b/NEWS
index 5a0a9dd..3457312 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,7 @@
ngIRCd - Next Generation IRC Server
- (c)2001-2009 Alexander Barton,
+ (c)2001-2010 Alexander Barton,
alex(a)barton.de, http://www.barton.de/
ngIRCd is free software and published under the
@@ -10,6 +10,16 @@
-- NEWS --
+ngIRCd Release 16
+
+ - A new channel mode "secure connections only" (+z) has been implemented:
+ Only clients using a SSL encrypted connection to the server are allowed
+ to join such a channel.
+ But please note three things: a) already joined clients are not checked
+ when setting this mode, b) IRC operators are always allowed to join
+ every channel, and c) remote clients using a server not supporting this
+ mode are not checked either and therefore always allowed to join.
+
ngIRCd Release 15 (2009-11-07)
ngIRCd 15~rc1 (2009-10-15)
diff --git a/src/ngircd/defines.h b/src/ngircd/defines.h
index 010dd8e..94c7dd1 100644
--- a/src/ngircd/defines.h
+++ b/src/ngircd/defines.h
@@ -81,7 +81,7 @@
in seconds. */
#define USERMODES "aiorsw" /* Supported user modes. */
-#define CHANMODES "biIklmnoPstv" /* Supported channel modes. */
+#define CHANMODES "biIklmnoPstvz" /* Supported channel modes. */
#define CONNECTED true /* Internal status codes. */
#define DISCONNECTED false
diff --git a/src/ngircd/irc-channel.c b/src/ngircd/irc-channel.c
index 010be35..1014d3a 100644
--- a/src/ngircd/irc-channel.c
+++ b/src/ngircd/irc-channel.c
@@ -1,6 +1,6 @@
/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2008 Alexander Barton (alex(a)barton.de)
+ * Copyright (c)2001-2010 Alexander Barton (alex(a)barton.de)
*
* 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
@@ -93,7 +93,7 @@ join_allowed(CLIENT *Client, CHANNEL *chan, const char *channame,
}
channel_modes = Channel_Modes(chan);
- if ((strchr(channel_modes, 'i')) && !is_invited) {
+ if (strchr(channel_modes, 'i') && !is_invited) {
/* Channel is "invite-only" and client is not on invite list */
IRC_WriteStrClient(Client, ERR_INVITEONLYCHAN_MSG,
Client_ID(Client), channame);
@@ -108,7 +108,7 @@ join_allowed(CLIENT *Client, CHANNEL *chan, const char *channame,
return false;
}
- if ((strchr(channel_modes, 'l')) &&
+ if (strchr(channel_modes, 'l') &&
(Channel_MaxUsers(chan) <= Channel_MemberCount(chan))) {
/* There are more clints joined to this channel than allowed */
IRC_WriteStrClient(Client, ERR_CHANNELISFULL_MSG,
@@ -116,6 +116,14 @@ join_allowed(CLIENT *Client, CHANNEL *chan, const char *channame,
return false;
}
+ if (strchr(channel_modes, 'z') && !Conn_UsesSSL(Client_Conn(Client))) {
+ /* Only "secure" clients are allowed, but clients doesn't
+ * use SSL encryption */
+ IRC_WriteStrClient(Client, ERR_SECURECHANNEL_MSG,
+ Client_ID(Client), channame);
+ return false;
+ }
+
return true;
}
diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c
index 9509fb0..d22d32f 100644
--- a/src/ngircd/irc-mode.c
+++ b/src/ngircd/irc-mode.c
@@ -1,6 +1,6 @@
/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2008 Alexander Barton (alex(a)barton.de)
+ * Copyright (c)2001-2010 Alexander Barton (alex(a)barton.de)
*
* 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
@@ -401,6 +401,7 @@ Channel_Mode(CLIENT *Client, REQUEST *Req, CLIENT *Origin, CHANNEL *Channel)
case 'n': /* Only members can write */
case 's': /* Secret channel */
case 't': /* Topic locked */
+ case 'z': /* Secure connections only */
if (modeok)
x[0] = *mode_ptr;
else
diff --git a/src/ngircd/messages.h b/src/ngircd/messages.h
index 59c6cdb..e15bf16 100644
--- a/src/ngircd/messages.h
+++ b/src/ngircd/messages.h
@@ -113,6 +113,7 @@
#define ERR_ALREADYREGISTRED_MSG "462 %s :Connection already registered"
#define ERR_PASSWDMISMATCH_MSG "464 %s :Invalid password"
#define ERR_CHANNELISFULL_MSG "471 %s %s :Cannot join channel (+l)"
+#define ERR_SECURECHANNEL_MSG "471 %s %s :Cannot join channel (+z)"
#define ERR_UNKNOWNMODE_MSG "472 %s: %c :is unknown mode char for %s"
#define ERR_INVITEONLYCHAN_MSG "473 %s %s :Cannot join channel (+i)"
#define ERR_BANNEDFROMCHAN_MSG "474 %s %s :Cannot join channel (+b)"
Module: ngircd.git
Branch: master
Commit: f58c8b94d9f4052c280a776797cd02e199e34f7e
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=f58c8b94…
Author: Alexander Barton <alex(a)barton.de>
Date: Sat Jan 16 14:59:07 2010 +0100
Show our name (IRCD=ngIRCd) in ISUPPORT (005) numeric
Inspired by Hyperion IRC daemon.
---
src/ngircd/messages.h | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/ngircd/messages.h b/src/ngircd/messages.h
index 9e15b81..59c6cdb 100644
--- a/src/ngircd/messages.h
+++ b/src/ngircd/messages.h
@@ -1,6 +1,6 @@
/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2008 Alexander Barton <alex(a)barton.de>
+ * Copyright (c)2001-2010 Alexander Barton <alex(a)barton.de>
*
* 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
@@ -20,7 +20,7 @@
#define RPL_YOURHOST_MSG "002 %s :Your host is %s, running version ngircd-%s (%s/%s/%s)"
#define RPL_CREATED_MSG "003 %s :This server has been started %s"
#define RPL_MYINFO_MSG "004 %s %s ngircd-%s %s %s"
-#define RPL_ISUPPORT1_MSG "005 %s RFC2812 CASEMAPPING=ascii PREFIX=(ov)@+ CHANTYPES=#&+ CHANMODES=bI,k,l,imnPst CHANLIMIT=#&+:%d :are supported on this server"
+#define RPL_ISUPPORT1_MSG "005 %s RFC2812 IRCD=ngIRCd CASEMAPPING=ascii PREFIX=(ov)@+ CHANTYPES=#&+ CHANMODES=bI,k,l,imnPst CHANLIMIT=#&+:%d :are supported on this server"
#define RPL_ISUPPORT2_MSG "005 %s CHANNELLEN=%d NICKLEN=%d TOPICLEN=%d AWAYLEN=%d KICKLEN=%d PENALTY :are supported on this server"
#define RPL_TRACELINK_MSG "200 %s Link %s-%s %s %s V%s %ld %d %d"
Module: ngircd.git
Branch: master
Commit: 3a2ac66f7ff5985cae4de390a8e510ae7ff2a5a6
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=3a2ac66f…
Author: Alexander Barton <alex(a)barton.de>
Date: Sat Jan 16 14:07:27 2010 +0100
Added missing modes to USERMODES #define
Now the numeric 004 correctly reports all the supported user and channel
modes (user modes "r" and "w" were missing), e. g.:
:a.irc.net 004 a a.irc.net ngircd-15 aiorsw biIklmnoPstv
---
src/ngircd/defines.h | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/ngircd/defines.h b/src/ngircd/defines.h
index f0cf2ac..010dd8e 100644
--- a/src/ngircd/defines.h
+++ b/src/ngircd/defines.h
@@ -1,14 +1,12 @@
/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2007 Alexander Barton (alex(a)barton.de)
+ * Copyright (c)2001-2010 Alexander Barton (alex(a)barton.de)
*
* 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.
* Please read the file COPYING, README and AUTHORS for more information.
- *
- * $Id: defines.h,v 1.62 2007/11/21 12:16:36 alex Exp $
*/
@@ -82,7 +80,7 @@
#define RECONNECT_DELAY 3 /* Time to delay re-connect attempts
in seconds. */
-#define USERMODES "aios" /* Supported user modes. */
+#define USERMODES "aiorsw" /* Supported user modes. */
#define CHANMODES "biIklmnoPstv" /* Supported channel modes. */
#define CONNECTED true /* Internal status codes. */
Module: ngircd.git
Branch: master
Commit: cf05bf31a7dbcb9228d07bb21c4673d515d908f3
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=cf05bf31…
Author: Alexander Barton <alex(a)barton.de>
Date: Fri Jan 1 18:58:56 2010 +0100
Updated links to ngIRCd homepage (bug tracker, mailing list)
---
README | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/README b/README
index 2eff7bc..dc11a9f 100644
--- a/README
+++ b/README
@@ -78,10 +78,10 @@ VI. Bugs
If you find bugs in the ngIRCd (which might be there :-), please report
them at the following URL:
-<http://ngircd.barton.de/#bugs>
+<http://ngircd.barton.de/bugtracker.php>
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/#ml> for details).
+<http://ngircd.barton.de/support.php#ml> for details).