commit d69410f28dba91282daf576e596332d26a1b28e9 from: Alexander Barton date: Thu Oct 03 16:13:38 2002 UTC - Backports aus CVS HEAD. 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 +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