Commits


- Dokumentation aktualisiert.


- Version 0.6.0-pre2


- Backports from CVS-HEAD (005-numeric, extended LUSERS reply).


- Version 0.6.0-pre1


- Updated documentation.


- Updated documentation.


- fixed user mode propagation over server-links (IRC operator, away, ...)


- fixed RPL_STATSCOMMANDS_MSG


- implemented subfunction "m" of STATS command.


- new function Parse_GetCommandStruct().


- new functions Conn_ResetWCounter() and Conn_WCounter().


- "STATS l" now only shows server-server-links and the own connection.


- Updated documentation.


- Validate_Config(): removed unused variable "i".


- If Conf_MaxConnections is "ulimited" (<1) it is limited to FD_SETSIZE.


- validate Conf_MaxConnections against FD_SETSIZE if available; - fixed up some log messages and enhanced configuration validation.


- new allocated connection structures will be initialized correctly now.


- Dokumentation aktualisiert.


- new constant RPL_YOURESERVICE_MSG, ERR_CHANNELISFULL_MSG, ERR_BADCHANNELKEY_MSG. - fixed ERR_PASSWDMISMATCH_MSG.


- new constant MAX_SERVICES, - added k and l modes to CHANMODES.


- Implemented channel modes k (key) and l (user limit).


- New functions Channel_[Set]Key(), Channel_[Set]MaxUsers.


- fixed some error messages and prefixes.


- fixed broken handling of modes received from other servers.


- Updated documentation.


- fixed some parsing bugs. - better logging.


- Dokumentation aktualisiert.


- modified test suite to reflect changes in MODE parser.


- new (and much more flexible!) MODE parser


- removed Conf_MaxPChannels and reverted to old behavior.


Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Conf_MaxPChannels is considered properly in channel mode changes now.


- fixed up Conf_MaxJoins test on JOIN.


- fixed up Channel_PCount() and Channel_CountForUser().


- Dokumentation aktualisiert.


- maximum channels per user limit implemented.


- new message ERR_TOOMANYCHANNELS_MSG.


- new configuration variables: MaxJoins, MaxPChannels.


- new function Channel_CountForUser().


- adjusted generation of cvs-version.h to new file header format.


- removed old ID tag


- new file header format (in english); - new file ident semantics.


- new file header format (in english).


- added missing include of stdio.h header for sprintf().


- new file header format.


- fixed up broken $Id field in new file header ...


- new file header format.


- translated file header and comments to english; - new file ident semantics.


- Dokumentation aktualisiert.


- IRC Operators can KILL users now.


- Logging von Verbindungen, die geschlossen werden/wurden verbessert.


- Logging von doppelten ID's verbessert.


- Verhalten von Conn_RecvQ() und Conn_SendQ() bei Kompression korrigiert.


- bei ISON und USERHOST fehlte im Ergebnis-String der korrekte Absender.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- STATS: Unterfunktion "L" implementiert.


- neue Befehle: Conn_StartTime(), Conn_SendQ(), Conn_RecvQ(), Conn_SendMsg(), Conn_RecvMsg(), Conn_SendBytes[Zip](), Conn_RecvBytes[Zip]().


- RPL_STATSLINKINFO_MSG ueberarbeitet, RPL_STATSLINKINFOZIP_MSG eingefuehrt.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Konfiguration wird nun besser validiert (Laenge, Zahlen).


- Tests auf ctype.h und isdigit() hinzugefuegt.


- bei STATS wurde der Target-Server aus dem falschen Argument bestimmt.


- neues Source-Modul "irc-info"; neuer Befehl STATS.


- Parser auf Befehlstabelle umgestellt.


- "Text-Prefix" fuer Server-Notices auf "" gesetzt.


- der Server verschickt keine "NOTICE AUTH"'s mehr.


- "NOTICE AUTH" und Statistiken werden im Strict-RFC-Modus nicht mehr erzeugt.


- Dokumentation aktualisiert.


- Vor dem Schliessen einer Verbindung wird versucht, den Buffer zu leeren.


- Dokumentation aktualisiert.


- SQUIT wird nicht mehr zweimal fuer einen Server verschickt.


- beim Umschalten auf Kompression wurden evtl. bereits gelesene Daten nicht entpackt, der Datenstrom war somit dann korrumpiert.


- Logging bei Prefix-Fehlern verbessert.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Unterstuetzung fuer komprimierte Server-Server-Links implementiert.


- neue Funktionen: Conn_SetOption(), Conn_UnsetOption(), Conn_Options(). - wenn mit zlib-Support: Conn_InitZip().


- Test auf zlib sowie neue Option "--disable-zlib".


- Projektdatei aktualisiert (u.a. Compiler- und Linker-Flags)


- Falsche Variable korrigiert ...


- nun ueberfluessige Meldung entfernt.


- Dokumentation aktualisiert.


- neuer Befehl IRC_TIME().


- neuer IRC-Befehl "TIME".


- neue Konstante RPL_TIME_MSG.


- MOTD kann nun auch an andere Server delegiert werden.


- Dokumentation aktualisiert.


- volle Lesebuffer und Timeouts behandelt Conn_Handle() nun besser. - Handle_Buffer() liefert nun ein Ergebnis.


- Dokumentation aktualisiert.


- select() in Try_Write() hat falschen (keinen!) Timeout verwendet; - der Timeout fuer das select() in Conn_Handler() ist nun TIME_RES (=2).


- neue Konstante TIME_RES: "Zeitaufloesung" des Servers.


- Dokumentation aktualisiert ...


- Test-Suite an korrigiertest RPL_UMODEIS angepasst.


- RELOAD in REHASH umbenannt. - neue Funktion WHOWAS.


- IRC_RELOAD() in IRC_REHASH() umbenannt.


- neue Funktion IRC_WHOWAS() begonnen.


- NGIRCd_Reload() in NGIRCd_Rehash() umbenannt.


- Dokumentation aktualisiert.


- neue Meldungen: RPL_STATSLINKINFO, RPL_STATSCOMMANDS, RPL_ENDOFSTATS, RPL_WHOWASUSER, RPL_ENDOFWHOWAS und ERR_WASNOSUCHNICK.


- Dokumentation aktualisiert [RPL_UMODEIS]


- RPL_UMODEIS hat Code 221, nicht 211 ... *argl*


- Dokumentation aktualisiert [ChanMode P nur noch fuer IRC-Op's]


- Channel-Mode "P" ("persistent") kann nur noch von IRC-Ops gesetzt werden.


- Dokumentation aktualisiert [RELOAD].


- neue Funktion NGIRCd_Reload().


- Listen-Sockets werden ueber neue Funktion Conn_InitListeners() erzeugt. - neue Funktion NGIRCd_Reload(). - Logging bei empfangenen Signalen verbessert. - SIGHUP ruft nun NGIRCd_Reload() auf.


- neue Funktion IRC_RELOAD().


- neue Funktionen Conn_InitListeners() und Conn_ExitListeners().


- bessere Log-Meldungen.


- Channel_InitPredefined() prueft nun, ob ein Channel bereits existiert.


- neuer Befehl IRC_RELOAD().


- Befehle sortiert, - neuer Befehl RELOAD.


- Logging vom Resolver und Connection-Statistiken verbessert.


- Dokumentation aktualisiert.


- angenommene Socketes werden nun korrekt auf "non-blocking" gestellt; - beim Senden und Empfangen wird EAGAIN ("Blockierung") nun abgefangen.


- Dokumentation aktualisiert.


- Fehler-Ausgaben verbessert (Prefix-Fehler).


- Dokumentation aktualisiert [asyncrone Server-Passwoerter].


- Server identifizieren sich nun mit asyncronen Passwoertern.


- Rechtschreibfehler korrigiert ;-)


- anstelle von "ListenPorts" wird nun korrekt "Ports" ausgegeben.


- corrected a permission problem (Sean Reifschneider).


- ProjectBuilder-Projektdatei aktualisiert.


- doc/en/sample-ngircd.conf in Makefile-System ergaenzt.


- Dokumentation aktualisiert.


- unter HP-UX wird nun _XOPEN_SOURCE_EXTENDED definiert. Fuer den gcc unter 11.11 ist dies erforderlich.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Dokumentation fuer A/UX ueberarbeitet.


- Dokumentation aktualisiert.


- Fehler-Handling von connect() gefixed: der Server kann sich nun auch unter A/UX wieder zu anderen verbinden.


- Test-Suite an A/UX angepasst.


- Dokumentation aktualisiert.


- User und Gruppe werden nun sowohl numerisch als auch namentlich angezeigt.


- Dokumentation aktualisiert bzw. begonnen.


- Dokumentation aktualisiert.


- in ServerUID und ServerGID kann nun jeweils auch der Name (und nicht nur die numerische ID) verwendet werden.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- IRC_Server() ruft nun Conn_SetServer() zur Server-Registrierung auf.


- Neue Funktion Conn_SetServer(). - Einige assert()'s aufgeraumt.


- neue Funktion Conn_SetServer().


- Dokumentation aktualisiert.


- Code-Formatierung korrigiert (da waren Tabs wo keine hin gehoerten).


- falsche Konstante korrigiert ... *argl*!


