Commits


- 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