Module: ngircd.git
Branch: master
Commit: 6d11fb149707194e986b0d64af3d44f21e158fcc
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=6d11fb14…
Author: Alexander Barton <alex(a)barton.de>
Date: Sun Jan 9 16:11:12 2011 +0100
Update copyright notices for 2010 :)
And update the NEWS and ChangeLog file as well.
---
AUTHORS | 5 ++---
ChangeLog | 18 +++++++++++++++---
INSTALL | 5 ++---
NEWS | 14 +++++++++++---
README | 5 ++---
src/ngircd/ngircd.c | 4 ++--
6 files changed, 34 insertions(+), 17 deletions(-)
diff --git a/AUTHORS b/AUTHORS
index e0e1d07..03a19dd 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,9 +1,8 @@
ngIRCd - Next Generation IRC Server
+ http://ngircd.barton.de/
- (c)2001-2009 Alexander Barton,
- alex(a)barton.de, http://www.barton.de/
-
+ (c)2001-2011 Alexander Barton and Contributors.
ngIRCd is free software and published under the
terms of the GNU General Public License.
diff --git a/ChangeLog b/ChangeLog
index 93206ef..03090b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,15 +1,27 @@
ngIRCd - Next Generation IRC Server
+ http://ngircd.barton.de/
- (c)2001-2010 Alexander Barton,
- alex(a)barton.de, http://www.barton.de/
-
+ (c)2001-2011 Alexander Barton and Contributors.
ngIRCd is free software and published under the
terms of the GNU General Public License.
-- ChangeLog --
+ngIRCd
+
+ - Make [No]ZeroConf configuration option work with Howl.
+ - Deprecate NoXX-Options in ngircd.conf: 'NoDNS=no' => 'DNS=yes',
+ 'NoIdent=no' => 'Ident=yes', 'NoPAM=no' => 'PAM=yes', and
+ 'NoZeroConf=no' => 'ZeroConf=yes' (and vice-versa).
+ The defaults are adjusted accordingly and the old variables are still
+ accepted, so there is no functional change.
+ - Fix confusing "adding to invite list" debug messages.
+ - Don't throttle services and servers beeing registered.
+ - Xcode: correctly sort files
+ - Don't assert() when serching a client for an invalid server token.
+
ngIRCd Release 17.1 (2010-12-19)
- --configtest: remember if MOTD is configured by file or phrase
diff --git a/INSTALL b/INSTALL
index f7e51a1..ce43e35 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,9 +1,8 @@
ngIRCd - Next Generation IRC Server
+ http://ngircd.barton.de/
- (c)2001-2010 Alexander Barton,
- alex(a)barton.de, http://www.barton.de/
-
+ (c)2001-2011 Alexander Barton and Contributors.
ngIRCd is free software and published under the
terms of the GNU General Public License.
diff --git a/NEWS b/NEWS
index 9524e8b..0d6ef8a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,15 +1,23 @@
ngIRCd - Next Generation IRC Server
+ http://ngircd.barton.de/
- (c)2001-2010 Alexander Barton,
- alex(a)barton.de, http://www.barton.de/
-
+ (c)2001-2011 Alexander Barton and Contributors.
ngIRCd is free software and published under the
terms of the GNU General Public License.
-- NEWS --
+ngIRCd
+
+ - Deprecate NoXX-Options in ngircd.conf: 'NoDNS=no' => 'DNS=yes',
+ 'NoIdent=no' => 'Ident=yes', 'NoPAM=no' => 'PAM=yes', and
+ 'NoZeroConf=no' => 'ZeroConf=yes' (and vice-versa).
+ The defaults are adjusted accordingly and the old variables are still
+ accepted, so there is no functional change.
+ - Don't throttle services and servers beeing registered.
+
ngIRCd Release 17.1 (2010-12-19)
- Don't log critical (or worse) messages to stderr
diff --git a/README b/README
index 1feedfe..3c39cad 100644
--- a/README
+++ b/README
@@ -1,9 +1,8 @@
ngIRCd - Next Generation IRC Server
+ http://ngircd.barton.de/
- (c)2001-2007 Alexander Barton,
- alex(a)barton.de, http://www.barton.de/
-
+ (c)2001-2011 Alexander Barton and Contributors.
ngIRCd is free software and published under the
terms of the GNU General Public License.
diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c
index 6dfd206..63fc64b 100644
--- a/src/ngircd/ngircd.c
+++ b/src/ngircd/ngircd.c
@@ -1,6 +1,6 @@
/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2010 Alexander Barton (alex(a)barton.de).
+ * Copyright (c)2001-2011 Alexander Barton (alex(a)barton.de) and Contributors.
*
* 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
@@ -432,7 +432,7 @@ static void
Show_Version( void )
{
puts( NGIRCd_Version );
- puts( "Copyright (c)2001-2010 Alexander Barton (<alex(a)barton.de>) and Contributors." );
+ puts( "Copyright (c)2001-2011 Alexander Barton (<alex(a)barton.de>) and Contributors." );
puts( "Homepage: <http://ngircd.barton.de/>\n" );
puts( "This is free software; see the source for copying conditions. There is NO" );
puts( "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." );
Module: ngircd.git
Branch: master
Commit: 28bbd7e27a44ff3c03f86aa6f17a578ad15ee498
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=28bbd7e2…
Author: Alexander Barton <alex(a)barton.de>
Date: Sun Jan 9 14:31:18 2011 +0100
Make NoZeroConf option work with Howl
---
src/ngircd/rendezvous.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/ngircd/rendezvous.c b/src/ngircd/rendezvous.c
index 056cb1e..6727893 100644
--- a/src/ngircd/rendezvous.c
+++ b/src/ngircd/rendezvous.c
@@ -107,6 +107,12 @@ GLOBAL void Rendezvous_Init( void )
int i;
+ for (i = 0; i < MAX_RENDEZVOUS; i++)
+ My_Rendezvous[i].Desc[0] = '\0';
+
+ if (!Conf_ZeroConf)
+ return;
+
#ifdef HOWL
if( sw_discovery_init( &My_Discovery_Session ) != SW_OKAY )
{
@@ -122,8 +128,6 @@ GLOBAL void Rendezvous_Init( void )
exit( 1 );
}
#endif
-
- for( i = 0; i < MAX_RENDEZVOUS; i++ ) My_Rendezvous[i].Desc[0] = '\0';
} /* Rendezvous_Init */
@@ -238,6 +242,9 @@ GLOBAL void Rendezvous_Handler( void )
/* Handle all Rendezvous stuff; this function must be called
* periodically from the run loop of the main program */
+ if (!Conf_ZeroConf)
+ return;
+
#ifdef APPLE
int i;
char buffer[MAX_MACH_MSG_SIZE];
Module: ngircd.git
Branch: master
Commit: 1dca082fc6f0595d6bde431bf50132445340fb7f
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=1dca082f…
Author: Florian Westphal <fw(a)strlen.de>
Date: Sat Jan 8 15:56:14 2011 +0100
config: deprecate NoXX-Options
ngircd unfortunately uses several options using double-negation, e.g.
NoIdent = No, NoPam = No, etc.
This renames all options by dropping the "No" prefix, e.g.
"NoIdent = no" becomes "Ident = yes".
The old options will continue to work, but will cause a warning
message.
Also update man pages and default config.
To prevent silly
'Ident = yes' from appearing in --configtest output in the
'ident support not compiled in and Ident Option not used' case,
make default value depend on feature availability.
If feature is available, enable by default, otherwise disable.
We might consider moving these options to a new
[Feature]
section, or something like that, because none of these options are
essential.
Another possible improvement:
'Ident = yes' option in ngircd.conf causes a warning if ngircd was
built without ident support.
This does not happen with e.g. zeroconf....
---
doc/sample-ngircd.conf.tmpl | 17 +++---
man/ngircd.conf.5.tmpl | 18 +++---
src/ngircd/client.c | 2 +-
src/ngircd/conf.c | 124 +++++++++++++++++++++++++++++++++----------
src/ngircd/conf.h | 16 +++---
src/ngircd/conn.c | 4 +-
src/ngircd/irc-login.c | 2 +-
src/ngircd/rendezvous.c | 2 +-
8 files changed, 126 insertions(+), 59 deletions(-)
Diff: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commitdiff;h=1dca…
Module: ngircd.git
Branch: master
Commit: f37e495a2badf94fff2eaff24ed730dbceef94e0
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=f37e495a…
Author: Alexander Barton <alex(a)barton.de>
Date: Wed Dec 29 14:19:51 2010 +0100
Command throttling: introduce MAX_COMMANDS_SERVICE
New MAX_COMMANDS_SERVICE (currently set to MAX_COMMANDS_SERVER[10]),
so that services are handled like servers (and not regular users).
---
src/ngircd/conn.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c
index 73a66bb..51ab8fd 100644
--- a/src/ngircd/conn.c
+++ b/src/ngircd/conn.c
@@ -82,6 +82,7 @@
#define MAX_COMMANDS 3
#define MAX_COMMANDS_SERVER 10
+#define MAX_COMMANDS_SERVICE MAX_COMMANDS_SERVER
static bool Handle_Write PARAMS(( CONN_ID Idx ));
@@ -1530,7 +1531,7 @@ Read_Request( CONN_ID Idx )
/**
* Handle all data in the connection read-buffer.
* Data is processed until no complete command is left in the read buffer,
- * or MAX_COMMANDS[_SERVER] commands were processed.
+ * or MAX_COMMANDS[_SERVER|_SERVICE] commands were processed.
* When a fatal error occurs, the connection is shut down.
* @param Idx Index of the connection.
* @return number of bytes processed.
@@ -1555,8 +1556,12 @@ Handle_Buffer(CONN_ID Idx)
/* Servers do get special command limits, so they can process
* all the messages that are required while peering. */
- if (Client_Type(c) == CLIENT_SERVER)
- maxcmd = MAX_COMMANDS_SERVER;
+ switch (Client_Type(c)) {
+ case CLIENT_SERVER:
+ maxcmd = MAX_COMMANDS_SERVER; break;
+ case CLIENT_SERVICE:
+ maxcmd = MAX_COMMANDS_SERVICE; break;
+ }
starttime = time(NULL);
for (i=0; i < maxcmd; i++) {
Module: ngircd.git
Branch: master
Commit: 36d4f6c6015a0c93a2785e135d43dc8f23797b38
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=36d4f6c6…
Author: Alexander Barton <alex(a)barton.de>
Date: Fri Dec 24 12:48:03 2010 +0100
Don't assert() when serching a client for an invalid server token
This is only relevant when a trusted server on a server-server link
sends invalid commands.
---
src/ngircd/client.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/ngircd/client.c b/src/ngircd/client.c
index 739c5ea..ecd1a7c 100644
--- a/src/ngircd/client.c
+++ b/src/ngircd/client.c
@@ -553,17 +553,19 @@ Client_Search( const char *Nick )
} /* Client_Search */
+/**
+ * Get client structure ("introducer") identfied by a server token.
+ * @return CLIENT structure or NULL if none could be found.
+ */
GLOBAL CLIENT *
Client_GetFromToken( CLIENT *Client, int Token )
{
- /* Client-Struktur, die den entsprechenden Introducer (=Client)
- * und das gegebene Token hat, liefern. Wird keine gefunden,
- * so wird NULL geliefert. */
-
CLIENT *c;
assert( Client != NULL );
- assert( Token > 0 );
+
+ if (!Token)
+ return NULL;
c = My_Clients;
while (c) {