- Server und "normale" Clients werden wieder korrekt unterschieden.


- Semantik der Conn_xxxFlag()-Funktionen geaendert.


- Dokumentation aktualisiert: neue Variable MaxConnections.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Connection-Strukturen werden nun "pool-weise" verwaltet; der Pool wird bei Bedarf bis zu einem konfigurierten Limit vergroessert. - neue Funktionen Conn_First(), Conn_Next(), Conn_ClearFlags(), Conn_Flag() und Conn_SetFlag().


- Modul an neues Connection-Handling angepasst.


- neue Konfigurationsvariable "MaxConnections".


- neue Konfigurationsvariable "Conf_MaxConnections".


Neue Funktionen: Conn_First(), Conn_Next(), Conn_ClearFlags(), Conn_SetFlag() und Conn_Flag().


MAX_CONNECTIONS durch CONNECTION_POOL ersetzt.


- GCC-Option "-ansi" hat sich leider nicht bewaehrt ... wieder entfernt.


- beim GCC wird nun die "-ansi"-Option gesetzt.


- Verbindungsstatistik ein wenig klarer formuliert.


- AdminEMail ist nun auch korrekt gesetzt.


- Anpassungen bzw. Fixes fuer "strict RFC"-Mode.


- ausgehende Verbindungen mit ID 0 konnten nicht aufgebaut werden ... :-/ - einige Debug-Ausgaben erweitert.


- Dokumentation aktualisiert.


- Segfault unter hoher Netzaktivitaet behoben: in Conn_Close() wird die Connection-Struktur nun frueher als "ungueltig" markiert. - besseres Error-Logging.


- RPL_YOURHOST_MSG nochmals leicht geaendert ...


- Dokumentation aktualisiert.


- RPL_YOURHOST_MSG ist nun ircII-kompatibel :-)


- in der Uebersicht werden die Pfad-Defines nicht mehr in CFLAGS angezeigt.


- Es wird nun laenger auf Resolver-Ergebnisse gewartet, der Login aber sofort fortgesetzt, so ein Ergebnis eintrifft.


- neue Funktion Conn_ResetPenalty().


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- "schneller Server-Reconnect" wird nun nur dann ausgefuehrt, wenn die Verbindung zuvor "lange genug" aufgebaut war (z.B. also nicht mehr, wenn der Peer sofort beim Connect ein fatales ERROR liefert).


- double in DOUBLE geaendert (ist in portab.h nun definiert).


- neue Datentypen LONG, ULONG und DOUBLE.


- verwendete Datentypen aufgeraumt: beispielsweise INT32 ist nun oft ein LONG.


- Dokumentation aktualisiert.


- fehlenden Return-Wert ergaenzt (ich Dubel).


- Client wird nun via NOTICEs ueber Resolver-Status informiert.


- NOTICE liefert nun nie(!) einen Fehler, auch nicht, wenn Client noch nicht registriert.


- neue Konstante NOTICE_TXTPREFIX.


- Server-NOTICEs haben nun ein "Text-Prefix".


- Connection-Statistik implementiert. - Server-NOTICEs haben nun ein "Text-Prefix".


- "make distcheck" lief seit der Aenderung gestern nicht mehr durch. Fixed.


- bei CVS-Versionen wird nun das Datum der letzten CVS-Aenderung angezeigt, Versionsnummer entsprechend angepasst.


- Dokumentation aktualisiert.


- der Puffer fuer das Prefix war zu klein.


- Dokumentation aktualisiert.


- "format-string-bugs", die zum Abbruch des Servers fuehrten, behoben.


- kleinere "code cleanups".


- Dokumentation aktualisiert.


- buffer overflow behoben.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Syntax von RPL_MYINFO_MSG korrigiert (liefert nun vier Parameter).


- RPM "Spec-File" in Source-Tree aufgenommen.


- Dokumentation aktualisiert.


- neues Verzeichnis "contrib" angelegt.


- fehlerhaften "Socket-Test-Patch" korrigiert.


- Dokumentation aktualisiert.


- Conn_Write() prueft nun, ob der Socket noch offen ist, ehe Daten gesendet werden.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- per Default werden nun nur noch 5 Sessions parallel gestartet.


- in RPL_YOURHOST_MSG wurde ein fehlerhafter Versionsstring geliefert.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- getpid.sh wird nun auf bei "make distcheck" gefunden.


- Dokumentation aktualisiert.


- das Test-Binary wurde nicht immer kopiert.


- auch unter Cygwin wird ngircd-TEST bei "make clean" nun entfernt.


- das ngIRCd-Binary fuer die Tests wird nun kopiert, nicht mehr verlinkt.


- Dokumentation aktualisiert.


- Die PID des Test-Servers wird nun mit dem Script "getpid.sh" ermittelt.


- die ermittelte PID des ngIRCd wird besser validiert (leer?).


- Dokumentation aktualisiert.


- Fehler bei Validierung von "AdminInfo2" behoben.


- Versionsnummer fuer CVS-HEAD wieder auf "CurrentCVS" gesetzt.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Parameter fuer ps werden in anderer (besserer) Reihenfolge getestet.


- Dokumentation aktualisiert.


- Versionsnummer auf 0.5.0-pre2 angehoben.


- katastrophalen Fix fuer Return-Wert korrigiert ... ARGL!


- es wird nun auch auf "sys/select.h" geprueft. U.a. fuer AIX notwendig. - Versionsnummer auf 0.5.0-pre1 angehoben.


- Dokumentation aktualisiert.


- ProjectBuilder-Projektdatei aktualisiert.


- Dokumentation aktualisiert.


- "CC-Speed.txt" aus Distribution entfernt.


- ueberholt, wird in Zukunft auf der Webseite verfuegbar sein.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- CLIENTS-Konstante unter IRIX vermindet.


- es wird nun getestet, mit welchen Parametern "ps" aufgerufen werden muss.


- neue Konstanten: RPL_ADMINME_MSG, RPL_ADMINLOC1_MSG, RPL_ADMINLOC2_MSG, RPL_ADMINEMAIL_MSG.


- Auf Systemen, die "sys/select.h" kennen (z.B. AIX 3.2.5) wird dieses nun includiert.


- neuer Befehl: ADMIN


- IRC_WriteStrServersPrefix() lieferte einen Return-Wert, obwohl als VOID deklariert.


- LIST kann nun auch an andere Server geforwarded werden.


- neuer Befehl IRC_ADMIN().


- Admin-Info eingebaut (Variablen "AdminInfo1", "AdminInfo2" und "AdminEMail").


- Admin-Info eingebaut (Variablen "AdminInfo1", "AdminInfo2" und "AdminEMail"); - Bug bei zu langem Operator-Name behoben.


- unter Darwin werden nur noch 20 Clients parallel gestartet.


- ps wird nun (hoffentlich portabler) jeweils mit "ax" aufgerufen.


- ${srcdir} wird nun beachtet.


- PID des Test-Servers wird besser ermittelt.


- Test-Server wird in aktuelles Verzeichnis als "ngircd-TEST" verlinkt. - die PID des Test-ngIRCd wird besser ermittelt.


- $(srcdir) wird nun beachtet; fehlenden "\" ergaenzt; Dateien ergaenzt.


- Dokumentation aktualisiert.


- EXTRA_DIST ergaenzt, clean-Target erweitert. - neues Script "stress-server.sh" integriert.


- laeuft der ngIRCd im Vordergrund, so wird syslog nicht mehr benutzt.


- Tests erweitert.


- nun ist auch ein Test-Operator konfiguriert.


- Test-Suite fuer den ngIRCd begonnen.


- Testprogramm ueberarbeitet, macht nun selber keine Ausgaben mehr.


- Anpassungen an neue Test-Suite (Ausgabeformat).


- ngIRCd "Test-Suite" in Build-System aufgenommen.


- Server-Versionsausgabe ueberarbeitet.


- Parameter von List_Add{Invited|Banned}() erweitert. - neue Funktion Already_Registered(). - doppelte Ban- und Invite-Eintraege werden nun vermieden.


- Parameter von List_Add{Invited|Banned}() erweitert.


- auch Nicht-ChanOps konnten Ban- und Invite-Lists veraendern.


- Bans/Invites: andere Server wurden nicht informiert. - neue Funktion Send_ListChange().


- Dokumentation aktualisiert.


- neu: Lists_AddInvited(), Lists_DelInvited(), Lists_ShowInvites, Lists_AddBanned(), Lists_DelBanned(), Lists_ShowBanned und Lists_MakeMask().


- neu: Check_List(), Check_List(), Lists_AddInvited(), Lists_DelInvited(), Lists_ShowInvites, Lists_AddBanned(), Lists_DelBanned(), Lists_ShowBanned und Lists_MakeMask(). - einige Bug-Fixes, bessere Debug-Meldungen.


- den BAN-Befehl gibt es gar nicht ;-)


- ein INVITE wird auch dann gespeichert (obwohl der Channel nicht +i ist), wenn der Client gebanned ist. - den BAN-Befehl gibt es gar nicht ;-)


- Invite- und Ban-Lists (MODE +I, MODE +b) implementiert.


- ein "banned client" darf in einen Channel, wenn er "invited" ist.


