home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / APPS / mnews.t.Z / mnews.t / Read_Me < prev    next >
Text File  |  1990-04-17  |  17KB  |  324 lines

  1.     *** Auszuege aus dem Ergebins der Mailingliste ***
  2.  
  3. From: Ulrich Dessauer <ud@nitmar.ddt.sub.org>
  4. [..]
  5.                        Aktueller Stand / Bekannte Fehler
  6.  
  7.        Derzeit ist  eine  Sache  besonders  gravierend,  die ganzen Control
  8.      Messages  funktionieren nicht so wie sie sollten. Das lag zum einen an
  9.      der  falschen  Newsgroup  (ich  habe  immer  `control'  als  Newsgroup
  10.      genommen,  das  geht  aber leider nicht) und zum anderen - aber da bin
  11.      ich gerade dran, worans noch liegt ;-).  
  12.  
  13.        Das Posten  in  eine moderierte Newsgroup als nicht-Moderator fuehrt
  14.      zu  Problemen;  das  beruht  auf  einem  Fluechtigkeitsfehler  und ist
  15.      geaendert 
  16.  
  17.                              Was gibts noch zu tun
  18.  
  19.        Erstmal empfehle  ich  jedem, der sich etwas ausfuehrlicher mit News
  20.      beschaeftigt  die  RFC1036  durchzulesen.  Dort findet man alles ueber
  21.      das Format eines Newsartikels.  
  22.  
  23.        Die `Dokumentation'  ist  nicht gerade viel :-(, daher werde ich mit
  24.      der  Zeit  die  Source  mit  etwas  mehr  Kommentaren spicken und eine
  25.      allgemeine  Doku  schreiben.  Daher auch eine Frage an Euch: gabs beim
  26.      Installieren  Probleme, und wenn ja wo? (Ich habe auch nichts dagegen,
  27.      wenn sich jemand anders bereit erklaert die Doku zu schreiben ;-).) 
  28. ------------------------------------------------------------------------------
  29. From: Ulrich Dessauer <ud@nitmar.ddt.sub.org>
  30. [..]
  31.                                  Notes <-> News
  32. [..]
  33.        Die Programme  newsinput  und  newsouput  wurden  urspruenglich  bei
  34.      Notes  fuer ein lokales Gateway geschrieben, d.h. sowohl News als auch
  35.      Notes  laufen  auf  einem  Rechner.  Zum  Testen  ist  es  daher  ganz
  36.      praktisch, wenn man beides erstmal auf dem Rechner laesst.  
  37.  
  38.        Das Senden  und  Empfangen von Artikeln laeuft aber ab da nicht mehr
  39.      ueber  Notes,  sondern  ueber  News.  Erst  lokal werden die News nach
  40.      Notes (und umgekehrt) konvertiert.  
  41.  
  42.        .--------------.          .--------------.--.-----------.
  43.        |  Newssystem  |          |  Newssystem  |  |  Notes    |
  44.        |  anderer     |   <-->   |  eigener     <-->  eigener  |
  45.        |  Rechner     |          |  Rechner     |  |  Rechner  |
  46.        `--------------'          `--------------'--'-----------'
  47.  
  48.        Wenn man  News  an  ein  anderes System weiterspoolt, dann ist Notes
  49.      praktisch nur ein "Ableger": 
  50.  
  51.        .----------.         .---------.         .-----------.
  52.        |  remote  |         |  local  |         |  remote2  |
  53.        |  news    |   <->   |  news   |   <->   |  news     |
  54.        `----------'         `---------'         `-----------'
  55.                                 ^
  56.                                 |
  57.                                 v
  58.                             .---------.
  59.                             |  local  |
  60.                             |  notes  |
  61.                             `---------'
  62.  
  63.        Zuerst bespreche   ich   die   Richtung   News   nach   Notes.    Im
  64.      Lib-Directory(*)  von  News  ist  das  File  `sys' zu editieren.  Dort
  65.      koennte  eine  Zeile  wie  folgt  aussehen,  damit  alles  nach  notes
  66.      gespollt wird: 
  67.  
  68.                             to-notes:.*:*:newsinput
  69.  
  70.        Damit ist  das  Problem  geloest,  die  andere Richtung ist aehnlich
  71.      einfach  zu  loesen.  Im  Lib-Directory(**) von Notes gibt es ein File
  72.      `net.how',  indem  steht  wie Notes weitergegeben werden. Dort gibt es
  73.      einen  Eintrag  fuer den Pseudorechner `Usenet'. Dieser Eintrag sollte
  74.      nun  so  aussehen  (es kann sein, dass ich einen Doppeltpunkt zu wenig
  75.      oder zu viel reinschreibe, ich habe gerade kein Beispielfile da): 
  76.  
  77.                                 Usenet:x:::inews
  78.  
  79.        Die Artikel  muessen  dann  wie  gewohnt  mit  `newoutput'  an  News
  80.      weitergegeben werden.  
  81.  
  82.        Damit sollte  es  also  kein  Problem sein beide Systeme parallel zu
  83.      fahren.  Das  Weiterspoolen  der  Artikel  geschieht  auf  die gleiche
  84.      Weise, wie auch News Artikel weitergegeben werden.  
  85.  
  86.       (*)  Default: /h0/USR/LIB/NEWS 
  87.       (**) Default: /h0/SPOOL/NOTES/.UTILITIES 
  88. ------------------------------------------------------------------------------
  89. From: Ulrich Dessauer <ud@nitmar.ddt.sub.org>
  90.  
  91.     zwei Probleme sind inzwischen wieder aufgetaucht:
  92. 1.) ist in der os9lib.l kein strdup(), obwohl ich dachte, dass eins
  93.     drinnen waere, Hier eine Version, die man entweder in MNews ein-
  94.     bauen kann, oder -besser- gleich in die os9lib.
  95. char *
  96. strdup (s)
  97. register char *s;
  98. {
  99.     register char    *r;
  100.  
  101.     if (r = malloc (strlen (s) + 1))
  102.         strcpy (r, s);
  103.     return (r);
  104. }
  105.  
  106. 2.) Bei aelteren Compilern (in V 2.1) gibt es kein void, daher sollten
  107.     diese Leute ins Makefile bei den CFLAGS ein -Dvoid=int anfuegen.
  108. ------------------------------------------------------------------------------
  109. From: Ralf Sauther <ralf@ppcnet.UUCP>
  110.  
  111. Normalerweise wird unter B-News mittels eines shell-Script's gespoolt. Hier
  112. wird ja gleich beim Einsortieren an die entsprechenden Systeme gespoolt.
  113. Es muss also nur explizit ueber den vcron gebatched werden, right ?!
  114.  
  115. Gut, was ist aber, wenn ich nun an ein System aeltere News nochmals spoolen
  116. will (meinetwegen wegen Datenverlust) ? Wie laesst sich das anstellen ?
  117. -------------------- Antwort dazu --------------------------------------------
  118. From: Ulrich Dessauer <ud@nitmar.ddt.sub.org>
  119.  
  120. ~ Normalerweise wird unter B-News mittels eines shell-Script's gespoolt. Hier
  121. ~ wird ja gleich beim Einsortieren an die entsprechenden Systeme gespoolt.
  122. ~ Es muss also nur explizit ueber den vcron gebatched werden, right ?!
  123.     Jo, aber unter BNews ist diese Funktion ueber eine Option zu
  124. erreichen. Ich finde es jedoch besser diese gleich als Default zu nehmen
  125. und erst beim Batchen selbst zu entscheiden, wie sie versandt werden;
  126. daraus ergibt sich eine funktionelle Trennung der logischen Teilbereiche.
  127.  
  128. ~ Gut, was ist aber, wenn ich nun an ein System aeltere News nochmals spoolen
  129. ~ will (meinetwegen wegen Datenverlust) ? Wie laesst sich das anstellen ?
  130.     Tjaaaa, dieses Problem ist von BNews her auch bekannt: Es geht
  131. nicht :-(. Man konnte aber folgendes machen:
  132. $ find -s=/h0/SPOOL/NEWS "*" >/h0/SPOOL/BATCH/<system>
  133. $ sbatch -c <system>
  134.  
  135.     Damit wuerden alle alten Artikel gespoolt werden. Die ganzen
  136. Directories werden zwar auch in diese Liste aufgenommen; sbatch kann
  137. diese aber nicht als File oeffnen, daher werden sie ignoriert. Dazu
  138. koennte man sich auch noch einen filter schreiben, der das die Files
  139. auf bestimmte Kriterien untersucht (z.B. obs eine lokale Newsgroup
  140. ist, obs ein Directory ist, ob die Artikel schon zu alt sind, etc.)
  141. und nur die Filenamen ausgeben, die dann relevant sind. Ein solches
  142. Programm waere nicht sonderlich aufwendig (es wuerde auch ein SHell-
  143. script reichen, das ist dann aber laaaaaaangsam ;-)).
  144. ------------------------------------------------------------------------------
  145. From: Ulrich Dessauer <ud@nitmar.ddt.sub.org>
  146.  
  147.        ich habe  jetzt  schon  einige  Anfragen  bezueglich des Formats des
  148.      `Sys'  Files  erhalten.  Es  wird  zwar  in  `inews.h'  kurz erklaert,
  149.      scheint  aber nicht besonders deutlich zu sein. Als erstes moechte ich
  150.      noch  erwaehnen, dass alle Files inkompatibel zu BNews sind. Der Grund
  151.      dafuer   ist   einfach:   ich  hatte  keine  exakte  Beschreibung  des
  152.      BNews-Formats  zur  Hand  und  die  Philosophie  des `Sys' Files unter
  153.      BNews will mir garnicht gefallen.  
  154.  
  155.        Erstmal ein paar Beispiele fuer das `Sys' File: 
  156.      #
  157.      #       Forward *everything* to chiuur, expect local Distribution:
  158.      chiuur:.*:!local *
  159.      #
  160.      #       Forward only sub.* and muc.* to viscom1:
  161.      viscom1:(sub|muc)\.*:sub muc world
  162.      #
  163.      #       Store the maps in an extra directory (local.maps for tests)
  164.      maps-admin:sub\.config\.maps local\.maps:*:store -d=/h0/ETC/MAPS -t=new sh
  165.      #
  166.      #       Archive the Source-Postings in sub.sources.os9
  167.      os9-src:sub\.sources\.os9:*:store -d=/h0/SPOOL/PUBLIC/OS9SRC
  168.      #
  169.      #       Noch ein paar andere Beispiele, angenommen, man
  170.      #       bekommt alle Artikel von hosta und
  171.      #       von hostb, man will aber nicht die Sachen, die man
  172.      #       von hosta bekommt an hostb weiterspoolen (und um-
  173.      #       gekehrt).
  174.      hosta/hostb:.*:!local *
  175.      hostb/hosta:.*:!local *
  176.      #
  177.      #       Angenommen lall@laber will nur alle Source-Postings als
  178.      #       Mails bekommen:
  179.      to-lall:.*sources.*:!local *:smail lall@laber
  180.  
  181.        Das `Sys'  File  besteht  aus einer oder mehreren Zeilen. Eine Zeile
  182.      ist  ein  Kommentar, wenn das erste Zeichen ein `#' ist. Ansonsten ist
  183.      die  Zeile  ein  Eintrag mit Information was an wen wie weitergeleitet
  184.      wird.   Eine  solche  Zeile  besteht  aus  drei Feldern, jeweils durch
  185.      einen  Doppelpunkt  getrennt.  Ein  optionales  viertes Feld kann noch
  186.      folgen;   dieses   ist   mit   einem   Doppelpunkt  vom  dritten  Feld
  187.      abzugrenzen.  
  188.  
  189.        Das erste  Feld  kann  zwei  verschieden Formate haben, erstens (der
  190.      triviale  Fall)  den  Systemnamen  des  Systems,  an  das neue Artikel
  191.      weitergegeben  werden.  Dieser  Eintrag  ssoollllttee auf jedem Fall mit dem
  192.      Namen  uebereinstimmen,  den  dieses System in das _P_a_t_h_: Feld einfuegt
  193.      (jedes  System  fuegt bei einem empfangenen Artikel seinen Systemnamen
  194.      in  das  Path-Field  ein). Damit kann verhindert werden, dass Artikel,
  195.      die  bereits  durch  dieses  System  gegangen  sind  wieder  an dieses
  196.      weitergegeben wird (sonst kommts zu Schleifen). Beispiel: 
  197.         Ich setze diese Zeile im `Sys' File voraus:
  198.         chiuur:.*:*
  199.          Wenn jetzt ein artikel bei mir ankommt, der folgendes Path:
  200.         Field hat wird er nicht an chiuur gesendet (da chiuur schon
  201.         im Path: ist)
  202.         Path: chiuur!doitcr!altger!ud
  203.          Ein Artikel mit dem Path:
  204.         Path: doitcr!altger!chiuur!cmk
  205.         wuerde auch nicht weitergespollt werden, wohl aber einer mit
  206.         Path: altger!doitcr!internal
  207.         (auch wenn chiuur diesen auf einem anderen Pfad schon erhalten
  208.         hat, aber das kann das News System ja nicht "wissen").
  209.  
  210.        Angenommen ich   bin   paranoid   und   will  auf  gar  keinen  Fall
  211.      irgendwelche  Sub-News verlieren, deshalb lasse ich sie mir von doitcr
  212.      und  chiuur  senden.  Die Beiden tauschen die News untereinandere aber
  213.      auch  aus,  daher  waere  es sinnlos, wenn ich Artikel, die von chiuur
  214.      kommen  nach  doitcr  (und  umgekehrt)  weiterleite.  Also  "sage" ich
  215.      meinem  News-System:  ,,Wenn  ein Artikel bereits auf chiuur war, dann
  216.      hat  ihn  doitcr  bestimmt  schon,  also  wird  er  nicht  nach doitcr
  217.      geschickt  (und umgekehrt)``. Der entsprechende Sys-File Eintrag saehe
  218.      so aus: 
  219.         chiuur/doitcr:.*:*
  220.         doitcr/chiuur:.*:*
  221.  
  222.        Sollte ich  jetzt  besonders  paranoid  sein,  dann hole ich mir die
  223.      Artikel  von chiuur, doitcr, altger und salyko. Es gilt im Prinzip das
  224.      Gleiche wie oben beschrieben, nur saehe das Sys-File dann so aus: 
  225.         chiuur/doitcr,altger,salyko:.*:*
  226.         doitcr/chiuur,altger,salyko:.*:*
  227.         altger/chiuur,doitcr,salyko:.*:*
  228.         salyko/chiuur,doitcr,altger:.*:*
  229.  
  230.        In diesem  Fall  nimmt  News also den Systemnamen (Beispiel 1.Zeile:
  231.      chiuur)  und  schaut  im Path: nach, ob das System bereits eingetragen
  232.      ist.   Wenn  nicht,  dann werden nacheinander die Systeme nach dem `/'
  233.      gegen  den Path: abgeprueft (im Beispiel also erst doitcr, dann altger
  234.      und  salyko).   Nur  wenn  keines  dieser System im Path: ist wird der
  235.      Artikel gespoolt.  
  236.  
  237.        Das zweite  Feld  ist eine Liste von Newsgroups (und nur Newsgroups,
  238.      nicht  so  wie  BNews, die in diesem Feld Newsgroups und Distributions
  239.      auf  eine so genial Weise vermischen, dass keiner genau weiss, was was
  240.      ist)  in  Form von Regular expressions. Die einzelnen Expressions sind
  241.      durch  Leerzeichen  getrennt.  Um  alle  Artikel in sub.* und muc.* an
  242.      chiuur weiterzuleiten saehe der Eintrag so aus: 
  243.         chiuur:sub\..* muc\..*:*
  244.                                   oder einfacher
  245.         chiuur:(sub|muc)\..*:*
  246.  
  247.        Intern werden  diese  Expressions  so gehandhabt, als wenn ihnen ein
  248.      `^'  voran  und  ein `$' nachgestellt waere. Damit ist sichergestellt,
  249.      dass   ein  Ausdruck  `sub\..*'  nicht  `talk.subversiv'  als  passend
  250.      erkennt.  Die  Benutzung  von  Regular  Expressions hat gegenueber den
  251.      BNews  Konventionen  den Vorteil, dass man keine neue `Ausdrucksweise'
  252.      lernen  muss  und dass eine entsprechnde Library bereits vorliegt. Der
  253.      Nachteil  kann  eine  laengere  Ausfuehrungszeit  sein. Per Konvention
  254.      sollte  es  fuer  jedes  System,  das  an einem angeschlossen ist eine
  255.      Newsgroup     `to.<system>'     geben     (und     natuerlich     eine
  256.      `to.<mein-system>').  In  diesem  Fall  erweitert  sich  die Sys-Zeile
  257.      folgendermassen: 
  258.         chiuur:to\.chiuur (sub|muc)\..*:*
  259.  
  260.        Im dritten   Feld  stehen  die  Distribuitons,  die  das  Zielsystem
  261.      erhalten  soll.  Angenommen ich habe einen Link nach Hamburg und poste
  262.      einen  Artikel  nach  `sub.test'  (den  der Hamburger Rechner bekommen
  263.      wuerde)  mit der Distribution `muc', dann bekommt der den Artikel doch
  264.      nicht,  da ich als Distribution nur `sub' fuer ihn eingetragen haette.
  265.      Die  Distributions sind nicht im Regular expressions Format, es werden
  266.      nur  die  von  der  (Microware-)Shell  erlaubten Wildcards `*' und `?'
  267.      erkannt.  In internationalen Gruppen ist es so "(un)Sitte", dass keine
  268.      Distribution  angegeben  wird;  will  man  solche Artikel weitergeben,
  269.      dann  muss  `world'  als eine moegliche Distribution eingetragen sein.
  270.      Daraus ergibt sich fuer das Beispiel folgender Eintrag: 
  271.         chiuur:to\.chiuur (sub|muc)\..*:muc sub
  272.  
  273.        Nachdem mir  das  aber  zuviel  zum Schreiben ist (zudem kommen noch
  274.      einige   internationale  Gruppen  hinzu)  moechte  ich  einfach,  dass
  275.      "alles"  an  chiuur  gespollt wird, ausser einigen lokaler Testgruppen
  276.      (und  Distributions).  Daher  unterstuetzen sowohl das Newsgroups, als
  277.      auch  das  Distributionsfeld einen `not' Operator. Die Zeile sieht nun
  278.      wie folgt aus: 
  279.         chiuur:!local.* to\.chiuur !to\..* .*:!local *
  280.  
  281.        Das heisst,  dass  chiuur  keine  Gruppe  bekommt,  die  mit `local'
  282.      beginnt,  von  den  `to.'  Gruppen wird nur `to.chiuur' weitergegeben,
  283.      ansonsten  aber  alles.  Hat  einer  der Artikel aber als Distribution
  284.      `local', dann wird auch der nicht weitergegeben.  
  285.  
  286.        Wenn das   vierte   Feld   fehlt,   dann   passiert  folgendes:  Die
  287.      (absoluten)    Filenamen    der    Artikel    werden   in   ein   File
  288.      /h0/SPOOL/BATCH/<system>  geschrieben  (z.B.  /h0/SPOOL/BATCH/chiuur).
  289.      Will  man  die  Artikel  dann  physikalisch  Spoolen,  benutzt man das
  290.      Programm  `sbatch'.  Im  allgemeinen wird man `sbatch -c <system>' von
  291.      cron aufrufen lassen (-c == Batchen und Compressen).  
  292.  
  293.        Sollte aber  ein  viertes  Feld existieren, dann nimmt News an, dass
  294.      das  ein  Programm  ist.  Jeder  Artikel  wird  dann  sofort an dieses
  295.      Program  gePIPEt,  dieses muss also von stdin lesen. Das Programm kann
  296.      alles  moegliche  machen,  entweder  News  einer  Gruppe  archivieren,
  297.      automatisches  Updaten von netzrelevanten Daten (z.B. sub.config.maps)
  298.      oder auch versenden von Artikeln via Mail oder ... .  
  299.  
  300.        Ich hoffe,  diese  Informationen  reichen  um  ein  funktionierendes
  301.      System  zu  installieren.  Noch eine letzte Anmerkung: In BNews ist es
  302.      erforderlich  eine  Zeile  fuer das eigene System zu haben; diese wird
  303.      unter MNews nicht benoetigt.  
  304. ------------------------------------------------------------------------------
  305. From: Ralf Sauther <ralf@ppcnet.UUCP>
  306.  
  307. Wenn keine Subjektzeile vorhanden ist, wird die Nachricht nicht eingespoolt.
  308. Ist das beabsichtigt ?
  309. ------------------------------ Antwort hierzu --------------------------------
  310. From: Ulrich Dessauer <ud@nitmar.ddt.sub.org>
  311.  
  312.     Wenn unter dem NN ein Beitrag geschrieben wird und bei der Frage
  313. nach dem Subject: einfach Return gedrueckt wird, dann kehrt der NN zum
  314. normalen Betrieb wieder zurueck.
  315.  
  316.     Wenn man im Editor dann den Inhalt der Subject-Zeile loescht,
  317. dann wird der Artikel mit dem Subject `[none]' gespeichert. Wenn man
  318. die Subject-Zeile im Editor loescht passiert das Gleiche.
  319.  
  320.     Wenn ein Artikel ohne Subject ueber rnews reinkommt, dann wird
  321. der nicht einsortiert (RFC1036 sagt, dass eine Subject: Zeile vorhanden
  322. sein *muss*).
  323.