1
0
mirror of https://github.com/osmarks/ngircd.git synced 2025-10-22 01:47:37 +00:00

Compare commits

...

25 Commits

Author SHA1 Message Date
Alexander Barton
a119700c62 - Version angepasst. 2002-10-03 17:09:00 +00:00
Alexander Barton
b0e7f564c7 - Dokumentation aktualisiert. 2002-10-03 17:08:53 +00:00
Alexander Barton
d69410f28d - Backports aus CVS HEAD. 2002-10-03 16:13:38 +00:00
Alexander Barton
d5fa1f76bb - Versionsnummer auf 0.5.1 angehoben. 2002-10-03 16:10:25 +00:00
Alexander Barton
3dec467ebc - Dokumentation aktualisiert. 2002-10-03 16:09:50 +00:00
Alexander Barton
a5fe6d6783 Test-Suite: es werden nun nur noch 5 Sessions parallel gestartet. 2002-09-23 21:55:06 +00:00
Alexander Barton
37b579f3cd - Dokumentation aktualisiert. 2002-09-23 21:54:43 +00:00
Alexander Barton
268d02b90d - Versionsnummer auf "0.5.CVS" angepasst. 2002-09-22 21:39:23 +00:00
Alexander Barton
037418e8c0 - Dokumentation aktualisiert. 2002-09-22 21:38:34 +00:00
Alexander Barton
45c3886800 - in RPL_YOURHOST_MSG wurde ein fehlerhafter Versionsstring geliefert. 2002-09-22 21:37:06 +00:00
Alexander Barton
38f387146f - Dokumentation aktualisiert. 2002-09-20 17:20:48 +00:00
Alexander Barton
fcbd44caa9 - Version auf 0.5.0 angehoben. 2002-09-20 16:16:20 +00:00
Alexander Barton
f027308798 - Dokumentation aktualisiert. 2002-09-20 15:44:53 +00:00
Alexander Barton
462540e079 - getpid.sh wird nun auch bei "make distcheck" gefunden. 2002-09-20 15:39:55 +00:00
Alexander Barton
7721c79747 - Dokumentation aktualisiert. 2002-09-20 15:25:50 +00:00
Alexander Barton
678a4dfba0 - neues Script getpid.sh (aus HEAD): dieses ermittelt nun die PID des Servers. 2002-09-20 15:19:55 +00:00
Alexander Barton
8c956d25b7 - Backports aus CVS-HEAD: neues Script getpid.sh ermittelt nun die PID. 2002-09-20 15:18:56 +00:00
Alexander Barton
9f9f676716 - die ermittelte PID des ngIRCd wird besser validiert (leer?). 2002-09-20 13:55:51 +00:00
Alexander Barton
cf20b16d2a - Flags bei "ps" werden in anderer Reihenfolge geprueft (aus CVS-HEAD). 2002-09-20 13:46:22 +00:00
Alexander Barton
97d4e580ae - Dokumentation aktualisiert. 2002-09-19 10:18:29 +00:00
Alexander Barton
b072b7712c - Fehler bei Validierung von ServerAdminInfo2 behoben. 2002-09-19 10:17:50 +00:00
Alexander Barton
fd6a7f67ce - Dokumentation aktualisiert. 2002-09-19 09:35:21 +00:00
Alexander Barton
6c04ba84cd - Versionsnummer auf 0.5.0-pre2 angehoben. 2002-09-17 17:29:38 +00:00
Alexander Barton
ef6b7c7c63 - Fix in IRC_WriteStrServersPrefix() war "badly broken" -- behoben. 2002-09-17 17:29:20 +00:00
Alexander Barton
2592e73da0 - Dokumentation aktualisiert. 2002-09-17 17:28:45 +00:00
16 changed files with 210 additions and 61 deletions

View File

