mirror of
				https://github.com/osmarks/ngircd.git
				synced 2025-11-04 07:52:59 +00:00 
			
		
		
		
	Compare commits
	
		
			13 Commits
		
	
	
		
			rel-0-10-2
			...
			rel-0-4-2
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					880d35f82b | ||
| 
						 | 
					83e49bf74b | ||
| 
						 | 
					b6f53b6f82 | ||
| 
						 | 
					ab52d2b818 | ||
| 
						 | 
					aaf42ae77b | ||
| 
						 | 
					fa30f2a0d2 | ||
| 
						 | 
					1fa46bedbe | ||
| 
						 | 
					d772acf9d6 | ||
| 
						 | 
					15f380592d | ||
| 
						 | 
					54b9381dd0 | ||
| 
						 | 
					889b7ef48f | ||
| 
						 | 
					31c8078706 | ||
| 
						 | 
					34eb2528d0 | 
							
								
								
									
										32
									
								
								ChangeLog
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								ChangeLog
									
									
									
									
									
								
							@@ -10,12 +10,30 @@
 | 
				
			|||||||
                        -- ChangeLog / Aenderungen --
 | 
					                        -- ChangeLog / Aenderungen --
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ngIRCd 0.3.x, ??.??.2002
 | 
					ngIRCd 0.4.2, 29.04.2002
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - LUSERS verzaehlt sich bei eigenen Server-Links nicht mehr.
 | 
				
			||||||
 | 
					  - QUIT wird nun auch von noch nicht registrierten Clients akzeptiert.
 | 
				
			||||||
 | 
					  - IRC-Funktion LIST implementiert; bisher werden allerdings noch keine
 | 
				
			||||||
 | 
					    Regular Expressions (bis auf "*") unterstuetzt.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ngIRCd 0.4.1, 08.04.2002
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Bei Server-Links wird nicht mehr an Hand der Anzahl der Parameter
 | 
				
			||||||
 | 
					    eines empfangenen SERVER-Befehls, sondern "intern" erkannt, ob es
 | 
				
			||||||
 | 
					    sich um eine ein- oder ausgehende Verbindung handelt und somit das
 | 
				
			||||||
 | 
					    eigene PASS-SERVER-Paar gesendet werden muss oder nicht. Da sich
 | 
				
			||||||
 | 
					    verschiedene Versionen des Original-ircd's anders verhalten, schlug
 | 
				
			||||||
 | 
					    die Anmeldung je nach Gehenseite evtl. fehl.
 | 
				
			||||||
 | 
					  - Bei einem NICK-Befehl eines lokalen Client konnte der Server ab-
 | 
				
			||||||
 | 
					    stuerzen, da ein Format-String einer Log-Meldung fehlerhaft war.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ngIRCd 0.4.0, 01.04.2002
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - IRC-Befehle nochmal auf weitere Source-Dateien aufgespalten.
 | 
					  - IRC-Befehle nochmal auf weitere Source-Dateien aufgespalten.
 | 
				
			||||||
  - WHO implementiert (bisher ohne komplette Unerstuetzung von Masks).
 | 
					  - WHO implementiert (bisher ohne komplette Unterstuetzung von Masks).
 | 
				
			||||||
  - Der AWAY-Mode wurde nicht ueber mehrere Server-Links weitergegeben.
 | 
					  - Der AWAY-Mode wurde nicht ueber mehrere Server-Links weitergegeben.
 | 
				
			||||||
  - stderr wird nun in eine Datei umgelenkt (/usr/local/var/ngircd.err).
 | 
					  - stderr wird nun in eine Datei umgelenkt (/tmp/ngircd-<PID>.err).
 | 
				
			||||||
    Laeuft der Server nicht im Debug-Modus, so wird diese bei Programm-
 | 
					    Laeuft der Server nicht im Debug-Modus, so wird diese bei Programm-
 | 
				
			||||||
    ende geloescht. Sollte der Server abstuerzen, finden sich hier evtl.
 | 
					    ende geloescht. Sollte der Server abstuerzen, finden sich hier evtl.
 | 
				
			||||||
    zusaetzliche Informationen.
 | 
					    zusaetzliche Informationen.
 | 
				
			||||||
@@ -23,7 +41,6 @@ ngIRCd 0.3.x, ??.??.2002
 | 
				
			|||||||
  - die Beispiel-Konfigurationsdatei (doc/sample-ngircd.conf) wird als
 | 
					  - die Beispiel-Konfigurationsdatei (doc/sample-ngircd.conf) wird als
 | 
				
			||||||
    ngircd.conf installiert, wenn noch keine "echte" Konfigurationsdatei
 | 
					    ngircd.conf installiert, wenn noch keine "echte" Konfigurationsdatei
 | 
				
			||||||
    vorhanden ist.
 | 
					    vorhanden ist.
 | 
				
			||||||
  - bei "ngircd --help" werden nun die eincompilierten Pfade angezeigt.
 | 
					 | 
				
			||||||
  - bei WHO, WHOIS und NAMES wird nun nur noch der Status "Operator" oder
 | 
					  - bei WHO, WHOIS und NAMES wird nun nur noch der Status "Operator" oder
 | 
				
			||||||
    "voiced" geliefert -- nicht mehr beides.
 | 
					    "voiced" geliefert -- nicht mehr beides.
 | 
				
			||||||
  - Server-Gruppen implementiert: es wird immer nur zu einem Server in
 | 
					  - Server-Gruppen implementiert: es wird immer nur zu einem Server in
 | 
				
			||||||
