XHOSTS ====== Das XHOSTS-File enth„lt Informationen ueber alle Nachbarsites. Wenn man Žnderungen im XHOSTS-File durchfuehrt, sollte man UNBEDINGT eine Kopie des Files anlegen und aufheben! Fuer jeden Host, den man pollt oder von dem man gepollt wird, gibt es eine Zeile im XHOSTS. Reicht die L„nge einer Zeile nicht aus, so kann sie durch einen '\' am Ende fortgesetzt werden. Eventueller Whitespace am Anfang der n„chsten Zeile wird dann entfernt. Die Gesamtl„nge (inklusiver aller Fortsetzungszeilen) sollte aber nicht ueber 2040 Byte oder so liegen. Falls in einem Feld eine Liste von Werten stehen kann (siehe unten), werden die Listenelemente durch '%' getrennt. Bleibt ein Feld leer, so muessen natuerlich die Trennzeichen '|' trotzdem erhalten bleiben. Leerzeilen sowie Kommentarzeilen (also Zeilen, die mit einem '#' beginnen), werden ignoriert. Da in dem File auch interne Daten enthalten sind (letzter Versuch und letzter Erfolg), wird das File regelmaessig neu von UUWORK erzeugt, wobei nur die Daten geschrieben werden und Kommentare wegfallen. Will man ein kommentiertes XHOSTS behalten, muss man sich eine Kopie anlegen oder noch besser: man macht Aenderungen immer an einem kommentierten XHOSTS-File und kopiert dieses dann auf den richtigen Filenamen. Das XHOSTS ist ein normales Ascii-File und kann auch von Menschen gelesen werden. Deshalb werden auch die beiden internen Werte als Kommentare im Klartext hinzugefuegt. The following lines are really one line that has been split to fit on the page. You can split lines in the file by putting a '\' character at the end and an arbitrary number (even zero) of whitespace characters on the beginning of the following line. The ellipses here is used only for clarity and will NOT work in the actual file. site%site.domain|atx4b0e0s10=20m0|0:15/3/0-7%W0-7%W18-24| ... ^ ^ ^ ^ | | | \_ List of poll times (empty for manual | | | polls only). Time before the first | | | slash is redial time in case of | | | failure, time before the second slash | | | is minimum time between automatic polls | | | (this is an oversimplification). Both | | | are optional. The rest of the line | | | consists of '%'-separated call times, | | | optionally prefixed by 'W' for work | | | only (anything to transmit), and | | | any string of "abcdefg" for Sunday, | | | Monday, ..., Saturday. No day letters | | | are equivalent to "abcdefg". | | \_ Modem initialisation string | \_ Alternative names, separated by '%' characters. \_ Primary name of neighboring site ...|2400|tel1%tel2|ogin:||word:|||n1|n2 ^ ^ ^ ^ ^ ^ ^ ^ ^ | | | | | | | \__\_ internal time | | | | | | | fields. Set to | | | | | | | "0" when creating | | | | | | | an entry. | | | | | | \_ Spool directory. Every site | | | | | | must have its own. Files that | | | | | | are to be sent to that site | | | | | | go there. | | \_____\______\_____\___ Login chat. Must be | | exactly four entries long, | | BREAKs and new lines are | | sent automatically | \_ List of telephone numbers or "DIR" for direct connection. \_ Baud rate Die beiden folgenden Zeilen sind eigentlich eine lange Zeile, die aber wegen ihrer Laenge hier aufgeteilt werden musste. Ihre Komponenten werden hier kurz und weiter unten ausfuehrlicher erlaeutert. site%site.domain|atx4b0e0s10=20m0|0:15/3/0-7%W0-7%W18-24| ... ^ ^ ^ ^ | | | \_ Liste der Pollzeitraeume | | \_ Modemoptionen, siehe HOSTS-File | \_ Alternativnamen \_ Pollsite ...|2400|tel1%tel2|ogin:||word:|||n1|n2 ^ ^ ^ ^ ^ ^ ^ ^ ^ | | | | | | | \__\_intern | | \_____\______\_____\____\_ siehe HOSTS-File | \_ Liste der Telefonnummern (ggf. leer) \_ Baudrate, siehe HOSTS-File Erlaeuterung zu der Komponenten einer solchen Zeile : 1) Liste mit alternativen Namen fuer eine Pollsite. Der erste Name sollte immer der domainlose Name der Site sein, unter anderem, damit man einen kurzen Namen fuer Anzeigen und Tabellen hat, vor allem aber auch, weil der UUCICO diesen ersten Namen uebergeben bekommt und es sonst dabei Probleme geben koennte. Ausser diesem ersten Namen koennen noch mehrere Alternativen angegeben werden, insbesondere eine Liste mit allen Namen der Site in den verschiedenen Domains zu denen sie gehoert. 2) Modemoptionen (z. B. Register setzen, Echo abschalten). Siehe uucico(1). 3) Liste der Pollzeiten: Dies ist eine Liste von Zeitraeumen (also jeweils mit '%' getrennt), in denen UUWORK versuchen darf, bei der betreffenden Site zu pollen. Diese Zeitraeume werden jeweils bestimmt durch zwei Zeitangaben im Format 'hh:mm', 'h:mm', 'hh' oder 'h' (Stunden koennen also ein- oder zweistellig geschrieben werden, Minuten muessen immer zweistellig geschrieben werden, koennen aber auch ganz weggelassen werden, wenn es eine volle Stunde ist), zwischen denen ein '-' steht. Ein 'Zeitraum' darf auch aus lediglich einer solchen Angabe bestehen, wenn damit nur ein Versuch zu einem EXAKTEN Termin erlaubt werden soll. Bei dieser Liste gibt es aber noch mehrere Spezialitaeten : - Vor der GESAMTEN Liste darf EINE Zeitangabe (Format wie bei den Zeitraeumen) stehen, die angibt, wie lange nach einem Fehlversuch mindestens gewartet werden muss bevor ein neuer Versuch gemacht werden darf. Diese Zeit wird von der gesamten uebrigen Liste durch einen '/' getrennt. Ist diese Retryzeit zu lang, so wird zu selten probiert und man erreicht die Site nicht, wenn diese oft und lange besetzt ist. Ist diese Zeit aber zu kurz, kann es beim automatischen Betrieb (auch schon in einer Nacht) teuer werden, falls die andere Site jeweils abnimmt, aber der Login immer misslingt (bei 5 Minuten Retryzeit waeren das ueber 33 DM in 12 Stunden !!!). Der Defaultwert bei fehlender Angabe ist 0:30. - Wenn eine solche 'Retryzeit fuer Fehlversuche' angegeben wurde, kann noch eine zweite Zeitangabe unmittelbar zwischen der 'Busy-Retryzeit' und der gesamten Liste stehen. Diese Zeitangabe hat das gleiche Format wie andere Zeitangaben und wird ebenfalls durch einen '/' vom Rest getrennt. Mit dieser Angabe kann man bestimmen, wie lange nach einem erfolgreichen Anruf bis zum naechsten Versuch mindestens gewartet werden soll (das gilt auch uebergreifend fuer folgende Pollzeitraeume). Ein erneuter Pollversuch innerhalb des gleichen Pollzeitraums erfolgt aber nie (auch nach Ablauf der Success-Retryzeit nicht), wenn keine Arbeit vorliegt (siehe 'W'). Der Defaultwert fuer diese 'Success-Retryzeit' ist das zehnfache der Busy- Retryzeit, also 10 * 0:30 = 5 Stunden, wenn keine der beiden Retryzeiten angegeben wurde. - Vor jedem der einzelnen Pollzeitraeume kann ein 'W' (fuer 'work') angegeben werden. Dann wird der Poll nur ausgefuehrt, wenn auch wirklich Daten zur šbertragung anstehen. Noch nicht gebatchte News und Mails werden natuerlich dabei beruecksichtigt. Diese Angabe hat auch eine Bedeutung im Zusammenhang mit der 'Success-Retryzeit': Der Normalfall ist, dass neue Mails und News moeglichst bald an andere Sites weitergeleitet werden sollen. Deshalb ist es sinnvoll, dass bei Angabe von 'W' auch in einem einzigen Pollzeitraum mehrfach gepolled werden kann, sobald jeweils neue Daten vorliegen. Andererseits darf nicht fuer jede einzelne Mail sofort gepolled werden, wenn gerade erst unmittelbar vorher erfolgreich gepolled wurde. Sonst koennte die Telefonrechnung zu hoch werden (siehe oben). Eine andere Absicht steckt hinter den Eintraegen ohne 'W', bei denen ein Poll erzwungen werden soll (z.B. taeglich zu einer bestimmten Zeit, insbesondere bei Sites, von denen man nicht gepolled wird). Als Loesung dieser kollidierenden Interessen wird deshalb in Pollzeitraeumen ohne 'W' nur maximal einmal gepolled, aber in Pollzeitraeumen mit 'W' (in Abhaengigkeit von der Success-Retryzeit) auch mehrfach. - Vor einem Pollzeitraum (falls ein 'W' vorhanden ist, hinter diesem) kann eine Reihe von kleinen Buchstaben fuer Wochentage stehen, auf die der Pollzeitraum beschraenkt sein soll. 'a' bis 'g' steht dabei fuer die Wochentage von Sonntag bis Sonnabend (die Woche beginnt hier also im Gegensatz zur Realitaet NICHT mit dem Montag). Fehlen solche Buchstaben, gilt der folgende Pollzeitraum an allen Wochentagen (also 'abcdefg' als Default). - Pollzeitraeume haben schoen viele Optionen, aber jetzt geht es doch weiter mit den anderen Teilen der XHOST-Zeilen ... 4) Baudrate. Siehe uucico(1). 5) Telefonnummern. Hier kann eine Liste von Telefonnummern angegeben werden, die alle je einmal unmittelbar nacheinander durchprobiert werden. Dabei kann man sowohl verschiedene Nummern angeben, z.B. bei einer Site mit mehreren Ports, als auch mehrfach die gleiche Nummer, z.B. wenn man alle halbe Stunde (gesetzt mit der Retryzeit) zwei Versuche unmittelbar nacheinander machen will (weil es so viele Fehlverbindungen durch die Post gibt :-) Fuer Profis: 'besetzt' (genauer gesagt 'Fehlversuch') wird vom UUWORK uebrigens auch dann erkannt, wenn der UUCICO keine vernuenftigen Fehlercodes zurueckliefert, allerdings nur dann, wenn der UUCICO seine 'Sendearbeit' (Mastermode) nicht vollstaendig beenden konnte. (dazu wird ueberprueft, ob das Workfile vom UUCICO geloescht wurde, notfalls wird vorher ein leeres Workfile angelegt) An jede Telefonnummer kann durch '/' ein Modemkommando angeh„ngt werden (OHNE "AT"!), so daá man mehrere Nummern mit verschiedenen Initstrings versehen kann. Beispiel: ...|ATE0|...|1234/S50=3%5678/S50=4|... fuehrt dazu, daá erst 1234 mit Modemeinstellung ATE0S5O=3 angerufen wird und danach 5678 mit ATE0S50=4. ANSTELLE der Telefonnummerliste kann auch "DIR" angegeben werden, das steht fuer eine direkte Verbindung ohne Modems. 6 - 9) Login-Dialog. Siehe uucico(1). 10) Spooldirectory fuer die Site. Jede Site muá ein eigenes Spool- directory haben, in der alles, was an sie hinausgehen soll, gesammelt wird. 11) 'last try' ist die Zeitangabe, wann das letzte Mal versucht wurde, bei dieser Site zu pollen und ab dem die Zeit fuer einen Busy-Retry beginnt. Der Zahlenwert wird intern benutzt und sollte bei einem Eintrag fuer eine neue Site immer auf '0' gesetzt werden. Dieser Wert ist die Unix-Zeitangabe (Sekunden seit dem 1.1.70) und wird im XHOSTS-File nochmals als Kommentar als lesbares Datum ausgegeben. 12) 'last success' ist eine Angabe analog zu 'last try'. Dies ist die Zeit, wann das letzte Mal erfolgreich ein Poll beendet wurde und ab der die Zeit fuer einen Success-Retry beginnt. Bei neuen Eintraegen sollte dieser Wert ebenfalls auf '0' gesetzt werden, und er hat das gleiche Format und wird ebenfalls als Kommentar im Klartext ins XHOSTS geschrieben.