Hallo zusammen!
- select() in Try_Write() hat falschen (keinen!) Timeout verwendet;
die "Zeit-Aufloesung" des Servers sind zudem nun 2 Sekunden (TIME_RES).
Insgesamt sollte die Reaktionszeit des Server nun besser sein.
"Zeit-Aufloesung" bedeutet: mindestens alle diese TIME_RES Sekunden, also im
Moment alle 2 Sekunden, prueft der Server, ob PINGs gesendet werden muessen,
ob Server (neu) connectiert werden muessen, ob irgend welche andere Timeouts
aufgetreten sind. Wenn Netz-Aktivitaet vorhanden ist, geschieht dies ggf.
frueher, d.h. das Interval ist zwischen 0 und TIME_RES Sekunden.
Gruesse
Alex
--
Alexander Barton, Freiburg, Germany
alex(a)barton.de, http://www.barton.de/
Folgende Erweiterung habe ich gerade in CVS-HEAD eingespielt:
- Der Server kann nun zur Laufzeit die Konfiguration neu einlesen:
dies
macht er nach dem Befehl RELOAD oder wenn ein HUP-Signal empfangen
wird.
Grüße
Alex
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
Änderungen in CVS-HEAD und branch-0-5-x:
- RPL_UMODEIS hat Code 221, nicht 211 ... *argl*
Faszinierend, daß das noch niemandem aufegallen ist. Das ist der
Status-Code, den der Server als Antwort für eine MODE-Abfrage für einen
Client zurück sendet ...
Grüße
Alex
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
Hi zusammen!
- angenommene Sockets werden nun korrekt auf "non-blocking"
konfiguriert,
beim Senden und Empfangen werden Blockierungen besser abgefangen.
Mit den "non-blocking" Sockets bestand da wohl noch ein gewisses
(hüstel) Problem. Fix ist in CVS-HEAD und branch-0-5-x ... hoffentlich
stimmer er so auch ;-)
Grüße
Alex
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
In CVS-HEAD und dem bvranch-0-5-x:
- Besseres Logging von Prefix-Fehlern.
Grüße
Alex
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
Hallo zusammen!
Neu in CVS-HEAD:
- unter HP-UX definiert das configure-Script nun _XOPEN_SOURCE_EXTENDED.
Dies ist offenbar für HP-UX 11.11 erforderlich ...
- Server identifizieren sich nun mit asyncronen Passwoertern, d.h. das
Passwort, welches A an B schickt, kann ein anderes sein als das,
welches B als Antwort an A sendet. In der Konfig.-Datei, Abschnitt
"Server", wurde "Password" dazu durch "MyPassword" und "PeerPassword"
ersetzt.
Bisher wurden Server-Paßwörter im Abschnitt [Server] mit der Variablen
"Password" konfiguriert. Durch diesen Patch müssen nun zwei Paßwörter
konfiguriert werden: das des eigenen Servers und das des "Peers": dazu
gibt es die beiden neuen Variablen "MyPassword" und "PeerPassword".
Server "A.server" Server "B.server"
Bisher: [Server] [Server]
Host=a.server.netHost=b.server.net
Name=A.server Name=B.server
Password=ThePwd Password=ThePwd
Neu: [Server] [Server]
Host=a.server.netHost=b.server.net
Name=A.server Name=B.server
MyPassword=ServerAPwd MyPassword=ServerBPwd
PeerPassword=ServerBPwd PeerPassword=ServerAPwd
Um die bisherige Semantik zu emulieren kann man einfach "MyPassword" und
"PeerPassword" auf den selben Wert setzen. Das ist jedoch NICHT
empfohlen, dieses Verfahren ist nicht "sicher":
Grund: Sendet "mein" Server A mein Passwort an den unbekannten Server B,
so kann dieser einfach mein Passwort, welches er gerade empfangen hat,
wieder an mich zurück schicken und ist authentifiziert. Nur mit
asyncronen Paßwörtern kann mein Server sein Gegenüber validieren.
Grüße
Alex
neu in CVS-HEAD:
- Fehler-Handling von connect() gefixed: der Server kann sich nun auch
unter A/UX wieder zu anderen verbinden. Prinzipiell ist der Fehler
auch
auf anderen Platformen vorhanden, greift dort aber nicht ...
- Dokumentation fuer A/UX ueberarbeitet.
Grüße
Alex
--
Alexander Barton, Freiburg, Germany
http://www.barton.de/, alex(a)barton.de
Ilja hat mir eine übersetzte Version der sample-ngircd.conf geschickt. Ich
habe diese ins Verzeichnis doc/en aufgenommen.
Vielen Dank!
Grüße
Alex
--
Alexander Barton, Freiburg, Germany
alex(a)barton.de, http://www.barton.de/
Updates in HEAD:
- in ServerUID und ServerGID kann nun nicht nur die numerische ID, sondern
auch der Name des Users bzw. der Gruppe verwendet werden.
Grüße
--
Alexander Barton, Freiburg, Germany
alex(a)barton.de, http://www.barton.de/
Hallo!
Soeben habe ich ngIRCd 0.5.3 freigegeben. Diese ist -- bis auf die
Versionsnummer ;-) -- mit 0.5.3-pre1 identisch.
Änderungen seit 0.5.2:
- NOTICE liefert nun wirklich nie mehr einen Fehler, auch dann nicht,
wenn der sendende Client noch gar nicht registriert ist.
- 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.
- RPL_YOURHOST_MSG ist nun ircII- und RFC-kompatibel ;-)
- Segfault unter hoher Netzaktivitaet behoben: in Conn_Close() wird
die Connection-Struktur nun frueher als "ungueltig" markiert.
Download:
- <http://arthur.ath.cx/pub/Users/alex/ngircd/ngircd-0.5.3.tar.gz>
- <ftp://arthur.ath.cx/pub/Users/alex/ngircd/ngircd-0.5.3.tar.gz>
Patch von 0.5.2 auf 0.5.3:
- <http://arthur.ath.cx/pub/Users/alex/ngircd/ngircd-0.5.2-0.5.3.patch>
Ein Update ist für Server, die nicht CVS-HEAD oder 0.5.3-pre1 verwenden,
DRINGEND ANZURATEN!
Grüße
Alex
--
Alexander Barton, Freiburg, Germany
alex(a)barton.de, http://www.barton.de/