@@ -31,19 +48,20 @@ ngIRCd 0.3.x, ??.??.2002
 | 
				
			|||||||
    nicht, so wird der naechste probiert (Variable "Group" in der Kon-
 | 
					    nicht, so wird der naechste probiert (Variable "Group" in der Kon-
 | 
				
			||||||
    figurationsdatei, Sektion [Server]).
 | 
					    figurationsdatei, Sektion [Server]).
 | 
				
			||||||
  - IRC_PING() ist, wenn nicht im "strict RFC"-Mode, toleranter und ak-
 | 
					  - IRC_PING() ist, wenn nicht im "strict RFC"-Mode, toleranter und ak-
 | 
				
			||||||
    zeptiert beliebig viele Parameter: z.B. BitchX sendet soetwas.
 | 
					    zeptiert beliebig viele Parameter (z.B. BitchX sendet soetwas).
 | 
				
			||||||
  - die "Portab-Header" werden nicht mehr benoetigt, die System-Erkennung
 | 
					  - die "Portab-Header" werden nicht mehr benoetigt, die System-Erkennung
 | 
				
			||||||
    wird nun ausschliesslich vom configure-Script durchgefuehrt. System-
 | 
					    wird nun ausschliesslich vom configure-Script durchgefuehrt. System-
 | 
				
			||||||
    abhaengige Definitionen finden sich nun unter src/portrab/.
 | 
					    abhaengige Definitionen finden sich nun unter src/portrab/.
 | 
				
			||||||
  - Clients und Channels werden nicht mehr ueber ihren Namen, sondern
 | 
					  - Clients und Channels werden nicht mehr ueber ihren Namen, sondern
 | 
				
			||||||
    einen Hash-Wert gesucht: sollte deutlich schneller sein.
 | 
					    einen Hash-Wert gesucht: sollte deutlich schneller sein.
 | 
				
			||||||
  - neuer Kommandozeilen-Parameter "--configtest": die Konfiguration wird
 | 
					  - neuer Kommandozeilen-Parameter "--configtest": die Konfiguration wird
 | 
				
			||||||
    gelesen und die dann verwendeten Werte angezeigt.
 | 
					    gelesen und dann die verwendeten Werte angezeigt.
 | 
				
			||||||
  - Client-Mode "s" (Server Notices) implementiert.
 | 
					  - Client-Mode "s" (Server Notices) implementiert.
 | 
				
			||||||
  - mit dem neuen Kommandozeilen-Parameter "--config"/"-f" kann eine
 | 
					  - mit dem neuen Kommandozeilen-Parameter "--config"/"-f" kann eine
 | 
				
			||||||
    alternative Konfigurationsdatei angegeben werden.
 | 
					    alternative Konfigurationsdatei angegeben werden.
 | 
				
			||||||
  - nach dem Start kann der ngIRCd, wenn er mit root-Rechten laeuft,
 | 
					  - nach dem Start kann der ngIRCd, wenn er mit root-Rechten laeuft,
 | 
				
			||||||
    zu einer anderen User-ID und Group-ID wechseln.
 | 
					    zu einer anderen User-ID und Group-ID wechseln.
 | 
				
			||||||
 | 
					  - URL der Homepage wird u.a. bei "--version" mit angezeigt.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ngIRCd 0.3.0, 02.03.2002
 | 
					ngIRCd 0.3.0, 02.03.2002
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -174,4 +192,4 @@ ngIRCd 0.0.1, 31.12.2001
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- 
 | 
					-- 
 | 
				
			||||||
$Id: ChangeLog,v 1.54 2002/03/29 23:41:23 alex Exp $
 | 
					$Id: ChangeLog,v 1.54.2.5 2002/04/29 14:10:59 alex Exp $
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										112
									
								
								INSTALL
									
									
									
									
									
								
							
							
						
						
									
										112
									
								
								INSTALL
									
									
									
									
									
								
							@@ -8,36 +8,29 @@
 | 
				
			|||||||
                       der GNU General Public License.
 | 
					                       der GNU General Public License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                         -- INSTALL / Installation --
 | 
					                         -- INSTALL / Installation --
 | 
				
			||||||
 | 
					                         
 | 
				
			||||||
 | 
					                      Ilja Osthoff, <ilja@glide.ath.cx>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ngIRCd ist fuer UNIXoide-Systeme konzipiert. Dieser Text beschreibt den
 | 
					I. Standard-Installation
 | 
				
			||||||
"Standardfall": ein UNIX bzw. UNIX-aehnliches System, das von GNU automake
 | 
					~~~~~~~~~~~~~~~~~~~~~~~~
 | 
				
			||||||
und GNU autoconf ("configure") unterstuetzt wird.
 | 
					
 | 
				
			||||||
 | 
					ngIRCd ist fuer UNIXoide-Systeme konzipiert worden, das bedeutet, dass die
 | 
				
			||||||
 | 
					Installation auf einem modernen UNIX-aehnlichen System kein Problem dar-
 | 
				
			||||||
 | 
					stellen sollte. Das System muss nur von GNU automake und GNU autoconf
 | 
				
			||||||
 | 
					("configure") unterstuetzt werden.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Die Standard-Installation sieht so aus:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   1) tar xzf ngircd-<Version>.tar.gz
 | 
				
			||||||
 | 
					   2) cd ngircd-<Version>
 | 
				
			||||||
 | 
					   3) ./autogen.sh	[nur erforderlich, wenn ueber CVS bezogen]
 | 
				
			||||||
 | 
					   4) ./configure
 | 
				
			||||||
 | 
					   5) make
 | 
				
			||||||
 | 
					   6) make install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
I. Voraussetzungen
 | 
					zu 3): "autogen.sh"
 | 
				
			||||||
~~~~~~~~~~~~~~~~~~
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ngIRCd benoetigt "Alex' Portability Headers" (portab.h). Diese koennen von
 | 
					 | 
				
			||||||
der Homepage heruntergeladen werden:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<http://arthur.ath.cx/~alex/ngircd/#download>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Vor dem configure-Lauf des ngIRCd muessen dies Header auf dem System in-
 | 
					 | 
				
			||||||
stalliert sein, anonsten bricht configure ab.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
II. Quick Start
 | 
					 | 
				
			||||||
~~~~~~~~~~~~~~~
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
In der Regel sind folgende Schritte ausreichend:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   1) ./autogen.sh	[nur erforderlich, wenn ueber CVS bezogen]
 | 
					 | 
				
			||||||
   2) ./configure
 | 
					 | 
				
			||||||
   3) make
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
zu 1) autogen.sh:
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Der erste Schritt, autogen.sh, ist nur notwendig, wenn das configure-Script
 | 
					Der erste Schritt, autogen.sh, ist nur notwendig, wenn das configure-Script
 | 
				
			||||||