- Penalty-Delays gelten nun auch für Schreibvorgaenge. - Conn_Handler() besser strukturiert ...


- "Timing" mal wieder geaendert: sollte schon 1 Sekunde sein, sonst kommen z.B. die PING-Timeouts falsch.


- "Timing" von Conn_Handler() geaendert: der Daemon sollte nun noch weniger CPU-Zeit brauchen :-)


- "check-version" an neuen Versionsstring angepasst.


- Dokumentation aktualisiert.


- Konfigurations-Uebersicht am Ende des configure-Lauf. - neue Option "--disable-ircplus".


- IRC+-Protokoll ist nun abschaltbar. - neue Konstante PROTOIRC.


- IRC+-Protokoll ist nun abschaltbar.


- IRC+-Protokoll ist nun abschaltbar; Versionsstring angepasst.


- nun wird autoconf 2.50 als Minimum vorausgesetzt.


- Dokumentation aktualisiert.


- Protokollbeschreibung fuer IRC+-Protokoll angepasst.


- Dokumentation aktualisiert.


- New_Chan() in Channel_Create() umbenannt; entsprechende Anpassungen. - Neue Funktion Channel_SetModes().


- neuen Befehl CHANINFO implementiert: IRC_CHANINFO().


- neue Funktion IRC_WriteStrServersPrefixFlag().


- CHANINFO wird auf Server-Links gesendet, wenn unterstuetzt.


- neuen Befehl CONNECT begonnen zu implementieren.


- neue Befehle CHANINFO und CONNECT.


- neue Konstante IRCPLUSFLAGS.


- IRC+-Protokoll-Flags erweitert.


- Das IRC+-Protokoll wird nun richtig erkannt ...


- Anpassungen/Umstellung auf IRC+-Protokoll.


- Dokumentation aktualisiert.


- Flags von connecteten Servern werden nun gespeichert.


- CLIENT-Struktur um Flags erweitert. - neue Funktionen Client_SetFlags() und Client_Flags().


- neue Konstante CLIENT_FLAGS_LEN.


- Ausgaben auf der Console werden nun "geflushed".


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Server-Flag "o" ("OperCanUseMode") implementiert.


- neue Datei "Protocol.txt" hinzugefuegt.


- Dokumentation des vom ngIRCd verwendeten Protokolls begonnen.


- Logmeldungen fuer Server- und Protokollversionen verbessert.


- Dokumentation aktualisiert.


- Konstante PASSSERVERADD durch Variable NGIRCd_ProtoID ersetzt.


- Version (Server und Protokoll) von connectierten Servern wird nun ausgewertet.


- PASS-Befehl auf NGIRCd_ProtoID umgestellt.


- neue Variable: NGIRCd_ProtoID (Protokoll- und Server-ID fuer "PASS"-Befehl)


- NGIRCd_ProtoID (Protokoll- und Server-ID) wird erzeugt.


- vorkonfigurierte Channel: Fehlerhaften Test "kein Null-Name" korrigiert.


- Dokumentation aktualisiert


- neue Konfigurationsoption "OperCanUseMode" (Sektion "Global"): ist sie aktiv, koennen IRC-Operatoren immer Channel-Modes setzen.


- an Clients wurden Modes mit fuehrendem ":" geliefert. Das ist zwar RFC- konform (IMO), macht aber leider grosse(!!) Probleme :-/


- Hmpf. "Verfruehtes" CVS-Update einiger Source-Files zurueckgenommen ...


- Bei einem JOIN in einen persistenten Channel werden nun evtl. zu setzende User-Modes korrekt in den Channel gemeldet.


- neue Funktion Conn_SetPenalty() zum Setzen von sog. "Penalty Zeiten"; wird bisher nur beim Connect verwendet (eine Sekunde).


- Prefixe werden nur noch bei reg. Verbindungen validiert, ansonsten ignoriert.


- Semantik der Validate_XXX()-Funktionen verbessert, - Validate_Prefix() mit "Leben" erfuellt ;-)


- Dokumentation aktualisiert.


- NJOIN wurde "zerhackt" an andere Server weitergegeben.


- KILL konnte keine Remote-Clients toeten; zudem besseres Logging.


- bei INVITE wurde im Antwort-Status-Code das falsche Prefix verschickt.


- "portability header" werden nun bei Lint-Laeufen gefunden.


- Lists_AddInvited() kann nun einen Fehler liefern.


- Channel-Modes "b" und "I" in CHANMODES aufgenommen.


- neue Konstanten fuer Invite- und Banlists: RPL_xxxLIST_MSG, RPL_ENDOFxxx_MSG - neue Message ERR_UNKNOWNMODE_MSG.


- Dokumentation aktualisiert.


- Projektdatei fuer den ProjectBuilder unter Mac OS X aktualisiert.


- Dokumentation aktualisiert.


- Tests auf regex.h und regcomp() entfernt: werde nun doch nicht benoetigt.


- neues Modul match.c/match.h hinzugefuegt.


- IRC_LIST ruft nun Match() auf und beherrscht somit nun Patterns.


- neues #define: REGISTER


- neues Modul "match" begonnen.


- Reihenfolge der Tests geaendert. Ist "huebscher" :-)


- Mac OS X ProjectBuilder-Projektdatei aktualisiert.


- Dokumentation aktualisiert.


- IRC_INVITE() validierte das Ziel eines INVITES nicht korrekt.


- auch bei IRC_NOTICE() wurde das Ziel nicht korrekt validiert.


- Dokumentation aktualisiert.


- Code-Stelle in IRC_JOIN "klarer" gemacht :-)


- bessere Fehlermeldung, wenn malloc() fehl schlaegt.


- wurde bei PRIVMSG als Ziel ein Server angegeben, so beendete sich der ngircd mit einem assert().


- Dokumentation aktualisiert.


- Bessere Logging, wenn malloc() fehl schlaegt.


- Flag "OnlyOnce" bei Lists_AddInvited() ergaenzt. - Neue Funktion Lists_DeleteChannel().


- Invite-Lists weiter implementiert. - Flag "OnlyOnce" bei Lists_AddInvited() ergaenzt. - Neue Funktion Lists_DeleteChannel().


- Flag "OnlyOnce" bei Lists_AddInvited() ergaenzt.


- Besseres Logging, wenn malloc() fehl schlaegt. - Ban- und Invite-Lists werden korrekt aufgeraeumt.


- der INCLUDE-Pfad wird nun anders gesetzt; loest Probleme mit ansi2knr.


- besseres Logging beim Restart des Servers.


- Pre-defined Channels werden spaeter erzeugt.


- Neue Funktion Channel_InitPredefined().


- Log-Meldungen bezueglich Server-Restart verbessert.


- Syntax von Conn_Handler() geaendert: kein Timeout mehr. - Log-Meldungen bezueglich Server-Restart verbessert. - Timeout von select() auf eine Sekunde erhoeht.


- Syntax von Conn_Handler() geaendert: kein Timeout mehr.


- die "umask" des Servers wird nun auf 077 gesetzt; - Hauptschleife geaendert.


- IRC_INVITE() implementiert.


- neue Funktion Lists_AddInvited().


- neue Konstanten ERR_INVITEONLYCHAN_MSG und ERR_BANNEDFROMCHAN_MSG.


- nicht unterstuetzte Channel-Modes entfernt.


- JOIN: Invite- und Ban-Lists werden nun beachtet.


- neue Konstanten RPL_INVITING_MSG und ERR_USERONCHANNEL_MSG.


- QUIT wurde mir falschem Prefix verschickt.


- Dokumentation aktualisiert.


- neue Konstante ERR_USERNOTINCHANNEL_MSG definiert.


- IRC_KICK() implementiert.


- fehlerhaften Fehlercode in IRC_TOPIC() gefixed.


- Channel_RemoveClient() heisst nun Channel_Quit().


- neue Funktionen Channel_Kick() und Channel_Quit(); - Channel_RemoveClient() ist entfallen.


- neue Funktionen Channel_Kick() und Channel_Quit(); - Channel_RemoveClient() ist entfallen. - Remove_Client() ueberarbeitet: nun mit Unterstuetzung fuer PART, QUIT und KICK.


- Konstanten aufgeraeumt, unnoetige entfernt.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Projektdatei aktualisiert.


- Weitere Anpassungen an pre-ANSI-Compiler.


- Dokumentation aktualisiert.


- fehlerhafter Test auf "regex.h" korrigiert.


- Anpassungen an pre-ANSI-Compiler, - Includes aufgeraumt: Header includieren keine anderen mehr.


- neue Module "lists", "irc-op" und "resolve" aufgenommen.


- Channel-Mode "i" in Feature-Konstante aufgenommen,


- Tests auf regex.h,varargs.h und regcomp geaendert.


- Anpassungen an pre-ANSI-Compiler.


- Anpassungen an pre-ANSI-Compiler.


- Aenderungen fuer pre-ANSI-Compiler.


- neue Module "irc-op", "lists" und "resolve" integriert.


- neues Modul "resolve" begonnen.


- neues Modul "lists" begonnen.


- neues Modul "irc-op" begonnen.


- Test auf malloc.h geaendert: der Header ist nun optional.


- Dokumentation aktualisiert.


