Hallo erstmal auf der Liste ;-)
Gestern Abend hat es mich noch gepackt, ich habe die
Protokollerweiterung begonnen. Arbeitstitel dafür: "IRC+-Protokoll".
Die bisherige Implementation ist in doc/Protocol.txt dokumentiert.
Server erkennen an einem speziellen Aufbau des PASS-Befehls, ob und in
welchem Umfang die Gegenseite das IRC+-Protokoll unterstützt.
Prinzipiell sind diese Erweiterungen nicht auf den ngIRCd beschränkt.
Der ngIRCd achtet darauf, daß er keine IRC+-Befehle an Server
verschickt, die dieses Protokoll nicht unterstützen. Die Kompatibilität
zum Original, dem ircd, sollte also nach wie vor gewahrt sein.
Bisher gibt es nur einen weiteren Befehl: CHANINFO
Mit diesem tauschen Server bei Server-Joins zu jedem Channel das Topic
und die Modes aus. D.h. es kommt nicht mehr vor, daß ein Channel auf
ein Topic hat, auf einem anderen aber nicht (z.B., weil niemand auf
diesem Server im Channel war).
Sowohl die Modes als auch das Topic werden aber nur dann übernommen,
wenn noch keine gesetzt sind. Es kann also durchaus nach wie vor
vorkommen, daß auf unterschiedlichen Servern unterschiedliche Topics
bzw. Modes für einen Channel gelten. -- Das liegt in der Natur des
IRC-Protokolls und ist "normal".
Für die Protokoll-Erweiterung waren "unter der Haube" einige Änderungen
nötig, ich hoffe, daß ich nichts "verbastelt" habe. In einem Kurztest
hier mit mehreren Servern (u.a. irc.my.net ist bereits aktualisiert)
lief aber alles so, wie es sollte ...
Grüße
Alex
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de