noch nicht vorhanden ist. Dies ist nie bei offiziellen ("stabilen") Versionen
 | 
					noch nicht vorhanden ist. Dies ist nie bei offiziellen ("stabilen") Versionen
 | 
				
			||||||
@@ -54,7 +47,7 @@ Versionen!) benoetigt.
 | 
				
			|||||||
(nochmal: "Endanwender" mussen diesen Schritt i.d.R. nicht ausfuehren!)
 | 
					(nochmal: "Endanwender" mussen diesen Schritt i.d.R. nicht ausfuehren!)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
zu 2) ./configure:
 | 
					zu 4): "./configure"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Mit dem configure-Script wird ngIRCd, wie GNU Software meistens, an das
 | 
					Mit dem configure-Script wird ngIRCd, wie GNU Software meistens, an das
 | 
				
			||||||
lokale System angepasst und die erforderlichen Makefile's erzeugt.
 | 
					lokale System angepasst und die erforderlichen Makefile's erzeugt.
 | 
				
			||||||
@@ -64,10 +57,22 @@ erkennen und entsprechend reagieren. Sollte dies einmal nicht der Fall sein,
 | 
				
			|||||||
so zeigt "./configure --help" moegliche Optionen.
 | 
					so zeigt "./configure --help" moegliche Optionen.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
zu 3) make:
 | 
					zu 5): "make"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Der make-Befehl bearbeitet die vom configure-Script erzeugten Makefile's und
 | 
					Der make-Befehl bearbeitet die vom configure-Script erzeugten Makefile's und
 | 
				
			||||||
uebersetzt die comBase-Library und die Testprogramme.
 | 
					uebersetzt den ngIRCd.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					zu 6): "make install"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mit "make install" wird der Server und ggf. eine Beispiels-Konfiguration
 | 
				
			||||||
 | 
					im System installiert; hierzu sind in der Regel root-Rechte erforderlich.
 | 
				
			||||||
 | 
					Eine bereits vorhandene Konfigurationsdatei wird nie ueberschrieben.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Folgende Dateien werden installiert:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- /usr/local/sbin/ngircd: ausfuehrbarer Server
 | 
				
			||||||
 | 
					- /usr/local/etc/ngircd.conf: Beispiel-Konfiguration, wenn nicht vorhanden
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
III. Nuetzliche make-Targets
 | 
					III. Nuetzliche make-Targets
 | 
				
			||||||
@@ -86,5 +91,52 @@ nuetzlichen Targets:
 | 
				
			|||||||
   Naechster Schritt: -> ./autogen.sh
 | 
					   Naechster Schritt: -> ./autogen.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IV. Konfigurationsdatei ngircd.conf
 | 
				
			||||||
 | 
					~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					In der Konfigurationsdatei werden Kommentare durch "#" oder durch ";"
 | 
				
			||||||
 | 
					eingeleitet. Dieses dient nur der besseren Lesbarkeit.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Die Datei ist in drei Abschnitte unterteilt: [Global], [Operator] und
 | 
				
			||||||
 | 
					[Server]. Im [Global]-Teil werden die grundlegenden Einstellungen vor-
 | 
				
			||||||
 | 
					genommen, z.B. der Server-Name und die Ports, auf denen er Verbindungen
 | 
				
			||||||
 | 
					annehmen soll. In [Operator]-Abschnitten werden Server-Operatoren fest-
 | 
				
			||||||
 | 
					gelegt und unter [Server] werden die Einstellungen fuer die Verbindung
 | 
				
			||||||
 | 
					mit anderen Servern konfiguriert.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Die Bedeutung der einzelnen Variablen ist in der Beispiel-Konfiguration
 | 
				
			||||||
 | 
					"doc/sample-ngircd.conf" erklaert, die bei "make install" auch als
 | 
				
			||||||
 | 
					"ngircd.conf" in /usr/local/etc installiert wird, wenn dort noch keine
 | 
				
			||||||
 | 
					Konfigurationsdatei vorhanden ist.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					V. Kommandozeilen-Optionen
 | 
				
			||||||
 | 
					~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Folgende Parameter koennen dem ngIRCd u.a. uebergeben werden:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-f, --config <file>
 | 
				
			||||||
 | 
						Der Daemon wird angewiesen, statt der Standard-Konfigurationsdatei
 | 
				
			||||||
 | 
						/usr/local/etc/ngircd.conf die Datei <file> einzulesen.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-n, --nodaemon
 | 
				
			||||||
 | 
						ngIRCd soll im Fordergrund laufen; alle Meldungen werden zusaetzlich
 | 
				
			||||||
 | 
						zum Syslog auch auf der Konsole ausgegeben.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-p, --passive
 | 
				
			||||||
 | 
						Verbindungen zu anderen Servern (wie in der Konfigurationsdatei in
 | 
				
			||||||
 | 
						[Server]-Abschnitten definiert) werden nicht automatisch hergestellt.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--configtest
 | 
				
			||||||
 | 
						Die Konfigurationsdatei wird eingelesen, ueberprueft und so aus-
 | 
				
			||||||
 | 
						gegeben, wie sie vom ngIRCd interpretiert wurde. Danach beendet
 | 
				
			||||||
 | 
						sich der Server wieder.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Mit dem Parameter "--help" werden alle unterstuetzten Parameter angezeigt,
 | 
				
			||||||
 | 
					mit "--version" die Versionsnummer. Bei beiden Parametern beendet sich der
 | 
				
			||||||
 | 
					Server nach der Ausgabe wieder.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- 
 | 
					-- 
 | 
				
			||||||