@@ -10,8 +10,32 @@
-- ChangeLog / Aenderungen --
ngIRCd CVS-HEAD
ngIRCd 0.5.1, 03.10.2002
- in RPL_YOURHOST_MSG wurde ein fehlerhafter Versionsstring geliefert.
- Test-Suite: start-server.sh, stop-server.sh und stress-server.sh koennen
nun "manuell" von der Kommandozeile gestartet werden, stress-server.sh
startet per Default nur noch 5 Sessions, eine andere Zahl kann auf der
Kommandozeile uebergeben werden (Syntax: "stress-server.sh <count>").
- In bestimmten Faellen hat der Server versucht auf einen bereits wieder
geschlossenen Socket Daten zu schreiben; das fuehrte zu einem Abbruch des
Servers durch ein assert(). Nun wird geprueft, ob der Socket noch ok ist.
- im "contrib"-Verzeichnis befindet sich nun eine RPM-Spec-Datei, aus den
.tar.gz's koennen nun mit "rpm -ta <archiv>" RPM's erzeugt werden. Danke
an Sean Reifschneider <jafo@tummy.com>!
- Syntax von RPL_MYINFO_MSG korrigiert: liefert nun vier Parameter.
ngIRCd 0.5.0, 20.09.2002
- Dokumentation aktualisiert.
- Fehler bei Validierung von "AdminInfo2" behoben.
- Test der Flags fuer "ps" in der Testsuite verbessert, ist nun zu mehr
Plattformen kompatibler.
ngIRCd 0.5.0-pre2, 17.09.2002
- Fix in IRC_WriteStrServersPrefix() war "badly broken" -- behoben.
ngIRCd 0.5.0-pre1, 16.09.2002
- Manual-Pages ngircd.8 und ngircd.conf.5 begonnen.
- Wird der Netzwerk-Sniffer aktiviert (--sniffer), so schaltet der
ngIRCd nun automatisch in den Debug-Modus.
@@ -254,4 +278,4 @@ ngIRCd 0.0.1, 31.12.2001
--
$Id: ChangeLog,v 1.87 2002/09/16 10:00:28 alex Exp $
$Id: ChangeLog,v 1.87.2.9 2002/10/03 17:08:53 alex Exp $

View File

@@ -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-

34
NEWS
View File

@@ -10,31 +10,25 @@
-- NEWS / Neuigkeiten --
ngIRCd CVS-HEAD
ngIRCd 0.5.0, 20.09.2002
- Manual-Pages ngircd.8 und ngircd.conf.5 begonnen.
- AIX (3.2.5), HP-UX (10.20), IRIX (6.5), NetBSD (1.5.3/m68k) und Solaris
(2.5.1, 2.6) gehoeren nun auch zu den unterstuetzten Platformen.
- "persistente Channels" (Mode 'P') implementiert: diese koennen in der
Konfigurationsdatei definiert werden (Sektion "Channel", vgl. Beispiel-
Konfiguration "sample-ngircd.conf") und bleiben auch dann bestehen,
wenn kein User mehr im Channel ist. Zu Channel-Operatoren werden bisher
nur IRC-Operatoren, die den Channel betreten. Die persistenten Channels
werden durch das Flag "P" gelennzeichnet, welches normal durch Channel-
Op's gesetzt und geloescht werden kann.
- KICK implementiert (bisher kann nur ein User aus einem Channel geckicked
werden, Listen, wir im RFC vorgesehen, werden bisher nicht unterstuetzt).
- INVITE, den Channel-Mode "i" sowie Invite-Lists ueber den MODE-Befehl
(setzen, erfragen und loeschen) implementiert.
- Unter A/UX (und evtl. weiteren Systemen) kompiliert der ngIRCd nun mit
dem "nativen" (ggf. pre-ANSI) Compiler.
- LIST versteht nun Wildcards und kann an andere Server geforwarded werden.
- neue Konfigurationsoption "OperCanUseMode" (Sektion "Global"):
- "persistente Channels" (Mode 'P') implementiert: diese koennen in der
Konfigurationsdatei definiert werden (Sektion "Channel", vgl. Beispiel-
Konfiguration "sample-ngircd.conf") und bleiben auch dann bestehen,
wenn kein User mehr im Channel ist.
- neue IRC-Befehle: KICK, INVITE, ADMIN, CHANINFO; LIST wurde erweitert.
Mit dem neuen Befehl CHANINFO syncronisieren Server, die das IRC+-
Protokoll unterstuetzen, Channel-Modes und Topics. Fuer den ADMIN-Befehl
gibt es neue Konfigurationsoptionen (Sektion "Global"): "AdminInfo1",
"AdminInfo2" und "AdminEMail".
- Invite- und Ban-Lists implementiert.
- neue Konfigurationsoption "OperCanUseMode" (Sektion "Global"):
ist sie aktiv, koennen IRC-Operatoren immer Channel-Modes setzen.
- mit dem neuen Befehl CHANINFO syncronisieren Server, die das IRC+-
Protokoll unterstuetzen, Channel-Modes und Topics.
- Ban-Lists (setzen, erfragen und loeschen) implementiert.
- ADMIN-Befehl implementiert.
- "Test-Suite" begonnen: mit "make check" wird sie durchlaufen.
ngIRCd 0.4.2, 29.04.2002
@@ -116,4 +110,4 @@ ngIRCd 0.0.1, 31.12.2001
--
$Id: NEWS,v 1.38 2002/09/16 11:03:05 alex Exp $
$Id: NEWS,v 1.38.2.4 2002/10/03 16:09:50 alex Exp $

View File