- bei "--configtest" werden keine leeren Bloecke mehr ausgegeben.


- Test auf stdint.h korrigiert: der Header ist optional.


- alten CVS-ID-Tag entfernt; ansi2knr.c ist direkt von automake uebernommen.


- ansi2knr zum CVS-Tree hinzugefuegt.


- einige Tests ergaenzt bzw. aktualisiert.


- "ansi2knr" zur "DeANSIfikation" als automake-Option gesetzt.


- Test, ob Compiler Funktions-Prototypen versteht, hinzugefuegt.


- persistente und vordefinierte Channels implementiert.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- bessere Reaktionen, wenn DNS-Abfragen fehlschlagen.


- Definition von "signed" wieder entfernt: mehr Schaden als Nutzen :-/


- Dummy fuer inet_aton() entfernt. "signed" wird bei Bedarf definiert.


- Code aufgeraeumt, Tests auf C99-vsnprintf() entfernt (fuer ngIRCd unnoetig).


- inet_aton() wird nur noch verwendet, wenn vorhanden; ansonsten inet_addr().


- vsnprintf.h und splint.h zu Projektdatei hinzugefuegt.


- POSIX Regular Expressions werden nun vorausgesetzt, - Test auf snprintf und vsnprintf geaendert.


- Dokumentation aktualisiert.


- die libngportab wurde "zu frueh" zum ngIRCd gelinkt ...


- neue Library "ngportab" begonnen: diese bildet Funktionen nach, die auf dem Ziel-System nicht vorhanden sind -- wie z.B. vsnprintf().


- ngircd wird nun gegen die libngportab gelinkt, die evtl. benoetigte und nicht auf dem System vorhandene Funktionen nachbildet.


- Test auf ctype.h ergaenzt, Test auf vsnprintf() geaendert.


- Dokumentation aktualisiert.


- h_error wird nur noch ausgewertet, wenn vorhanden.


- Dokumentation aktualisiert.


- der Sniffer (--sniffer) aktiviert nun automatisch den Debug-Modus mit.


- Makefile.am in doc/en wird nun auch erzeugt :-)


- Dokumentation aktualisiert.


- Dokumentation aktualisiert (u.a. englische Versionen)


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Test auf POSIX Regular-Expression-Funktionen eingebaut.


- Dokumentation aktualisiert.


- neue Funktion Channel_MemberCount() implementiert.


- Neue Funktion IRC_LIST() begonnen zu implementieren.


- Neue IRC-Funktion LIST implementiert.


- zwei neue Konstanten definiert: RPL_LIST_MSG und RPL_LISTEND_MSG.


- Dokumentation aktualisiert.


- IRC_QUIT(): der QUIT-Befehl wird nun auch von unreg. Clients akzeptiert.


- Count_MyServers() zaehlt nun wieder richtig, LUSERS sollte nun wieder die korrekte Anzahl eigener Server-Links anzeigen.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Format-String fuer Log-Meldung bei Nick-Aenderungen lokaler Clients war corrupt, der Server stuerzte so in der Regel ab :-(


- Dokumentation aktualisiert.


- Es wird nicht mehr anhand der Parameter-Anzahl, sondern des Token erkannt, ob es sich beim SERVER-Befehl um ein- oder ausgehende Verbindungen handelt und somit die eigenen PASS- und SERVER-Befehle gesendet werden muessen.


- neue Konstante TOKEN_OUTBOUND.


- ausgehende, sich im Aufbau befindende Server-Links werden nun mit einem speziellen Token (TOKEN_OUTBOUND) versehen, damit der Server sie spaeter als solche wieder erkennen kann.


- MAX_OPERATORS und MAX_SERVERS auf je 16 angehoben :-)


- stdlib.h wird nun includiert.


- string.h wird nun includiert.


- das "new line" am Ende der Datei fehlte ...


- Manual-Pages wurden bei "clean" nach wie vor geloescht ... Upsa!


- die Manual-Pages fehlten in Distributions-Archiven.


- Formatierung des Author-Abschnitt korrigiert.


- Zeilenumbruch korrigiert.


- Manual-Page enthaelt nun auch korrekte URLs.


- Manual Page aktualisiert.


- nroff/groff werden doch nicht benoetigt, Test wieder entfernt.


- Manual-Pages unter neuen Namen begonnen.


- Manual-Pages heissen nun anders und werden auch nicht mehr "bereits uebersetzt" installiert.


- Dokumentation aktualisiert.


- Dokumentation aus branch-0-4-x uebernommen.


- URL der Homepage zu Versionstext hinzugefueht (aus branch-0-4-x).


- Dokumentation aktualisiert (uebernommen aus branch-0-4-x).


Manualpage verbessert.


- Manual-Page aktualisiert.


- nun wird groff oder nroff verwendet. Pfade angepasst.


- Manual-Pages begonnen und in Source-Tree eingebunden.


- Dokumentation aktualisiert.


- die Versionsnummer des HEAD-Branch im CVS ist nun einfach nur noch "CVS".


- im Debug-Modus wird nun der Name der "Error-Datei" ausgegeben.


- Kommandozeilen-Option "-f" wurde falsch geparsed.


- unter A/UX wird nun _POSIX_SOURCE definiert.


- Test auf ngircd.conf in -f geaendert: das test von A/UX kennt kein -e.


- falschen Patch rueckgaengig gemacht ...


- in das "Error-File" werden wieder "kritische" Meldungen geschrieben.


- wenn kein ListenPort definiert ist, so wird nun 6667 als Default verwendet.


- Dokumentation aktualisiert.


- in das Error-Log wurde eine nicht-initialisierte Start-Zeit geschrieben.


- Dokumentation aktualisiert.


- Error-Log wird nach User-Wechsel mit Log_InitErrorfile() initialisiert. - Einige Tippfehler korrigiert ...


- Error-Log wird nach User-Wechsel initialisiert: Log_InitErrorfile().


- neue Konfigurations-Variablen ServerUID und ServerGID.


- der Daemon kann nun seine UID und GID wechseln.


- Handling des "Error-File" (stderr) geaendert.


- ERROR_DIR auf "/tmp" geaendert: dort darf i.d.R. jeder schreiben.


- Conn_NewListener() erwartet den Port nun als "unsigned int".


- Conf_ListenPorts[] ist nun unsigned. - Neue Konfigurations-Variablen Conf_UID und Conf_GID.


- das "localstatedir" wird nicht mehr erzeugt, da nicht mehr benoetigt.


- LOCALSTATEDIR wird nicht mehr benoetigt.


- das Error-File wird nun komplett durch das Log-Modul verwaltet, der Dateiname enthaelt nun die PID: so koennen mehrere Instanzen laufen.


- ERROR_FILE wurde durch ERROR_DIR ersetzt.


- neuer Kommandozeilen-Parameter "--config"/"-f".


- Dokumentation aktualisiert.


- Hmpf. NOTICE von Server Notices wurde ohne Absender verschickt :-/


- Server Notices (User-Mode "s") implementiert.


- einige Log-Meldungen werden nun auch als Server Notice verschickt.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- neuer Kommandozeilen-Parameter "--configtest": gibt die verwendete Server- Konfiguration aus. Diesbezuegliche Ausgaben bei "--help" sind entfallen.


- NGIRCd_ConfFile definiert.


- MAX_LOG_MSG_LEN ist nun global in defines.h definiert.


- neues #define: MAX_LOG_MSG_LEN.


- neue Funktion Conf_Test() zum Testen der Konfiguration. - Conf_File ist entfallen, ist nun NGIRCd_ConfFile.


- Kommentar korrekt eingerueckt. Wow ;-)


- Ping-Timeouts geben als Debug-Meldung den konfigurierten Timeout mit aus.


- lint-Target in Haupt-Makefile aufgenommen.


- SPLint in Makefiles als Target "lint" eingebunden.


- neuer Header splint.h fuer Code-Check mit SPLint.


- einige Anpassungen nach Code-Check mit SPLint ;-)


- ChangeLog aktualisiert.


- neue Konstante fuer "Server Messages" (User-Mode "s").


- bei Get_Prefix() fehlte das "LOCAL".


- alle Client_GetFromID() durch Client_Search() ersetzt. - neuer Mode "s": Server Messages.


- alle Client_GetFromID() durch Client_Search() ersetzt.


- alle Client_GetFromID() durch Client_Search() ersetzt. - IRC_PRIVMSG() ruft nun intern Channel_Write() auf.


- Client_GetFromID() ist entfallen: Client_Search() benutzen! - Client-Struktur um Hash-Wert ueber ID/Nick ergaenzt.


- Client_SetID() berechnet Hash-Wert ueber ID/Nick. - Client_GetFromID() heisst nun Client_Search(), zudem wird via Hash gesucht. - Client_CheckNick() sucht nicht mehr selber. - altes Client_Search() ist entfallen (s.o.).


- Channel-Struktur um Hash-Wert ueber Namen ergaenzt. - Neue Funktion Channel_Write().


- New_Chan() berechnet Hash-Werte ueber den Namen. - Channel_Search() verwendet nun Hash-Werte. - Neue Funktion Channel_Write().


- portabtest als neues Target im ProjectBuilder eingefuehrt.


- Default PONG-Timeout auf 20 Sekunden verdoppelt.