$Id: INSTALL,v 1.5 2002/03/03 13:07:01 alex Exp $
 | 
					$Id: INSTALL,v 1.6.2.1 2002/05/08 15:47:06 alex Exp $
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										8
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								NEWS
									
									
									
									
									
								
							@@ -10,10 +10,10 @@
 | 
				
			|||||||
                           -- NEWS / Neuigkeiten --
 | 
					                           -- NEWS / Neuigkeiten --
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ngIRCd 0.3.x, ??.??.2002
 | 
					ngIRCd 0.4.0, 01.04.2002
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - WHO implementiert (bisher ohne komplette Unerstuetzung von Masks).
 | 
					  - WHO implementiert (bisher ohne komplette Unterstuetzung von Masks).
 | 
				
			||||||
  - stderr wird nun in eine Datei umgelenkt (/usr/local/var/ngircd.err).
 | 
					  - stderr wird nun in eine Datei umgelenkt (/ngircd-<PID>.err).
 | 
				
			||||||
    Laeuft der Server nicht im Debug-Modus, so wird diese bei Programm-
 | 
					    Laeuft der Server nicht im Debug-Modus, so wird diese bei Programm-
 | 
				
			||||||
    ende geloescht. Sollte der Server abstuerzen, finden sich hier evtl.
 | 
					    ende geloescht. Sollte der Server abstuerzen, finden sich hier evtl.
 | 
				
			||||||
    zusaetzliche Informationen.
 | 
					    zusaetzliche Informationen.
 | 
				
			||||||
@@ -85,4 +85,4 @@ ngIRCd 0.0.1, 31.12.2001
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- 
 | 
					-- 
 | 
				
			||||||
$Id: NEWS,v 1.25 2002/03/29 23:41:23 alex Exp $
 | 
					$Id: NEWS,v 1.25.2.3 2002/04/01 17:18:03 alex Exp $
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
# Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					# Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
# der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					# der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# $Id: configure.in,v 1.39 2002/03/30 18:02:39 alex Exp $
 | 
					# $Id: configure.in,v 1.39.2.4 2002/04/29 14:11:09 alex Exp $
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# -- Initialisierung --
 | 
					# -- Initialisierung --
 | 
				
			||||||
@@ -17,7 +17,7 @@
 | 
				
			|||||||
AC_INIT
 | 
					AC_INIT
 | 
				
			||||||
AC_CANONICAL_TARGET
 | 
					AC_CANONICAL_TARGET
 | 
				
			||||||
AC_CONFIG_SRCDIR(src/config.h.in)
 | 
					AC_CONFIG_SRCDIR(src/config.h.in)
 | 
				
			||||||
AM_INIT_AUTOMAKE(ngircd,0.3.0-CVS)
 | 
					AM_INIT_AUTOMAKE(ngircd,0.4.2)
 | 
				
			||||||
AM_CONFIG_HEADER(src/config.h)
 | 
					AM_CONFIG_HEADER(src/config.h)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# -- Templates fuer config.h --
 | 
					# -- Templates fuer config.h --
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,7 +18,7 @@ Folgende Software wird jedoch benoetigt:
 | 
				
			|||||||
  - GNU C Compiler (gcc)
 | 
					  - GNU C Compiler (gcc)
 | 
				
			||||||
    Bezugsquellen:
 | 
					    Bezugsquellen:
 | 
				
			||||||
    http://www.rezepte-im-web.de/appleux/gcc281.tar.gz
 | 
					    http://www.rezepte-im-web.de/appleux/gcc281.tar.gz
 | 
				
			||||||
    ftp://arthur.ath.cx/pub/AUX/Software/Development/gcc281.tar.gz
 | 
					    ftp://arthur.ath.cx/pub/AUX/Software/Development/gcc-2.8.1-auxbin.tar.gz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - GNU make
 | 
					  - GNU make
 | 
				
			||||||
    Bezugsquellen:
 | 
					    Bezugsquellen:
 | 
				
			||||||
@@ -30,6 +30,13 @@ Folgende Software wird jedoch benoetigt:
 | 
				
			|||||||
    http://www.rezepte-im-web.de/appleux/sed-3.02.tar.gz
 | 
					    http://www.rezepte-im-web.de/appleux/sed-3.02.tar.gz
 | 
				
			||||||
    ftp://arthur.ath.cx/pub/AUX/Software/Tools/sed-3.02.tar.gz
 | 
					    ftp://arthur.ath.cx/pub/AUX/Software/Tools/sed-3.02.tar.gz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - install (z.B. aus den GNU fileutils)
 | 
				
			||||||
 | 
					    Ein install, welches entweder so "broken" ist, dass configure das eigene
 | 
				
			||||||
 | 
					    Shell-Script waehlt, oder eines, das funktioniert. Leider ist mindestens
 | 
				
			||||||
 | 
					    ein Binary im Umlauf, das Probleme macht.
 | 
				
			||||||
 | 
					    Bezugsquelle:
 | 
				
			||||||
 | 
					    ftp://arthur.ath.cx/pub/UNIX/AUX/Software/Tools/fileutils-4.0.tar.gz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - libUTIL.a
 | 
					  - libUTIL.a
 | 
				
			||||||
    Bezugsquellen:
 | 
					    Bezugsquellen:
 | 
				
			||||||
    http://ftp.mayn.de/pub/apple/apple_unix/Sys_stuff/libUTIL-2.1.tar.gz
 | 
					    http://ftp.mayn.de/pub/apple/apple_unix/Sys_stuff/libUTIL-2.1.tar.gz
 | 
				
			||||||
@@ -39,9 +46,26 @@ Nachdem diese Pakete entsprechend installiert sind, reicht ein ganz normales
 | 
				
			|||||||
"./configure" und "make" aus, um den ngIRCd unter A/UX zu compilieren.
 | 
					"./configure" und "make" aus, um den ngIRCd unter A/UX zu compilieren.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Noch ein paar Hinweise, wenn es doch (noch) nicht klappt:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - auf dem System muss entweder ein install vorhanden sein, welches so
 | 
				
			||||||
 | 
					    "broken" ist, dass configure das eigene Shell-Skript waehlt, oder eben
 | 
				
			||||||
 | 
					    eines, welches funktioniert. Leider ist mindestens ein Binary im Um-
 | 
				
			||||||
 | 
					    lauf, welches Probleme verursacht. Das Binary aus folgenden GNU
 | 
				
			||||||
 | 
					    fileutils funktioniert hier aber z.B.:
 | 
				
			||||||
 | 
					    ftp://arthur.ath.cx/pub/UNIX/AUX/Software/Tools/fileutils-4.0.tar.gz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - das sich im Umlauf befindende vorcompilierte Binary der alten Bash sollte
 | 
				
			||||||
 | 
					    unbedingt ausserhalb von /bin (z.B. unter /usr/local/bin) installiert
 | 
				
			||||||
 | 
					    werden. Ansonsten waehlt es das configure-Script als Shell aus, leider
 | 
				
			||||||
 | 
					    funktioniert das aber nicht.
 | 
				
			||||||
 | 
					    Das config.status-Script sollte mit der ksh als Interpreter erstellt
 | 
				
			||||||
 | 
					    worden sein (siehe erste Zeile davon!).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Hier die Zeiten von Alex System (Macintosh SE/30, 32 MB, A/UX 3.0.1):
 | 
					Hier die Zeiten von Alex System (Macintosh SE/30, 32 MB, A/UX 3.0.1):
 | 
				
			||||||
