Module: ngircd.git
Branch: master
Commit: 53b2acc00b60777b622e471ae6eef67e1876a01d
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=53b2acc0…
Author: Alexander Barton <alex(a)barton.de>
Date: Tue Sep 4 13:09:27 2012 +0200
Update project description
---
README | 15 +++++++++------
contrib/Debian/control | 30 +++++++++++++++---------------
contrib/ngircd.spec | 10 +++++-----
3 files changed, 29 insertions(+), 26 deletions(-)
diff --git a/README b/README
index 2e19d83..11d140d 100644
--- a/README
+++ b/README
@@ -12,12 +12,15 @@
I. Introduction
~~~~~~~~~~~~~~~
-ngIRCd is an Open Source server for the Internet Relay Chat (IRC), which
-is developed and published under the terms of the GNU General Public
-Licence, see the file COPYING for details. ngIRCd means "next generation
-IRC daemon" (which is a little bit exaggerated, "lightweight Internet Relay
-Chat server" would be better), it's written from scratch and not deduced
-from the "grandfather of IRC daemons", the daemon of the IRCNet.
+ngIRCd is a free, portable and lightweight Internet Relay Chat server for
+small or private networks, developed under the GNU General Public License
+(GPL; please see the file COPYING for details). It is simple to configure,
+can cope with dynamic IP addresses, and supports IPv6 as well as SSL. It is
+written from scratch and not based on the original IRCd.
+
+The name ngIRCd means next generation IRC daemon, which is a little bit
+exaggerated: lightweight Internet Relay Chat server most probably would be a
+better name :-)
Please see the INSTALL document for installation and upgrade information!
diff --git a/contrib/Debian/control b/contrib/Debian/control
index 0ac6d22..d6cf418 100644
--- a/contrib/Debian/control
+++ b/contrib/Debian/control
@@ -18,11 +18,11 @@ Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Provides: ircd
Description: lightweight Internet Relay Chat server
- This package provides ngIRCd, a lightweight Internet Relay Chat
- server for small or private networks. It is simple to configure, can
- cope with dynamic IP addresses, and supports IPv6 as well as SSL. It
- is written from scratch, not based on the original IRCd and quite
- portable.
+ This package provides ngIRCd, a portable and lightweight Internet Relay
+ Chat server for small or private networks, developed under the GNU
+ General Public License (GPL). It is simple to configure, can cope with
+ dynamic IP addresses, and supports IPv6 as well as SSL. It is written
+ from scratch and not based on the original IRCd.
.
This package contains the "standard distribution", including support for
syslog logging and compressed server-links using zlib. Please have a look
@@ -35,11 +35,11 @@ Depends: ${shlibs:Depends}, ${misc:Depends}
Provides: ircd
Conflicts: ngircd, ngircd-dbg
Description: lightweight Internet Relay Chat server
- This package provides ngIRCd, a lightweight Internet Relay Chat
- server for small or private networks. It is simple to configure, can
- cope with dynamic IP addresses, and supports IPv6 as well as SSL. It
- is written from scratch, not based on the original IRCd and quite
- portable.
+ This package provides ngIRCd, a portable and lightweight Internet Relay
+ Chat server for small or private networks, developed under the GNU
+ General Public License (GPL). It is simple to configure, can cope with
+ dynamic IP addresses, and supports IPv6 as well as SSL. It is written
+ from scratch and not based on the original IRCd.
.
In addition to the features of the "standard package", this package
includes support for TCP wrappers, IDENT requests, the IPv6 protocol and
@@ -51,11 +51,11 @@ Depends: ${shlibs:Depends}, ${misc:Depends}
Provides: ircd
Conflicts: ngircd, ngircd-full
Description: lightweight Internet Relay Chat server
- This package provides ngIRCd, a lightweight Internet Relay Chat
- server for small or private networks. It is simple to configure, can
- cope with dynamic IP addresses, and supports IPv6 as well as SSL. It
- is written from scratch, not based on the original IRCd and quite
- portable.
+ This package provides ngIRCd, a portable and lightweight Internet Relay
+ Chat server for small or private networks, developed under the GNU
+ General Public License (GPL). It is simple to configure, can cope with
+ dynamic IP addresses, and supports IPv6 as well as SSL. It is written
+ from scratch and not based on the original IRCd.
.
In addition to the features of the "standard package", this package
includes support for TCP wrappers, IDENT requests, the IPv6 protocol and
diff --git a/contrib/ngircd.spec b/contrib/ngircd.spec
index 2041aa0..aeb10f2 100644
--- a/contrib/ngircd.spec
+++ b/contrib/ngircd.spec
@@ -15,11 +15,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: zlib-devel, openssl-devel
%description
-This package provides ngIRCd, a lightweight Internet Relay Chat
-server for small or private networks. It is simple to configure, can
-cope with dynamic IP addresses, and supports IPv6 as well as SSL. It
-is written from scratch, not based on the original IRCd and quite
-portable.
+This package provides ngIRCd, a portable and lightweight Internet Relay
+Chat server for small or private networks, developed under the GNU
+General Public License (GPL). It is simple to configure, can cope with
+dynamic IP addresses, and supports IPv6 as well as SSL. It is written
+from scratch and not based on the original IRCd.
Advantages:
- well arranged (lean) configuration file
Module: ngircd.git
Branch: master
Commit: 33fae67579eeab31d7f96f9e53f0529f584b0b1f
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=33fae675…
Author: Alexander Barton <alex(a)barton.de>
Date: Tue Aug 28 23:26:43 2012 +0200
Always cloak client hostname, if needed
Not only cloak the hostname in Client_MaskCloaked(), but also in
Client_HostnameCloaked() -- so move the actual cloaking to this function
and call it in Client_MaskCloaked() to get the (cloaked) hostname.
This fixes USERHOST not displaying the correctly cloaked hostname,
for example.
---
src/ngircd/client.c | 38 ++++++++++++++++++++++++--------------
1 file changed, 24 insertions(+), 14 deletions(-)
diff --git a/src/ngircd/client.c b/src/ngircd/client.c
index 0d2d414..4728c7a 100644
--- a/src/ngircd/client.c
+++ b/src/ngircd/client.c
@@ -687,18 +687,35 @@ Client_Hostname(CLIENT *Client)
/**
* Get potentially cloaked hostname of a client.
+ *
* If the client has not enabled cloaking, the real hostname is used.
+ * Please note that this function uses a global static buffer, so you can't
+ * nest invocations without overwriting earlier results!
+ *
* @param Client Pointer to client structure
* @return Pointer to client hostname
*/
GLOBAL char *
Client_HostnameCloaked(CLIENT *Client)
{
+ static char Cloak_Buffer[CLIENT_HOST_LEN];
+
assert(Client != NULL);
- if (Client_HasMode(Client, 'x'))
- return Client_ID(Client->introducer);
- else
+
+ if (!Client_HasMode(Client, 'x'))
return Client_Hostname(Client);
+
+ /* Do simple mapping to the server ID? */
+ if (!*Conf_CloakHostModeX)
+ return Client_ID(Client->introducer);
+
+ strlcpy(Cloak_Buffer, Client->host, CLIENT_HOST_LEN);
+ strlcat(Cloak_Buffer, Conf_CloakHostSalt, CLIENT_HOST_LEN);
+
+ snprintf(Cloak_Buffer, CLIENT_HOST_LEN, Conf_CloakHostModeX,
+ Hash(Cloak_Buffer));
+
+ return Cloak_Buffer;
} /* Client_HostnameCloaked */
@@ -792,10 +809,12 @@ Client_Mask( CLIENT *Client )
/**
* Return ID of a client with cloaked hostname: "client!user@server-name"
+ *
* This client ID is used for IRC prefixes, for example.
* Please note that this function uses a global static buffer, so you can't
* nest invocations without overwriting earlier results!
* If the client has not enabled cloaking, the real hostname is used.
+ *
* @param Client Pointer to client structure
* @return Pointer to global buffer containing the client ID
*/
@@ -803,7 +822,6 @@ GLOBAL char *
Client_MaskCloaked(CLIENT *Client)
{
static char Mask_Buffer[GETID_LEN];
- char Cloak_Buffer[GETID_LEN];
assert (Client != NULL);
@@ -811,16 +829,8 @@ Client_MaskCloaked(CLIENT *Client)
if (!Client_HasMode(Client, 'x'))
return Client_Mask(Client);
- if(*Conf_CloakHostModeX) {
- strlcpy(Cloak_Buffer, Client->host, GETID_LEN);
- strlcat(Cloak_Buffer, Conf_CloakHostSalt, GETID_LEN);
- snprintf(Cloak_Buffer, GETID_LEN, Conf_CloakHostModeX, Hash(Cloak_Buffer));
- } else {
- strncpy(Cloak_Buffer, Client_ID(Client->introducer), GETID_LEN);
- }
-
- snprintf(Mask_Buffer, GETID_LEN, "%s!%s@%s",
- Client->id, Client->user, Cloak_Buffer);
+ snprintf(Mask_Buffer, GETID_LEN, "%s!%s@%s", Client->id, Client->user,
+ Client_HostnameCloaked(Client));
return Mask_Buffer;
} /* Client_MaskCloaked */
Module: ngircd.git
Branch: master
Commit: a26e37b7463d21e12be69b0bbdfdd74c8737dc36
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=a26e37b7…
Author: Alexander Barton <alex(a)barton.de>
Date: Sun Aug 26 16:03:00 2012 +0200
Add new user mode "B" to doc/Modes.txt
---
doc/Modes.txt | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/doc/Modes.txt b/doc/Modes.txt
index e47e270..99d731a 100644
--- a/doc/Modes.txt
+++ b/doc/Modes.txt
@@ -2,7 +2,7 @@
ngIRCd - Next Generation IRC Server
http://ngircd.barton.de/
- (c)2001-2011 Alexander Barton and Contributors.
+ (c)2001-2012 Alexander Barton and Contributors.
ngIRCd is free software and published under the
terms of the GNU General Public License.
@@ -22,6 +22,7 @@ channels he is using at the moment.
mode since description
a 0.3.0 User is away.
+ B 20 User is flagged as a "bot".
c 17 IRC operator wants to receive connect/disconnect NOTICEs.
C 19 Only users that share a channel are allowed to send messages.
i 0.0.1 User is "invisible".
Module: ngircd.git
Branch: master
Commit: 1d3def0cc6271ff77b39deec07eee240e1968d52
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=1d3def0c…
Author: Alexander Barton <alex(a)barton.de>
Date: Mon Aug 27 23:27:30 2012 +0200
Merge branch 'umode-B'
This patch series allows ngIRCd to support the user mode "B" ("Bot flasg"):
it is settable and unsettable by every (non-restricted) client.
According to DNS777, this is how Unreal and InspIRCd do behave, so do we :-)
By Alexander Barton (1) and DNS777 (1)
* umode-B:
Add new user mode "B" to doc/Modes.txt
Implement an Unreal-like user mode "B" ("Bot mode")
---