- Dateien umsortiert.


- Hast wird immer ueber in Kleinbuchstaben gewandelten String berechnet.


- neue Funktion ngt_LowerStr().


- README aktualisiert.


- Meldungen im Error-File werden nun mit Zeitangabe versehen.


- Nick-Aenderungen: Log-Eintrag nur noch im Debug-Modus bzw. fuer lokale User.


- portabtest wird nur noch compiliert, wenn benoetigt (z.B. "make check")


- API fuer Hash() definiert.


- Implementation einer Hash-Funktion begonnen.


- einige assert()-Pruefungen in Conn_WriteStr() ergaenzt.


- A/UX kennt O_NONBLOCK nicht? Oder in einem anderen Header? ...?


- Test, ob bereits ein Server einer Gruppe aktiv ist, korrigiert.


- Netz-Split-Nachricht war so falsch. Nun ist sie korrekt aber nicht schoen.


- Projektdatei an neue Quellcode-Struktur angepasst.


- Versions-String um "Vendor" erweitert.


- Informationen um "Vendor" ergaenzt.


- Beispiel-Konfiguration besser dokumentiert (Kommentar-Zeichen).


- Dokumentation aktualisiert.


- der System-Typ wird nun wieder korrekt ermittelt und verwendet.


- config.sub und congfig.guess zu ngIRCd-Distribution hinzugefuegt.


- externe portab-Header werden nicht mehr benoetigt/benutzt, dadurch einige Aenderungen an diversen Source-Dateien und Headern. - Dateien enthalten keine CVS-History mehr.


- externe portab-Header werden nicht mehr benoetigt. Notwendige Teile sind nun im ngIRCd-Source-Tree enthalten.


- Datei ist faelschlicherweise in das CVS "geschliddert" ... ,-)


- SQUIT, QUIT: Loglevel bei unbekannten Clients wieder auf WARNING erhoeht.


- Client_Destroy() hat neuen Paramter: QUITs fuer Clients verschicken?


- Log-Level von SQUIT und QUIT bei unbekannten Clients auf DEBUG herabgesetzt....


- Log-Level von SQUIT und QUIT bei unbekannten Clients auf DEBUG herabgesetzt.


- ein sofortiger Re-Connect wird nur dann versucht, wenn die Vernindung "lange genug" bereits bestanden hatte.


- ChangeLog aktualisiert.


- IRC_PING() ist, wenn nicht im "strict RFC"-Mode, toleranter und akzptiert beliebig viele Parameter: z.B. BitchX sendet soetwas.


- Netz-Splits werden nun als soche ausgegeben.


*** empty log message ***


- Dokumentation aktualisiert.


- Beispiel-Konfigurationsdatei besser dokumentiert und erweitert.


- bei WHO, WHOIS und NAMES wird nun nur noch der Status "Operator" oder "voiced" geliefert -- nicht mehr beides.


- ChangeLog aktualisiert.


- Handling von "--version" und "--help" nochmal geaendert ...


- ChangeLog aktualisiert.


- bei "ngircd --version" werden nun die eincompilierten Pfade angezeigt.


- Dokumentation aktualisiert.


- der Bindestrich ("-") ist nun auch in Nicknames erlaubt.


- die Pfade der Konfigurationsdatei, des MOTD und das Error-Files werden nun aus den Vorgaben von configure ermittelt.


- das "localstatedir" wird fur "ngircd.err" angelegt.


- die Beispiel-Konfigurationsdatei wird als ngircd.conf installiert, wenn noch keine "echte" Konfigurationsdatei vorhanden ist.


- es werden nun die Konstanten SYSCONFDIR und LOCALSTATEDIR definiert.


- Anpassungen an neues GNU automake/autoconf: acconfig.h entfaellt nun.


- kleine Code-Umstellungen.


- Dokumentation aktualisiert.


- stderr wird nun in eine Datei umgelenkt (ngircd.err). Wenn der Server nicht im Debug-Modus laeuft, so wird diese bei Programmende geloescht.


- Dateinamen und Pfad sind nun in Konstanten definiert.


- ein paar assert()-Tests ergaenzt.


- kleinere Umstellungen.


- Logging geaendert: detaillierter im Syslog, "allgemeiner" fuer Clients.


- der WHO-Befehl (ohne Argumente) gat teilweise Channel-Names vergessen.


- der AWAY-Mode wurde nicht ueber mehrere Server-Links weitergegeben.


- ChangeLog aktualisiert.


- neue Konstante DEFAULT_AWAY_MSG fuer die Default-Away-Meldung.


- neuen Clients mit Mode "a" wird nun auch der Default-Away-Text gesetzt.


- WHO implementiert (bisher ohne Unterstuetzung von Masks)


- Aktualisierungen.


- neue Konstanten RPL_ENDOFWHO_MSG und RPL_WHOREPLY_MSG definiert.


- Sourcen auf weitere Module fuer IRC-Befehle aufgesplitted. - IRC-Befehl WHO implementiert.


- strncpy() und vsnprintf() kopieren nun etwas "optimierter" (1 Byte weniger) :-)


- Source in weitere Module fuer IRC-Befehle aufgesplitted.


- README aktualisiert.


- Dokumentation aktualisiert.


- Versionsnummer auf 0.3.0-CVS angehoben.


- INSTALL um Hinweise auf portab.h etc. ergaenzt.


- Version 0.3.0


- Aenderung des Idle-Verhalten revidiert: das war ein Schnellschuss :-/


- Timeouts ausgehender Verbindungen werden besser erkannt (z.B. unter Cygwin). - Idle-Time der Hauptschleife [Conn_Handle()] erhoeht: weniger Last.


- Aktualisierungen.


- Channel- und Nicknames werden nun ordentlich validiert.


- Bei der USER-Registrierung wird NICK nicht mehr sofort geforwarded, sondern erst dann, wenn auch ein gueltiges USER empfangen wurde.


- bei abgebrochene ausgehende Server-Verbindungen wird der naechste Ver- bindungsversuch in RECONNECT_DELAY Sekunden (3) unternommen und nicht mehr "ConnectRetry" Sekunden gewartet.


- der Wert der Konfigurations-Variable "ConnectRetry" wird besser beachtet.


Aktualisierung.


- ChangeLog aktualisiert.


- ausgehende Verbindungen werden nun asyncron connectiert und blockieren nicht mehr den Server. Dadurch waren einige Aenderungen noetig. - diverse Log-Meldungen ueberarbeitet.


- Forwarding von TOPIC an andere Server gefixed. Hoffentlich ;-)


- einige Funktionen in irc-xxx-Module ausgegliedert.


- Modul aus irc.c bzw. irc.h ausgegliedert.


- Anpassungen an Aufteilung von irc.d, Init- und Exit-Funktionen entfernt.


- CONNECTED und DISCONNECTED fuer die irc-xxx-Module wird nun hier definiert.


- ueberfluessige Init- und Exit-Funktionen entfernt.


- Includes fuer einige Header bereinigt.


- einige Header umgestellt, neue Source-Dateien irc-xxx.c


- NEWS und ChangeLog aktualisiert.


- Channel-Topics werden nun auch korrekt von anderen Server angenommen.


- Channel-Topics implementiert.


- neue Text-Konstante: ERR_NOTONCHANNEL_MSG


- neue Konstante: CHANNEL_TOPIC_LEN


- neue Funktionen Channel_Topic() und Channel_SetTopic().


- Aktualisierungen.


- PRIVMSG zeugt nun bei Texten an User an, wenn diese "away" sind.


- IRC-Befehl "AWAY" implementert.


- neue Text-Konstanten RPL_UNAWAY_MSG und RPL_NOWAWAY_MSG.


- Mode "a" (away) in USERMODES aufgenommen.


- neue Funktion Client_SetAway() und Client_Away() implementiert.


- ChangeLog aktualisiert.


- PRIVMSG beachtet nun die Channel-Modes "n" und "m".


- neue Text-Konstante ERR_CANNOTSENDTOCHAN_MSG eingefuehrt.


- ChangeLog aktualisiert.


- Bug bei belegtem Nickname bei User-Registrierung (NICK-Befehl) behoben.


- NAMES beachtet nun das "invisible" Flag ("i") von Usern.


- neue Funktion Channel_IsMemberOf() implementiert.


- Logging beim Abmelden von Clients (erneut) geaendert: nun ist's aber gut ;-)


- Logging bei Timeout von Verbindungen geaendert.


- gerade eben in SQUIT eingefuehrten Bug behoben: entfernte Server werden nun nur noch geloescht, die Verbindung, von der SQUIT kam, bleibt wieder offen.


*** empty log message ***


- Log-Meldungen bei SQUIT erneut ueberarbeitet ...


- SQUIT wird auf jeden Fall geforwarded, zudem besseres Logging.


- an Conn_Close() werden zwei weitere Fehlermeldungen zum Forwarden uebergeben.


*** empty log message ***


- einige unnoetige Client_NextHop()-Aufrufe entfernt. - NAMES korrigiert und komplett implementiert.


- Nick-Aenderungen werden nun wieder korrekt ins Logfile geschrieben.


- VERSION wurde falsch weitergeleitet und beantwortet (Prefix nicht beachtet)