configure: 7:33, make: 12:02
 | 
					configure: 7:33, make: 12:02
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- 
 | 
					-- 
 | 
				
			||||||
$Id: README-AUX.txt,v 1.1 2002/02/25 14:02:32 alex Exp $
 | 
					$Id: README-AUX.txt,v 1.1.2.2 2002/04/29 14:44:24 alex Exp $
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: channel.c,v 1.20 2002/03/25 16:54:26 alex Exp $
 | 
					 * $Id: channel.c,v 1.20.2.1 2002/04/29 14:11:23 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * channel.c: Management der Channels
 | 
					 * channel.c: Management der Channels
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -171,6 +171,24 @@ GLOBAL INT Channel_Count( VOID )
 | 
				
			|||||||
} /* Channel_Count */
 | 
					} /* Channel_Count */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLOBAL INT Channel_MemberCount( CHANNEL *Chan )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						CL2CHAN *cl2chan;
 | 
				
			||||||
 | 
						INT count;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						assert( Chan != NULL );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						count = 0;
 | 
				
			||||||
 | 
						cl2chan = My_Cl2Chan;
 | 
				
			||||||
 | 
						while( cl2chan )
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							if( cl2chan->channel == Chan ) count++;
 | 
				
			||||||
 | 
							cl2chan = cl2chan->next;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return count;
 | 
				
			||||||
 | 
					} /* Channel_MemberCount */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GLOBAL CHAR *Channel_Name( CHANNEL *Chan )
 | 
					GLOBAL CHAR *Channel_Name( CHANNEL *Chan )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	assert( Chan != NULL );
 | 
						assert( Chan != NULL );
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: channel.h,v 1.16 2002/03/25 19:11:01 alex Exp $
 | 
					 * $Id: channel.h,v 1.16.2.1 2002/04/29 14:11:23 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * channel.h: Management der Channels (Header)
 | 
					 * channel.h: Management der Channels (Header)
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -59,6 +59,7 @@ GLOBAL BOOLEAN Channel_Part( CLIENT *Client, CLIENT *Origin, CHAR *Name, CHAR *R
 | 
				
			|||||||
GLOBAL VOID Channel_RemoveClient( CLIENT *Client, CHAR *Reason );
 | 
					GLOBAL VOID Channel_RemoveClient( CLIENT *Client, CHAR *Reason );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GLOBAL INT Channel_Count( VOID );
 | 
					GLOBAL INT Channel_Count( VOID );
 | 
				
			||||||
 | 
					GLOBAL INT Channel_MemberCount( CHANNEL *Chan );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GLOBAL CHAR *Channel_Name( CHANNEL *Chan );
 | 
					GLOBAL CHAR *Channel_Name( CHANNEL *Chan );
 | 
				
			||||||
GLOBAL CHAR *Channel_Modes( CHANNEL *Chan );
 | 
					GLOBAL CHAR *Channel_Modes( CHANNEL *Chan );
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: client.c,v 1.53 2002/03/27 20:52:58 alex Exp $
 | 
					 * $Id: client.c,v 1.53.2.1 2002/04/29 14:11:23 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * client.c: Management aller Clients
 | 
					 * client.c: Management aller Clients
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -798,7 +798,17 @@ GLOBAL INT Client_MyServiceCount( VOID )
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
GLOBAL INT Client_MyServerCount( VOID )
 | 
					GLOBAL INT Client_MyServerCount( VOID )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return MyCount( CLIENT_SERVER );
 | 
						CLIENT *c;
 | 
				
			||||||
 | 
						INT cnt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						cnt = 0;
 | 
				
			||||||
 | 
						c = My_Clients;
 | 
				
			||||||
 | 
						while( c )
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							if(( c->type == CLIENT_SERVER ) && ( c->hops == 1 )) cnt++;
 | 
				
			||||||
 | 
							c = (CLIENT *)c->next;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return cnt;
 | 
				
			||||||
} /* Client_MyServerCount */
 | 
					} /* Client_MyServerCount */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -867,7 +877,7 @@ LOCAL INT Count( CLIENT_TYPE Type )
 | 
				
			|||||||
	c = My_Clients;
 | 
						c = My_Clients;
 | 
				
			||||||
	while( c )
 | 
						while( c )
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if( c && ( c->type == Type )) cnt++;
 | 
							if( c->type == Type ) cnt++;
 | 
				
			||||||
		c = (CLIENT *)c->next;
 | 
							c = (CLIENT *)c->next;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return cnt;
 | 
						return cnt;
 | 
				
			||||||
