Commits


Fixed TRACE: don't output "Serv" lines for ourself; display more info.


Removed "USE_" prefixes of configuration #defines.


Fixed and enhanced penalty handling; changed internal time resoluiton of the server to one second. Code cleanup.


The KILL comand verifies and logs more parameters.


Changed all PACKAGE's to PACKAGE_NAME and all VERSION's to PACKAGE_VERSION.


Enhanced (and fiexd) IRC_TRACE(): now shows operators and correct link uptimes.


- Added "HELP" command.


- Added support for "TRACE" command.


- Enhanced IRC_KILL to get along with Client==Client_ThisServer() for "fake KILLs".


- Fixed IRC_KILL: used wrong connection index.


- Fixed test if we are still connected after a KILL command.


- Adjusted includes for new "conn-func.h" header.


- Fixed prefix of error messages of KILL.


- KILL can't kill server-links any more.


- fixed KILL: you can kill yourself now without crashing the server; QUIT isn't send to other servers after the KILL any more.


- replaced some calls to sprintf() with snprintf() -- more secure :-)


- replaced a lot of strcpy() calls with strlcpy() which is more secure.


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


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


- IRC Operators can KILL users now.


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


- Parser auf Befehlstabelle umgestellt.


- neuer Befehl IRC_TIME().


- MOTD kann nun auch an andere Server delegiert werden.


- neue Funktion IRC_WHOWAS() begonnen.


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


- fehlenden Return-Wert ergaenzt (ich Dubel).


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


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


- neuer Befehl IRC_ADMIN().


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


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


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


- Weitere Anpassungen an pre-ANSI-Compiler.


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


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


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


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


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


- WHO implementiert (bisher ohne Unterstuetzung von Masks)


- Source in weitere Module fuer IRC-Befehle aufgesplitted.


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


- einige Funktionen in irc-xxx-Module ausgegliedert.


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


- Channel-Topics implementiert.


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


- IRC-Befehl "AWAY" implementert.


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


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


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


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


- Log-Meldungen bei SQUIT erneut ueberarbeitet ...


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


- 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)


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


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


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


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


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


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


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


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


- Fehlerhafte Modes werden nun ausfuehrlicher an den Client gemeldet.


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


- NICK korrigiert.


- Nach Connect eines Users werden LUSERS-Informationen angezeigt.


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


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


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


- 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).


- 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 zur MODE-Behandlung, fuer Channel-Modes vorbereitet.


- 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.


- 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.


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


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


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


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


- 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.


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


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


- IRC_LUSERS() implementiert.


- LINKS implementiert, LUSERS begonnen.


- 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.


- 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.


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


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


- 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.


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


- 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.


- Loglevel ein wenig angepasst.


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


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


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


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


- neue Defines fuer max. Anzahl Server und Operatoren.


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


- 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.


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


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


- neue Befehle PRIVMSG, NOTICE, PING.


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


- MOTD-Datei ist nun konfigurierbar und wird gelesen.


- "Code Cleanups".


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


- und nochmal Aenderungen am Logging ;-)


- Debug-Meldungen angepasst.


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


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


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


- erste IRC-Befehle zu implementieren begonnen.


- neues Modul begonnen :-)