@@ -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: configure.in,v 1.59 2002/09/17 17:12:24 alex Exp $
# $Id: configure.in,v 1.58.2.4 2002/10/03 16:10:25 alex Exp $
#
# -- Initialisierung --
@@ -18,7 +18,7 @@ AC_INIT
AC_PREREQ(2.50)
AC_CANONICAL_TARGET
AC_CONFIG_SRCDIR(src/config.h.in)
AM_INIT_AUTOMAKE(ngircd,0.5.0-pre2)
AM_INIT_AUTOMAKE(ngircd,0.5.1)
AM_CONFIG_HEADER(src/config.h)
# -- Templates fuer config.h --
@@ -194,6 +194,7 @@ AC_OUTPUT([ \
src/ngircd/Makefile \
src/testsuite/Makefile \
man/Makefile \
contrib/Makefile \
])
# -- Ergebnis --

20
contrib/Makefile.am Normal file
View File

@@ -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-

54
contrib/ngircd.spec Normal file
View File

@@ -0,0 +1,54 @@
%define name ngircd
%define version 0.5.1
%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/

View File

@@ -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: conf.c,v 1.29 2002/09/16 09:13:06 alex Exp $
* $Id: conf.c,v 1.29.2.1 2002/09/19 10:17:50 alex Exp $
*
* conf.h: Konfiguration des ngircd
*/
@@ -548,7 +548,7 @@ Validate_Config( VOID )
}
#endif
if( ! Conf_ServerAdmin1[0] && ! Conf_ServerAdmin1[0] && ! Conf_ServerAdminMail[0] )
if( ! Conf_ServerAdmin1[0] && ! Conf_ServerAdmin2[0] && ! Conf_ServerAdminMail[0] )
{
/* Keine Server-Information konfiguriert */
Log( LOG_WARNING, "No server information configured but required by RFC!" );

View File

@@ -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 )

View File

@@ -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: irc-login.c,v 1.21 2002/09/09 03:34:33 alex Exp $
* $Id: irc-login.c,v 1.21.2.1 2002/09/22 21:37:06 alex Exp $
*
* irc-login.c: Anmeldung und Abmeldung im IRC
*/
@@ -441,7 +441,7 @@ Hello_User( CLIENT *Client )
IRC_WriteStrServers( NULL, "NICK %s 1 %s %s 1 +%s :%s", Client_ID( Client ), Client_User( Client ), Client_Hostname( Client ), Client_Modes( Client ), Client_Info( Client ));
if( ! IRC_WriteStrClient( Client, RPL_WELCOME_MSG, Client_ID( Client ), Client_Mask( Client ))) return FALSE;
if( ! IRC_WriteStrClient( Client, RPL_YOURHOST_MSG, Client_ID( Client ), Client_ID( Client_ThisServer( )), VERSION, TARGET_CPU, TARGET_CPU, TARGET_OS )) return FALSE;
if( ! IRC_WriteStrClient( Client, RPL_YOURHOST_MSG, Client_ID( Client ), Client_ID( Client_ThisServer( )), VERSION, TARGET_CPU, TARGET_VENDOR, TARGET_OS )) return FALSE;
if( ! IRC_WriteStrClient( Client, RPL_CREATED_MSG, Client_ID( Client ), NGIRCd_StartStr )) return FALSE;
if( ! IRC_WriteStrClient( Client, RPL_MYINFO_MSG, Client_ID( Client ), Client_ID( Client_ThisServer( )), VERSION, USERMODES, CHANMODES )) return FALSE;

View File

@@ -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: irc-write.c,v 1.8 2002/09/17 17:11:56 alex Exp $
* $Id: irc-write.c,v 1.7.2.1 2002/09/17 17:29:20 alex Exp $
*
* irc-write.c: IRC-Texte und Befehle ueber Netzwerk versenden
*/

View File

@@ -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"

View File

@@ -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: Makefile.am,v 1.3 2002/09/12 02:26:17 alex Exp $
# $Id: Makefile.am,v 1.3.2.2 2002/09/20 15:39:55 alex Exp $
#
AUTOMAKE_OPTIONS = ../portab/ansi2knr
@@ -17,21 +17,24 @@ AUTOMAKE_OPTIONS = ../portab/ansi2knr
INCLUDES = -I$(srcdir)/../portab
EXTRA_DIST = \
getpid.sh \
start-server.sh stop-server.sh tests.sh stress-server.sh \
connect-test.e channel-test.e mode-test.e \
stress-A.e stress-B.e check-idle.e \
ngircd-test.conf
clean-local:
rm -rf logs tests *-test ngircd-test.log ngircd-test.motd ngircd-TEST procs.tmp
rm -rf logs tests *-test ngircd-test.log ngircd-test.motd \
ngircd-TEST* procs.tmp
maintainer-clean-local:
rm -f Makefile Makefile.in
check_SCRIPTS = ngircd-TEST tests.sh
check_SCRIPTS = ngircd-TEST-Binary tests.sh
ngircd-TEST:
ln -s ../ngircd/ngircd ngircd-TEST
ngircd-TEST-Binary:
cp ../ngircd/ngircd ngircd-TEST
[ -f getpid.sh ] || ln -s $(srcdir)/getpid.sh .
connect-test: tests.sh
ln -s $(srcdir)/tests.sh connect-test