@@ -883,7 +893,7 @@ LOCAL INT MyCount( CLIENT_TYPE Type )
 | 
				
			|||||||
	c = My_Clients;
 | 
						c = My_Clients;
 | 
				
			||||||
	while( c )
 | 
						while( c )
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		if( c && ( c->introducer == This_Server ) && ( c->type == Type )) cnt++;
 | 
							if(( c->introducer == This_Server ) && ( c->type == Type )) cnt++;
 | 
				
			||||||
		c = (CLIENT *)c->next;
 | 
							c = (CLIENT *)c->next;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return cnt;
 | 
						return cnt;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: conn.c,v 1.60 2002/03/30 13:40:56 alex Exp $
 | 
					 * $Id: conn.c,v 1.60.2.1 2002/04/08 18:07:42 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * connect.h: Verwaltung aller Netz-Verbindungen ("connections")
 | 
					 * connect.h: Verwaltung aller Netz-Verbindungen ("connections")
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -976,6 +976,7 @@ LOCAL VOID New_Server( INT Server, CONN_ID Idx )
 | 
				
			|||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	Client_SetIntroducer( c, c );
 | 
						Client_SetIntroducer( c, c );
 | 
				
			||||||
 | 
						Client_SetToken( c, TOKEN_OUTBOUND );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Verbindung registrieren */
 | 
						/* Verbindung registrieren */
 | 
				
			||||||
	My_Connections[Idx].sock = new_sock;
 | 
						My_Connections[Idx].sock = new_sock;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: defines.h,v 1.21 2002/03/29 22:55:02 alex Exp $
 | 
					 * $Id: defines.h,v 1.21.2.1 2002/04/08 18:07:42 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * defines.h: (globale) Konstanten
 | 
					 * defines.h: (globale) Konstanten
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -28,9 +28,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define MAX_LISTEN_PORTS 16		/* max. Anzahl von Listen-Ports */
 | 
					#define MAX_LISTEN_PORTS 16		/* max. Anzahl von Listen-Ports */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MAX_OPERATORS 8			/* max. Anzahl konfigurierbarer Operatoren */
 | 
					#define MAX_OPERATORS 16		/* max. Anzahl konfigurierbarer Operatoren */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MAX_SERVERS 8			/* max. Anzahl konfigurierbarer Server ("Peers") */
 | 
					#define MAX_SERVERS 16			/* max. Anzahl konfigurierbarer Server ("Peers") */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MAX_CONNECTIONS 100		/* max. Anzahl von Verbindungen an diesem Server */
 | 
					#define MAX_CONNECTIONS 100		/* max. Anzahl von Verbindungen an diesem Server */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -75,6 +75,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define MAX_LOG_MSG_LEN 256		/* max. Laenge einer Log-Meldung */
 | 
					#define MAX_LOG_MSG_LEN 256		/* max. Laenge einer Log-Meldung */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define TOKEN_OUTBOUND -2		/* Kennzeichnung fuer ausgehende Server-Links im Aufbau */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: irc-channel.c,v 1.3 2002/03/25 17:08:54 alex Exp $
 | 
					 * $Id: irc-channel.c,v 1.3.2.1 2002/04/29 14:11:23 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * irc-channel.c: IRC-Channel-Befehle
 | 
					 * irc-channel.c: IRC-Channel-Befehle
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -218,4 +218,45 @@ GLOBAL BOOLEAN IRC_TOPIC( CLIENT *Client, REQUEST *Req )
 | 
				
			|||||||
} /* IRC_TOPIC */
 | 
					} /* IRC_TOPIC */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLOBAL BOOLEAN IRC_LIST( CLIENT *Client, REQUEST *Req )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						CHAR *pattern;
 | 
				
			||||||
 | 
						CHANNEL *chan;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						assert( Client != NULL );
 | 
				
			||||||
 | 
						assert( Req != NULL );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if( Client_Type( Client ) != CLIENT_USER ) return IRC_WriteStrClient( Client, ERR_NOTREGISTERED_MSG, Client_ID( Client ));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* Falsche Anzahl Parameter? */
 | 
				
			||||||
 | 
						if( Req->argc > 1 ) return IRC_WriteStrClient( Client, ERR_NEEDMOREPARAMS_MSG, Client_ID( Client ), Req->command );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if( Req->argc > 0 ) pattern = strtok( Req->argv[0], "," );
 | 
				
			||||||
 | 
						else pattern = "*";
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						while( pattern )
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							/* alle Channel durchgehen */
 | 
				
			||||||
 | 
							chan = Channel_First( );
 | 
				
			||||||
 | 
							while( chan )
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								/* Passt die Suchmaske auf diesen Channel? Bisher werden hier
 | 
				
			||||||
 | 
								 * "regular expressions" aber noch nicht unterstuetzt ... */
 | 
				
			||||||
 | 
								if(( strcasecmp( pattern, Channel_Name( chan )) == 0 ) || ( strcmp( pattern, "*" ) == 0 ))
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									/* Treffer! */
 | 
				
			||||||
 | 
									if( ! IRC_WriteStrClient( Client, RPL_LIST_MSG, Client_ID( Client), Channel_Name( chan ), Channel_MemberCount( chan ), Channel_Topic( chan ))) return DISCONNECTED;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								chan = Channel_Next( chan );
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							/* naechsten Namen ermitteln */
 | 
				
			||||||
 | 
							if( Req->argc > 0 ) pattern = strtok( NULL, "," );
 | 
				
			||||||
 | 
							else pattern = NULL;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						return IRC_WriteStrClient( Client, RPL_LISTEND_MSG, Client_ID( Client ));
 | 
				
			||||||
 | 
					} /* IRC_LIST */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* -eof- */
 | 
					/* -eof- */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: irc-channel.h,v 1.2 2002/03/12 14:37:52 alex Exp $
 | 
					 * $Id: irc-channel.h,v 1.2.2.1 2002/04/29 14:11:23 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * irc-channel.h: IRC-Channel-Befehle (Header)
 | 
					 * irc-channel.h: IRC-Channel-Befehle (Header)
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -26,6 +26,7 @@ GLOBAL BOOLEAN IRC_JOIN( CLIENT *Client, REQUEST *Req );
 | 
				
			|||||||
GLOBAL BOOLEAN IRC_PART( CLIENT *Client, REQUEST *Req );
 | 
					GLOBAL BOOLEAN IRC_PART( CLIENT *Client, REQUEST *Req );
 | 
				
			||||||
GLOBAL BOOLEAN IRC_TOPIC( CLIENT *Client, REQUEST *Req );
 | 
					GLOBAL BOOLEAN IRC_TOPIC( CLIENT *Client, REQUEST *Req );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLOBAL BOOLEAN IRC_LIST( CLIENT *Client, REQUEST *Req );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: irc-login.c,v 1.11 2002/03/26 23:58:34 alex Exp $
 | 
					 * $Id: irc-login.c,v 1.11.2.1 2002/04/08 18:07:42 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * irc-login.c: Anmeldung und Abmeldung im IRC
 | 
					 * irc-login.c: Anmeldung und Abmeldung im IRC
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -116,7 +116,7 @@ GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req )
 | 
				
			|||||||
		 * wenn wir es nicht so machen. Ob es so okay ist? Hm ... */
 | 
							 * wenn wir es nicht so machen. Ob es so okay ist? Hm ... */
 | 
				
			||||||
		if( strcmp( Client_ID( target ), Req->argv[0] ) == 0 ) return CONNECTED;
 | 
							if( strcmp( Client_ID( target ), Req->argv[0] ) == 0 ) return CONNECTED;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
		
 | 
					
 | 
				
			||||||
		/* pruefen, ob Nick bereits vergeben. Speziallfall: der Client
 | 
							/* pruefen, ob Nick bereits vergeben. Speziallfall: der Client
 | 
				
			||||||
		 * will nur die Gross- und Kleinschreibung aendern. Das darf
 | 
							 * will nur die Gross- und Kleinschreibung aendern. Das darf
 | 
				
			||||||
		 * er natuerlich machen :-) */
 | 
							 * er natuerlich machen :-) */
 | 
				
			||||||