- Fehler bei Fehlermeldung wg. unbekanntem Prefix behoben.


*** empty log message ***


- an User wird nun immer ein "komplettes" Prefix verschickt.


- die neuen Texte werden nun auch in Archive ("make dist") aufgenommen ;-)


- etwas mehr Doku ;-)


*** empty log message ***


- WHOIS wird nicht mehr automatisch an den "Original-Server" weiterge- leitet: war eh nicht RFC-konform und machte Probleme mit Clients.


*** empty log message ***


- es wird auf sigaction() geprueft (u.a. fuer A/UX, welches das nicht kennt).


- wenn ein System sigaction() nicht kennt, so wird nun signal() verwendet.


- unter A/UX wird _POSIX_SOURCE definiert: fuer Systemheader notwendig.


- es werden ein paar Funktionen mehr getestet: u.a. vsnprintf() und setsockopt(). - libUTIL wird eingebunden, so vorhanden (unter A/UX notwendig!)


- IRC-Befehl KILL sowie Kills bei Nick Collsisions implementiert.


- fuer SIGCHLD wird nun auch SA_NOCLDWAIT gesetzt, wenn vorhanden.


- Ergebnistyp von Conn_GetIdle() und Conn_LastPing() auf "time_t" geaendert.


*** empty log message ***


- die Rechte der check-Scripts wurde nicht gesetzt.


- "check"-Target für "make check" und "make distcheck" begonnen ...


*** empty log message ***


- Bei ausgehenden Verbindungen wird der Ziel-Port ins Log geschrieben.


*** empty log message ***


- SA_RESTART wird fuer Signale nur noch gesetzt, wenn es definiert ist.


*** empty log message ***


*** empty log message ***


- "Passive-Mode" implementiert: kein Auto-Conect zu anderen Servern. - NGIRCd_DebugLevel wird (fuer VERSION-Befehl) ermittelt.


- Neue Variablen NGIRCd_DebugVersion und NGIRCd_Passive.


- direkt nach dem Start werden die aktiven "Modes" ins Log geschrieben.


- User-Registrierung wird nicht mehr als Nick-Aenderung protokolliert, - VERSION liefert nun doch wieder den Debug-Status im Reply.


- "Passive-Mode" implementiert: kein Auto-Conect zu anderen Servern.


- FAQ um Hinweise auf den Bugtracker ergaenzt.


- der Debug-Level wird bei VERSION nicht mehr geliefert. Grund: a) absolut unnoetig und b) Compiler-Fehler, wenn ohne Debug-Code configure'd ;-))


- auf die "libbe" wird nur noch getestet, wenn syslog ueberhaupt verwendet wird.


- Neue Funktion NGIRCd_VersionAddition().


- neue Funktion NGIRCd_VersionAddition(). NGIRCd_Version() aufgespaltet.


- Konstanten sortiert, neue Konstante RPL_VERSION und RPL_VERSION_MSG.


- neuer IRC-Befehl VERSION implementiert: IRC_VERSION().


*** empty log message ***


- Versionsnummer im CVS auf 0.2.2-pre angehoben ...


*** empty log message ***


- Version 0.2.1.


*** empty log message ***


- NICK-Aenderungen wurden dem User selber mit dem falschen Prefix geliefert.


- Client_CheckNick() und Client_CheckID() lieferten u.U. falsche Ergebnisse.


- Tests auf netdb.h, stdlib.h, sys/wait.h, gethostbyaddr, gethostbyname, strftime und die "libbe" unter BeOS (fuer syslog) ergaenzt.


*** empty log message ***


- Fehlerhafte Modes werden nun ausfuehrlicher an den Client gemeldet.


- neue Text-Konstante ERR_UMODEUNKNOWNFLAG2_MSG.


- Beispiel-Konfiguration etwas erweitert. Doku fehlt immer noch ...


- NICK-Aenderungen werden an alle Server und betroffene Clients gemeldet. - Neue Funktion IRC_WriteStrRelatedPrefix().


- NICK korrigiert.


*** empty log message ***


- CVS-Doku um anonymen Zugang ergaenzt.


- Version auf 0.2.1-pre im CVS angehoben ...


- Version 0.2.0


*** empty log message ***


- Nach Connect eines Users werden LUSERS-Informationen angezeigt.


- RPL_MYINFO_MSG korrigiert.


- CHANMODES um Operator (o) und Voiced User (v) ergaenzt.


*** empty log message ***


- es werden nun Channel- und User-Modes von Usern angenommen.


- unterstuetzte User- und Channel-Modes stehen nun in Konstanten.


- via NJOIN gemeldete Benutzer wurden nicht in Channels bekannt gemacht.


- weitere Anpassungen an Channel-Modes und Channel-User-Modes.


- neue Message ERR_CHANOPRIVSNEEDED_MSG definiert.


- Die Quelle von MODE-Aenderungen wird nun korrekt weitergegeben.


- PONG an den Server selber wurde faelschlicherweise versucht zu forwarden. - Channel-Modes wurden falsch geliefert (als User-Modes).


- neue Nachricht RPL_CHANNELMODEIS definiert.


- PING und PONG werden nun auch korrekt an andere Server geforwarded. - bei MODE-Meldungen wird der letzte Parameter nicht mehr mit ":" getrennt.


- Aenderungen und Anpassungen an Channel-Modes und Channel-User-Modes: Modes werden besser geforwarded, lokale User, fuer die ein Channel angelegt wird, werden Channel-Operator, etc. pp. ... - NJOIN's von Servern werden nun korrekt an andere Server weitergeleitet.


- neue Funktion Conn_LastPing().


- neue Funktionen Channel_ModeAdd(), Channel_ModeDel(), Channel_UserModes(), Channel_UserModeAdd(), Channel_UserModeDel().


- neue Funktionen Channel_ModeAdd(), Channel_ModeDel(), Channel_UserModes(), Channel_UserModeAdd(), Channel_UserModeDel(). - Modes in CL2CHAN-Struktur werden nun korrekt initialisiert.


- Aktualisierungen ...


- neue Text-Konstante RPL_UMODEISCHAN_MSG.


- neue Funktion zur MODE-Behandlung, fuer Channel-Modes vorbereitet.


- neue Funktion Client_IsValidNick().


- neue Funktion Client_IsValidNick(), Nicknames werden besser validiert.


- neue Funktionen Channel_Modes() und Channel_IsValidName().


- neue Funktion Channel_Modes() und Channel_IsValidName(). - Channel-Namen werden (besser) validiert.


- Version auf 0.1.1-pre im CVS angehoben.


- Version 0.0.1


- README, NEWS und ChangeLog aktualisiert.


- neue Funktion Client_TopServer(), Client_NewXXX() angepasst.


- RPL_WHOISCHANNELS_MSG korrigiert.


- WHOIS zeigt nun auch die Channels an, in denen der jeweilige User Mitglied ist. - zu jedem Server wird nun der "Top-Server" gespeichert, somit funktioniert LINKS wieder korrekt.


- neue Funktionen Channel_FirstChannelOf() und Channel_NextChannelOf().


- RPL_NAMREPLY_MSG an tatsaechliche Implementierung angepasst ;-)


- nach einem JOIN wird die Liste der Mitglieder an den Client geschickt. - MODE fuer Channels wird nun komplett ignoriert (keine Fehlermeldung mehr).


- SERVER-Meldungen an neue Server sind nun in der richtigen Reihenfolge.


- connectierenden Servern werden Channels nun mit NJOIN bekannt gemacht.


- neue Funktionen Channel_Name(), Channel_First() und Channel_Next().


- ein neu connectierender Server wird nun korrekt im Netz bekannt gemacht.


- PART wird nicht mehr an den Server verschickt, von dem es empfangen wurde.


- Client_GetFromID() besser dokumentiert, kleinere Aenderungen.


- weitere Anpassungen an Chennals, v.a. ueber Server-Links.


- IRC_WriteStrServersPrefixID() und IRC_WriteStrClientPrefixID() wieder entfernt. - einige kleinere Fixes bezueglich Channels ...


- IRC_WriteStrServersPrefixID() und IRC_WriteStrClientPrefixID() wieder entfernt.


- bei NICK wurde das falsche Prefix an andere Server weitergegeben.


- Client_GetFromID() kommt nun auch mit Host-Masken zurecht.


- anderungen an den Funktions-Prototypen von IRC_WriteStrChannel() und IRC_WriteStrChannelPrefix(), - neue: IRC_WriteStrClientPrefixID() und IRC_WriteStrServersPrefixID().


- diverse Aenderungen fuer Channels ueber mehrere Server.


- neue Defines fuer RPL_TOPIC und RPL_NOTOPIC.


- neue Funktionen IRC_WriteStrChannelPrefix() und IRC_WriteStrChannel(), die IRC_Write_xxx_Related() sind dafuer entfallen. - IRC_PRIVMSG() kann nun auch mit Channels als Ziel umgehen.


- CHANNEL- und CL2CHAN-Strukturen in Header verlegt, - einige neue Funktionen (Channel_GetChannel(), Channel_FirstMember(), ...)


- CVS-ID's ergaenzt ...


- FAQ begonnen.


