]> arthur.barton.de Git - ngircd.git/commitdiff
- Backports aus CVS HEAD.
authorAlexander Barton <alex@barton.de>
Thu, 3 Oct 2002 16:13:38 +0000 (16:13 +0000)
committerAlexander Barton <alex@barton.de>
Thu, 3 Oct 2002 16:13:38 +0000 (16:13 +0000)
Makefile.am
contrib/Makefile.am [new file with mode: 0644]
contrib/ngircd.spec [new file with mode: 0644]
src/ngircd/conn.c
src/ngircd/messages.h
src/testsuite/start-server.sh
src/testsuite/stop-server.sh
src/testsuite/stress-server.sh

index 7f58476946566be5b290f8f46fe9de0c2e04d271..bb6948ffc164b48de19b5bcd8478533ecb827c24 100644 (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-
diff --git a/contrib/Makefile.am b/contrib/Makefile.am
new file mode 100644 (file)
index 0000000..8f3b5dd
--- /dev/null
@@ -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 (file)
index 0000000..a1386d5
--- /dev/null
@@ -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/
index 76b0822baff04471d138c062074892a4d08b3741..3d2ed09dc5d45003bd5af30ceb9f34d34cea6010 100644 (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 )
index c91f828e362f38355a314745ab68bdab3b9629f4..b106c5870139cd055c115c3ee36552d59ef9b821 100644 (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"
index acd7a6310632385651122d9fbd2c9cd8bd7f79aa..9cc9385997ec549cf27503cab281ff6cf9b6a4db 100755 (executable)
@@ -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 ..."
 
index 774e01610ec26d7921ae78c60047e9a12fbdfe0a..62b4e20422ef4f717de52c708f3a2c9425f91891 100755 (executable)
@@ -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 ..."
 
index 900274897b985508208301224488e9af225a59f2..0f7872c95806b30216095e2212c0afcbb01ec221 100755 (executable)
@@ -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`