@@ -140,8 +140,16 @@ GLOBAL BOOLEAN IRC_NICK( CLIENT *Client, REQUEST *Req )
 | 
				
			|||||||
		else
 | 
							else
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			/* Nick-Aenderung */
 | 
								/* Nick-Aenderung */
 | 
				
			||||||
			if( Client_Conn( target ) > NONE ) Log( LOG_INFO, "User \"%s\" changed nick (connection %d): \"%s\" -> \"%s\".", Client_Mask( target ), Client_ID( target ), Req->argv[0], Client_Conn( target ));
 | 
								if( Client_Conn( target ) > NONE )
 | 
				
			||||||
			else Log( LOG_DEBUG, "User \"%s\" changed nick: \"%s\" -> \"%s\".", Client_Mask( target ), Client_ID( target ), Req->argv[0] );
 | 
								{
 | 
				
			||||||
 | 
									/* lokaler Client */
 | 
				
			||||||
 | 
									Log( LOG_INFO, "User \"%s\" changed nick (connection %d): \"%s\" -> \"%s\".", Client_Mask( target ), Client_Conn( target ), Client_ID( target ), Req->argv[0] );
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									/* Remote-Client */
 | 
				
			||||||
 | 
									Log( LOG_DEBUG, "User \"%s\" changed nick: \"%s\" -> \"%s\".", Client_Mask( target ), Client_ID( target ), Req->argv[0] );
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			/* alle betroffenen User und Server ueber Nick-Aenderung informieren */
 | 
								/* alle betroffenen User und Server ueber Nick-Aenderung informieren */
 | 
				
			||||||
			if( Client_Type( Client ) == CLIENT_USER ) IRC_WriteStrClientPrefix( Client, Client, "NICK :%s", Req->argv[0] );
 | 
								if( Client_Type( Client ) == CLIENT_USER ) IRC_WriteStrClientPrefix( Client, Client, "NICK :%s", Req->argv[0] );
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: irc-mode.h,v 1.2 2002/03/12 14:37:52 alex Exp $
 | 
					 * $Id: irc-mode.h,v 1.2.2.1 2002/04/08 18:07:42 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * irc-mode.h: IRC-Befehle zur Mode-Aenderung (MODE, AWAY, ...) (Header)
 | 
					 * irc-mode.h: IRC-Befehle zur Mode-Aenderung (MODE, AWAY, ...) (Header)
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -29,4 +29,4 @@ GLOBAL BOOLEAN IRC_AWAY( CLIENT *Client, REQUEST *Req );
 | 
				
			|||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* -eof- */
 | 
					/* -eof- */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: irc-oper.c,v 1.3 2002/03/27 20:52:58 alex Exp $
 | 
					 * $Id: irc-oper.c,v 1.3.2.1 2002/04/08 18:07:42 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * irc-oper.c: IRC-Operator-Befehle
 | 
					 * irc-oper.c: IRC-Operator-Befehle
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -19,6 +19,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include "imp.h"
 | 
					#include "imp.h"
 | 
				
			||||||
#include <assert.h>
 | 
					#include <assert.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ngircd.h"
 | 
					#include "ngircd.h"
 | 
				
			||||||
#include "conf.h"
 | 
					#include "conf.h"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: irc-server.c,v 1.8 2002/03/27 20:52:58 alex Exp $
 | 
					 * $Id: irc-server.c,v 1.8.2.1 2002/04/08 18:07:42 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * irc-server.c: IRC-Befehle fuer Server-Links
 | 
					 * irc-server.c: IRC-Befehle fuer Server-Links
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -80,10 +80,11 @@ GLOBAL BOOLEAN IRC_SERVER( CLIENT *Client, REQUEST *Req )
 | 
				
			|||||||
		Client_SetHops( Client, 1 );
 | 
							Client_SetHops( Client, 1 );
 | 
				
			||||||
		Client_SetInfo( Client, Req->argv[Req->argc - 1] );
 | 
							Client_SetInfo( Client, Req->argv[Req->argc - 1] );
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		/* Meldet sich der Server bei uns an? */
 | 
							/* Meldet sich der Server bei uns an (d.h., bauen nicht wir
 | 
				
			||||||
		if( Req->argc == 2 )
 | 
							 * selber die Verbindung zu einem anderen Server auf)? */
 | 
				
			||||||
 | 
							if( Client_Token( Client ) != TOKEN_OUTBOUND )
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			/* Unseren SERVER- und PASS-Befehl senden */
 | 
								/* Eingehende Verbindung: Unseren SERVER- und PASS-Befehl senden */
 | 
				
			||||||
			ok = TRUE;
 | 
								ok = TRUE;
 | 
				
			||||||
			if( ! IRC_WriteStrClient( Client, "PASS %s "PASSSERVERADD, Conf_Server[i].pwd )) ok = FALSE;
 | 
								if( ! IRC_WriteStrClient( Client, "PASS %s "PASSSERVERADD, Conf_Server[i].pwd )) ok = FALSE;
 | 
				
			||||||
			else ok = IRC_WriteStrClient( Client, "SERVER %s 1 :%s", Conf_ServerName, Conf_ServerInfo );
 | 
								else ok = IRC_WriteStrClient( Client, "SERVER %s 1 :%s", Conf_ServerName, Conf_ServerInfo );
 | 
				
			||||||
@@ -95,7 +96,12 @@ GLOBAL BOOLEAN IRC_SERVER( CLIENT *Client, REQUEST *Req )
 | 
				
			|||||||
			Client_SetIntroducer( Client, Client );
 | 
								Client_SetIntroducer( Client, Client );
 | 
				
			||||||
			Client_SetToken( Client, 1 );
 | 
								Client_SetToken( Client, 1 );
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else  Client_SetToken( Client, atoi( Req->argv[1] ));
 | 
							else
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								/* Ausgehende verbindung, SERVER und PASS wurden von uns bereits
 | 
				
			||||||
 | 
								 * an die Gegenseite uerbermittelt */
 | 
				
			||||||
 | 
								Client_SetToken( Client, atoi( Req->argv[1] ));
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Log( LOG_NOTICE|LOG_snotice, "Server \"%s\" registered (connection %d, 1 hop - direct link).", Client_ID( Client ), Client_Conn( Client ));
 | 
							Log( LOG_NOTICE|LOG_snotice, "Server \"%s\" registered (connection %d, 1 hop - direct link).", Client_ID( Client ), Client_Conn( Client ));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: messages.h,v 1.37 2002/03/12 22:08:24 alex Exp $
 | 
					 * $Id: messages.h,v 1.37.2.1 2002/04/29 14:11:23 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * irc.h: IRC-Befehle (Header)
 | 
					 * irc.h: IRC-Befehle (Header)
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -95,6 +95,12 @@
 | 
				
			|||||||
#define RPL_WHOISCHANNELS		"319"
 | 
					#define RPL_WHOISCHANNELS		"319"
 | 
				
			||||||
#define RPL_WHOISCHANNELS_MSG		RPL_WHOISCHANNELS" %s %s :"
 | 
					#define RPL_WHOISCHANNELS_MSG		RPL_WHOISCHANNELS" %s %s :"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define RPL_LIST			"322"
 | 
				
			||||||
 | 
					#define RPL_LIST_MSG			RPL_LIST" %s %s %d :%s"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define RPL_LISTEND			"323"
 | 
				
			||||||
 | 
					#define RPL_LISTEND_MSG			RPL_LISTEND" %s :End of LIST"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define RPL_CHANNELMODEIS		"324"
 | 
					#define RPL_CHANNELMODEIS		"324"
 | 
				
			||||||
#define RPL_CHANNELMODEIS_MSG		RPL_CHANNELMODEIS" %s %s +%s"
 | 
					#define RPL_CHANNELMODEIS_MSG		RPL_CHANNELMODEIS" %s %s +%s"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: ngircd.c,v 1.41 2002/03/31 13:20:42 alex Exp $
 | 
					 * $Id: ngircd.c,v 1.41.2.2 2002/04/08 18:07:42 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * ngircd.c: Hier beginnt alles ;-)
 | 
					 * ngircd.c: Hier beginnt alles ;-)
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -21,6 +21,7 @@
 | 
				
			|||||||
