Commits


- Version auf 0.4.1 angehoben.


- Dokumentation aktualisiert.


- Backports aus CVS HEAD-Tree.


- Version 0.4.0


- URL der Homepage zu Info-Text bei --version hinzugefuegt.


- Dokumentation aktualisiert.


- Dokumentation aktualisiert.


- Versionsnummer auf 0.4.0-pre1 angehoben.


- 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