- die Fehlermeldung "interrupted system call" sollte nicht mehr auftreten.


- begonnen, Channels zu implementieren :-)


- Definition der CHANNEL-Struktur aus Header entfernt, - neue Funktionen Channel_Join(), Channel_Part() und Channel_RemoveClient().


- wird ein Client entfernt, so wird er auch aus allen Channels geloescht.


- Channel-Pointer aus Client-Struktur entfernt. Wird nun dynamisch verwaltet :-)


- neue Funktionen IRC_JOIN und IRC_PART begonnen, ebenso die Funktionen IRC_WriteStrRelatedPrefix und IRC_WriteStrRelatedChannelPrefix(). - diverse Aenderungen im Zusammenhang mit Channels.


- neue Funktionen IRC_JOIN, IRC_PART, IRC_WriteStrRelatedPrefix und IRC_WriteStrRelatedChannelPrefix().


- neue Konstante CHANNEL_MODE_LEN.


- ERR_NOSUCHCHANNEL hinzugefuegt.


- Hilfetexte korrigiert und ergaenzt (Sniffer).


- neue Befehle JOIN und PART.


*** empty log message ***


- Server-Verbinungen werden beim Start erst nach kurzer Pause aufgebaut.


- bei Client_SetModes() wurde das NULL-Byte falsch gesetzt. Opsa.


- die User-Modes bei einem NICK von einem Server wurden falsch uebernommen.


- der Sniffer wird nun nur noch aktiviert, wenn auf Kommandozeile angegeben.


- Version auf 0.0.4-pre im CVS angehoben.


- Version 0.0.3


*** empty log message ***


- neue Funktionen Client_xxxCount().


- IRC_LUSERS() implementiert.


- RPL_LUSERME_MSG erweitert, kleinere Aenderungen.


- neue Funktion Channel_Count().


- ngIRCd wandelt sich nun selber in einen Daemon (Hintergrundprozess) um.


- LINKS implementiert, LUSERS begonnen.


- Hop-Count fuer den Server selber (0) wird korrekt initialisiert.


- Anpassungen an neue Kommandozeilen-Optionen "--debug" und "--nodaemon".


- Kommandozeilen-Parser implementiert: Debug- und No-Daemon-Modus, Hilfe.


- WHOIS wurde faelschlicherweise an User geforwarded statt vom Server beantwortet.


- WHOIS wird im "Strict-RFC-Mode" nicht mehr automatisch geforwarded, - andere Server werden nun ueber bisherige Server und User informiert.


- Parses handhabt Leerzeichen zw. Parametern nun etwas "lockerer".


- wird ein Server abgemeldet, so wird anderen Server ein SQUIT geschickt.


- Es werden fuer alle Server eigene Token generiert, - QUIT von einem Server fuer einen User wird an andere Server geforwarded, - ebenso NICK-Befehle, die "fremde" User einfuehren.


- Loglevel von Remote-Mode-Aenderungen angepasst (nun Debug). - Im Debug-Mode werden nun auch PING's protokolliert.


- Server nimmt nun Server-Links an: PASS und SERVER entsprechend angepasst. - MODE und NICK melden nun die Aenderungen an andere Server.


- Bei Log-Meldungen ueber Clients wird nun immer die "Client Mask" verwendet.


- PASSSERVERADD definiert, wird beim PASS-Befehl an Server verwendet.


- Status-Codes an den Server selber werden ignoriert, besseres Logging.


- die Fehlermeldung "unbekannter Befehl" hatte ein falsches Format.


- Beispiel-Konfigurationsdatei aktualisiert.


- CVS-Version auf "0.0.3-pre" angehoben.


- Version 0.0.2


*** empty log message ***


- Loglevel und Meldungen nochmals ueberarbeitet. - QUIT und SQUIT forwarden nun den Grund der Trennung, - WHOIS wird nun immer an den "Original-Server" weitergeleitet.


- Loglevel und Meldungen nochmals geaendert. Level passen nun besser.


- Fehlermeldungen korrigiert.


- Vorbereitungen fuer Ident-Abfragen in Client-Strukturen.


- Vorbereitungen fuer Ident-Abfragen bei neuen Client-Strukturen.


- WHOIS erweitert: Anfragen koennen an andere Server weitergeleitet werden. - Vorbereitungen fuer Ident-Abfragen bei neuen Client-Strukturen.


- neue Nachricht ERR_NOSUCHSERVER_MSG definiert.


- generisches Forwarding von Zahlen-Statuscodes implementiert.


*** empty log message ***


- neue Funktion Client_NextHop().


- Div. Aenderungen fuer die Server-Links (u.a. WHOIS, QUIT, NICK angepasst). - Neue Funktionen IRC_WriteStrServer() und IRC_WriteStrServerPrefix().


- Fehlerpruefung bei select() in der "Hauptschleife" korrigiert.


- Bug bei Remote-Server-Namen entfernt: diese wurden falsch gekuerzt.


- das Passwort von Servern wird nun ueberprueft (PASS- und SERVER-Befehl).


- "arpa/inet.h" wird nur noch includiert, wenn vorhanden. - Ein Fehler bei select() fuerht nun zum Abbruch von ngIRCd. - NO_ADDRESS durch NO_DATA ersetzt: ist wohl portabler.


- Wrapper fuer inet_aton(): liefert immer Fehler.


- syslog() etc. wurde verwendet, auch wenn USE_SYSLOG nicht definiert war.


- Test auf Header "arpa/inet.h" und Funktion inet_aton() hinzugefuegt (BeOS).


- an Server werden keine ERRORS mehr wegen unbekannter Befehle geschickt.


- bei SQUIT wurde immer die Verbindung getrennt, auch bei Remote-Servern.


- IRC_WriteStrXXX()-Funktionen eingefuehrt, groessere Anpassungen daran. - neuer Befehl SQUIT, QUIT an Server-Links angepasst.


- IRC_WriteStrXXX()-Funktionen angepasst; neuer Befehl SQUIT.


- Client_Destroy() an Server-Links angepasst.


- neuer Befehl SQUIT.


- Loglevel ein wenig angepasst.


- Client-Strukruren werden nur noch ueber Funktionen angesprochen. - Weitere Anpassungen und Erweiterungen der Server-Links.


- Client-Strukturen koennen von anderen Modulen nun nur noch ueber die enstprechenden (zum Teil neuen) Funktionen angesprochen werden.


- Client-Strukruren werden nur noch ueber Funktionen angesprochen.


*** empty log message ***


*** empty log message ***


- neue Funktion Client_CheckID(), diverse Aenderungen fuer Server-Links.


- das Server-Passwort kann nun konfiguriert werden.


- neue Befehle SERVER und NJOIN begonnen, - begonnen, diverse IRC-Befehle an Server-Links anzupassen.


- neue Befehle SERVER und NJOIN begonnen.


- diverse Aenderungen und Umsetellungen fuer Server-Links.


- neue Befehle NJOIN und SERVER begonnen.


- neue Message ERR_NOTREGISTEREDSERVER_MSG.


- Protokollversion und Suffix definiert.


- CFLAGS wird nur noch gesetzt, wenn der GCC verwendet wird.


- die Gross- und Kleinschreibung des Nicks kann mit NICK nun geaendert werden.


- Copyright-Texte angepasst ;-)


- Copyright-Texte angepasst. - neuer Befehl "ERROR".


- Signal-Handler fuer SIGCHLD: so sollten Zombies nicht mehr vorkommen.


- Asyncroner Resolver Hostname->IP. - Server-Links begonnen zu implementieren. Die Verbindung wird aufgebaut, jedoch noch keine SERVER-Befehle verschickt. - Diverse Bug-Fixes und kleinere Erweiterungen.


- Konfigurationsdatei "Samba like" umgestellt. - es koennen nun mehrere Server und Oprtatoren konfiguriert werden.


- neue Defines fuer max. Anzahl Server und Operatoren.


- Copyright-Text ergaenzt bzw. aktualisiert.


- Copyright-Texte aktualisiert. - neuer Befehl ERROR.


- Copyright-Texte aktualisiert.


- fehlenden Copyright-Text ergaenzt.


- Copyright-Text aktualisiert.


- Copyright-Text ergaenzt.


- Copyright-Texte ergaenzt und aktualisiert, - fehlende Dateien in Projekt aufgenommen.


- #include's fuer stdlib.h ergaenzt.


- Architektur und Betriebssystem in Start-Meldung aufgenommen.


- CVS-Version auf "0.0.2-pre" angehoben.


- Version 0.0.1


- Projektdateien von Mac OS X werden nun auch in die Distribution aufgenommen.


- "o" zu den unterstuetzten Modes hinzugefuegt.


- neuer Befehl NAMES, kleinere Bugfixes. - Bug bei PING behoben: war zu restriktiv implementiert :-)


- Dokumentation ergaenzt und verbessert.


- das #include fuer time.h hat noch gefehlt.


- nun werden alle generierten Dateien bei "maintainer-clean" geloescht.


- ngt_TrimStr() hatte noch einen boesen Bug: evtl. wurde ueber den Start des Strings nach vorne(!) hinaus gelesen. Hopsa!


- die benutzerabhaengigen Einstellungen des ProjectBuilders haben im CVS eigentlich eher wenig verloren ...


