%
% sn.tex
% Last Update: $Id$
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%% Kapitel Newsserver SN %%%%%%%%%%%%%%%%%%%%%

\chapter{Der Newsserver SN}
\index{SN}


\subsection{Einleitung}
%---------------------

    SN steht f"ur SmallNews und ist ein kleiner und schneller Newsserver.
    Er ist f"ur diejenigen gedacht, die gerne die Vorteile eines
    systemunabh"angigen Newsdienstes nutzen m"ochten (es soll ja Leute geben,
    die mit mehr als einem Betriebssystem auf der selben Maschine arbeiten),
    ohne dabei st"andig online sein zu m"ussen, um die aktuellen News auf
    jedem System lesen zu k"onnen.


\subsection{Voraussetzungen}
%---------------------

    F"ur folgende Funktionen muss au"serdem noch das Mail-Package installiert
    sein:
    \begin{itemize}
        \item Mail-to-News
        \item Nachrichten an den Newsadmin per Mail
        \item moderierte Gruppen (falls Meldungen an den Newsadmin per EMail
              zugestellt werden sollen)
    \end{itemize}


\subsection{Funktionsumfang}
%---------------------

    Wie funktioniert SN?

    Zu jeder Newsgroup mu"s angegeben werden, von welchem externen Newsserver
    sie bezogen werden soll. Theoretisch kann man also f"ur jede Newsgroup
    einen anderen Server angeben.

    Wenn eine Verbindung von einem Client (Newsreader) auf Port 119 (das ist
    der nntp-Port) gew"unscht wird, dann wird der daemon gestartet, sofern der
    Client eine Zugriffsberechtigung hat (siehe Beschreibung der
    Konfigurationsvariablen).

    Was kann SN?
    \begin{itemize}
        \item mehrere Verbindungen zu den externen Newsservern gleichzeitig
              (um die Bandbreite auszunutzen)
        \item mehrere externe Newsserver (aber pro Newsgroup nur einer)
        \item gepackte Newsbase (spart Platz)
        \item mehrere Artikel pro Datei (spart Platz)
        \item lokale Newsgroups (werden nicht an externe Newsserver
              weitergeleitet)
    \end{itemize}

    Was kann SN nicht?
    \begin{itemize}
        \item tausende von Newsgroups verwalten. SN ist nicht INN. Laut Autor
              sind um die hundert ok.
        \item Filtern
    \end{itemize}



 \section{Das Men"u im Setup-Programm}

    Das Men"u im Setup-Programm ist wie folgt aufgebaut:

    \mbox{}

    \begin{tabular}{lll}
    & x. & Service administration \\
    \end{tabular}
\eline
    \begin{tabular}{p{1cm}lll}
    & x. & News Service \\
    \end{tabular}
\eline
    \begin{tabular}{p{2cm}lll}
    & 1. & View documentation \\
    & 2. & Edit configuration \\
    & 3. & Advanced configuration file handling \\
    & 4. & Show status \\
    & 5. & Stop service \\
    & 6. & Start service \\
    & 7. & Goto news tools \\
    \end{tabular}
\eline
    \begin{tabular}{p{3cm}rll}
    & 1. & Add newsgroup \\
    & 2. & Delete newsgroup \\
    & 3. & Delete external newsserver \\
    & 4. & Request newsgrouplist from external server \\
    & 5. & Search for newsgroups in grouplist \\
    & 6. & Sort grouplists and kill dupes \\
    & 7. & Get/Send news \\
    & 8. & Change login on external newsserver \\
    & 9. & Show subscribed newsgroups \\
    & 10. & Clear up database \\
    & 11. & Show logfiles \\
    \end{tabular}
\eline
    \begin{tabular}{p{4cm}lll}
    & 1. & snadmin \\
    & 2. & snconf \\
    & 3. & sndb \\
    & 4. & snfetch \\
    & 5. & snntpd \\
    \end{tabular}

    \mbox{}



\section{Installation und Verwendung}
%===============================

\subsection{Installation}
%------------------

    Nach der Installation des Paketes "uber das Setup-Men"u sollte ein neuer
    Eintrag \glqq{}News Service\grqq{} im Setup zu finden sein. Hier ist
    zuerst die Konfiguration zu bearbeiten. Anschlie"send im Untermen"u
    \glqq{}Goto news tools\grqq{} die Funktion \glqq{}Add new group\grqq{}
    auszuf"uhren. Dabei legt man auch einen externen Newsserver an.
    Jetzt kann man mit \glqq{}Get/Sent News\grqq{} (ebenfalls im Untermen"u
    \glqq{}Goto news tools\grqq{}) News holen (oder das Ganze automatisch
    erledigen lassen).

\subsection{Die "Anderung der Konfiguration}

    Die Konfiguration kann "uber den Men"upunkt 'Edit configuration'
    ge"andert werden.


\subsection{Die Konfigurationsdatei}

    In der Konfigurationsdatei, die "uber das Men"u zug"anglich ist, sind
    folgende Parameter vorhanden; wer sie von Hand editieren will, findet
    sie unter \\
    \texttt{/etc/config.d/sn}


\section{Die Parameter}


\begin{description}

\config{SN\_START}
{SN\_START}
{SNSTART}
{
    Wenn der News-Dienst zur Verf"ugung stehen soll, dann muss hier 'yes'
    eingetragen werden.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{START\_SN='no'}
}


\config{SN\_FQDN}
{SN\_FQDN}
{SNFQDN}
{
    Falls vom Newsreader keine Message-ID generiert wird, dann macht SN
    dies. Da das i.d.R. jedoch zu einer ung"ultigen MID f"uhrt (weil die
    im LAN verwendete Domain meist eine fiktive ist) kann der FQDN-Teil
    hier explizit angegeben werden. Auf
    \link{http://www.hanau.net/faq_message-id_ueberschreiben.php}{hanau.net}
    gibt es eine FAQ zum Thema Message-ID.

    G"ultige Werte: FQDN

    Standardeinstellung: \texttt{SN\_FQDN='{}'}
}


\config{SN\_LOGROTATE}
{SN\_LOGROTATE}
{SNLOGROTATE}
{
    Dar"uber l"asst sich das Intervall einstellen wie oft die Logfiles
    rotiert werden sollen.

    G"ultige Werte: daily, weekly, monthly

    Standardeinstellung: \texttt{SN\_LOGROTATE='weekly'}
}


\config{SN\_REQ\_NEW\_GROUPS}
{SN\_REQ\_NEW\_GROUPS}
{SNREQNEWGROUPS}
{
    Wenn diese Option auf 'yes' steht, dann wird bei jedem Connect zu einem
    externen Newsserver nach neuen Gruppen auf diesem gesucht. Man sollte
    allerdings zuerst die Grouplist per Setup vom jeweiligen Newsserver
    bestellen. Gelegentlich kommt es leider zu doppelten Eintr"agen, so dass
    man ab und zu die Funktion zum Sortieren der Grouplist im Setup nutzen
    sollte.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{SN\_REQ\_NEW\_GROUPS='yes'}
}


\config{SN\_POST\_FORCE}
{SN\_POST\_FORCE}
{SNPOSTFORCE}
{
    Wenn diese Option auf 'yes' gesetzt wird, dann werden die
    Posts sofort an den NNTP Server weitergeleitet.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{SN\_POST\_FORCE='no'}
}


\config{SN\_ALLOW\_HOSTS\_N}
{SN\_ALLOW\_HOSTS\_N}
{SNALLOWHOSTSN}
{
    Mit dieser Option wird die Anzahl der zugelassenen Hosts und/oder
    IP-Bereiche festgelegt, die auf den Newsserver zugreifen d"urfen.
    Es gilt ein DENY ALL, spricht, es werden nur die explizit angegebenen
    IP's zugelassen, alle anderen sind nicht berechtigt. Mit '0' ist der
    Zugriff f"ur alle erlaubt.

    G"ultige Werte: Zahl

    Standardeinstellung: \texttt{SN\_ALLOW\_HOSTS\_N='0'}
}


\config{SN\_ALLOW\_HOST\_x\_NAME}
{SN\_ALLOW\_HOST\_x\_NAME}
{SNALLOWHOSTxNAME}
{
    An dieser Stelle kann eine Beschreibung hinterlegt werden,
    z. B. welcher Host oder irgend etwas anderes.
    SN wertet diesen Parameter nicht aus.

    G"ultige Werte: alles

    Standardeinstellung: \texttt{SN\_ALLOW\_HOST\_x\_NAME='{}'}
}


\config{SN\_ALLOW\_HOST\_x\_ACTIVE}
{SN\_ALLOW\_HOST\_x\_ACTIVE}
{SNALLOWHOSTxACTIVE}
{
    "Uber diesen Parameter wird eingestellt, ob der Datensatz
    aktiv sein soll.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{SN\_ALLOW\_HOST\_x\_ACTIVE'='no'}
}


\config{SN\_ALLOW\_HOST\_x}
{SN\_ALLOW\_HOST\_x}
{SNALLOWHOSTx}
{
    Hier werden die Hosts angegeben, die Zugriff zum Newsserver erhalten
    sollen. Man kann eine einzelne IP angeben oder einen Bereich, x steht
    dabei f"ur eine Zahl von 1-N  (N ist die Zahl, die bei \texttt{SN\_ALLOW\_HOSTS\_N} angegeben wurde).

    Bsp.:
    \begin{itemize}
        \item '192.168.6.26' - ein Host hat Zugriff.
        \item '192.168.5.0/24' - alle Hosts aus dem IP-Bereich
               192.168.5.0-254 haben Zugriff.
        \item 'localhost' - man hat von \eisfair selbst Zugriff.
    \end{itemize}

    Wenn diese Variable leer gelassen wird, dann darf jeder auf dem
    Newsserver lesen und schreiben.

    G"ultige Werte: localhost, ip, ip/subnetmask

    Standardeinstellung: \texttt{SN\_ALLOW\_HOSTS\_x='localhost'}
}


\config{SN\_USER\_N}
{SN\_USER\_N}
{SNUSERN}
{
    Hier gibt man die Anzahl der Benutzer an, die Zugriff zum
    Newsserver haben sollen.  Mit '0' ist der Zugriff f"ur alle erlaubt.

    G"ultige Werte: Zahl

    Standardeinstellung: \texttt{SN\_USER\_N='0'}
}


\config{SN\_USER\_x\_NAME}
{SN\_USER\_x\_NAME}
{SNUSERxNAME}
{
    Wenn der Zugriff auf den Newsserver mit Benutzername und
    Passwort erfolgen soll, dann kann man hier alle Benutzer anlegen.
    Jeder Eintrag besteht aus einer Zeile. Gro"s- und Kleinschreibung
    werden unterschieden. Der Benutzername darf maximal 255
    Zeichen lang sein.

    Bsp.:
    \begin{itemize}
        \item 'foo'
        \item 'baz13'
    \end{itemize}

    Die Benutzer und Passw"orter sind unabh"angig von den
    Systembenutzern. Es k"onnen also beliebige Werte vergeben
    werden.

    G"ultige Werte: username

    Standardeinstellung: \texttt{SN\_USER\_x\_NAME='{}'}
}


\config{SN\_USER\_x\_ACTIVE}
{SN\_USER\_x\_ACTIVE}
{SNUSERxACTIVE}
{
    "Uber diesen Parameter wird eingestellt, ob der Datensatz
    aktiv sein soll.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{SN\_USER\_x\_ACTIVE'='no'}
}


\config{SN\_USER\_x\_PASSWD}
{SN\_USER\_x\_PASSWD}
{SNUSERxPASSWD}
{
    Wenn der Zugriff auf den Newsserver mit Benutzername und
    Passwort erfolgen soll, dann kann man hier f"ur alle Benutzer
    die Passw"orter eintragen. Jeder Eintrag besteht aus einer
    Zeile. Gro"s- und Kleinschreibung werden unterschieden. Passw"orter
    d"urfen je maximal 255 Zeichen lang sein.

    Bsp.:
    \begin{itemize}
        \item '0815'
        \item '4711koeln'
    \end{itemize}

    Die Benutzer und Passw"orter sind unabh"angig von den
    Systembenutzern. Es k"onnen also beliebige Werte vergeben
    werden.

    G"ultige Werte: password

    Standardeinstellung: \texttt{SN\_USER\_x\_PASSWD='{}'}
 }


\config{SN\_ADMIN}
{SN\_ADMIN}
{SNADMIN}
{
    An dieses Ziel werden Messages gesandt, die f"ur den Administrator des
    lokalen Newsservers gedacht sind. Das sind meistens fehlgeschlagene
    Postings, die der externe Newsserver nicht angenommen hat (z.B. weil
    die Newsgroup dort nicht existiert, oder das Posting zu alt ist) oder
    Cancellation-requests f"ur eine bestimmte Message.
    Dabei gibt es drei Optionen:

	\begin{itemize}
        \item leer, dann werden alle Nachrichten mit Datum und Uhrzeit in das
              log.snadmin geschrieben
        \item mit 'NG newsgroup' werden die Messages in die lokale Newsgroup
              local.newsgroup gepostet (wird automatisch angelegt)
        \item mit 'EM email-adresse' werden die Messages an die angegebene
              Mailadresse weitergeleitet (falls es sich um eine lokale Adresse
              handelt muss der Benutzer existieren, Bsp.: 'EM root' - alle
              Nachrichten gehen an root)
    \end{itemize}

    G"ultige Werte: leer, NG newsgroup, EM email-adresse

    Standardeinstellung: \texttt{SN\_ADMIN='{}'}
}

\config{SN\_FETCH\_MODE}
{SN\_FETCH\_MODE}
{SNFETCHMODE}
{
    Mit diesem Eintrag wird festgelegt, wie die News vom externen Server zu
    holen sind. Drei Eintr"age sind m"oglich:

    \begin{itemize}
        \item manual: das Abholen und Senden der News muss von Hand per
              Setup veranla"st werden
        \item wait: es wird ein Eintrag in der Konfiguration gemacht,
              sodass auf  eine einkommende Verbindung auf Port
              \jump{SNWAITPORT}{SN\_WAIT\_PORT} gelauscht wird Falls diese
              Verbindung zustande kommt und die Zeichenkette 'ONLINE' empfangen
              wird, dann wird das Pollen der News veranla"st. Es wird lediglich
              die Verbindung von dem durch \jump{SNWAITALLOW}{SN\_WAIT\_ALLOW}
              festgelegten Host akzeptiert. Falls fli4l als Router genutzt
              wird, dann kann man dort z.B. im Skript /etc/ppp/ip-up.user
              folgenden Eintrag machen: \\
              'echo 'ONLINE' | netcat -w 10 <eis-server> <SN\_WAIT\_PORT>'
              (dazu muss allerdings aus dem opt\_tools netcat installiert sein).
              Diese Option ist gedacht f"ur Leute, die ihren Router auf
              manuelle Wahl gestellt haben.
        \item auto: das Pollen wird von einem Job erledigt
    \end{itemize}

    G"ultige Werte: manual, wait, auto

    Standardeinstellung: \texttt{SN\_FETCH\_MODE='manual'}
}


\config{SN\_FETCH\_SCHEDULE\_N}
{SN\_FETCH\_SCHEDULE\_N}
{SNFETCHSCHEDULE}
{
    Anzahl der Timer Jobs, falls \texttt{SN\_FETCH\_MODE='auto'}.
    Normalerweise reicht ein Eintrag aus.

    G"ultige Werte: Zahl

    Standardeinstellung: \texttt{SN\_FETCH\_SCHEDULE\_N='0'}
}


\config{SN\_FETCH\_SCHEDULE\_x\_NAME}
{SN\_FETCH\_SCHEDULE\_x\_NAME}
{SNFETCHSCHEDULExNAME}
{
    An dieser Stelle kann eine Beschreibung hinterlegt werden,
    z. B. welcher Timer Job oder irgend etwas anderes.
    SN wertet diesen Parameter nicht aus.

    G"ultige Werte: alles

    Standardeinstellung: \texttt{SN\_FETCH\_SCHEDULE\_x\_NAME='{}'}
}


\config{SN\_FETCH\_SCHEDULE\_x\_ACTIVE}
{SN\_FETCH\_SCHEDULE\_x\_ACTIVE}
{SNFETCHSCHEDULExACTIVE}
{
    "Uber diesen Parameter wird eingestellt, ob der Datensatz
    aktiv sein soll.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{SN\_FETCH\_SCHEDULE\_x\_ACTIVE'='no'}
}

\config{SN\_FETCH\_SCHEDULE\_x\_TIME}
{SN\_FETCH\_SCHEDULE\_x\_TIME}
{SNFETCHSCHEDULExTIME}
{
    Falls \smalljump{SNFETCHMODE}{SN\_FETCH\_MODE}='auto' ist, dann legt
    dieser Eintrag fest, wann der Timer Job ausgef"uhrt wird.

% hier wird die Standard time definition eingebunden
\input{systemd_time_definition}

    Standardeinstellung: \texttt{SN\_FETCH\_SCHEDULE\_x\_TIME='*-*-* *:05,35:00'}
}


\config{SN\_FETCH\_CONNECTS}
{SN\_FETCH\_CONNECTS}
{SNFETCHCONNECTS}
{
    Legt die maximale Anzahl der Verbindungen zum externen
    Newsserver fest. Mit zwei gleichzeitigen Verbindungen ist eine
    ISDN-Leitung i.d.R. bereits ausgelastet.

    \achtung{Manche Newsserver haben eine Beschr"ankung der Anzahl
    gleichzeitiger Verbindungen von einer IP (bei news.cis.dfn.de
    sind z.B. maximal vier gleichzeitige Verbindungen von einer IP
    erlaubt). Man sollte sich also vorher dar"uber informieren,
    sonst kann es passieren, dass einige Gruppen nicht oder nur
    unvollst"andig synchronisiert werden.}

    G"ultige Werte: Zahl

    Standardeinstellung: \texttt{SN\_FETCH\_CONNECTS='2'}
}


\config{SN\_WAIT\_PORT}
{SN\_WAIT\_PORT}
{SNWAITPORT}
{
    Falls \texttt{SN\_FETCH\_MODE='wait'} ist, dann wird auf diesem Port
    auf die Nachricht 'ONLINE' gewartet.

    G"ultige Werte: Zahl von 1024-65535

    Standardeinstellung: \texttt{SN\_WAIT\_PORT='20000'}
}


\config{SN\_WAIT\_ALLOW}
{SN\_WAIT\_ALLOW}
{SNWAITALLOW}
{
    Aus Sicherheitsgr"unden muss hier angegeben werden, von welchem Host
    die Nachricht 'ONLINE' geschickt werden darf. In der Regel ist das
    die IP des Routers.

    G"ultige Werte: localhost, ip

    Standardeinstellung: \texttt{SN\_WAIT\_ALLOW='{}'}
}


\config{SN\_GENERAL\_N}
{SN\_GENERAL\_N}
{SNGENERALN}
{
    Gibt die Anzahl der Punkte f"ur allgemeine Einstellungen der
    Newsgroups an.

    G"ultige Werte: Zahl

    Standardeinstellung: \texttt{SN\_GENERAL\_N='0'}
}


\config{SN\_GENERAL\_x\_NAME}
{SN\_GENERAL\_x\_NAME}
{SNGENERALxNAME}
{
    An dieser Stelle kann eine Beschreibung hinterlegt werden.
    SN wertet diesen Parameter nicht aus.

    G"ultige Werte: alles

    Standardeinstellung: \texttt{SN\_GENERAL\_x\_NAME='{}'}
}


\config{SN\_GENERAL\_x\_ACTIVE}
{SN\_GENERAL\_x\_ACTIVE}
{SNGENERALxACTIVE}
{
    "Uber diesen Parameter wird eingestellt, ob der Datensatz
    aktiv sein soll.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{SN\_GENERAL\_x\_ACTIVE'='no'}
}


\config{SN\_GENERAL\_x\_GROUP}
{SN\_GENERAL\_x\_GROUP}
{SNGENERALxGROUP}
{
    Gibt an, auf welche Gruppen die Einstellungen anzuwenden sind.

    G"ultige Werte: regul"arer Ausdruck (grep-Syntax)

    Standardeinstellung: \texttt{SN\_GENERAL\_x\_GROUP='.*'}
}


\config{SN\_GENERAL\_x\_EXPIRETIME}
{SN\_GENERAL\_x\_EXPIRETIME}
{SNGENERALxEXPIRETIME}
{
    Gibt die Zeit an, nach der alte Artikel aus dem Spool wieder
    entfernt werden sollen. Die Angabe erfolgt als Zahl mit einem
    Suffix. Das Suffix gibt dabei an, welcher Zeitraum mit der Zahl
    gemeint ist. Folgende Suffixe k"onnen verwendet werden:

    \begin{itemize}
        \item 'h' - Stunde
        \item 'd' - Tag
        \item 'w' - Woche
        \item 'm' - Monat
        \item 'y' - Jahr
    \end{itemize}

    G"ultige Werte: Zahl[hdwmy]

    Standardeinstellung: \texttt{SN\_GENERAL\_x\_EXPIRETIME='1m'}
}


\config{SN\_GENERAL\_x\_MAXARTICLES}
{SN\_GENERAL\_x\_MAXARTICLES}
{SNGENERALxMAXARTICLES}
{
    Legt die maximal Anzahl der Artikel fest, die von einer Gruppe
    bezogen werden sollen. So kann man verhindern, dass, z.B. nach
    einem Urlaub, ein paar tausend alte Artikel geladen werden, die
    nicht mehr interessant sind.

    G"ultige Werte: Zahl

    Standardeinstellung: \texttt{SN\_GENERAL\_x\_MAXARTICLES='200'}
}


\config{SN\_GENERAL\_x\_STATUS}
{SN\_GENERAL\_x\_STATUS}
{SNGENERALxSTATUS}
{
    Beschreibt den Status der Gruppe auf dem Server. Mit 'ro' kann
    man eine Gruppe auf readonly setzen, mit 'rw' k"onnen alle mit
    Zugriff auf den Server in der Gruppe schreiben und lesen.

    G"ultige Werte: rw, ro

    Standardeinstellung: \texttt{SN\_GENERAL\_x\_STATUS='rw'}
}


\config{SN\_MODERATED\_N}
{SN\_MODERATED\_N}
{SNMODERATEDN}
{
    Hier kann man die Anzahl der moderierten Gruppen festlegen.

    G"ultige Werte: Zahl

    Standardeinstellung: \texttt{SN\_MODERATED\_N='0'}
}


\config{SN\_MODERATED\_x\_GROUP}
{SN\_MODERATED\_x\_GROUP}
{SNMODERATEDxGROUP}
{
    Name der moderierten Gruppe. Falls die Gruppe nicht existiert,
    wird sie angelegt.

    G"ultige Werte: Newsgroupname

    Standardeinstellung: \texttt{SN\_MODERATED\_x\_GROUP='{}'}
}


\config{SN\_MODERATED\_x\_ACTIVE}
{SN\_MODERATED\_x\_ACTIVE}
{SNMODERATEDxACTIVE}
{
    "Uber diesen Parameter wird eingestellt, ob der Datensatz
    aktiv sein soll.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{SN\_MODERATED\_x\_ACTIVE'='no'}
}


\config{SN\_MODERATED\_x\_MOD}
{SN\_MODERATED\_x\_MOD}
{SNMODERATEDxMOD}
{
    Mailadresse des Moderators der Gruppe. Alle Postings ohne
    korrekten Approved-Header werden automatisch an den Moderator
    gesandt (dazu muss das Mail-Package installiert sein).
    Der Approved-Header wird folgendermassen erwartet: 'Approved:
    email-adresse', wobei 'email-adresse' die in dieser Option
    angegebene Adresse bezeichnet. Der Moderator kann das Posting
    nach dem Setzen des Headers ganz normal bei Server einliefern.

    G"ultige Werte: email-adresse

    Standardeinstellung: \texttt{SN\_MODERATED\_x\_MOD='{}'}
}


\config{SN\_LIST\_N}
{SN\_LIST\_N}
{SNLISTN}
{
    Legt die Anzahl der Mailinglisten-Einstellungen fest.

    G"ultige Werte: Zahl

    Standardeinstellung: \texttt{SN\_LIST\_N='0'}
}


\config{SN\_LIST\_x\_NAME}
{SN\_LIST\_x\_NAME}
{SNLISTxNAME}
{
    Die komplette Adresse der Mailingliste. Bsp.:
    'fli4l@lists.spline.de'

    G"ultige Werte: Mailinglistenadresse

    Standardeinstellung: \texttt{SN\_LIST\_x\_NAME='{}'}
}


\config{SN\_LIST\_x\_ACTIVE}
{SN\_LIST\_x\_ACTIVE}
{SNLISTxACTIVE}
{
    "Uber diesen Parameter wird eingestellt, ob der Datensatz
    aktiv sein soll.

    G"ultige Werte: yes, no

    Standardeinstellung: \texttt{SN\_LIST\_x\_ACTIVE'='no'}
}


\config{SN\_LIST\_x\_USER}
{SN\_LIST\_x\_USER}
{SNLISTxUSER}
{
    Lokaler User, an den die Mails aus der Mailingliste gehen.

    G"ultige Werte: lokaler Benutzername

    Standardeinstellung: \texttt{SN\_LIST\_x\_USER='{}'}
}



\config{SN\_LIST\_x\_TO}
{SN\_LIST\_x\_TO}
{SNLISTxTO}
{
    Falls die Reply-Adresse der Liste von \texttt{SN\_LIST\_x\_NAME}
    abweicht,  dann kann hier die Antwortadresse angegeben werden.
    Diese Variable bleibt i.d.R. leer.

    G"ultige Werte: Mailinglistenadresse

    Standardeinstellung: \texttt{SN\_LIST\_x\_TO='{}'}
}


\config{SN\_LIST\_x\_NEWSGROUP}
{SN\_LIST\_x\_NEWSGROUP}
{SNLISTxNEWSGROUP}
{
    Name der lokalen Newsgroup, in die die Mailingliste umgeleitet
    werden soll.

    G"ultige Werte: Newsgroupname

    Standardeinstellung: \texttt{SN\_LIST\_x\_NEWSGROUP='{}'}
}


\config{SN\_LIST\_x\_SENDER}
{SN\_LIST\_x\_SENDER}
{SNLISTxSENDER}
{
    Bei einer Antwort auf eine Nachricht in einer Gruppe, in die
    eine Mailingliste umgeleitet wurde, wird eine E-Mail generiert.
    Dabei wird der Envelope-Sender aus dem aktuellen Benutzernamen
    erzeugt. Das ist aber in jedem Fall der User news. Da es
    dadurch jedoch zu zu Problemen mit dem externen Mailserver
    kommen kann bzw. u.U. die Mailingliste die Mail nicht
    akzeptiert, sollte hier der richtige Absender eingetragen
    werden.
    Bsp.: Du hast Dich mit der Adresse foo@bar.de bei der Liste
    angemeldet, dann solltest Du hier \texttt{SN\_LIST\_x\_SENDER='foo@bar.de'}
    setzen.
    Wenn diese Variable leer gelassen wird, dann wird den
    Envelope-Sender nicht ge"andert. Falls keine Replies an die
    Liste erfolgen sollen, dann sollte man hier
    \texttt{SN\_LIST\_x\_SENDER='ro'} setzen. Damit wird er Status der Gruppe
    auf readonly gesetzt.

    G"ultige Werte: email-adresse, ro

    Standardeinstellung: \texttt{SN\_LIST\_x\_SENDER='{}'}
}

\end{description}


\subsection{Zus"atzliche Anmerkungen zur Konfiguration}
%-----------------------------------------------

\begin{description}

\item [SN\_FQDN]
    Eine Message-ID sieht so aus: local-Part@FQDN \\
    FQDN steht f"ur 'Full-Qualified-Domain-Name', z.B.: gmx.de oder web.de
    sind solche.

    Es gibt immer wieder Diskussionen, ob der FQDN g"ultig sein muss, oder
    nicht, da es bei der Interpretation durchaus Spielr"aume gibt, aber es
    gilt: Wenn man einen FQDN nutzt, der einem selbst geh"ort (z.B. eigene
    Domain) dann ist man auf der sicheren Seite. Wenn man das nur f"ur den
    Newsservice nutzen will, dann gibt es Adressen
    (z.B. \link{http://www.myfqdn.de}{myfqdn}) wo man sich einen eigenen
    FQDN reservieren kann. Dieser ist allerdings \emph{nur} f"ur den Einsatz
    in MID's von News oder Mails gedacht.

\end{description}


\subsection{Die Funktionen im Servicemen"u}
%-----------------------------------

\begin{description}

\item[View documentation]
     Anzeigen der Dokumentation.



\item[Show Status]
    Gibt aus, ob der Newsserver aktiviert ist.


\item[Goto news tools]
    Wechselt in das Men"u mit den Administrationswerkzeugen.
    Beschreibung siehe unten.


\item[Add newsgroup]
    Damit kann man eine neue Gruppe abonnieren. Man kann sie
    entweder von einem bereits existierenden Server beziehen (dann
    entfallen die Angaben zum Server) oder man legt einen neuen
    Server an. Falls bereits eine Gruppenliste vom externen Server
    heruntergeladen wurde, kann man mit regul"aren Ausdr"ucken
    arbeiten. Die Liste wird dann durchsucht und alle Treffer
    ausgegeben.
    Weiterhin k"onnen auch lokale Newsgroups angelegt werden. Dies
    geschieht, indem man 'existing Newsserver (or local NG)' w"ahlt
    und dann 'local'. Die Gruppe wird mit dem Namen angelegt, den
    man angibt. Damit es nicht zu Problemen mit "offentlichen
    Gruppen kommt, sollte man immer ein local oder lokal vor den
    Gruppennamen setzen. Bsp.: 'local.foobar' oder 'lokal.wichtig'


\item[Delete newsgroup]
    Hier kann man eine bestehende Newsgroup abbestellen bzw.
    l"oschen im Falle einer lokalen Gruppe. Dabei wird die Gruppe
    inkl. aller gespeicherten Postings gel"oscht.


\item[Delete external newsserver]
    Falls man sich beim Anlegen des Newsservers vertippt hat, oder
    falls der externe Server nicht mehr benutzt werden kann/soll,
    dann besteht hier die M"oglichkeit diesen zu l"oschen. Dabei hat
    man die Auswahl zwischen drei Varianten:

    \begin{itemize}
        \item Nur den Servereintrag l"oschen (
              Achtung:
              kann zu Problemen beim Abholen der News f"uhren)
        \item Den Servereintrag und alle Gruppen, die von diesem Server
              bezogen werden, l"oschen.
        \item Den Servereintrag l"oschen und alle Gruppen, die von diesem
              Server bezogen werden, zuk"unftig von einem anderen Server
              beziehen.
    \end{itemize}


\item[Request Newsgrouplist from external Server]
    Damit wird die komplette Liste aller Newsgroups, die der entsprechende
    externe Newsserver f"uhrt angefordert.


\item[Search for Newsgroups in Grouplist]
    Falls man die Grouplist vom externen Server heruntergeladen hat, dann
    kann mit dieser Funktion diese Liste durchsuchen. Dabei kann nach allen
    regul"aren Ausdr"ucken suchen, die grep auch versteht. Bsp.:

\begin{itemize}
    \item \textasciicircum de{\textbackslash}{\textbackslash}.comp.* - sucht
          nach allen Gruppen, die mit `de.comp' anfangen
    \item ascii  - sucht nach allen Gruppen, die 'ascii' enthalten
    \item  \textasciicircum de{\textbackslash}{\textbackslash}..*pgp - sucht
          nach allen Gruppen in der de-Hierarchie, die was mit pgp
          zu tun haben
    \item {\textbackslash}{\textbackslash}.pascal\$   - sucht nach allen
          Gruppen, die auf '.pascal' enden
\end{itemize}

    Normalerweise steht . f"ur ein beliebiges Zeichen. Wenn man jedoch nach
    dem Zeichen . suchen will, dann muss man es maskieren mit {\textbackslash}.
    Da {\textbackslash} aber auch ein Sonderzeichen ist und es bei der
    "Ubergabe durch die Shell verschluckt werden w"urde, muss man dieses
    wiederum mit {\textbackslash} maskieren.


\item[Sort Grouplists and kill Dupes]
    Wenn man per \texttt{SN\_REQ\_NEW\_GROUPS='yes'} regelm"a"sig nach neuen
    Gruppen suchen l"a"st, dann passiert es leider, dass man doppelte Eintr"age
    in der Grouplist hat, sodass bei der Suche nach einer Gruppe evtl. einige
    doppelt aufgef"uhrt werden. Mit dieser Funktion wird die Liste sortiert
    und von diesen Dupes befreit.


\item[Get/Send News]
    Hier kann man das Abholen/Senden der News von Hand ausl"osen.


\item[Change Login on external Newsserver]
    Falls man sich vertippt hat, oder sich der Login auf dem externen Server
    ge"andert hat, dann kann man das hier korrigieren. Das ist nat"urlich nur
    n"otig, wenn der externe Server einen Login ben"otigt


\item[Show subscribed Newsgroups]
    Damit kann man sich die zur Zeit abonierten Gruppen anzeigen lassen.


\item[Clear up Database]
    Wenn der Server l"anger l"auft (l"anger als 24h) dann empfiehlt es sich,
    mit dieser Funktion veraltete Eintr"age auszusortieren und den Index neu
    zu ordnen. Leider kommt es dabei ab und zu zu Problemen. Falls die letzten
    Zeilen in \texttt{SN\_DB\_LOG} in etwa so aussehen:

\begin{verbatim}
Wed Aug  7 17:54:26 MEST 2002
snexpire:dh\_open:table has wrong size!
snprimedb:dh\_open:table has wrong size!
snprimedb:Can't open database:Function not implemented?
\end{verbatim}

    dann wurde die Datenbank nicht richtig aufgebaut. Abhilfe schafft hier
    ein erneutes Ausf"uhren der Funktion 'Clear up Database' (bitte beachten,
    dass das Aufbauen der Datenbank eine Weile dauert, besonderns bei vielen
    Artikeln). Die letzten Zeilen in \texttt{SN\_DB\_LOG} sollten in etwa so
    aussehen:

\begin{verbatim}
snprimedb:insert:"message-id-bla-blub'' already exists in foo-bar:12345
snprimedb:12345 insertions
\end{verbatim}

    oder es ist nur eine Datumszeile vorhanden, dann wurden keine Artikel als
    doppelt vorhanden erkannt


\item[Show logfiles]
    Zeigt die vorhanden logfiles an.

    \begin{itemize}
        \item snfetch: Hier wird erfa"st, von welcher Newsgroup, wie viele
              Artikel geladen wurden und wie lange dies gedauert hat. Auch
              evtl. Fehler (z.B. fehlgeschlagene Authentifizierung am externen
              Newsserver) werden hier gelistet.
        \item snntp: Hier wird erfa"st welcher Artikel (Message-ID) in welche
              Newsgroup gepostet wurde.
        \item sndb: Logfile für die Datenbankaktivit"aten.
        \item snconf: Ein Eintrag erfolgt, wenn eine Newsgroup gel"oscht oder
              angelegt wird.
        \item snadmin: Meldungen an den Admin.
    \end{itemize}


\end{description}

