- der Server wartet bei einer eingehenden Verbindung nun laenger auf
den
Resolver (bis zu 4 Sekunden), wenn das Ergebnis eintrifft setzt er
aber
den Login sofort fort (bisher wurde immer mind. 1 Sekunde gewartet).
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
Neu in HEAD:
- ein "schneller Server-Reconnect" wird nur noch dann versucht, wenn
die
Verbindung zuvor ordentlich (="lange genug") in Ordnung war; somit
also
nicht meht, wenn der Peer-Server gleich beim Connect ein ERROR
liefert.
Das vermeidet "Connect-Orgien".
- einige Datentypen aufgeraumt: z.B. sind viele INT32s nun LONGs. Das
ist
auf Platformen mit 8-Byte-Integern kompatibler.
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
Hallo nocheinmal!
Ich wollte hier mal noch ein paar Sätze zu den verschiedenen Versionen
verlieren:
ngircd-<x.y.z>.tar.gz
---------------------
Das sind die "stabilen" Release-Versionen. Zu erkennen sind sie leicht
an der entsprechenden Versionsnummer. Die aktuelle Release-Version
(z.Zt. 0.5.2) ist eigentlich immer "stabil": sollten sich gravierende
Fehler finden, so werden diese behoben und es gibt ein neues Release in
der 0.5.x-Reihe.
CVS branch-0.5.x
----------------
Das ist der "Branch" (zu Deutsch: Teil) des CVS-Repository, aus dem die
Release-Verionen entstehen. D.h. jede Release-Version gab bzw. gibt es
auch mal in diesem CVS-Branch.
Zur Zeit ist die CVS-branch-0.5.x-Version identisch mit der Release
Version 0.5.2. Sollten Bugfixe nötig werden, so spiele ich diese
zunächst in den branch-0-5-x ein und -- wenn sie sich als stabil
erweisen -- erstelle dann daraus eine neue Version in der Reihe 0.5.x.
CVS HEAD
--------
Das ist der "Kopf" der CVS-Repository: hier baue ich neue Funktionen
und Erweiterungen ein, die somit erstmal noch weitestgehend ungetestet
sind und durchaus auch mal "nicht stabil" sein können.
Kleinere Verbesserungen, die relativ unkritisch sind, haben gute
Chancen, aus dem CVS-HEAH in den branch-0-5-x übernommen zu werden und
somit auch im nächsten 0.5.x-Release zu landen.
Größere Erweiterungen werde ich aber nicht mehr in die 0.5.x-Reihe
"zurück portieren" ("backport"), sie werden dann erst im nächsten
größeren Release zu finden sein: 0.6.x (dafür gibt es dann wieder einen
CVS-Branch).
Eine Grafik:
^
|
CVS-HEAD
| 0.5.0 0.5.1 0.5.2
| | | |
+-- branch-0-5-x --+-------+-------+--->
|
| 0.4.0 0.4.1 0.4.2 0.4.3
| | | | |
+-- branch-0-4-x --+-------+-------+-------+
|
|
0.0.1
Welche Version ist "die richtige"?
----------------------------------
Jeder, der das Wort "Compiler" nicht aussprechen kann, sollte auf jeden
Fall eine Release-Version (tar.gz) verwenden.
Alle, die Wert auf einen stabil laufenden Server legen, sollten die
jeweils aktuelle CVS-Version aus dem branch-0-5-x verwenden.
Mutige und Leute, die aktiv am ngIRCd entwickeln wollen, sollten wohl
die CVS-HEAD-Version verwenden.
"Branch-Version" aus dem CVS
----------------------------
a) es existiert bereits ein CVS-Source-Tree:
dieser kann mit folgendem Befehl (im Source-Tree!) konvertiert
werden:
cvs update -r branch-0-5-x
b) ein neuer "Checkout" soll durchgeführt werden:
cvs -d:pserver:anonymous@arthur.ath.cx:/usr/local/CVS/ngircd
checkout -r branch-0-5-x
Achtung:
In beiden Fällen heißt der Source-Ordner "ngircd". Er kann aber -- auch
in beiden Fällen -- problemlos von Hand umbenannt werden, der Name
spielt später keine Rolle mehr.
Zur Bedienung von CVS gibt es unter
<http://www.cvshome.org/docs/manual/cvs.html> noch vieeel mehr :-)
Announces hier in der ML
------------------------
Alle Release-Versionen kündige ich selbstverständlich inklusive
komplettem ChangeLog hier an (wie auch auf Freshmeat.net).
Für wesentliche CVS-Updates (sowohl HEAD als auch in einem Branch)
schreibe ich eine kurze Mail an diese ML. Wenn ich in diesem Fall von
"HEAD" schreibe, hat ihr natürlich nichts zu updaten, wenn ihr eine
Branch-Version verwendet und vice versa :-)
Und nun viel Spaß, hoffe, alle Klarheiten beseitigt zu haben! ;-))
Grüße
Alex
PS.: diese ML ist durchaus auch zum Diskutieren und Fragen-Stellen
gedacht & geeignet :-)
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
Hallo zusammen!
Zwar bin ich krank und im Wesentlichen im Bett, aber so sehr am Ende,
daß ich nicht mehr noch ein wenig hacken könnte, bin ich dann doch
nicht ;-)))
Hier die Neuigkeiten (nur in CVS-HEAD):
- beim Schließen einer Verbindung zeigt der Server nun vor dem ERROR
noch eine Statistik ueber die empfangene und gesendete Datenmenge
an.
- Clients werden beim Connect mit NOTICEs ueber den Status der
Resolver-
Subprozesse informiert.
- NOTICE liefert nun wirklich nie mehr einen Fehler, auch dann nicht,
wenn der sendende Client noch gar nicht registriert ist.
- NOTICEs vom Server selber (z.B. Verbindungsstatistik oder s-Mode)
haben nun ein "Text-Prefix": "*** ".
Grüße
Alex
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
Hi zusammen!
CVS-Versionen aus CVS-HEAD zeigen ab sofort im Versionsstring bei
"--help" und "--version" das Datum des aktuellsten CVS-Id-Tags mit an.
Somit kann man besser erkennen, wie aktuell die entsprechende Version
ist.
Ich habe dazu das Build-System (src/ngricd/Makefile.am) ein wenig
aufgebohrt: "man" müßte mal durchtesten, ob das nun noch auf allen
Plattformen tut.
Wenn ja, so werde ich es in den 0.5.x-CVS-Branch übernehmen. Wenn nein,
sollte ich es reparieren ;-)
Grüße
Alex
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
Hallo!
Und schon gibt es Version 0.5.2.
Änderungen seit 0.5.1:
- Buffer Overflow in Read_Resolver_Result() behoben.
- Format-String-Bugs, die zum Abbruch des Servers fuehrten, behoben.
- Maximale Laenge eines IRC-Prefix wurde falsch berechnet.
Download:
- <http://arthur.ath.cx/pub/Users/alex/ngircd/ngircd-0.5.2.tar.gz>
- <ftp://arthur.ath.cx/pub/Users/alex/ngircd/ngircd-0.5.2.tar.gz>
In CVS HEAD und branch-0-5-x sind diese Änderungen natürlich auch
enthalten.
Ein Update ist DRINGEND ANZURATEN, v.a. mit den Format-String-Bugs kann
ein Server sehr einfach abgeschossen werden.
Grüße
Alex
PS.: diesmal das ganze mit Subject ;-))
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
Hallo!
Und schon gibt es Version 0.5.2.
Änderungen seit 0.5.1:
- Buffer Overflow in Read_Resolver_Result() behoben.
- Format-String-Bugs, die zum Abbruch des Servers fuehrten, behoben.
- Maximale Laenge eines IRC-Prefix wurde falsch berechnet.
Download:
- <http://arthur.ath.cx/pub/Users/alex/ngircd/ngircd-0.5.2.tar.gz>
- <ftp://arthur.ath.cx/pub/Users/alex/ngircd/ngircd-0.5.2.tar.gz>
In CVS HEAD und branch-0-5-x sind diese Änderungen natürlich auch
enthalten.
Ein Update ist DRINGEND ANZURATEN, v.a. mit den Format-String-Bugs kann
ein Server sehr einfach abgeschossen werden.
Grüße
Alex
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
Hallo!
Ich habe soeben ngIRCd 0.5.1 freigegeben.
Änderungen seit 0.5.0:
- in RPL_YOURHOST_MSG wurde ein fehlerhafter Versionsstring geliefert.
- Test-Suite: start-server.sh, stop-server.sh und stress-server.sh
koennen
nun "manuell" von der Kommandozeile gestartet werden,
stress-server.sh
startet per Default nur noch 5 Sessions, eine andere Zahl kann auf
der
Kommandozeile uebergeben werden (Syntax: "stress-server.sh
<count>").
- In bestimmten Faellen hat der Server versucht auf einen bereits
wieder
geschlossenen Socket Daten zu schreiben; das fuehrte zu einem
Abbruch des
Servers durch ein assert(). Nun wird geprueft, ob der Socket noch
ok ist.
- im "contrib"-Verzeichnis befindet sich nun eine RPM-Spec-Datei, aus
den
.tar.gz's koennen nun mit "rpm -ta <archiv>" RPM's erzeugt werden.
Danke
an Sean Reifschneider <jafo(a)tummy.com>!
Download:
- <http://arthur.ath.cx/pub/Users/alex/ngircd/ngircd-0.5.1.tar.gz>
- <ftp://arthur.ath.cx/pub/Users/alex/ngircd/ngircd-0.5.1.tar.gz>
Grüße
Alex
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
* HEAD
- im "contrib"-Verzeichnis befindet sich nun eine RPM-Spec-Datei,
aus den .tar.gz's koennen nun mit "rpm -ta <archiv>" RPM's erzeugt
werden. Danke an Sean Reifschneider <jafo(a)tummy.com>!
Grüße
Alex