Zum Inhalt springen

Control-Message

aus Wikipedia, der freien Enzyklopädie

Eine Control-Message ist eine besondere Form des Postings im Usenet. Steuernachrichten unterscheiden sich von gewöhnlichen Nachrichten durch eine Zeile im Header (wo auch Absender, Betreff, Newsgroups, Datum usw. stehen) mit dem Schlüsselwort Control:. Der Rest dieser Zeile besteht aus dem Steuerbefehl gefolgt von Parametern.

Es gibt zwei historische Alternativen zur Kopfzeile Control. Sie werden von zeitgenössischer Software nicht unterstützt,<ref>InterNetNews hat all.all.ctl nie unterstützt. Version 1.0 wurde 1990 veröffentlicht.</ref><ref>Subject: cmsg ist nur beschrieben in Vorlage:RFC-Internet Nicht aber in Vorlage:RFC-Internet In INN wurde diese Funktionalität in Version 2.3 entfernt. Siehe <templatestyles src="Webarchiv/styles.css" />{{#if:20070221182751

      | {{#ifeq: 20070221182751 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: INN Changes and Upgrade Information. | {{#invoke:WLink|getEscapedTitle|INN Changes and Upgrade Information.}} | {{#invoke:Webarchiv|getdomain|http://www.eyrie.org/~eagle/software/inn/docs-2.3/news.html#S7}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20070221182751}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: INN Changes and Upgrade Information. | {{#invoke:WLink|getEscapedTitle|INN Changes and Upgrade Information.}} | {{#invoke:Webarchiv|getdomain|http://www.eyrie.org/~eagle/software/inn/docs-2.3/news.html#S7}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20070221182751}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: INN Changes and Upgrade Information. | {{#invoke:WLink|getEscapedTitle|INN Changes and Upgrade Information.}} | {{#invoke:Webarchiv|getdomain|http://www.eyrie.org/~eagle/software/inn/docs-2.3/news.html#S7}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: INN Changes and Upgrade Information. | {{#invoke:WLink|getEscapedTitle|INN Changes and Upgrade Information.}} | {{#invoke:Webarchiv|getdomain|http://www.eyrie.org/~eagle/software/inn/docs-2.3/news.html#S7}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: INN Changes and Upgrade Information. | {{#invoke:WLink|getEscapedTitle|INN Changes and Upgrade Information.}} | {{#invoke:Webarchiv|getdomain|http://www.eyrie.org/~eagle/software/inn/docs-2.3/news.html#S7}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: INN Changes and Upgrade Information. | {{#invoke:WLink|getEscapedTitle|INN Changes and Upgrade Information.}} | {{#invoke:Webarchiv|getdomain|http://www.eyrie.org/~eagle/software/inn/docs-2.3/news.html#S7}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20070221182751|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.eyrie.org/~eagle/software/inn/docs-2.3/news.html#S7}}
    || {{#if:  || }}
  }}{{#if: INN Changes and Upgrade Information.
    | {{#if: {{#invoke:WLink|isBracketedLink|INN Changes and Upgrade Information.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.eyrie.org/~eagle/software/inn/docs-2.3/news.html#S7%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.eyrie.org/~eagle/software/inn/docs-2.3/news.html#S7%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.eyrie.org/~eagle/software/inn/docs-2.3/news.html#S7 }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} eyrie.org</ref> und sind nach RFC 5537 verboten.<ref>Vorlage:RFC-Internet {{
 #if: 
 | {{
     #ifeq: {{#if:en|en|de}} | de
     | Vorlage:Str trim
     | {{#invoke:Vorlage:lang|flat}}
     }}
 | {{#ifeq: {{#if:en|en|de}} | de
     | „Vorlage:Str trim“
     | {{#invoke:Text|quote
         |1={{#if: 
              | {{#invoke:Vorlage:lang|flat}}
              | {{#invoke:Vorlage:lang|flat}} }}
         |2=en
         |3=1}} }}

}}{{#if:

   |  (<templatestyles src="Person/styles.css" />{{#if:  | :  }}{{#if:  | , deutsch: „“ }})
   | {{#if: 
       |  ({{#if:  | , deutsch: „“ }})
       | {{#if:  |  (deutsch: „“) }}
 }}

}}{{#if: […] The presence of a Subject header field starting with the string ‘cmsg ’ MUST NOT cause an article to be interpreted as a control message. […] Likewise, the presence of a <newsgroup-name> ending in ‘.ctl’ in the Newsgroups header field or the presence of an Also-Control header field MUST NOT cause the article to be interpreted as a control message.

   | {{#if: 
       | {{#if: […] The presence of a Subject header field starting with the string ‘cmsg ’ MUST NOT cause an article to be interpreted as a control message. […] Likewise, the presence of a <newsgroup-name> ending in ‘.ctl’ in the Newsgroups header field or the presence of an Also-Control header field MUST NOT cause the article to be interpreted as a control message.
           | Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
   | Vorlage:": Text= fehlt }}{{#if:  | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
             | Vorlage:": Ungültiger Wert: ref=
             | {{{ref}}} }}

}}</ref> Die traditionelle Form der Betreffzeile wird allerdings häufig zusätzlich zu Control verwendet: die Betreffzeile besteht aus dem Wort „cmsg“ gefolgt vom Steuerbefehl und den Parametern.

Typen von Steuernachrichten

cancel

Eine Cancel-Message ist eine durch Software automatisch auswertbare Bitte, einen bestimmten Artikel lokal bei sich zu löschen. Dies wird Canceln genannt. Die Nachricht hat einen Parameter, die Message-ID des zu löschenden Postings.

Beispiel

Control: cancel <899qh19zehlhsdfa@foo.bar.com>
Subject: cmsg cancel <899qh19zehlhsdfa@foo.bar.com>

newgroup

Ein newgroup-Control dient zum Anlegen einer neuen Gruppe.<ref>Vorlage:RFC-Internet</ref> Der erste Parameter ist der Name der neuen Gruppe. Der zweite Parameter ist die optionale Angabe des Schlüsselworts moderated. Damit werden moderierte Gruppen angelegt. Der Text des Postings enthält üblicherweise Kurzbeschreibung (tagline), Charta und eine Begründung für die Einrichtung der Gruppe.

Wenn die Gruppe bereits existiert, wird durch den newgroup-Control nur der Status der Gruppe (d. h. moderiert oder unmoderiert) geändert.<ref>Vorlage:RFC-Internet {{

 #if: 
 | {{
     #ifeq: {{#if:en|en|de}} | de
     | Vorlage:Str trim
     | {{#invoke:Vorlage:lang|flat}}
     }}
 | {{#ifeq: {{#if:en|en|de}} | de
     | „Vorlage:Str trim“
     | {{#invoke:Text|quote
         |1={{#if: 
              | {{#invoke:Vorlage:lang|flat}}
              | {{#invoke:Vorlage:lang|flat}} }}
         |2=en
         |3=1}} }}

}}{{#if:

   |  (<templatestyles src="Person/styles.css" />{{#if:  | :  }}{{#if:  | , deutsch: „“ }})
   | {{#if: 
       |  ({{#if:  | , deutsch: „“ }})
       | {{#if:  |  (deutsch: „“) }}
 }}

}}{{#if: The newgroup control message requests that the specified group be created or, if already existing, that its moderation status or description be changed.

   | {{#if: 
       | {{#if: The newgroup control message requests that the specified group be created or, if already existing, that its moderation status or description be changed.
           | Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
   | Vorlage:": Text= fehlt }}{{#if:  | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
             | Vorlage:": Ungültiger Wert: ref=
             | {{{ref}}} }}

}} Die Funktionalität ist aber weit älter. Zum Beispiel enthält die Beschreibung des Programms ctlinnd (Bestandteil von INN) folgendes: {{

 #if: 
 | {{
     #ifeq: {{#if:en|en|de}} | de
     | Vorlage:Str trim
     | {{#invoke:Vorlage:lang|flat}}
     }}
 | {{#ifeq: {{#if:en|en|de}} | de
     | „Vorlage:Str trim“
     | {{#invoke:Text|quote
         |1={{#if: 
              | {{#invoke:Vorlage:lang|flat}}
              | {{#invoke:Vorlage:lang|flat}} }}
         |2=en
         |3=1}} }}

}}{{#if:

   |  (<templatestyles src="Person/styles.css" />{{#if:  | :  }}{{#if:  | , deutsch: „“ }})
   | {{#if: 
       |  ({{#if:  | , deutsch: „“ }})
       | {{#if:  |  (deutsch: „“) }}
 }}

}}{{#if: If the newsgroup already exists, this is equivalent to the changegroup command.

   | {{#if: 
       | {{#if: If the newsgroup already exists, this is equivalent to the changegroup command.
           | Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
   | Vorlage:": Text= fehlt }}{{#if:  | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
             | Vorlage:": Ungültiger Wert: ref=
             | {{{ref}}} }}

}}</ref>

In etablierten Hierarchien werden newgroup-Nachrichten mit korrekter digitaler Signatur automatisch ausgeführt. In manchen Hierarchien (alt.*, free.*, de.alt.*) dienen unsignierte newgroup-Nachrichten nur als formeller Vorschlag. Einwände gegen den Vorschlag werden dann durch eine rmgroup-Nachricht ausgedrückt.<ref>Konventionen:

  • <templatestyles src="Webarchiv/styles.css" />{{#if:20080415161939
      | {{#ifeq: 20080415161939 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: How To Write a Good Newgroup Message. | {{#invoke:WLink|getEscapedTitle|How To Write a Good Newgroup Message.}} | {{#invoke:Webarchiv|getdomain|http://www.gweep.ca/~edmonds/usenet/good-newgroup.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20080415161939}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: How To Write a Good Newgroup Message. | {{#invoke:WLink|getEscapedTitle|How To Write a Good Newgroup Message.}} | {{#invoke:Webarchiv|getdomain|http://www.gweep.ca/~edmonds/usenet/good-newgroup.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20080415161939}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: How To Write a Good Newgroup Message. | {{#invoke:WLink|getEscapedTitle|How To Write a Good Newgroup Message.}} | {{#invoke:Webarchiv|getdomain|http://www.gweep.ca/~edmonds/usenet/good-newgroup.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: How To Write a Good Newgroup Message. | {{#invoke:WLink|getEscapedTitle|How To Write a Good Newgroup Message.}} | {{#invoke:Webarchiv|getdomain|http://www.gweep.ca/~edmonds/usenet/good-newgroup.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: How To Write a Good Newgroup Message. | {{#invoke:WLink|getEscapedTitle|How To Write a Good Newgroup Message.}} | {{#invoke:Webarchiv|getdomain|http://www.gweep.ca/~edmonds/usenet/good-newgroup.html}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: How To Write a Good Newgroup Message. | {{#invoke:WLink|getEscapedTitle|How To Write a Good Newgroup Message.}} | {{#invoke:Webarchiv|getdomain|http://www.gweep.ca/~edmonds/usenet/good-newgroup.html}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20080415161939|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.gweep.ca/~edmonds/usenet/good-newgroup.html}}
    || {{#if:  || }}
  }}{{#if: How To Write a Good Newgroup Message.
    | {{#if: {{#invoke:WLink|isBracketedLink|How To Write a Good Newgroup Message.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.gweep.ca/~edmonds/usenet/good-newgroup.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.gweep.ca/~edmonds/usenet/good-newgroup.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.gweep.ca/~edmonds/usenet/good-newgroup.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} gweep.ca/~edmonds
      | {{#ifeq: 20080315222916 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: free.* FAQ. | {{#invoke:WLink|getEscapedTitle|free.* FAQ.}} | {{#invoke:Webarchiv|getdomain|http://www.killfile.org/~tskirvin/faqs/free.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20080315222916}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: free.* FAQ. | {{#invoke:WLink|getEscapedTitle|free.* FAQ.}} | {{#invoke:Webarchiv|getdomain|http://www.killfile.org/~tskirvin/faqs/free.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20080315222916}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: free.* FAQ. | {{#invoke:WLink|getEscapedTitle|free.* FAQ.}} | {{#invoke:Webarchiv|getdomain|http://www.killfile.org/~tskirvin/faqs/free.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: free.* FAQ. | {{#invoke:WLink|getEscapedTitle|free.* FAQ.}} | {{#invoke:Webarchiv|getdomain|http://www.killfile.org/~tskirvin/faqs/free.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: free.* FAQ. | {{#invoke:WLink|getEscapedTitle|free.* FAQ.}} | {{#invoke:Webarchiv|getdomain|http://www.killfile.org/~tskirvin/faqs/free.html}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: free.* FAQ. | {{#invoke:WLink|getEscapedTitle|free.* FAQ.}} | {{#invoke:Webarchiv|getdomain|http://www.killfile.org/~tskirvin/faqs/free.html}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20080315222916|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.killfile.org/~tskirvin/faqs/free.html}}
    || {{#if:  || }}
  }}{{#if: free.* FAQ.
    | {{#if: {{#invoke:WLink|isBracketedLink|free.* FAQ.}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.killfile.org/~tskirvin/faqs/free.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.killfile.org/~tskirvin/faqs/free.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.killfile.org/~tskirvin/faqs/free.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref><ref name="de.alt">Regeln für die Einrichtung, Änderung und Entfernung von Usenet-Gruppen. kirchwitz.de/~amk</ref>

Auf jeden Fall werden newgroup-Nachrichten vom Internet Systems Consortium archiviert.<ref>ftp://ftp.isc.org/pub/usenet/control/</ref>

Beispiel

Control: newgroup de.soc.usenet
Subject: cmsg newgroup de.soc.usenet

rmgroup

Ein rmgroup-Control (rm ist eine Abkürzung für „remove“) dient zum Löschen einer Gruppe.<ref>Vorlage:RFC-Internet</ref>

Beispiel

Control: rmgroup de.comp.sys.next
Subject: cmsg rmgroup de.comp.sys.next

checkgroups

Ein checkgroups-Control enthält eine Liste aller Gruppen einer Hierarchie.<ref>Vorlage:RFC-Internet</ref>

Beispiel

Control: checkgroups
Subject: cmsg checkgroups

Beispiel nach RFC 5537<ref name="RFC5537" />

Control: checkgroups de!de.alt #2009021301

Veraltete Nachrichtentypen

Name Definition (RFC) Beschreibung
Ihave 850, 1036, 5537 Ankunft einer bestimmten Nachricht melden
Sendme 850, 1036, 5537 Übertragung einer bestimmten Nachricht anfordern
Sendsys 850, 1036, 5537 E-Mail anfordern, die eine Aufstellung der zu Nachbar-Servern geschickten Gruppen enthält
Senduuname 850, 5537 E-Mail anfordern, die eine Aufstellung aller UUCP-Nachbarn enthält
Version 850, 1036, 5537 E-Mail anfordern, die Name und Versionsnummer der Usenet-Software enthält
Whogets 5537 Ohne Beschreibung als veraltet erklärt

Das ihave/sendme-Protokoll wurde durch NNTP obsolet.

Steuernachrichten mit großen E-Mails zu beantworten kann für einen Denial-of-Service-Angriff ausgenutzt werden. Daher wurde sendsys schon lange, bevor es durch RFC 5537<ref name="RFC5537" /> für veraltet erklärt wurde nicht mehr unterstützt.<ref>Vorlage:RFC-Internet Enthält folgende Klausel: {{

 #if: 
 | {{
     #ifeq: {{#if:en|en|de}} | de
     | Vorlage:Str trim
     | {{#invoke:Vorlage:lang|flat}}
     }}
 | {{#ifeq: {{#if:en|en|de}} | de
     | „Vorlage:Str trim“
     | {{#invoke:Text|quote
         |1={{#if: 
              | {{#invoke:Vorlage:lang|flat}}
              | {{#invoke:Vorlage:lang|flat}} }}
         |2=en
         |3=1}} }}

}}{{#if:

   |  (<templatestyles src="Person/styles.css" />{{#if:  | :  }}{{#if:  | , deutsch: „“ }})
   | {{#if: 
       |  ({{#if:  | , deutsch: „“ }})
       | {{#if:  |  (deutsch: „“) }}
 }}

}}{{#if: This information is considered public information, and it is a requirement of membership in USENET that this information be provided on request, either automatically in response to this control message, or manually, by mailing the requested information to the author of the message.

   | {{#if: 
       | {{#if: This information is considered public information, and it is a requirement of membership in USENET that this information be provided on request, either automatically in response to this control message, or manually, by mailing the requested information to the author of the message.
           | Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
   | Vorlage:": Text= fehlt }}{{#if:  | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
             | Vorlage:": Ungültiger Wert: ref=
             | {{{ref}}} }}

}}</ref>

Sicherheitsaspekte

Kopfzeile „Approved:“

Steuernachrichten des Typs newgroup und rmgroup werden ignoriert, wenn sie nicht mit der Kopfzeile Approved: versehen sind.<ref>Vorlage:RFC-Internet Sowie „3.4. Rmgroup“. Interessanterweise fehlt diese Klausel in Abschnitt „3.7. Checkgroups“.</ref> Traditionell sind Newsserver so konfiguriert, dass nur ausgewählte Benutzer Nachrichten mit diesen Zeilen senden dürfen. Solange es weltweit nur eine Handvoll Server gab, stellte diese Maßnahme ausreichenden Schutz gegen Missbrauch dar.

Digitale Signatur

Das Format für „Arpa Internet Text Messages“<ref>Vorlage:RFC-Internet</ref> ist die gemeinsame Grundlage für Usenet<ref>Vorlage:RFC-Internet</ref> und E-Mail.<ref>Vorlage:RFC-Internet</ref> Es sieht keine Möglichkeit der Authentifizierung vor. In Folge wurden verschiedene Erweiterungen des Formats um eine Digitale Signatur entwickelt.

Signatur-Format Gegenstand der Signatur Einsatzgebiet
PGP/INLINE beliebiger Text NoCeM
PGP/MIME MIME Bodyparts E-Mail
S/MIME MIME Bodyparts E-Mail
pgpcontrol Body und ausgewählte Header newgroup, rmgroup, checkgroups

Da sich bei einer Control-Message die wesentlichen Informationen im Header befinden, ist ein spezielles Format notwendig. pgpcontrol wurde ursprünglich für PGP entwickelt, funktioniert aber auch mit OpenPGP.<ref>ftp://ftp.isc.org/pub/pgpcontrol/</ref>

Hierarchieschlüssel

Änderungen des Gruppenbestands werden in den großen Hierarchien (Big Eight und Regionalhierarchien) mit signierten Steuernachrichten durchgeführt. Jede Hierarchie verfügt über einen eigenen Schlüssel, der von den Hierarchiegründern bzw. deren Nachfolgern verwaltet wird. Die meisten Newsserver sind so konfiguriert, dass mit dem richtigen Schlüssel signierte Steuernachrichten automatisch ausgeführt werden. Alle anderen Steuernachrichten werden ignoriert.

Theoretisch ist dieses Verfahren auch für Cancel-Messages geeignet. Dazu müsste aber nicht nur für jeden Usenet-Benutzer ein Schlüsselpaar existieren, sondern auch der jeweilige öffentliche Schlüssel jedem Newsserver bekannt sein. Cancel-Lock ist wesentlich einfacher.

Archivierung

Steuernachrichten erscheinen üblicherweise nicht lesbar in der betreffenden Newsgroup. Viele Newsserver sortieren sie stattdessen in Pseudo-Gruppen wie control ein.<ref>INN legt Steuernachrichten normalerweise in der Pseudo-Gruppe control ab. Wenn jedoch eine Untergruppe von control existiert, die zum Steuerbefehl passt, wird die Nachricht in dieser Gruppe abgelegt.</ref>

Google Groups bietet keine Möglichkeit, Steuernachrichten zu lesen oder zu schreiben und führt nicht einmal Cancel Messages aus.

Das Internet Systems Consortium archiviert newgroup und rmgroup gemeinsam in einer Datei pro Gruppe<ref>ftp://ftp.isc.org/pub/usenet/control/</ref> und checkgroups in einer Datei pro Jahr.<ref>ftp://ftp.isc.org/pub/usenet/control/other.ctl/</ref>

Einzelnachweise

<references> <ref name="RFC5537"> Vorlage:RFC-Internet </ref> </references>