Module: ngircd.git
Branch: master
Commit: 2a4bf67aaceebd3567dcd0ac1db2b9027560f574
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=2a4bf67a…
Author: Alexander Barton <alex(a)barton.de>
Date: Tue Aug 17 21:05:06 2010 +0200
Implement user mode "x": hostname cloaking (closes: #102)
When a client has user mode "x" set, its real hostname is cloaked
by substituting it with the server name (as configured in ngircd.conf).
Restricted clients (user mode "r") aren't allowed to change mode "x".
Please note that hostname cloaking is only in effect in server-client
communication! The server still uses the real hostname for its own
logging and for all server-server communication -- therefore all servers
in the network must support user mode "x" to prevent older servers
from leaking the real hostname of a cloaked client!
---
src/ngircd/defines.h | 2 +-
src/ngircd/irc-mode.c | 10 ++++++++++
2 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/src/ngircd/defines.h b/src/ngircd/defines.h
index 579d552..01b6037 100644
--- a/src/ngircd/defines.h
+++ b/src/ngircd/defines.h
@@ -80,7 +80,7 @@
#define RECONNECT_DELAY 3 /* Time to delay re-connect attempts
in seconds. */
-#define USERMODES "aciorsw" /* Supported user modes. */
+#define USERMODES "aciorswx" /* Supported user modes. */
#define CHANMODES "biIklmnoPstvz" /* Supported channel modes. */
#define CONNECTED true /* Internal status codes. */
diff --git a/src/ngircd/irc-mode.c b/src/ngircd/irc-mode.c
index 45defeb..df464a7 100644
--- a/src/ngircd/irc-mode.c
+++ b/src/ngircd/irc-mode.c
@@ -185,6 +185,7 @@ Client_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CLIENT *Target )
ERR_NOPRIVILEGES_MSG,
Client_ID(Origin));
break;
+
case 'o': /* IRC operator (only unsettable!) */
if(( ! set ) || ( Client_Type( Client ) == CLIENT_SERVER ))
{
@@ -199,6 +200,15 @@ Client_Mode( CLIENT *Client, REQUEST *Req, CLIENT *Origin, CLIENT *Target )
else ok = IRC_WriteStrClient( Origin, ERR_RESTRICTED_MSG, Client_ID( Origin ));
break;
+ case 'x': /* Cloak hostname */
+ if (Client_HasMode(Client, 'r'))
+ IRC_WriteStrClient(Origin,
+ ERR_RESTRICTED_MSG,
+ Client_ID(Origin));
+ else
+ x[0] = 'x';
+ break;
+
default:
Log( LOG_DEBUG, "Unknown mode \"%c%c\" from \"%s\"!?", set ? '+' : '-', *mode_ptr, Client_ID( Origin ));
if( Client_Type( Client ) != CLIENT_SERVER ) ok = IRC_WriteStrClient( Origin, ERR_UMODEUNKNOWNFLAG2_MSG, Client_ID( Origin ), set ? '+' : '-', *mode_ptr );
Module: ngircd.git
Branch: master
Commit: c65bf5d2ce2603df3d832f79d6365b064b8eb13f
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=c65bf5d2…
Author: Alexander Barton <alex(a)barton.de>
Date: Fri Aug 13 15:53:24 2010 +0200
Reformat and update FAQ.txt a little bit
---
doc/FAQ.txt | 28 +++++++++++++++++-----------
1 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/doc/FAQ.txt b/doc/FAQ.txt
index bf3628c..b7a1c94 100644
--- a/doc/FAQ.txt
+++ b/doc/FAQ.txt
@@ -1,7 +1,7 @@
ngIRCd - Next Generation IRC Server
- (c)2001-2003 by Alexander Barton,
+ (c)2001-2010 by Alexander Barton,
alex(a)barton.de, http://www.barton.de/
ngIRCd is free software and published under the
@@ -12,9 +12,11 @@
I. General
~~~~~~~~~~
+
Q: Is it possible to link the ngIRCd with non-ngIRCd servers?
A: Yes. ngIRCd is compatible to the original ircd used by IRCNet. Actually
- this is being tested with version 2.10.3p3.
+ this is being tested with version 2.10.3p3. Please note that newer
+ versions (2.11.x) aren't compatible any more!
Q: Is there a homepage with further information and downloads?
A: Yes. Please visit <http://ngircd.barton.de/>.
@@ -26,6 +28,7 @@ A: ngIRCd offers several benefits: no problems with dynamic IPs, easy to
II. Compilation
~~~~~~~~~~~~~~~
+
Q: I did a "CVS checkout" but can't execute ./configure because the script
is missing in the generated directory!?
A: When using development versions via CVS, the configure script as well as
@@ -55,27 +58,33 @@ III. Runtime
~~~~~~~~~~~~
Q: Where is the log file located?
-A: ngIRCd does not write its own log file. Instead, ngIRCd uses
- syslog(3). Check the files in /var/log/ and/or consult the
- documentation for your system logger daemon.
+A: ngIRCd does not write its own log file. Instead, ngIRCd uses syslog(3).
+ Check the files in /var/log/ and/or consult the documentation for your
+ system logger daemon.
+
Q: I cannot connect to remote peers when I use the chroot option, the
following is logged: "Can't resolve example.com: unknown error!".
A: On Linux/glibc with chroot enabled you need to put some libraries inside
the chroot as well, notably libnss_dns; maybe others. Unfortunately, even
- linking ngircd statically does not help this. The only known workaround
+ linking ngIRCd statically does not help this. The only known workaround
is to either disable chroot support or to link against dietlibc instead
of glibc. (tnx to Sebastian Siewior)
+
Q: I have added an [Oper] section, how do i log on as IRC operator?
A: You can use the /OPER command in your IRC client to become an IRC operator.
ngIRCd will also log all OPER requests (using syslog), if OPER fails you
can look there to determine why it did not work (bad password, unauthorized
host mask, etc.)
+
Q: I am an IRC operator, but MODE doesn't work!
-A: You need to set 'OperCanUseMode = yes' in ngircd.conf to enable MODE for IRC
- operators.
+A: You need to set 'OperCanUseMode = yes' in ngircd.conf, then IRC operators
+ can use the MODE command for changing modes even when they are not joined
+ to the specific channel.
+
IV. Bugs!?
~~~~~~~~~~
+
Q: Is there a list of known bugs and desired feature enhancements?
A: Yes. Have a look at the bug tracking system (Bugzilla) for ngIRCd located
at <http://ngircd.barton.de/bugzilla/index.cgi>. There you can file bug
@@ -85,6 +94,3 @@ Q: What should I do if I found a bug?
A: Please file a bug report at <http://ngircd.barton.de/bugzilla/index.cgi>!
The author of the particular component will be notified automagically :-)
-
---
-$Id: FAQ.txt,v 1.12 2008/01/02 22:47:58 alex Exp $
Module: ngircd.git
Branch: master
Commit: 9c6230e1773634b9633bd3ab9a31eb036919f476
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=9c6230e1…
Author: Florian Westphal <fw(a)strlen.de>
Date: Wed Aug 11 23:24:02 2010 +0200
INSTALL: mention SSL and IPv6
---
INSTALL | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/INSTALL b/INSTALL
index 06be42f..b2c8180 100644
--- a/INSTALL
+++ b/INSTALL
@@ -194,6 +194,18 @@ standard locations.
Enable support for PAM, the Pluggable Authentication Modules library.
See doc/PAM.txt for details.
+* SSL:
+ --with-openssl[=<path>]
+ --with-gnutls[=<path>]
+
+ Enable support for SSL/TLS using OpenSSL or gnutls libraries.
+ See doc/SSL.txt for details.
+
+* IPv6:
+ --enable-ipv6
+
+ Adds support for version 6 of the Internet Protocol.
+
IV. Useful make-targets
~~~~~~~~~~~~~~~~~~~~~~~
Module: ngircd.git
Branch: master
Commit: 479a43b1c68d033a5ffe7a1e36dad31714a29cb1
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=479a43b1…
Author: Florian Westphal <fw(a)strlen.de>
Date: Wed Aug 11 23:19:23 2010 +0200
INSTALL: mention changed handling of MotdFile.
---
INSTALL | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/INSTALL b/INSTALL
index f84ee3f..06be42f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -9,11 +9,15 @@
-- INSTALL --
-
I. Upgrade Information
~~~~~~~~~~~~~~~~~~~~~~
+Differences to version 16
+
+- Changes to the "MotdFile" specified in ngircd.conf now require a ngircd configuration
+ reload to take effect.
+
Differences to version 0.9.x
- The option of the configure script to enable support for Zeroconf/Bonjour/