- Makefile.am fuer das "doc"-Verzeichnis begonnen.


- "doc"-Unterverzeichnis aufgenommen.


- Unterverzeichnis "doc" aufgenommen.


- mit ein wenig Dokumentation begonnen (Betonung auf "wenig"!)


- viele neue Befehle (WHOIS, ISON, OPER, DIE, RESTART), - neuen Header "defines.h" mit (fast) allen Konstanten. - Code Cleanups und viele "kleine" Aenderungen & Bugfixes.


- Unterstuetzung fuer die Konfigurationsdatei eingebaut.


- RPL_MYINFO_MSG um unterstuetzte User-Modes ergaengz.


- in "noinst_HEADERS" waren einige Dateien als .c anstelle .h aufgefuehrt.


- acconfig.h in die "noinst_HEADERS" aufgenommen.


- der Server meldet nun eine ordentliche "Start-Zeit".


- bessere Dokumentation des Modules bzw. der Funktionen.


- kleinere Aenderungen ("clean-ups") bei Logging (Resolver).


- Da hatte ich mich wohl ein wenig verrannt; jetzt sollte der Resolver aber tatsaechlich funktionieren.


- neue Funktion Client_SetHostname().


- asyncronen Resolver (IP->Name) implementiert, dadurch div. Aenderungen.


- Log-Funktionen fuer Resolver-Sub-Prozess implementiert.


- Client-Modes implementiert; Loglevel mal wieder angepasst.


- Neue Funktion IRC_MODE() implementiert, div. Aenderungen. - neue configure-Optione "--enable-strict-rfc".


- Neue Funktion IRC_MODE() implementiert.


- Fuehrende und folgende Leerzeichen etc. in Requests werden geloescht. - Logmeldungen (mal wieder) ein wenig angepasst.


- einige Loglevel geaendert.


- Texte ergaenzt, einige Bugs behoben (Leerzeichen falsch gesetzt, z.B.)


- Loglevel (nochmal) angepasst.


- Funktionsnamen etwas konsequenter umbenannt :-)


- neue configure-Option "--enable-strict-rfc", #define STRICT_RFC.


- neue configure-Option "--enable-strict-rfc".


- bei "Null-Requests" wird nichts mehr geloggt. Uberfluessig, da normal.


- neue Befehle PRIVMSG, NOTICE, PING.


- neue Funktion Client_Search(), besseres Logging.


- neue Befehle NOTICE und PRIVMSG. - Debug-Logging ein wenig reduziert.


- der eigene Hostname wird nun komplet (als FQDN) ermittelt.


- RPL_WELCOME an Client_GetID() angepasst.


- neu: IRC_WriteStrRelated(), Aenderungen auch in IRC_WriteStrClient().


- neue Funktion Client_GetID(), liefert die "Client ID".


- vergessene Variable bei Ping-Timeout-Logmeldung ergaenzt. Opsa.


- neue configure-Option "--with-portab=DIR".


- da fehlte an zwei Stellen ein AC_MSG_ERROR ... ups!


- die Verwendung von syslog kann nun abgeschaltet werden.


- Erkennung der "portab header" geaendert, CFLAGS werden nun anders gesetzt.


- MOTD-Datei ist nun konfigurierbar und wird gelesen.


- "Code Cleanups".


- in ERR_NOTREGISTERED_MSG fehlte ein "%s" - jetzt steht auch hier der Nick.


- Verbindungen mit Lesefehlern werden nun korrekt terminiert.


- PING/PONG-Befehle implementiert.


- Format der Meldungen ueberarbeitet: fast immer ist nun der Nick enthalten.


- string.h wird nun includiert.


- PING/PONG-Befehle implementiert, - Meldungen ueberarbeitet: enthalten nun (fast) immer den Nick.


- PING/PONG-Timeout implementiert.


- erste Konfigurations-Variablen definiert: PING/PONG-Timeout.


- neue Funktion Client_Name().


- und nochmal Aenderungen am Logging ;-)


- buffer werden nun periodisch geprueft, keine haengenden Clients mehr.


- Debug-Meldungen angepasst.


- Versionsstring bei Programmstart verbessert.


- Aenderungen an den Debug- und Logging-Funktionen.


- Conn_Close() eingefuehrt: war die lokale Funktion Close_Connection().


- neuer IRC-Befehl "/QUIT". Verbessertes Logging & Debug-Ausgaben.


- neue configure-Option "--enable-sniffer".


- Client-Typ ("Status") besser unterteilt, My_Clients ist zudem nun global.


- es wird nun die Facility LOG_LOCAL5 zum Loggen verwendet.


- neue Message: ERR_NICKNAMEINUSE[_MSG].


- bessere Fehler-Abfragen, diverse Bugfixes. - Nicks werden nur einmal vergeben :-) - /MOTD wird unterstuetzt.


- Gross- und Kleinschreibung der IRC-Befehle wird ignoriert. - bessere Debug-Ausgaben.


- Signal-Handler aufgeraeumt; u.a. SIGPIPE wird nun korrekt ignoriert.


- USER und NICK wird nun in beliebiger Reihenfolge akzeptiert (wg. BitchX) - MOTD-Ausgabe begonnen zu implementieren.


- in Conn_WriteStr() wurde das CR+LF nicht angehaengt! - Fehler-Ausgaben vereinheitlicht.


- einige assert()'s eingestraeut.


- einige Messages korrigiert, andere ergaenzt (u.a. fuer MOTD).


- einige neue Funktionen, - CLIENT-Struktur erweitert.


- einige neue Funktionen, - Konstanten um "CLIENT_"-Prefix erweitert.


- Conn_WriteStr() nimmt nun variable Parameter, - diverse kleinere Aenderungen.


- Conn_WriteStr() unterstuetzt nun variable Parameter.


- erste IRC-Befehle zu implementieren begonnen.


- bessere Debug-Ausgaben, - Bug im Parameter-Parser behoben (bei "langem" Parameter) - erste IRC-Befehle werden erkannt :-)


- Konstanten um Prefix "CHANNEL_" erweitert.


- Header messages.h eingefuegt.


- Ich habe diesen Header begonnen.


- neues Modul messages.h eingefuegt.


- zusaetzliche Debug-Ausgaben koennen eingeschaltet werden.


- Modul zum Parsen von Client-Requests begonnen.


- neues Modul "parse" eingebunden.


- neues Modul "parse" wird initialisiert und abgemeldet.


- kleinere Aenderungen an den Log-Meldungen, - Parse_Request() wird aufgerufen.


- Lese- und Schreib-Puffer implementiert. - einige neue (Unter-)Funktionen eingefuehrt. - diverse weitere kleinere Aenderungen.


- neue globale Funktionen: Conn_Write() und Conn_WriteStr().


- Log-Level der Start- und Stop-Meldungen angehoben.


- neue Module (irc, client, channel) eingebunden.


- Begonnen, Client-spezifische Lesepuffer zu implementieren. - Umstellung auf Datentyp "CONN_ID".


- CONN_ID wird definiert.


- neue Module (irc, client, channel) werden an- und abgemeldet. - zweiter Listen-Socket wird zu Testzwecken konfiguriert.


- NONE als -1 definiert. Macht den Source lesbarer ;-)


- neue Module (irc, client, channel) aufgenommen.


- neues Modul begonnen :-)


- boesen "Speicherschiesser" in Log() gefixt.


- beim Compilieren werden nun Informationen fuer den Debugger erzeugt.


*** empty log message ***


- Conn_Handler() unterstuetzt nun einen Timeout (in Sekunden).


- Conn_Handler() unterstuetzt nun einen Timeout. - fuer Verbindungen werden keine FILE-Handles mehr benutzt. - kleinere "Code Cleanups" ;-)


- Conn_Handler() wird nun mit einem Timeout aufgerufen.


- diverse Erweiterungen und Verbesserungen (u.a. sind nun mehrere Verbindungen und Listen-Sockets moeglich).


- Zum Loggen wird nun auch syslog verwendet.


- Log-Meldungen an syslog angepasst. - NGIRCd_Quit ist nun das Flag zum Beenden des ngircd.


- NGIRCd_Quit ist nun das globale Flag zum Beenden des ngircd.


- Projektdatei fuer den Mac OS X Project Builder erstellt.


- mehr Unterfunktionen eingebaut, Modul besser strukturiert & dokumentiert. - Anpassungen an neue Module.


- Tool-Funktionen haben nun das Praefix "ngt_".


- neue Sourcefiles und Header ergaenzt.


- LOG_ERR heisst nun LOG_ERROR.


- in Log-Meldungen wird nun auch der Level der Meldung ausgegeben.


- Modul zur Verwaltung aller Netzwerk-Verbindungen begonnen.


- Modul fuer Server-Konfiguration begonnen.


- Test auf socklen_t verbessert.


- fuer fehlende Dateien werden nun "nur noch" symbolische Links erzeugt.


- ein paar mehr Kommentare; Variablennamen verstaendlicher gemacht. - fehlenden Header <arpa/inet.h> ergaenz. - SIGINT und SIGQUIT werden nun ebenfalls behandelt.


- Test auf stdint.h (HAVE_STDINT_H) hinzugefuegt.


Initial revision