mirror of
				https://github.com/osmarks/ngircd.git
				synced 2025-10-31 05:52:59 +00:00 
			
		
		
		
	- Removed german documentation (no maintainer).
This commit is contained in:
		| @@ -1,64 +0,0 @@ | ||||
|  | ||||
|                      ngIRCd - Next Generation IRC Server | ||||
|  | ||||
|                       (c)2001,2002 by Alexander Barton, | ||||
|                     alex@barton.de, http://www.barton.de/ | ||||
|  | ||||
|                   ngIRCd ist freie Software und steht unter | ||||
|                        der GNU General Public License. | ||||
|  | ||||
|                                  -- CVS.txt -- | ||||
|  | ||||
|  | ||||
| Die Sourcen des ngIRCd werden mit dem "Concurrent Versions System" (CVS) | ||||
| verwaltet. Somit koennen ohne Probleme mehrere Leute gleichzeitig die Sourcen | ||||
| bearbeitet. | ||||
|  | ||||
|  | ||||
| I. Anonymer "Nur-Lesen"-Zugang | ||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
| Anonymer Zugriff auf die CVS-Repository von ngIRCd ist im "nur-lesen"-Modus | ||||
| moeglich. Dazu sind folgende Schritte noetig: | ||||
|  | ||||
| Beim CVS-Server anmelden | ||||
|  | ||||
|  $ cvs -d:pserver:anonymous@arthur.ath.cx:/usr/local/CVS/ngircd login | ||||
|  | ||||
| Als Benutzername wird "anonymous" mit einem leeren Passwort verwendet. | ||||
| Nun ein "Check-Out" der Quellcodes durchfuehren: | ||||
|  | ||||
|  $ cvs -d:pserver:anonymous@arthur.ath.cx:/usr/local/CVS/ngircd checkout ngircd | ||||
|  | ||||
| Dadurch wird im aktuellen Verzeichnis der neue Ordner "ngircd" mit allen | ||||
| Quell-Dateien des ngIRCd erzeugt. | ||||
|  | ||||
| Dieses ist der "Arbeitsordner", alle CVS-Befehle werden in Zukunft aus | ||||
| diesem Ordner bzw. einem Unterordner davon ausgefuehrt. | ||||
|  | ||||
| Wichtig: wenn ngIRCd "frisch" aus dem CVS compiliert werden soll, so | ||||
| existiert das configure-Script noch nicht. Dieses muss zunaechst mit dem | ||||
| Script "autogen.sh" erzeugt werden. Letzteres setzt ein installiertes GNU | ||||
| automake und GNU autoconf voraus! | ||||
|  | ||||
| CVS-Tree aktualisieren: | ||||
|  | ||||
|  $ cvs update | ||||
|  | ||||
| Dieser Befehl aktualisiert alle Dateien im aktuellen Verzeichnis sowie allen | ||||
| Unterverzeichnissen. | ||||
|  | ||||
|  $ cvs update <filename> | ||||
|  | ||||
| So kann eine einzelne Datei aktualisiert werden (auch dann, wenn sie lokal | ||||
| z.B. geloescht wurde -- praktisch, um eigene "Experimente" rueckgaengig zu | ||||
| machen ;-)) | ||||
|  | ||||
|  | ||||
| III. Schreibzugriff | ||||
| ~~~~~~~~~~~~~~~~~~~ | ||||
| Wer Schreibzugriff auf die CVS-Repository wuenscht, der moege sich bitte | ||||
| mit Alex Barton, <alex@barton.de> in Verbindung setzen. | ||||
|  | ||||
|  | ||||
| --  | ||||
| $Id: CVS.txt,v 1.1 2003/01/04 13:07:54 alex Exp $ | ||||
| @@ -1,61 +0,0 @@ | ||||
|  | ||||
|                      ngIRCd - Next Generation IRC Server | ||||
|  | ||||
|                       (c)2001,2002 by Alexander Barton, | ||||
|                     alex@barton.de, http://www.barton.de/ | ||||
|  | ||||
|                   ngIRCd ist freie Software und steht unter | ||||
|                        der GNU General Public License. | ||||
|  | ||||
|                     -- FAQ: Frequently Asked Questions -- | ||||
|  | ||||
|  | ||||
| I. Allgemein | ||||
| ~~~~~~~~~~~~ | ||||
| Q: Kann der ngIRCd im Netz zusammen mit "normalen" Servern betrieben werden? | ||||
| A: Ja. ngIRCd ist zum Original kompatibel, getestet wird dies zur Zeit mit | ||||
|    der Version 2.10.3p3 des ircd. | ||||
|  | ||||
| Q: Gibt es eine Homepage mit Informationen und Downloads? | ||||
| A: Ja. Die URL ist <http://arthur.ath.cx/~alex/ngircd/>. | ||||
|  | ||||
|  | ||||
| II. Compilieren | ||||
| ~~~~~~~~~~~~~~~ | ||||
| Q: Ich habe die Sourcen von ngIRCd ueber CVS installiert. Nun kann ich | ||||
|    ./configure nicht ausfuehren, da es nicht existiert!? | ||||
| A: Bei Builds direkt aus dem CVS-Tree muss das configure-Script zunaechst | ||||
|    durch GNU autoconf sowie die Makefile.in's durch GNU automake generiert | ||||
|    werden. Um dies zu vereinfachen existiert das Script "./autogen.sh". | ||||
|    GNU automake und GNU autoconf werden -- im Gegensatz zu Builds aus den | ||||
|    Sourcen eines .tar.gz-Archivs -- hierbei benoetigt! | ||||
|  | ||||
| Q: ./autogen.sh bricht mit der Meldung "autoheader: command not found" ab. | ||||
| A: GNU autoconf ist nicht installiert, wird jedoch bei Builds direkt aus | ||||
|    dem CVS-Tree benoetigt. | ||||
|  | ||||
| Q: ./autogen.sh bricht mit der Meldung "autoconf: Undefined macros: | ||||
|    AC_FUNC_MALLOC" bzw. "AC_CONFIG_SRCDIR" ab. | ||||
| A: Auf dem System ist eine zu alte Version von GNU autoconf installiert. | ||||
|    Ein Update auf z.B. Version 2.52 loest dieses Problem (eine installierte | ||||
|    alte Version sollte ggf. zunaechst entfernt werden, bei RPM-Paketen z.B. | ||||
|    mit dem Befehl "rpm -e autoconf"). | ||||
|  | ||||
|  | ||||
| III. Bugs!? | ||||
| ~~~~~~~~~~~ | ||||
| Q: Gibt es eine Liste der bekannten Bugs bzw. Feature-Wuensche? | ||||
| A: Ja. Es existiert ein Bug-Tracking-System fuer den ngIRCd (Bugzilla): | ||||
|    URL: <http://arthur.ath.cx/bugzilla/ngircd/>. Dort koennen Bugs ge- | ||||
|    meldet und Feature-Wunsche kundgetan werden. Bekannte Bugs koennen in | ||||
|    der Datenbank gesucht und aufgelistet werden. | ||||
|    Einen Account zum Suchen und Melden von Bugs bzw. Feature-Wuenschen | ||||
|    kannst du dir dort selber anlegen. | ||||
|  | ||||
| Q: Was mache ich, wenn ich einen Bug gefunden habe? | ||||
| A: Am besten traegst du ihn in das Bug-Tracking-System des ngIRCd ein: | ||||
|    URL: <http://arthur.ath.cx/bugzilla/ngircd/> | ||||
|  | ||||
|  | ||||
| --  | ||||
| $Id: FAQ.txt,v 1.2 2003/03/09 22:17:35 alex Exp $ | ||||
							
								
								
									
										156
									
								
								doc/de/INSTALL
									
									
									
									
									
								
							
							
						
						
									
										156
									
								
								doc/de/INSTALL
									
									
									
									
									
								
							| @@ -1,156 +0,0 @@ | ||||
