Commit Diff


commit - d5fa1f76bbe997460d7350c8e09f2b62235e4dac
commit + d69410f28dba91282daf576e596332d26a1b28e9
blob - 7f58476946566be5b290f8f46fe9de0c2e04d271
blob + bb6948ffc164b48de19b5bcd8478533ecb827c24
--- Makefile.am
+++ Makefile.am
@@ -9,12 +9,12 @@
 # Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 # der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 #
-# $Id: Makefile.am,v 1.9 2002/03/31 20:23:06 alex Exp $
+# $Id: Makefile.am,v 1.9.2.1 2002/10/03 16:13:38 alex Exp $
 #
 
 AUTOMAKE_OPTIONS = gnu
 
-SUBDIRS = doc MacOSX src man
+SUBDIRS = doc MacOSX src man contrib
 
 maintainer-clean-local:
 	rm -rf autom4te.cache
@@ -25,4 +25,7 @@ maintainer-clean-local:
 lint:
 	make -C src/ngircd lint
 
+rpm: distcheck
+	rpm -ta ngircd-*.tar.gz
+
 # -eof-
blob - /dev/null
blob + 8f3b5dd6817aa05dfeda57bc60e3dd47aa83d9bd (mode 644)
--- /dev/null
+++ contrib/Makefile.am
@@ -0,0 +1,20 @@
+#
+# ngIRCd -- The Next Generation IRC Daemon
+# Copyright (c)2001,2002 by Alexander Barton (alex@barton.de)
+#
+# Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen
+# der GNU General Public License (GPL), wie von der Free Software Foundation
+# herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2
+# der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version.
+# Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
+# der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
+#
+# $Id: Makefile.am,v 1.1.2.1 2002/10/03 16:13:38 alex Exp $
+#
+
+EXTRA_DIST = ngircd.spec
+
+maintainer-clean-local:
+	rm -f Makefile Makefile.in
+
+# -eof-
blob - /dev/null
blob + a1386d542163073018f19a2365350a036e6a527b (mode 644)
--- /dev/null
+++ contrib/ngircd.spec
@@ -0,0 +1,54 @@
+%define name    ngircd
+%define version CurrentCVS
+%define release 1
+%define prefix  %{_prefix}
+
+Summary:      Next Generation Internet Relay Chat Daemon
+Name:         %{name}
+Version:      %{version}
+Release:      %{release}
+Copyright:    GPL
+Group:        Networking/Daemons
+URL:          http://arthur.ath.cx/~alex/ngircd/
+Source:       %{name}-%{version}.tar.gz
+Packager:     Sean Reifschneider <jafo-rpms@tummy.com>
+BuildRoot:    /var/tmp/%{name}-root
+
+%description
+ngIRCd is a free open source daemon for Internet Relay Chat (IRC),
+developed under the GNU General Public License (GPL). It's written from
+scratch and is not based upon the original IRCd like many others.
+
+Why should you use ngIRCd? Because ...
+
+   * ... there are no problems with servers on changing or non-static IP
+         addresses.
+   * ... there is a small and lean configuration file.
+   * ... there is a free, modern and open source C source code.
+   * ... it is still under active development. 
+
+%prep
+%setup
+%build
+%configure
+make
+
+%install
+[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf "$RPM_BUILD_ROOT"
+%makeinstall
+(
+   cd "$RPM_BUILD_ROOT"
+   ( cd usr/sbin; mv *-ngircd ngircd )
+   ( cd usr/share/man/man5; mv *-ngircd.conf.5 ngircd.conf.5 )
+   ( cd usr/share/man/man8; mv *-ngircd.8 ngircd.8 )
+)
+
+%clean
+[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf "$RPM_BUILD_ROOT"
+
+%files
+%defattr(755,root,root)
+%doc AUTHORS  COPYING  ChangeLog  INSTALL NEWS  README
+%config(noreplace) /etc
+%{_prefix}/sbin
+%attr(644,root,root) %{_prefix}/share/man/
blob - 76b0822baff04471d138c062074892a4d08b3741
blob + 3d2ed09dc5d45003bd5af30ceb9f34d34cea6010
--- src/ngircd/conn.c
+++ src/ngircd/conn.c
@@ -9,7 +9,7 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: conn.c,v 1.72 2002/09/07 22:34:44 alex Exp $
+ * $Id: conn.c,v 1.72.2.1 2002/10/03 16:13:38 alex Exp $
  *
  * connect.h: Verwaltung aller Netz-Verbindungen ("connections")
  */
@@ -359,7 +359,6 @@ va_dcl
 	va_list ap;
 
 	assert( Idx >= 0 );
-	assert( My_Connections[Idx].sock > NONE );
 	assert( Format != NULL );
 
 #ifdef PROTOTYPES
@@ -393,10 +392,20 @@ Conn_Write( CONN_ID Idx, CHAR *Data, INT Len )
 	 * der Client disconnectiert und FALSE geliefert. */
 
 	assert( Idx >= 0 );
-	assert( My_Connections[Idx].sock > NONE );
 	assert( Data != NULL );
 	assert( Len > 0 );
 
+	/* Ist der entsprechende Socket ueberhaupt noch offen?
+	 * In einem "Handler-Durchlauf" kann es passieren, dass
+	 * dem nicht mehr so ist, wenn einer von mehreren
+	 * Conn_Write()'s fehlgeschlagen ist. In diesem Fall
+	 * wird hier einfach ein Fehler geliefert. */
+	if( My_Connections[Idx].sock <= NONE )
+	{
+		Log( LOG_DEBUG, "Skipped write on closed socket (connection %d).", Idx );
+		return FALSE;
+	}
+
 	/* pruefen, ob Daten im Schreibpuffer sind. Wenn ja, zunaechst
 	 * pruefen, ob diese gesendet werden koennen */
 	if( My_Connections[Idx].wdatalen > 0 )
blob - c91f828e362f38355a314745ab68bdab3b9629f4
blob + b106c5870139cd055c115c3ee36552d59ef9b821
--- src/ngircd/messages.h
+++ src/ngircd/messages.h
@@ -9,7 +9,7 @@
  * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
  * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
  *
- * $Id: messages.h,v 1.46 2002/09/16 09:23:40 alex Exp $
+ * $Id: messages.h,v 1.46.2.1 2002/10/03 16:13:38 alex Exp $
  *
  * irc.h: IRC-Befehle (Header)
  */
@@ -21,8 +21,8 @@
 
 #define RPL_WELCOME_MSG			"001 %s :Welcome to the Internet Relay Network %s"
 #define RPL_YOURHOST_MSG		"002 %s :Your host is %s, running ngircd %s-%s/%s/%s"
-#define RPL_CREATED_MSG			"003 %s :This server was started %s"
-#define RPL_MYINFO_MSG			"004 %s :%s ngircd-%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_UMODEIS_MSG			"211 %s +%s"
 #define RPL_LUSERCLIENT_MSG		"251 %s :There are %d users and %d services on %d servers"
 #define RPL_LUSEROP_MSG			"252 %s %d :operator(s) online"
blob - acd7a6310632385651122d9fbd2c9cd8bd7f79aa
blob + 9cc9385997ec549cf27503cab281ff6cf9b6a4db
--- src/testsuite/start-server.sh
+++ src/testsuite/start-server.sh
@@ -1,7 +1,9 @@
 #!/bin/sh
 # ngIRCd Test Suite
-# $Id: start-server.sh,v 1.5.2.3 2002/09/20 15:18:56 alex Exp $
+# $Id: start-server.sh,v 1.5.2.4 2002/10/03 16:13:38 alex Exp $
 
+[ -z "$srcdir" ] && srcdir=`dirname $0`
+
 echo "      starting server ..."
 
 # alte Logfiles loeschen
blob - 774e01610ec26d7921ae78c60047e9a12fbdfe0a
blob + 62b4e20422ef4f717de52c708f3a2c9425f91891
--- src/testsuite/stop-server.sh
+++ src/testsuite/stop-server.sh
@@ -1,7 +1,9 @@
 #!/bin/sh
 # ngIRCd Test Suite
-# $Id: stop-server.sh,v 1.4.2.3 2002/09/20 15:18:56 alex Exp $
+# $Id: stop-server.sh,v 1.4.2.4 2002/10/03 16:13:38 alex Exp $
 
+[ -z "$srcdir" ] && srcdir=`dirname $0`
+
 echo "      stopping server ..."
 
 # Test-Server stoppen ...
blob - 900274897b985508208301224488e9af225a59f2
blob + 0f7872c95806b30216095e2212c0afcbb01ec221
--- src/testsuite/stress-server.sh
+++ src/testsuite/stress-server.sh
@@ -1,9 +1,11 @@
 #!/bin/sh
 # ngIRCd Test Suite
-# $Id: stress-server.sh,v 1.4.2.1 2002/09/23 21:55:06 alex Exp $
+# $Id: stress-server.sh,v 1.4.2.2 2002/10/03 16:13:38 alex Exp $
 
-CLIENTS=5
+[ -z "$srcdir" ] && srcdir=`dirname $0`
 
+[ $1 -gt 0 ] 2> /dev/null && CLIENTS=$1 || CLIENTS=5
+
 name=`basename $0`
 test=`echo ${name} | cut -d '.' -f 1`
 mkdir -p logs tests