#include <assert.h>
 | 
					#include <assert.h>
 | 
				
			||||||
#include <errno.h>
 | 
					#include <errno.h>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <signal.h>
 | 
					#include <signal.h>
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
#include <unistd.h>
 | 
					#include <unistd.h>
 | 
				
			||||||
@@ -435,7 +436,8 @@ LOCAL VOID Initialize_Listen_Ports( VOID )
 | 
				
			|||||||
LOCAL VOID Show_Version( VOID )
 | 
					LOCAL VOID Show_Version( VOID )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	puts( NGIRCd_Version( ));
 | 
						puts( NGIRCd_Version( ));
 | 
				
			||||||
	puts( "Copyright (c)2001,2002 by Alexander Barton (alex@barton.de).\n" );
 | 
						puts( "Copyright (c)2001,2002 by Alexander Barton (<alex@barton.de>)." );
 | 
				
			||||||
 | 
						puts( "Homepage: <http://arthur.ath.cx/~alex/ngircd/>\n" );
 | 
				
			||||||
	puts( "This is free software; see the source for copying conditions. There is NO" );
 | 
						puts( "This is free software; see the source for copying conditions. There is NO" );
 | 
				
			||||||
	puts( "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." );
 | 
						puts( "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." );
 | 
				
			||||||
} /* Show_Version */
 | 
					} /* Show_Version */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
					 * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
 | 
				
			||||||
 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
					 * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: parse.c,v 1.31 2002/03/25 17:13:46 alex Exp $
 | 
					 * $Id: parse.c,v 1.31.2.1 2002/04/29 14:11:23 alex Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * parse.c: Parsen der Client-Anfragen
 | 
					 * parse.c: Parsen der Client-Anfragen
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -292,6 +292,7 @@ LOCAL BOOLEAN Handle_Request( CONN_ID Idx, REQUEST *Req )
 | 
				
			|||||||
	else if( strcasecmp( Req->command, "AWAY" ) == 0 ) return IRC_AWAY( client, Req );
 | 
						else if( strcasecmp( Req->command, "AWAY" ) == 0 ) return IRC_AWAY( client, Req );
 | 
				
			||||||
	else if( strcasecmp( Req->command, "TOPIC" ) == 0 ) return IRC_TOPIC( client, Req );
 | 
						else if( strcasecmp( Req->command, "TOPIC" ) == 0 ) return IRC_TOPIC( client, Req );
 | 
				
			||||||
	else if( strcasecmp( Req->command, "WHO" ) == 0 ) return IRC_WHO( client, Req );
 | 
						else if( strcasecmp( Req->command, "WHO" ) == 0 ) return IRC_WHO( client, Req );
 | 
				
			||||||
 | 
						else if( strcasecmp( Req->command, "LIST" ) == 0 ) return IRC_LIST( client, Req );
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	/* Unbekannter Befehl */
 | 
						/* Unbekannter Befehl */
 | 
				
			||||||
	if( Client_Type( client ) != CLIENT_SERVER ) IRC_WriteStrClient( client, ERR_UNKNOWNCOMMAND_MSG, Client_ID( client ), Req->command );
 | 
						if( Client_Type( client ) != CLIENT_SERVER ) IRC_WriteStrClient( client, ERR_UNKNOWNCOMMAND_MSG, Client_ID( client ), Req->command );
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user