|  | ||||
|                      ngIRCd - Next Generation IRC Server | ||||
|  | ||||
|                       (c)2001,2002 by Alexander Barton, | ||||
|                     alex@barton.de, http://www.barton.de/ | ||||
|  | ||||
|                   ngIRCd ist freie Software und steht unter | ||||
|                        der GNU General Public License. | ||||
|  | ||||
|                          -- INSTALL / Installation -- | ||||
|                           | ||||
|                       Ilja Osthoff, <ilja@glide.ath.cx> | ||||
|  | ||||
|  | ||||
| 0. Update von frueheren Versionen | ||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| Unterschiede zu Version 0.5.x | ||||
|  | ||||
| - Ab Version 0.6.0 werden asynchrone Passwoerter zur Identifikation anderer | ||||
|   Server, die Variable "Password" in [Server]-Abschnitten wird nicht mehr | ||||
|   unterstuetzt. Passwoerter fuer Server-Server-Links werden nun mit den | ||||
|   Variablen "MyPassword" und "PeerPassword" angegeben. | ||||
|  | ||||
| - Neue Konfigurationsvariablen, Sektion [Global]: MaxConnections, MaxJoins | ||||
|   (vgl. auch Beispiel-Konfiguration "doc/sample-ngircd.conf"!) | ||||
|  | ||||
|  | ||||
| I. Standard-Installation | ||||
| ~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| 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 | ||||
|  | ||||
|  | ||||
| zu 3): "autogen.sh" | ||||
|  | ||||
| Der erste Schritt, autogen.sh, ist nur notwendig, wenn das configure-Script | ||||
| noch nicht vorhanden ist. Dies ist nie bei offiziellen ("stabilen") Versionen | ||||
| in tar.gz-Archiven der Fall, jedoch immer, wenn der Source-Code ueber CVS | ||||
| bezogen wurde. | ||||
|  | ||||
| Dieser Absatz ist also eigentlich ausschliesslich fuer Entwickler interessant. | ||||
|  | ||||
| autogen.sh erzeugt die fuer das configure-Script notwendigen Makefile.in's | ||||
| sowie das configure-Script selber und weitere fuer den make-Lauf erforderliche | ||||
| Dateien. Dazu wird sowohl GNU automake als auch GNU autoconf (in aktuellen | ||||
| Versionen!) benoetigt. | ||||
|  | ||||
| (nochmal: "Endanwender" mussen diesen Schritt i.d.R. nicht ausfuehren!) | ||||
|  | ||||
|  | ||||
| zu 4): "./configure" | ||||
|  | ||||
| Mit dem configure-Script wird ngIRCd, wie GNU Software meistens, an das | ||||
| lokale System angepasst und die erforderlichen Makefile's erzeugt. | ||||
|  | ||||
| Im Optimalfall sollte configure alle benoetigten Libraries, Header etc. selber | ||||
| erkennen und entsprechend reagieren. Sollte dies einmal nicht der Fall sein, | ||||
| so zeigt "./configure --help" moegliche Optionen. | ||||
|  | ||||
|  | ||||
| zu 5): "make" | ||||
|  | ||||
| Der make-Befehl bearbeitet die vom configure-Script erzeugten Makefile's und | ||||
| 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 | ||||
|  | ||||
|  | ||||
| II. Nuetzliche make-Targets | ||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| Die vom configure-Script erzeugten Makefile's enthalten immer die folgenden | ||||
| nuetzlichen Targets: | ||||
|  | ||||
|  - clean: alle Erzeugnisse des Compilers/Linkers loeschen. | ||||
|    Naechster Schritt: -> make | ||||
|  | ||||
|  - distclean: zusaetzliche alle Makefile's loeschen. | ||||
|    Naechster Schritt: -> ./configure | ||||
|  | ||||
|  - maintainer-clean: alle automat. erzeugten Dateien loeschen. | ||||
|    Naechster Schritt: -> ./autogen.sh | ||||
|  | ||||
|  | ||||
|  | ||||
| III. 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. | ||||
|  | ||||
|  | ||||
| IV. 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 Vordergrund 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.2 2003/03/09 22:17:35 alex Exp $ | ||||
| @@ -1,21 +0,0 @@ | ||||
| # | ||||
| # 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 2003/01/04 13:07:54 alex Exp $ | ||||
| # | ||||
|  | ||||
| EXTRA_DIST = INSTALL README sample-ngircd.conf CVS.txt FAQ.txt Protocol.txt \ | ||||
| 	README-AUX.txt README-BeOS.txt RFC.txt | ||||
|  | ||||
| maintainer-clean-local: | ||||
| 	rm -f Makefile Makefile.in | ||||
|  | ||||
| # -eof- | ||||
| @@ -1,115 +0,0 @@ | ||||
|  | ||||
|                      ngIRCd - Next Generation IRC Server | ||||
|  | ||||
|                       (c)2001,2002 by Alexander Barton, | ||||
|                     alex@barton.de, http://www.barton.de/ | ||||
|  | ||||
|                   ngIRCd ist freie Software und steht unter | ||||
|                        der GNU General Public License. | ||||
|  | ||||
|                               -- Protocol.txt -- | ||||
|  | ||||
|  | ||||
| I. Kompatibilitaet | ||||
| ~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| Der ngIRCd haelt sich an das IRC-Protokoll Version 2.10, wie es in den RFCs | ||||
| 1459 und 2810-2813 beschrieben ist. Diese (und ggf. weitere fuer den ngIRCd | ||||
| relevante) RFCs sind in RFC.txt aufgefuehrt. | ||||
|  | ||||
| Leider verhaelt sich aber schon der "Originalserver" nicht immer genau so, | ||||
| wie es in den RFCs beschrieben ist. Da der ngIRCd aber ein Ersatz fuer | ||||
| eben diesen Server sein soll, werden diese Abweichungen in der Regel vom | ||||
| ngIRCd emuliert um die Kompatibilitaet zu wahren. | ||||
|  | ||||
| Sollte dieses Verhalten nicht erwuenscht sein, so kann mit der configure- | ||||
| Option "--enable-strict-rfc" der ngIRCd so compiliert werden, dass er sich | ||||
| strikt an die entsprechenden RFCs haelt. | ||||
|  | ||||
| ACHTUNG: an einem so compilierten Server koennen sich andere Server und | ||||
| Clients, die sich nicht genau an das Protokoll halten, u.U. nicht mehr | ||||
| anmelden oder alle Funktionen nutzen! In der Regel ist diese Option daher | ||||
| nicht erwuenscht. | ||||
|  | ||||
|  | ||||
| II. Das IRC+-Protokoll | ||||
| ~~~~~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| Der ngIRCd unterstuetzt als Erweiterung zum IRC-Protokoll wie es in den RFCs | ||||
| 2810-2813 beschrieben ist, das IRC+-Protokoll. Dieses Protokoll ist dabei | ||||
| kompatibel zum IRC-Protokoll und wird nur verwendet, wenn der ngIRCd fest- | ||||
| stellt, dass ein connectierter Server ebenfalls dieses erweiterte Protokoll | ||||
| unterstuetzt. | ||||
|  | ||||
| Die Protokoll- und Server-Erkennung wird mit dem "PASS"-Befehl durchgefuehrt | ||||
| (vgl. RFC 2813, Sektion 4.1.1): | ||||
|  | ||||
|  | ||||
| II.1 neuen Server-Link registrieren | ||||
|  | ||||
|      Befehl: PASS | ||||
|   Parameter: <password> <version> <flags> [<options>] | ||||
|        Fuer: mit dieser Syntax nur Server | ||||
|  | ||||
| <password> enthaelt das Passwort fur den neu aufzubauenden Server-Link, | ||||
| so wie es in der Konfigurationsdatei definiert wurde. | ||||
|  | ||||
| <version> setzt sich aus zwei Teilen zusammen und ist mindestens 4, maximal | ||||
| 14 Zeichen lang: die ersten vier Bytes enthalten die Versionsnummer des | ||||
| unterstuetzten IRC-Protokolls, wobei die ersten zwei Bytes die Major-, die | ||||
| letzten beiden die Minor-Revision angeben. Der String "0210" steht also | ||||
| fuer Protokollversion 2.10. | ||||
| Die folgenden (optionalen!) 10 Bytes enthalten eine von der jeweiligen | ||||
| Implementation abhaengige Versionsnummer. Server, die das IRC+-Protokoll | ||||
| unterstuetzen, liefern hier "-IRC+". | ||||
|  | ||||
| <flags> setzt sich ebenfalls aus zwei Bestandteilen zusammen und ist | ||||
| maximal 100 Bytes lang. Getrennt werden die beiden Teile mit dem Zeichen | ||||
| "|". Der erste Teil enthaelt den Namen der Implementation, der ngIRCd | ||||
| liefert hier z.B. "ngIRCd", der Originalserver "IRC". Anhand dieser "ID" | ||||
| kann zwischen Serverimplementationen unterschieden werden. Der zweite Teil | ||||
| (nach dem "|") ist implementationsabhaengig und wird nur ausgewertet, | ||||
| wenn die Gegenseite das IRC+-Protokoll unterstuetzt. In diesem Fall wird | ||||
| folgende Syntax erwartet: "<serverversion>[:<serverflags>]". | ||||
|  | ||||
| <serverversion> ist hier eine ASCII-Klartext-Darstellung der Versionsnummer, | ||||
| <serverflags> zeigt die vom Server unterstuetzten Erweiterungen an (und | ||||
| kann die leere Menge sein). | ||||
|  | ||||
| Mit dem optionalen Parameter <options> werden Server-Optionen uebermittelt, | ||||
| wie sie in RFC 2813, Sektion 4.1.1 definiert sind. | ||||
|  | ||||
| Folgende <serverflags> sind zur Zeit definiert: | ||||
|  | ||||
| - o: IRC-Operatoren duerfen auch dann Channel- und Channel-User-Modes | ||||
|      aendern, wenn sie kein Channel-Operator im betroffenen Channel sind. | ||||
|  | ||||
| - C: der Server unterstuetzt den CHANINFO-Befehl.      | ||||
|  | ||||
|  | ||||
| II.2 Channel-Modes, persistente Channel und Topic austauschen | ||||
|  | ||||
|      Befehl: CHANINFO | ||||
|   Parameter: <channel> +<modes> [[<key> <maxusers>] <topic>] | ||||
|        Fuer: Server | ||||
|  | ||||
| Mit CHANINFO Informiert ein Server den anderen ueber einen Channel: dessen | ||||
| Modes, Channel-Key, User-Limit und dessen Topic. <topic> ist optional. | ||||
|  | ||||
| Existiert auf dem Server, der das CHANINFO empfaengt, der Channel bereits, | ||||
| so uebernimmt er die Werte jeweils nur dann, wenn er selber noch keine | ||||
| Modes bzw. kein Topic definiert hat. Ansonsten wird der jeweilige Parameter | ||||
| ignoriert. | ||||
|  | ||||
| Existiert der Channel noch nicht, so wird er mit den entsprechenden Angaben | ||||
| erzeugt. | ||||
|  | ||||
| Hat ein Channel keinen Key (in <modes> ist der Mode "k" nicht vorhanden), | ||||
| so muss der Parameter <key> ignoriert werden (da <key> vorhanden sein muss, | ||||
| sollte in diesem Fall "*" uebergeben werden). Hat er kein User-Limit (kein | ||||
| "l" in <modes>), so muss <limit> ignoriert werden (<limit> sollte hierbei | ||||
| als "0" uebergeben werden). | ||||
|  | ||||
|  | ||||
| --  | ||||
| $Id: Protocol.txt,v 1.2 2003/01/15 13:45:59 alex Exp $ | ||||
| @@ -1,88 +0,0 @@ | ||||
|   | ||||
|                      ngIRCd - Next Generation IRC Server | ||||
|  | ||||
|                       (c)2001,2002 by Alexander Barton, | ||||
|                     alex@barton.de, http://www.barton.de/ | ||||
|  | ||||
|                   ngIRCd ist freie Software und steht unter | ||||
|                        der GNU General Public License. | ||||
|  | ||||
|                            -- README / Liesmich -- | ||||
|                             | ||||
|                       Ilja Osthoff, <ilja@glide.ath.cx> | ||||
|  | ||||
|  | ||||
| I. Einfuehrung | ||||
| ~~~~~~~~~~~~~~ | ||||
|  | ||||
| ngIRCd ist ein Open-Source-Server fuer den Internet Relay Chat (IRC), der | ||||
| unter der GNU General Public License (http://www.gnu.org/licenses/gpl.html) | ||||
| entwickelt wird. ngIRCd steht fuer "next generation IRC daemon", er ist von | ||||
| Grund auf neu geschrieben, also nicht wie die meisten anderen IRCd's vom | ||||
| Urvater, dem Daemon des IRCNet abgeleitet. | ||||
|  | ||||
|  | ||||
| II. Status | ||||
| ~~~~~~~~~~~ | ||||
|  | ||||
| Zur Zeit befindet sich der ngIRCd noch in Entwicklung, manche Features sind | ||||
| noch nicht implementiert, andere nur teilweise. | ||||
|  | ||||
| Bisher (mehr oder wenig vollstaendig) implementierte IRC-Befehle: | ||||
|  | ||||
| ADMIN, AWAY, CHANINFO, CONNECT, DIE, ERROR, INVITE, ISON, JOIN, KICK, KILL, | ||||
| LINKS, LIST, LUSERS, MODE, MOTD, NAMES, NICK, NJOIN, NOTICE, OPER, PART, | ||||
| PASS, PING, PONG, PRIVMSG, QUIT, RESTART, SERVER, SQUIT, TIME, TOPIC, | ||||
| USERHOST, USER, VERSION, WHO, WHOIS. | ||||
|  | ||||
|  | ||||
| III. Features (oder: warum gerade ngIRCd?) | ||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| - keine Probleme mit Servern, deren IP-Adresse dynamisch ist, | ||||
| - einfache, uebersichtliche Konfigurationsdatei, | ||||
| - frei verfuegbarer C-Quellcode. | ||||
| - ngIRCd wird aktiv weiterentwickelt. | ||||
| - unterstuetzte Plattformen (getestete Version): AIX (3.2.5), A/UX (3.0.1), | ||||
|   FreeBSD/i386 (4.5), HP-UX (10.20), IRIX (6.5), Linux (2.x), Mac OS X (10.x), | ||||
|   NetBSD (1.5.2/i386, 1.5.3/m68k), Solaris (2.5.1, 2.6), Windows mit Cygwin. | ||||
|  | ||||
|  | ||||
| IV. Dokumentation | ||||
| ~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| Englischsprachige Dokumentation finde sich im Verzeichnis "doc/", deutsch- | ||||
| sprachige in "doc/de/". Die allgemeinen README- und INSTALL-Texte (wiederum | ||||
| in englisch) finden sich im Hauptverzeichnis der ngIRCd-Sourcen. | ||||
|  | ||||
|  | ||||
| V. Bezugsquellen | ||||
| ~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| Die Homepage des ngIRCd ist: <http://arthur.ath.cx/~alex/ngircd>; dort | ||||
| findest du immer die neusten Informationen ueber den ngIRCd und die aktuellen | ||||
| freigegebenen ("stabilen") Releases. | ||||
|  | ||||
| Falls du dich fuer die aktuellen Entwicklungs-Versionen (die jedoch nicht | ||||
| immer "stabil" sind) interessierst, dann lese bitte den Punkt "CVS" auf der | ||||
| Homepage und die Datei "doc/CVS.txt", die die Verwendung des "Concurrent | ||||
| Versioning System" (CVS) beschreibt. | ||||
|  | ||||
|  | ||||
| VI. Bugs | ||||
| ~~~~~~~~ | ||||
|  | ||||
| Wenn du im ngIRCd Bugs finden solltest (so was soll ja auch vorkommen :-), | ||||
| dann lege bitte einen Bug-Report ueber diese URL an: | ||||
|  | ||||
| <http://arthur.ath.cx/~alex/ngircd/#bugs> | ||||
|  | ||||
| Dort kannst du dich auch ueber bekannte Fehler informieren. | ||||
|  | ||||
| Falls du noch Anregungen, Kritik, Patches etc. pp. zum ngIRCd hast, dann | ||||
| bitte einfach eine Mail an <alex@barton.de> oder <alex@arthur.ath.cx> | ||||
| schreiben. | ||||
|  | ||||
|  | ||||
| --  | ||||
| $Id: README,v 1.2 2003/01/04 13:14:46 alex Exp $ | ||||
| @@ -1,68 +0,0 @@ | ||||
|  | ||||
|                      ngIRCd - Next Generation IRC Server | ||||
|  | ||||
|                       (c)2001,2002 by Alexander Barton, | ||||
|                     alex@barton.de, http://www.barton.de/ | ||||
|  | ||||
|                   ngIRCd ist freie Software und steht unter | ||||
|                        der GNU General Public License. | ||||
|  | ||||
|                              -- README-AUX.txt -- | ||||
|  | ||||
|  | ||||
| Seit Version 0.2.2-pre gehoert Apple A/UX zu den offiziell unterstuetzten | ||||
| Plattformen. Er ist im vollen Funktionsumfang nutzbar. | ||||
|  | ||||
| Ab Version 0.5.0 compiliert zudem der ngIRCd mit dem nativen A/UX-Compiler, | ||||
| d.h. GNU C wird nicht mehr zwingend vorausgesetzt. | ||||
|  | ||||
| Folgende Software wird jedoch benoetigt: | ||||
|  | ||||
|   - GNU sed | ||||
|     Bezugsquellen: | ||||
|     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 | ||||
|  | ||||
|     A/UX beinhaltet ein /bin/sed, dieses unterstuetzt jedoch leider nicht | ||||
|     alle Funktionen, die GNU automake/autoconf nutzen. | ||||
|     Achtung: bitte bei der Installation von GNU sed sicherstellen, dass | ||||
|     immer dieses und nie das von A/UX verwendet wird (also $PATH entsprechend | ||||
|     anpassen bzw. die A/UX-Version komplett ersetzen)! | ||||
|  | ||||
|   - libUTIL.a | ||||
|     Bezugsquellen: | ||||
|     http://ftp.mayn.de/pub/apple/apple_unix/Sys_stuff/libUTIL-2.1.tar.gz | ||||
|     ftp://arthur.ath.cx/pub/AUX/Software/Libraries/libUTIL-2.1.tar.gz | ||||
|  | ||||
|     Diese Library beinhaltet Systemfunktionen, die auf UNIXoiden Systemen | ||||
|     gaengig, unter A/UX jedoch leider nicht verfuegbar sind. Dazu gehoert | ||||
|     u.a. memmove(), strerror() und strdup(). | ||||
|  | ||||
| Nachdem diese Pakete entsprechend installiert sind, reicht ein ganz normales | ||||
| "./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. | ||||
|  | ||||
|   - da die /bin/sh von A/UX recht limitiert ist, kann sie u.a. nicht zum | ||||
|     Erzeugen des "config.status"-Scripts verwendet werden. | ||||
|     Abhilfe: /bin/sh umbenennen (z.B. in "/bin/sh.AUX") und durch einen (am | ||||
|     besten symbolischen) Link auf /bin/ksh ersetzen. | ||||
|     Dieser Schritt sollte keine Probleme nach sich ziehen und ist daher immer, | ||||
|     auch unabhaengig vom ngIRCd, empfehlenswert. | ||||
|  | ||||
|  | ||||
| --  | ||||
| $Id: README-AUX.txt,v 1.1 2003/01/04 13:07:54 alex Exp $ | ||||
| @@ -1,47 +0,0 @@ | ||||
|  | ||||
|                      ngIRCd - Next Generation IRC Server | ||||
|  | ||||
|                       (c)2001,2002 by Alexander Barton, | ||||
|                     alex@barton.de, http://www.barton.de/ | ||||
|  | ||||
|                   ngIRCd ist freie Software und steht unter | ||||
|                        der GNU General Public License. | ||||
|  | ||||
|                              -- README-BeOS.txt -- | ||||
|  | ||||
|  | ||||
| BeOS gehoert im Moment (noch?) nicht zu den offiziell unterstuetzten Plat- | ||||
| formen: der ngIRCd enthaelt zwar bereits einige Anpassungen an BeOS und | ||||
| compiliert auch, jedoch bricht er bei jedem Connect-Versuch eines Clients | ||||
| mit diesem Fehler ab: | ||||
|  | ||||
|    select(): Bad file descriptor! | ||||
|  | ||||
| Es sieht leider so aus, als ob das select() von BeOS nicht mit File-Handles | ||||
| von Pipes verschiedener Prozesse umgehen kann: sobald der Resolver asynchron | ||||
| gestartet wird, also Pipe-Handles im select() vorhanden sind, fuehrt das zu | ||||
| obiger Meldung. | ||||
|  | ||||
| Theoretische "Loesung"/Workaround: | ||||
| Den Resolver unter BeOS nicht verwenden, sondern mit IP-Adressen arbeiten. | ||||
| Nachteil: der ngIRCd koennte sich nicht zu Servern verbinden, die dynamische | ||||
| Adressen benutzen -- dazu muesste er den Namen aufloesen. Ansonsten sollte | ||||
| es eigentlich zu keinen Beeintraechtigungen kommen ... | ||||
|  | ||||
| Also: wenn es jemand implementieren will ... ;-)) | ||||
|  | ||||
| Vielleicht mache ich es auch irgendwann mal selber. Mal sehen. | ||||
|  | ||||
| 2002-05-19: | ||||
| Ich habe gerade damit ein wenig gespielt und den Source hier so geaendert, | ||||
| dass unter BeOS keine Resolver-Subprozesse mehr erzeugt werden, sondern mit | ||||
| den "rohen" IP-Adressen gearbeitet wird. Das funktioniert so weit auch, | ||||
| allerdings verschluckt sich BeOS nun bei anderen Funktionen, so zum Beispiel | ||||
| bei close(), wenn ein Socket eines Clients geschlossen werden soll!? | ||||
| Sehr komisch. | ||||
| Wer Interesse daran hat, das weiter zu verfolgen, der moege sich bitte mit | ||||
| mir in Verbindung setzen (alex@barton.de), ich maile gerne meine Patches zu. | ||||
| Fuer eine Aenderung im CVS ist es aber meiner Meinung nach noch zu frueh ... | ||||
|  | ||||
| --  | ||||
| $Id: README-BeOS.txt,v 1.2 2003/03/09 22:17:35 alex Exp $ | ||||
| @@ -1,32 +0,0 @@ | ||||
|  | ||||
|                      ngIRCd - Next Generation IRC Server | ||||
|  | ||||
|                       (c)2001,2002 by Alexander Barton, | ||||
|                     alex@barton.de, http://www.barton.de/ | ||||
|  | ||||
|                   ngIRCd ist freie Software und steht unter | ||||
|                        der GNU General Public License. | ||||
|  | ||||
|                                  -- RFC.txt -- | ||||
|  | ||||
|  | ||||
| Das IRC-Protokoll ist in diesen RFC's (Request For Comments) dokumentiert: | ||||
|  | ||||
|   1459	Oikarinen, J. & D. Reed, "Internet Relay Chat Protocol", | ||||
| 	May 1993, [IRC]. | ||||
|  | ||||
|   2810	Kalt, C., "Internet Relay Chat: Architecture", | ||||
| 	April 2000, [IRC-ARCH]. | ||||
|  | ||||
|   2811	Kalt, C., "Internet Relay Chat: Channel Management", | ||||
| 	April 2000, [IRC-CHAN]. | ||||
|  | ||||
|   2812	Kalt, C., "Internet Relay Chat: Client Protocol", | ||||
| 	April 2000, [IRC-CLIENT]. | ||||
|  | ||||
|   2813	Kalt, C., "Internet Relay Chat: Server Protocol", | ||||
| 	April 2000, [IRC-SERVER]. | ||||
|  | ||||
|  | ||||
| --  | ||||
| $Id: RFC.txt,v 1.1 2003/01/04 13:07:54 alex Exp $ | ||||
| @@ -1,159 +0,0 @@ | ||||
| # $Id: sample-ngircd.conf,v 1.2 2003/03/09 22:17:35 alex Exp $ | ||||
|  | ||||
| # | ||||
| # Das ist eine Beispiel-Konfiguration fuer den ngIRCd, die an die | ||||
| # jeweiligen Beduerfnisse angepasst werden kann/muss. | ||||
| # | ||||
| # Kommentare werden mit "#" oder ";" eingeleitet. | ||||
| # | ||||
| # Autor: Alexander Barton, <alex@barton.de> | ||||
| # Erweiterungen von Ilja Osthoff, <ilja@glide.ath.cx> | ||||
| # | ||||
|  | ||||
| [Global] | ||||
|  | ||||
| 	# | ||||
| 	# Im [Global]-Abschnitt der Konfigurationsdatei wird der Server | ||||
| 	# "an sich" konfiguriert. Notwendig ist nur die Variable "Name", | ||||
| 	# Info ist in der Regel ebenfalls anzupassen. Fuer alle uebrigen | ||||
| 	# Variablen koennen oft die Defaults benutzt werden, d.h. hier | ||||
| 	# muss die Variable nicht angegeben werden. | ||||
| 	# | ||||
|  | ||||
| 	# Servername im IRC-Netz | ||||
| 	Name = irc.the.net | ||||
|  | ||||
| 	# Info-Text des Servers. Dieser wird z.B. bei WHOIS- oder LINKS- | ||||
| 	# Abfragen entsprechend mit ausgegeben. | ||||
| 	Info = Server Info Text | ||||
| 	 | ||||
| 	# Informationen ueber den Server und Administrator fuer den | ||||
| 	# ADMIN-Befehl: | ||||
| 	;AdminInfo1 = Beschreibung | ||||
| 	;AdminInfo2 = Standort | ||||
| 	;AdminEMail = admin@irc.server | ||||
|  | ||||
| 	# Ports, auf denen Verbindungen angenommen werden sollen. Es koennen | ||||
| 	# mehrere Ports mit "," getrennt angegeben werden. (Default: 6667) | ||||
| 	;Ports = 6667, 6668, 6669 | ||||
|  | ||||
| 	# Textdatei mit der "Message of the Day" (MOTD). Diese wird aus- | ||||
| 	# gegeben, wenn sich ein User mit dem Server verbindet. | ||||
| 	;MotdFile = /usr/local/etc/ngircd.motd | ||||
|  | ||||
| 	# User-ID, unter der der Daemon laufen soll (dazu muss der Server | ||||
| 	# jedoch mit root-Rechten gestartet werden). Es kann der Name oder | ||||
| 	# die numerische ID angegeben werden. | ||||
| 	# ACHTUNG: Die Konfigurations- und MOTD-Datei muessen fuer diesen | ||||
| 	# Benutzer lesbar sein, ansonsten schlaegt ein RESTART fehl! | ||||
| 	;ServerUID = ircd | ||||
|  | ||||
| 	# Group-ID, zu der der Daemon wechseln soll (hierzu muss der Server | ||||
| 	# jedoch mit root-Rechten gestartet werden). Es kann der Name oder | ||||
| 	# die numerische ID angegeben werden. | ||||
| 	;ServerGID = daemon | ||||
|  | ||||
| 	# Nach <PingTimeout> Sekunden verschickt der Server bei Inaktivitaet | ||||
| 	# von einem Client diesem ein PING. | ||||
| 	;PingTimeout = 120 | ||||
|  | ||||
| 	# Antwortet ein Client, der ein PING bekam, nicht innerhalb von | ||||
| 	# <PongTimeout> Sekunden mit einem PONG, so wird er disconnectiert. | ||||
| 	;PongTimeout = 20 | ||||
|  | ||||
| 	# Der Server versucht alle <ConnectRetry> Sekunden, noch nicht bzw. | ||||
| 	# nicht mehr connectierte Server-Links aufzubauen. | ||||
| 	;ConnectRetry = 60 | ||||
| 	 | ||||
| 	# Sollen IRC-Operatoren immer den MODE-Befehl in Channel benutzen | ||||
| 	# koennen, auch wenn sie kein(!) Channel-Operator sind? | ||||
| 	;OperCanUseMode = no | ||||
|  | ||||
| 	# Maximale Anzahl von gleichzeitigen Verbindungen, die dieser | ||||
| 	# Server annehmen darf (<=0: unlimitiert). | ||||
| 	;MaxConnections = -1 | ||||
|  | ||||
| 	# Maximale Anzahl von Channels, in denen ein User zeitgleich | ||||
| 	# Mitglied sein kann (<=0: unlimitiert). | ||||
| 	;MaxJoins = 10 | ||||
|  | ||||
| [Operator] | ||||
|  | ||||
| 	# | ||||
| 	# Mit einem [Operator]-Block wird der Name und das Passwort eines | ||||
| 	# IRC-Operators konfiguriert. Es darf mehrere [Operator]-Bloecke | ||||
| 	# geben (fuer jeden Operator einen). | ||||
| 	# | ||||
|  | ||||
| 	# ID des IRC-Operators (muss nicht mit dem Nick identisch sein). | ||||
| 	;Name = TheOper | ||||
|  | ||||
| 	# Passwort des IRC-Operators | ||||
| 	;Password = ThePwd | ||||
|  | ||||
| [Server] | ||||
|  | ||||
| 	# | ||||
| 	# In [Server]-Bloecken werden Server konfiguriert, zu denen sich | ||||
| 	# dieser ngIRCd verbinden soll bzw. von denen Verbindungen angekommen | ||||
| 	# werden duerfen. | ||||
| 	# Es koennen mehrere Server konfiguriert werden, d.h. [Server]- | ||||
| 	# Bloecke koennen mehrfach vorkommen. | ||||
| 	# Wenn man fuer einen Server einen Port angegeben hat, dann versucht | ||||
| 	# sich der ngIRCd mit der Gegenseite zu verbinden. Hat man keinen | ||||
| 	# Port konfiguriert, dann wartet der ngIRCd darauf, dass sich die | ||||
| 	# Gegenseite mit ihm verbindet. | ||||
| 	# | ||||
| 	# Server-Gruppen: | ||||
| 	# Der ngIRCd unterstuetzt "Server-Gruppen": das bedeutet, man kann | ||||
| 	# jedem Server, mit dem man sich verbinden will, einer Gruppe zu- | ||||
| 	# ordnen. Wenn der ngIRCd sich dann mit einem Server aus der Gruppe | ||||
| 	# verbinden will und keine Antwort erhaelt, dann wird der naechste | ||||
| 	# Server aus der Gruppe versucht. | ||||
| 	# Achtung: Gruppen werden nur beachtet, wenn man einen Port fuer | ||||
| 	# die Gegenseite angegeben hat! | ||||
| 	# | ||||
|  | ||||
| 	# IRC-Name des Servers | ||||
| 	;Name = irc2.the.net | ||||
|  | ||||
| 	# DNS-Hostname des Servers | ||||
| 	;Host = connect-to-host.the.net | ||||
|  | ||||
| 	# Port, zu dem dieser Server eine Verbindung herstellen soll. Wird | ||||
| 	# kein Port angegeben, so wird auf eine Verbindung der Gegenseite | ||||
| 	# gewartet. | ||||
| 	;Port = 6666 | ||||
|  | ||||
| 	# Eigenes Passwort fuer diese Verbindung. Dieses Passwort muss auf | ||||
| 	# dem anderen Server als "PeerPassword" konfiguriert werden. | ||||
| 	;MyPassword = MySecret | ||||
|  | ||||
| 	# Passwort des Peer-Servers fuer diese Verbindung. Dieses Passwort | ||||
| 	# muss auf dem anderen Server als "MyPassword" konfiguriert sein. | ||||
| 	;PeerPassword = PeerSecret | ||||
|  | ||||
| 	# Gruppe, zu der dieser Server gehoert (optional). | ||||
| 	;Group = 123 | ||||
|  | ||||
| [Channel] | ||||
|  | ||||
| 	# | ||||
| 	# Mit [Channel]-Bloecken werden "persistente Channels" definiert, | ||||
| 	# die nach dem Start des Servers automatisch erzeugt werden und auch | ||||
| 	# dann erhalten bleiben, wenn keine User mehr im Channel sind. Es | ||||
| 	# koennen mehrere solcher Bloecke hier konfiguriert werden. | ||||
| 	# Gekennzeichnet werden solche Channels mit dem Mode "P", der ganz | ||||
| 	# normal gesetzt und geloescht werden kann. | ||||
| 	# | ||||
|  | ||||
| 	# Name des Channels | ||||
| 	;Name = #TheName | ||||
|  | ||||
| 	# Topic, das gesetzt werden soll | ||||
| 	;Topic = Ein tolles Topic | ||||
|  | ||||
| 	# Channel-Modes | ||||
| 	;Modes = tn | ||||
|  | ||||
| # -eof- | ||||
		Reference in New Issue
	
	Block a user
	 Alexander Barton
					Alexander Barton