28
src/testsuite/getpid.sh Executable file
View File

@@ -0,0 +1,28 @@
#!/bin/sh
# ngIRCd Test Suite
# $Id: getpid.sh,v 1.1.2.1 2002/09/20 15:19:55 alex Exp $
# wurde ein Name uebergeben?
[ $# -ne 1 ] && exit 1
# Flags fuer "ps" ermitteln
if [ `uname` = "FreeBSD" ]; then
PS_FLAGS=-a; PS_PIDCOL=1
else
PS_FLAGS=-f; PS_PIDCOL=2
ps $PS_FLAGS > /dev/null 2>&1
if [ $? -ne 0 ]; then PS_FLAGS=a; PS_PIDCOL=1; fi
fi
# PID ermitteln
ps $PS_FLAGS > procs.tmp
pid=`cat procs.tmp | grep "$1" | awk "{ print \\\$$PS_PIDCOL }" | sort -n | head -n 1`
# ermittelte PID validieren
[ "$pid" -gt 1 ] > /dev/null 2>&1
[ $? -ne 0 ] && exit 1
echo $pid
exit 0
# -eof-

View File

@@ -1,22 +1,32 @@
#!/bin/sh
# ngIRCd Test Suite
# $Id: start-server.sh,v 1.5 2002/09/16 09:53:16 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 ..."
rm -rf logs
# alte Logfiles loeschen
rm -rf logs *.log
# pruefen, ob getpid.sh gueltige PID's liefert. Wenn dem nicht so ist,
# wird kein ngIRCd gestartet, da dieser ansonsten nicht mehr am Ende
# des Testlaufs beendet werden koennte!
./getpid.sh make > /dev/null 2>&1
if [ $? -ne 0 ]; then
echo " error: getpid.sh FAILED!"
exit 1
fi
# MOTD fuer Test-Server erzeugen
echo "This is an ngIRCd Test Server" > ngircd-test.motd
# Test-Server starten ...
./ngircd-TEST -np -f ${srcdir}/ngircd-test.conf > ngircd-test.log 2>&1 &
sleep 1
PS_FLAGS=a; PS_PIDCOL=1
ps a > /dev/null 2>&1
if [ $? -ne 0 ]; then PS_FLAGS=-f; PS_PIDCOL=2; fi
ps $PS_FLAGS > procs.tmp
pid=`cat procs.tmp | grep ngircd-TEST | awk "{ print \\\$$PS_PIDCOL }"`
kill -0 $pid > /dev/null 2>&1
# validieren, dass Server laeuft
pid=`./getpid.sh ngircd-TEST`
[ -n "$pid" ] && kill -0 $pid > /dev/null 2>&1 || exit 1
# -eof-

View File

@@ -1,15 +1,17 @@
#!/bin/sh
# ngIRCd Test Suite
# $Id: stop-server.sh,v 1.4 2002/09/16 09:53:16 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 ..."
PS_FLAGS=a; PS_PIDCOL=1
ps a > /dev/null 2>&1
if [ $? -ne 0 ]; then PS_FLAGS=-f; PS_PIDCOL=2; fi
# Test-Server stoppen ...
pid=`./getpid.sh ngircd-TEST`
[ -n "$pid" ] && kill $pid > /dev/null 2>&1 || exit 1
sleep 1
ps $PS_FLAGS > procs.tmp
pid=`cat procs.tmp | grep ngircd-TEST | awk "{ print \\\$$PS_PIDCOL }"`
kill $pid > /dev/null 2>&1
# jetzt duerfte der Prozess nicht mehr laufen
kill -0 $pid > /dev/null 2>&1 && exit 1 || exit 0
# -eof-

View File

@@ -1,9 +1,10 @@
#!/bin/sh
# ngIRCd Test Suite
# $Id: stress-server.sh,v 1.4 2002/09/16 09:54:17 alex Exp $
# $Id: stress-server.sh,v 1.4.2.2 2002/10/03 16:13:38 alex Exp $
if [ `uname` = "Darwin" -o `uname` = "IRIX" -o `uname` = "IRIX64" ]; then CLIENTS=5
else CLIENTS=50; fi
[ -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`