From: Alexander Barton Date: Thu, 3 Oct 2002 16:13:38 +0000 (+0000) Subject: - Backports aus CVS HEAD. X-Git-Tag: rel-0-5-1~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d69410f28dba91282daf576e596332d26a1b28e9;p=ngircd - Backports aus CVS HEAD. --- diff --git a/Makefile.am b/Makefile.am index 7f584769..bb6948ff 100644 --- a/Makefile.am +++ b/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- diff --git a/contrib/Makefile.am b/contrib/Makefile.am new file mode 100644 index 00000000..8f3b5dd6 --- /dev/null +++ b/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- diff --git a/contrib/ngircd.spec b/contrib/ngircd.spec new file mode 100644 index 00000000..a1386d54 --- /dev/null +++ b/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 +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/ diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c index 76b0822b..3d2ed09d 100644 --- a/src/ngircd/conn.c +++ b/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 ) diff --git a/src/ngircd/messages.h b/src/ngircd/messages.h index c91f828e..b106c587 100644 --- a/src/ngircd/messages.h +++ b/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" diff --git a/src/testsuite/start-server.sh b/src/testsuite/start-server.sh index acd7a631..9cc93859 100755 --- a/src/testsuite/start-server.sh +++ b/src/testsuite/start-server.sh @@ -1,6 +1,8 @@ #!/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 ..." diff --git a/src/testsuite/stop-server.sh b/src/testsuite/stop-server.sh index 774e0161..62b4e204 100755 --- a/src/testsuite/stop-server.sh +++ b/src/testsuite/stop-server.sh @@ -1,6 +1,8 @@ #!/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 ..." diff --git a/src/testsuite/stress-server.sh b/src/testsuite/stress-server.sh index 90027489..0f7872c9 100755 --- a/src/testsuite/stress-server.sh +++ b/src/testsuite/stress-server.sh @@ -1,8 +1,10 @@ #!/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`