KorrNews V4.02, Status 22.10.2001
© Thomas G. Liesner


This is an English translation of Thomas G. Liesner's Korrnews web pages as they were supplied with version 4.02. Work is still in progress (19.08.2002). There should be nothing German left, but I have translated some of the Headlines seperatedly from the program so some of the terminology still has to be compared and corrected


(Hamster & Hamstertools) , ( Download V4.11 )
(Description of Header.def (translated by Paul Batchie) (Korrnews history)(german) (Korrnews history) (sq 2.88))

Table of contents

  1. General information
  2. Application
  3. Configuration / General
    1. HTML-Help
    2. Assistent (sp)
    3. Default-Charset-Settings (incl. introduction to the problematic of charsets
    4. Configure "boxquotes"
    5. Configure footnote-automatic
    6. Configure One-Liner & Reformat
  4. Configuration (Individual Sections)
    1. General Settings
    2. Charsets
    3. Encoding
      1. Introduction
      2. Convertion between 8-Bit, Base64, QP...
      3. Convert HTML to Text
      4. Extract Attachments
      5. Delete needless blanks and blank lines
    4. Header corrections
      1. Settings for every header (Header I)
      2. Header: Subject (Header I)
      3. Header: From and Reply-to (Header I)
      4. Header: Lines (Header I)
      5. Header: Date(Header II)
      6. Header: References(Header II)
      7. Header-Order (Header II)
      8. Set/delete X-Header (Header II) )
      9. Correction for CopyFups (Header III) ()
      10. Hamster-Mails (Header III)
    5. Body corrections
      1. Body-Header (Body I)
      2. Signature (Body I)
      3. Autoindent (Body II)
    6. Special functions (for OE ect))
      1. Automatic footnotes
      2. manual "Reformats" and "Oneliner"
      3. Boxquotes
      4. Repair OE comb-quote
      5. Other
    7. Header.def
    8. Order of various technical corrections
  5. Notes on various newsreaders
    1. Introduction
    2. Forte agent
    3. Forte Free agent
    4. Outlook Express & MS-News
    5. Netscape Mozilla
    6. Anaware Gravity
    7. XNews
    8. Lotus Notes
  6. Support for Korrnews & Co

1. General information

This program makes it possible to get around various errors of an existing Newsreader/Mailreader, or to complete its' functionality and add various comfort functions. This is achieved by the fact that Korrnews is called after posting from the News/Mailreader, before the local new server dispatches the message by revising the files available as plain text depending on it's settings.

Korrnews was developed for co-operation with the hamster , however nothing speaks against using it with another server if the appropriate requirements are met. At present it should function without modification with Morver and with Crosspoint it in their current versions.

The "scope of supply" contains the following files:

(to the table of contents)


2. Application

Application directly "within" hamster:

If Hamster is version 1.3.22.0 or newer, the call can be created permanently by means of Assistant so that each Posting and each outgoing Mail are worked over again automatically. In that case the following skripts are then no longer necessary.

Application e.g. within a hamster script:

New language version, short script:

 #!hs2 
Execute ("KorrNews.exe Mails News", "", 1,true) 
HamRasDial("...")  
HamMailExchange 
HamNewsPost
HamNewsPull 
HamWaitIdle 
HamRasHangUp 
quit
New language version, long script:

#!hs2 
#!debug 1 
debug(1, "Wait") 
HamWaitIdle
debug(1, "deactivate functions") 
HamMessage (2, 0) # RESET Counter
HamMessage (5, 0) # stop SMTP server 
HamMessage (3, 0) # stop NNTP server 
debug(1, "starting Korrnews") 
Execute ("KorrNews.exe Mails News ", "", 1, true) 
debug(1, " connection manufacture") 
HamRasDial("... ")  
debug(1, "the work begins...")  
HamSendmail(...) 
HamFetchmail (...)
...  
HamNewsPost 
HamNewsPull 
HamWaitIdle
HamRasHangUp 
Execute ("mixgroup.exe", "", 1, true) 
Execute ("CopyFups.exe", "", 1, true) 
HamMessage (5, 1) # restart SMTP server
HamMessage (3, 1) # restart NNTP server 
print(" finished! ")  
quit
Mixgroup and CopyFups are additional Tools of mine, which are optional and are completely replaceable by CopyIf.

In order to be able to directly call Korrnews in this script, the following adjustments are necessary: Korrnews and the Header.def file must be in the Hamster directory, possibly used Sig files likewise. Normally Korrnews adapts the Message Path correctly when first starting , otherwise this must be retrieved - for Mail the path "Mails\Mail.out" is relevant, for News the path "Groups\News.out" both of which must be in the Hamster directory.

All other options for News and Mail must be set separately. If one would like different "Header.def"'s for Mail and News, one can also set this in the configuration.

Configuration is achieved very simple: When Korrnews is started without parameters , you come directly to the configuration dialog.

(to the table of contents)


3. Configuration / Functions

You set the configuration by starting Korrnews without parameters. On the left you see the list of the sections, on the right the actual settings. The first line in the list contains the general configuration.

The general configuration regulates the things, which are to apply to all specific sections together. When starting Korrnews the selection beam is automatically on the general configuration. The individual settings are on the right available through the Buttons.


3.1. HTML assistance

calls this assistance. (Actually it will call the German-Version unless you copy this file in it's place)

3.2. Assistant

The assistant is to simplify certain processes somewhat, at present the following functions are available in the assistant:

Let Hamster start Korrnews automatically: As mentioned above, Hamster in its current version is able to call Korrnews via so-called of "Actions" on receipt of Mails or News. The installation of these actions can be set here with one click on a button.

Configure Korrnews for Outlook Express: A simplification for OE users, who do not desire to check all the relevant options themselves. The hinttext expains what will be activated in detail.


3.3. Default-Charset-settings

First a short excursion into the meaning of the charsets:

Windows usually operates with charset Windows-1252 or at least under NT internally with Unicode. The difference is that Windows-1252 can contain max. 255 different characters (a byte per character ), of which half are used by the ASCII characters already. Unicode on the other hand permits to differentiate up to 65535 (UCS-2) or up to 65536*65536 character (UCS-4). This makes sense in asiatic languages with very many word/syllable symbols or when mixingdifferent languages . Within Western Europe a smaller charset is clearly sufficient.

Within Usenet everything by default is ASCII, which does not count for umlauts and currency symbols. Owing to MIME however the charset can be indicated, in which the Posting was created, so that this limitation can be circumvented. At least in de.ALL it is common to use ISO-8859-1, which corresponds to the Windows charset to a large extent, but among other things lacks typographic quotation marks and the Euro-sign. For the latter there is ISO-8859-15, which corresponds to ISO-8859-1 to a large extent, but among other things also contains the Euro. In addition there are still charsets for Russian, for various asiatic languages, for Scandinavian languages etc. pp. This is all under the umbrella of Unicode, which covers all characters of all specific charsets.

So that Korrnews can operate e.g. at inserting a signature or a like correctly, it supports these charset declarations starting from V4.0 automatically, on this page are the suitable basic settings. There are the following restrictions: UCS-4 is not supported, this might give quite rarely practice-relevant problems, furthermore it does not consider multi-byte charsets and with charsets, which are not explicitly supported, no warranty for the results within the special character area can be given. At least the charsets usually used in German and US Usenet should be covered completly.

The internal charset refers to all texts within Skripts, signature files etc. and should not be not modified without reason - I can not guarantee if this setting will be considered in all relevant places in the program code.

The following two settigns refer to the charsets, to which KN defaults. The header setting refers to coding of special characters in the header (Subject, From etc.) by means of =?ISO?Charset?Q?.....? = and the Body-setting for the charset used in the normal text.

If the charset compositions are not sufficiant, adapt charset.dat accordingly. This does not give an optimal asetting since each charset outside of ASCII could be regarded by somebody as disturbing.

  1. ISO-8859-1: At least Americans feel umlauts as disturbing, within Western Europe however these will not offend.
  2. ISO-8859-15: This charset supports the euro, but firstly not everyone has activated/installed a charset with euro symbol, and secondly is not supported by various newsreader yet, even if they can deal always with ANSI. Examples: Netscapes Mozilla (at least in the 4.7x) or Gnus/Emacs in (older?) Versions. With non MIME-enables newsreaders like Gravity or Forte Free agent or XNews the international currency symbol (also called approaching rocket) gets shown instead. If these restrictions annoy, it is best to write "Euro".
  3. Western-1252/cp1252: The Windows charset is just as standardized as ISO-8859-15, but particularly Linux zealots react quite militantly to this charset. For non MIME-enabled newsreaders under Windows it naturally would be the optimum.
  4. utf-7/utf-8: Theoretically the optimum, in reality many newsreader have problems with them, especially when not coded it is awful to read. Utf-7 also codes some "normal" characters like ">" or "=", so if really needed it would be better to rather use utf-8, but which being 8-bit coding can be ruined during during transport by Mailgateways or other not 8-bit-fixed points of transmission.
To put it in a nutshell: If the "normal" charsets are not enough, select either Western-1252 or Unicode, whichever you prefer, the default value is arbitrarily selected.

(Specials.ini, section [Charsets], adjustments "Internal", "DefBody" and "DefHeader")


3.3. "Boxquotes" configuration:

Boxquotes are a special type of quotation, which are for emphasis or external quotations and originate from the Linux newsreaders. Korrnews allows up to nine different box configurations, the details can be set via this dialogbox.

In the dialog the lines an be set, which permit the recognition for Korrnews, these lines are case-sensitive. Whether the quoted text is to originate from an external file or follows in the text can be set in the box-definition. The explanation of the further options can probably be saved due to the integrated preview.

The use of Boxquotes is like this: If Boxquotes are permitted for the appropriate specific section (i.e mail, news, mail.in ect) you write in the case of file-boxquotes only the defined initial line followed by the file name into an individual line, in the other case the initial line as a single line in the Posting, in the next line the heading if necessary (and following that line naturally the set title/text-seperartor) and afterwards the actual text, which must be concluded sometime times with the set final line. The conversion takes place then, as soon as Korrnews receives the article for processing.

(Boxquotes.ini, section [BQ#number], settings "BQType", "BQStartLine", "BQSepLine", "BQEndLine", "BQGraphics", "BQTitleLeft", "BQTitleRight", "BQTitle", "BQFrom", "BQWidth", "BQWidthTop", "BQWidthDown", "BQTopLeft", "BQTopRight", "BQLeft", "BQRight", "BQBottomLeft", "BQBottomRight")


3.4. Footnotes configuration

Footnotes help to collect URLs or additional explanations, which would inflate the text at the end of the Postings.

In the dialog the following settings are necessary: The start and final identifier, the line length and if necessary the substitute symbol for line-breaks (if it is empty, there will be no linebreaks within footnotes) For the representation it can be still decided whether the footnotes before or (IMHO more meaningfully) below the "LINES" (Special area of text added at the end of the body before the sig with the use of header.def), whether a heading is required, whether and if with which character it is to be underlined and whether thereafter still another blank line is required.

Application: If Footnotes are permitted in the specified section (i.e mail, news, mail.in ect.) and you set as a startID for example "(FN:" and as final identifier "#", you can write in the text e.g. the following:

   In order to fully utilize the potential of Hamster(FN: a local News/Mailserver for Windows #), the Tools Korrnews(FN:
http://www.tglsoft.de/ (where you also find hamster) #) and
CopyIf(FN:  likewise found on TGL's(FN: aka "Thomas G.
Liesner" #) homepage #) are much recommended.  Even using OE you can produce
RFC conformal Postings.

Bye, Marcus
Resulting in:
   In order to fully utilize the potential of Hamster[1] , the Tools
Korrnews[2]  and CopyIf[3]  are much recommended.  Even using 
OE you can produce conformal Postings.

Bye, Marcus

Footnotes:  ========= 
[1] a local News/Mailserver for Windows 
[2] http://www.tglsoft.de/ (where you also find hamster) 
[3]  likewise found on TGL's[4] homepage 
[4] aka "Thomas G. Liesner"
Some pitfalls are to be considered: In order to get a correct line-break, a blank is recomended after the footnote introduction. Also a footnote may not go beyond paragraph boundaries, otherwise ir will not be detected it as such. The paragraph recognition might operate under normal conditions correctly, with blank lines between the paragraphs you can prevent errors still more reliably. Additionally footnotes are not executed in quotations.

(Footnote.ini, section [Footnotes], settings "FNTitle", "FNBegin", "FNEnd", "FNWordWrapAfter", "FNPos", "FNUnderline", "FNUnderlineWith", "FNTitleEmptyLine", "FNToCRLF")


3.6. One-Liner & Reformat configuration

Why "Reformat"s:
This function is mainly for "wavy" or excessive foreign quotation: By clasping the desired section with "RF:" at the start and "#" at the end everything inbetween will be formatted to the line length set in the footnote-section. i.e:

RF:This is an example of a totally broken line-makeup - partly
much to 
long lines and partly much too short. #
converts to:
  Thit is an example of a totally broken line-makeup - partly
much to long lines and partly much too short.
In the case of quotations is has to be noted that the "RF:" has to preceed the quotation character and that Korrnews provides all lines automatically with the quotation depth of the first line. Example:
  RF: >>  That is an example of a totally broken line-makeup
in the quotation - partly much too 
>> long lines and partly much too
short. #
converts to:
 >> that is an example of a totally broken line-makeup in the quotation 
 >> - partly much to long lines and partly much too short.

Why "Oneliner"s:
This option helps e.g., even if programs such as XNews force linebreaks in URLs. All sections, enclosed in "OL:" and "#" are combined into one line. Example:

 
OL:http://abc.def.geh/oldtimer/NullAchtFuenfZehn/Treffen_10_10_2010/Gemueses
tand/Gurkenglas/Inhalt.html#
converts to:
 http://abc.def.geh/oldtimer/NullAchtFuenfZehn/Treffen_10_10_2010/Gemuesestand/Gurkenglas/Inhalt.html

The options in the dialog should be selfexplanatory. Wenn choosing the tags make sure that they can't appear normally, but still can be easy to remember.

(Specials.ini, section [Oneliner], settings "Begin" und "End" und section [Reformat], settings "Begin" und "End")


4. Configuration / individual sections

If a section is selected, a tab appears on the right with the options of that section.

With the Button "New" above the list one a new section with the default values is produced, with "Copy as" you copy the settings of the current section under a new name and with "Delete" a section can be deleted again. "New" and "Delete" come to effect immediately, modifications of the settings of an existing section will only come into effect when pressing "OK" when they will be saved.

In order to test the functions, "dry exercises" are recommended: Simply call Korrnews with parameters and look at the modified msg files, save some testpostings.

By the way, the call of Korrnews does not produce an effect with the exception of a short flashing in the taskbar - the activity is only detectable by the result, in use of Only_KN.exe even the flash is missing. The example header "x-Korrnews: Used" is e.g. a quite good indicator that the call worked. To allow for the vanity of the author you can let a reference of the use of Korrnews be in any header, this is however naturally purely voluntary.


4.1. General Settings

MessagePath:
permits Korrnews and auxiliary files (ini-file and header.def) to be in any directory outside of the Message directory. If a MessagePath is set, Mails and News are processed there, not in the Korrnews-directory. In connection with hamster the section "Hamsterverzeichnis\Groups\News.out" and "Hamsterverzeichnis\Mails\Mails.out" are relevant, these are automatically used, if Korrnews is installed directly in the hamster directory.
(Korrnews.ini: Option "Messagepath", default: empty)

FilePath:
permits to have the data-files (header.def, signature files without path specification) in a directory outside of the program directory.
(Korrnews.ini: Option "Filepath", default: empty)

Header.def:
If you require different header definitions in different section (thus e.g. Mail and News), you can determine here the header file for each section. In order to process the up-to-date selected file, clicks on the switching surface " Edit " is enough. The name "Header.def" is rather traditional than meaningful and refers to the first versions, which only permitted the setting/deletion of individual headers by means of the Header.def.
(Korrnews.ini: Option "Header.def", default: "Header.def")

File extension of the News/Mail files:
decides, which files Korrnews is to work on. IFor Hamster, the proper setting is "msg", if instead e.g. MTQ is to be supported, would be more suitable the ending "*". An empty entry really is for files without an extension.
(Korrnews.ini: Option "CheckFilesWithExtension", default: "msg")

Ignore first xx and last xx lines of mail/posting:
This setting was integrated particularly for Crosspoint and provides for the fact that the first and/or last lines remain guaranteed unchanged and Korrnews "only" processes the remainder.
(Korrnews.ini: Option "SafeReg1" and "SafeReg2", default: "0")

Save changed file with this file extention:
Allows you to experiment with Korrnews. If this setting is set, the original files are no longer overwritten with the corrected version, instead the corrected version is created with the extension indicated here. For example, if "new" is specified, then the corrected copy of "00000023.msg" is saved to "0000023.new" and no changes are made to "00000023.msg".
(Korrnews.ini: Option "DontChangeRenameToExtension", default: empty)

Create backup of ...:
Specifies if the original message is to be stored with a "Bak" extention.
(Korrnews.ini: Option "MakeBak", default: "0", where "0"=no and "1"=yes)


4.2. Charsets

Here it is possible, for headers and Body to modify the available char-codes for special sections , the default settings, which are achieved by means of the setting "default", is under general configuration, there is also the technical background informations to the character sets.

Automatically select minimum character set:
Korrnews checks after all modifications whether the selected character set (concerning the Bodys) is not excessivly "large" and uses if necessary a "smaller" char set, whose char set is sufficient for the Posting or Mail in question.
(Korrnews.ini: Option "MinBodyCharset", default: "0", where "0" stands for "no" and "1" for "yes")


4.3. Encoding

4.3.1 Introduction

Again a short basic text to understand for the following settings:

As already mentioned with the character sets, Usenet and Mail were originally a 7-bit-affair. Even though Usenet now is considered to as 8-bit suited and also most mailrouter are not troubled by 8-bit chars,

Thus the appropriate coding is still important today.

Korrnews supports the following coding:

The speciality UUEncode coding is currently not supported by Korrnews, as it can't be detected reliably and the concept is also difficult to handle.


4.3.2 conversion between 8-bit, Base64, QP...

Standard text coding ff:
In order to avoid a 4x4-table, the concept for the automatic conversions was implemented as follows (if this should appear too inflexible - using Header.def the desired conversions can be dynamically implemented): Selects here the desired target coding for general use and by selecting in the following three settings by selecting, which coding are to be transferred by Korrnews into the standard coding. As the heading already says, KN is limited automatically to the sections of a Multipart Postings, which indicate a text-type.
(Korrnews.ini: Options "DefaultEncoding", "Convert8Bit", "ConvertQP" and "ConvertBase64")


4.3.3 Convert HTML to text

Convert HTML to text:
This function is meant for users of news- or mailreaders, which are not part of a browser. The function converts the original HTML code to pure text, loosing a lot of detail (approx. 50%), but the substantial contents should be quite well readable. Normally it only make sense to use that on incoming Mails or in Copyif (starting from version 2.0).
(Korrnews.ini: Option "HTML2Text", default: "0", thus "no")

Store originals under:
In order to still be able to enjoy nevertheless the full beauty of the original, path and file name are indicated here, where the originals of the HTML Postings are to be stored. You should integrate a " * " in the names, which causes that KN automatically always assigns a new file name i.e. from Original_*.html becomes the files Original_1.html, Original_2.html, Original_3.html..., Original_1822.html etc.. The URL is integrated automatically into the text version thereby, in order to be able to call the original comfortably.
(Korrnews.ini: Option "SaveHTMLAs", default: "c:\temp\Original_*.html")


4.3.4 Extract attachments

If the used Mailreader cannot deal with attachments or you would not even like to have them in the local data base, this option permits the automatic removal and storing of attachments. Normally it only make sense to use that on incoming Mails or in Copyif (starting from version 2.0). The procedure has limits if the file is divided over several Mails/Postings, which then must be manually assembled.

Extract attachments / target path / File exists already:
If the first option is activated, all attachments of Multi part MIME Postings are stored automatically in the selected target path, using file name setting. What is to occur, if such a file already exists, can be likewise set.
(Korrnews.ini: Option "SaveAttachments", values "0" or "1", default "0"; Option "SaveAttachmentsDir", default "c:\temp"; Option "ActionIfAttExists", values "0" for "does not store" (default), "1 " for "overwriting", "2" for "renaming")


4.3.5 needless blanks and blank lines

Delete trailing spaces:
This function deletes trailing spaces, as long as these do not end with "-- ".
(Korrnews.ini: Option "RightTrimLines", default: "0", thus "yes")

Delete blank lines at the Posting/Mail end:
Deletes all blank lines at the end of text and signature, particularly practical for OE users, since OE attaches two blank lines with each reworking of a Posting.
(Korrnews.ini: Option "DeleteEmptyLines", default: "0", thus "yes")


4.4. Header corrections (I-III)

The following functions modify the Headers of News or Mails. The defaults have been selected to not cause problems, but you should check them for your own needs.


4.4.1 Settings for all header:

Optimized ISO coding of header:
This function helps mainly XNews or Free agent users, whose header entries are usually falsely (= not at all) coded, in addition, Forte agent users, since Forte agent does not handle coding optimaly: Particularly in the Subjectit disturbs everything including the "Re:", so that other newsreaders have unnecessary problems answering correctly. Improved coding also handles Base64-coding (when decoding) and the so-called "Folding" after 76 characters. The special features of the From or Replyto header are considered.
(Korrnews.ini: Option "CheckMIMEHeaders", default: "1", thus "yes ")


4.4.2 Subject-header

These functions serve to correct the Subject line, which in some programs also cause some "concern".

"Re: Hello (was: Huhu)" => "Re: Hello":
Shortening of the "was" section: According to netiquette Threads are to be renamed according to the following pattern:

Subject:  "hello" 
Subject:  "Re:  Hello"
...  
Subject:  "bye (was:  Hello)" 
Subject:  "Re:  bye"
...
Most Win newsreader leave "was:" once set, leaving it to the user to correct the subject line, which in most cases means never. This can be completed therefore by Korrnews automatically. "(was:...)" will be removed by Korrnews if the appropriate option is activated (default) and the Subject begins with "Re:" (possibly corrected by another function)
(Korrnews.ini: Option "CheckSubjectKillWasAfterRe", default: "1", thus "TRUE")

"Re: AW: Re: Hello" => "Re: Hello " + list of the" Re" aliases:
Multiple "Re:"s: This option permits automatic shortening of repeated Res, from "Re: Re: Re: Hello" to "Re: Hello". This make even more sense, if the list is filled with false introduction aliases, to be able to shorten "Re: AW: Re: AW: Ups" to "Re: Ups" or "Re: Re^2: Ups" to "Re: Ups".
(Korrnews.ini: Option "DelDoubleRe", default: "1", thus "TRUE", and option "AnswerDesignators", default "AW, Re^2, Re^3, Re^4")

Change subject intro to "Re:":
Some newsreader use other contractions, e.g. old MS Newsreaders or the German Gravity version which is well-known (" AW ") or currently Lotus Notes with "response" instead of the correct "Re:". With this option the adjusted introduction is replaced automatically by Re:, if Korrnews corrects the article or the Mail. This option only makes sense if you use broken software, as the correction of 'other' false Res is the responsiblility of the previous option.
(Korrnews.ini: Option "ConvertToRe", default: empty)

Convert 8bit-chars to ASCII:
Since many newsreader have problems or errors in connection with 8bit-characters in the header (Netscape sets gladly a blank in addition, other newsreader shows the things coded on...), is it quite meaningfully to do voluntarily without 8bit-characters in the Subject. With this option Korrnews corrects the Subject if necessary accordingly, out "and tschuess! (Just my 2€)" will be "and tschuess! (Just my 2 euro)". The replacing list is at present not yet configurable, but for the umlauts it is always enough. The function operates only, if the Subject does not start with "Re:" begins, since modifications do not make sense within a current thread.
(Korrnews.ini: Option "CheckReplaceSubject8Bits", default: "0", thus "no")


4.4.3 From and Replyto headers

mail@adr (name) = >"name" <mail@adr>:
For formatting the address headers there are different alternatives. The in the meantime most common is the format "name" <mail@adr>, whereby the quotation marks are only necessary in certain cases (e.g. "." in name).
This option makes it possible automatically to update a "old" format generated by the News/Mailreader and/or if necessary add quotation marks. The later is necessary e.g. with agent users, since agent quite happily forgets the quotation marks.
(Korrnews.ini: Option " CheckFromReplyFormat ", default: is "0", thus "no", "1" for "yes")


4.4.4 LINES-header

recalculate and set automatically;
*** UNDER CONSTRUCTION ***


(Korrnews.ini: Option "setlines", default: "1", thus "ja", "0" is for "no")


4.4.5 DATE-header

Set when:
This option makes it possible to set the DATE headers during the Korrnews run if it is still missing or even always.
(Korrnews.ini: Option "setdateheader", default: is "0", thus "never", "1" for "only, if missing" and "2" for "always")

Choose format:
Determines the format of the DATE header, if set by Korrnews. Either "GMT" or "local", in the second case the time zone is indicated.
(Korrnews.ini: Option " DATE header type ", default: "Local", the other option is called "GMT")


4.4.6 References headers

MaxReferencesLength:
Since some new servers have problems with excessive References , this adjustment permits an automatic shortening to an adjustable maximum length. First and the last three Message IDs are preserved in any case, are shortened - if necessarily - otherwise starting from the second Message ID.
(Korrnews.ini: Option "MaxReferencesLength", default: 512)

Activate Folding:
Permittes the so-called "folding" of References i.e. out of

     References:  <899he5.3vvht89.0@mm.invalid.de> <38b8êc1/2fae/é9_tin-rules@metasystox.qad.org> <89bu3v$o0i$1@onlinenews.germany.net> <27-02-00.22-04-57.dcpm.2071@futzelnet.de> <89e4jj.3vvo747.0@hneu.de> <28-02-00.19-25-32.dcpm.2092@futzelnet.de> <89eqe0.3vvpgep.0@hneu.de > <slrn8bqoh3.ok.usenet@PowerPC.hazardous.org > <MTRD80884C70EC@metrodix.de> <slrn8bvvle.nn.usenet@PowerPC.hazardous.org> <MTRD81354C78DB@metrodix.de>
gets converted to:
   References:  <899he5.3vvht89.0@mm.invalid.de>
<38b8êc1/2fae/é9_tin-rules@metasystox.qad.org>
<89bu3v$o0i$1@onlinenews.germany.net> 
<27-02-00.22-04-57.dcpm.2071@futzelnet.de>
<89e4jj.3vvo747.0@hneu.de>
<28-02-00.19-25-32.dcpm.2092@futzelnet.de>
<89eqe0.3vvpgep.0@hneu.de >
<slrn8bqoh3.ok.usenet@PowerPC.hazardous.org >
<MTRD80884C70EC@metrodix.de> 
<slrn8bvvle.nn.usenet@PowerPC.hazardous.org>
<MTRD81354C78DB@metrodix.de>
The use is purely matter of taste.
(Korrnews.ini: Option "FoldingReferences", default: "0", thus "no")


4.4.7 Change Order of Headers:

This option permits a re-arranging of the headers according to your own wishes and corresponds to the appropriate "DOSortHeader" instruction within header.def. The latter - if available - will be executed after the option set here and thus takes priority.
Make sure during the input of the headers that they are separated with commas from each other, but a comma must not appear at the beginning or end of the list, since a run time error might occur
To actual functionality: The option ensures that all headers specified here are sorted to the start in the indicated order. Available, but specified headers will not become ignored, several times occurring headers among themselves sorted, all not mentioned headers land below in their original order.
The specific hamster Mail headers still have priority, if the appropriate option is active.
(Korrnews.ini: Option "sortheader", default: "0", thus "no")


4.4.8 Set/delete X-Headers:

This option can also be achieved via the Header.def but this option makes them easier to use. You enter only the desired X-Headers, one header per line. The following:

 
  X-newsreader:  won't say
  X-newsreader-secret :  Forte-agent together with Korrnews&CO 
  x-Priority
sets a "X-Newsreader"-header, which overwrites the origional; sets an additional header "x-newsreader-secret" and a possibly existing "x-Priority"-header is reset . If you also want to modify different headers (LINES etc.), you can use Header.def in addition.
(Korrnews.ini: Option "DelXHeader=Number_of_Headers" and options "DelXHeader-XX=Headerbez")


4.4.9 Corection for CopyFups:

Shorten Message ID:
This option is intended for users by my "CopyFups.exe": CopyFups copies not only the Follow Ups, but adds a configuarable string to their Message-ID's if necessary. If directly reply to these copies, the References are naturally no longer correct. This can be repaired by Korrnews again. If CopyFups is in the same directory, Korrnews takes the necessary specification directly from the CopyFups.ini (Settings / AddToMessageID). Several deletion strings are possible and must be separated with commas.
The users of "CopyIf.exe" do not need this option at all, since CopyIf.exe and Korrnews communicate automatically the appropriate specification by means of win.ini.
(Korrnews.ini: Option "KillMessageIDBegins", default: empty)


4.4.10 Hamster-Mails

!MAIL FROM and!RCPT TO - headers first:
This option ensures that independently of re-arranging of the headers or a temporary deletion of one of these headers the two headers are always at the top. Otherwise hamster can get problems with sending. It is not recommended to turn off this option.
(Korrnews.ini: Option "HamsterHeaderFirst ", default: 1 = "on")

Re-generate RCPT-to-list (to, CC):
If you modify the TO or CC-Entries of an email with korrnews, they are nevertheless not delivered correctly, since the distribution depends on the RCPT to Headern. These can be automatically re-generated by means of this option. During the re-generation Korrnews falls back to the TO and the CC-Headers. When re-generating old entries are not deleted, since otherwise BCC entries would not 'survive'. To limit the list to TO and CC the statement "Delete Header RCPT-To " is needed in Header.def as well the activation of the next option ("Auch, wenn noch keiner vorhanden")
(Korrnews.ini: Option "RecreateRCPT_To", default: 0 = "out")

Also, if none available:
For security Korrnews expects by default that a list already exists, before the RCPT-to list is re-produced. This safety can be turned off here.
(Korrnews.ini: Option "RecreateRCPT_To_Always", default: 0 = "out")


4.5. Body corrections

These options refer to everything below the headers - althaugh the options about character coding also affect the headers.


4.5.1 Body-Header

Korrnews permits additional headers to be inserted within a posting, which are then transformed automatically into genuine headers and can be used in Header.def for control purposes. An application would be e.g. a "Supersedes", which is not possible with Forte-Agent without additional effort.

Application looks in such a way:

If the first line begins with "X-" or "@" , this is changed into a genuine header, whereby "@" is used, if the header does not begin with x, The "@" will be omitted in the header. If the following lines are detected as pseudo headers, these are also transferred.

With

X-newsreader:  won't say
x-irony:  Detected 
@Reply-to: this.is.my@other.Addre.ss 
@Organization:

 xyz wrote:  
>...

the normal x-newsreader-entry is overwritten, a pseudo entry x-irony is inserted, a corrected or new Reply-to is used and that the Organization header is deleted (even if the Provider will then probably use this for its own specification).

Instead of ":" is also admissible "=", this converts automatically in ":" if there is no other. The blank between ":" and the remainder will be generated if needed.

The "@"-version is deactivated by default.

Both permanent and temporary header content are checked automatically for special characters and converted if necessary according to ISO.

Temporary header have always priority over permanent Header.

A special meaning has the header "x-check-body: NO" - it allows to stop the modifications of the textbody for the current posting/mail.

Permit manual x-headers:
permit additional x-headers, which can be defined directly in the Textbody,
(Korrnews.ini: Option "AllowXHeader", default: "1", thus "YES")

Permit manual other headers:
permits also setting normal headers by starting them with "@".
(Korrnews.ini: Option "AllowAnyHeader", default: "0", thus "no")


4.5.2 Signature

Change placeholder to sig-seperator:
In order to be able to use Outlook express signatures, all you need is to use any substitute symbol (i.e. "--"), which Korrnews automatically corrects to "-- ").
(Korrnews.ini: Option "ConvertToSigDelimiter", default: empty)

Random Sig-file:
This option permits the selection of a signature file from which - if there is no signature already - is used for the attached signature. Each Sig in this file has to begin with "-- ". If there is more than one the Sig randomly selected.
To use more specific sigs you have to use Header.def.
(Korrnews.ini: Option "SigFile", default: empty)

Blank line before automatic sig:
If the Sig is produced by Korrnews (using the previous option or Header.def), here is determined whether a blank line between end of text and Sig is to be inserted.
(Korrnews.ini: Option "BlankBeforeSig", default: " 0 ", thus "no")


4.5.3 Indentions

This option provides an even indention in the textbody. Only lines beginning with a quoting character are processed.

Example:

   > >> > Huhu 
   > >> Blubb 
   > > Hi 
   > Like I said

becomes:

   >>>> Huhu 
   >>> Blubb 
   >> Hi 
   > Like I said

All lines beginning with a quotation character are processed. In line with standard "> " and "|" are supported. If desired blanks be inserted in mixed quting blocks: e.g. ">>|>" becomes ">> | >". the blank between quotation characters and text is likewise optional.

The corrections can be switched off temporarly, which in the case of PGP blocks etc. might be meaningful. Also everything after the sig-seperator can be ignored.

Underscores like

   > > Huhu, there is a hot woman!
                              ^^^^^^^
 
will stay if possible, errors in the algorithm are not known at present.

The options in detail:

Optimize indentions:
Decides whether the indentions are to be corrected at all.
(Korrnews.ini: Option "CheckQuotes", default: "1", thus "yes")

Blank between quotation characters and text:
Decides whether there is a blank between the quotation characters and the text. (In case of corrections)
(Korrnews.ini: Option "CheckQuotes-AddSpaceBetweenQuoteAndText", default: "1", thus "yes")

Blank between different quotation characters:
Decides in the case of mixed quotation characters whether different quotation charactersare to be as separated by blanks.
(Korrnews.ini: Option "CheckQuotes-AddSpaceBetweenDifferentQuoteChars", default: "1", thus "yes")

Permitted quotation characters:
Decides, which characters are to be considered as quotation characters.
(Korrnews.ini: Option "CheckQuotes-AllowedQuoteChars", default: ">|")

No modifications between ...:
defines the lines, which are not to be corrrected. "*" can be used for wildcard-comparisons
(Korrnews.ini: Option "CheckQuotes-DoNotChange-Begin", default: "-----BEGIN PGP*", and option "CheckQuotes-DoNotChange-End", default: "-----END PGP*")

No modifications after sig-seperator:
permits correction of quotation levels to stop at the (first) sig-seperator.
(Korrnews.ini: Option " CheckQuotes-DoNotChangeAfterSigDelimiter", default: "1", thus "Yes=no check")


4.6. Special functions:


4.6.1 Footnote generator:

Converts footnote statements to footnotes, for details see general configuration.
(Korrnews.ini: Option "ConvertFootnotes", default: "0", thus "no")


4.6.2 manual "Reformats" and "Oneliner":

execute manual "Reformats" and "Oneliner":
Erlaubt das Neuformatieren ausgewählter sectione bzw. das Erzeugen überlanger Zeilen, for details see general configuration.
(Korrnews.ini: Option "ConvertReformats", default: "0", thus "no")


(Korrnews.ini: Option "ConvertOneliners", default: "0", thus "no")


4.6.3 Boxquotes

Converts box -statements into Boxquotes, for details see general configuration.
(Korrnews.ini: Option "ConvertBoxQuotes", default: "0", thus "no")


4.6.4 Repair OE comb-quoting:

This function is particularly meant for Outlook Express or Notes users: These are not able to exclude quoted text from the linewrapping. This bug can be eliminated here automated, if the original quotations are not excessive or are so briefly adjusted the own linewrapping too short.
The repair function pulls exactly lines together if the first line begins with ">" and the second line not, if the length of the assembled line between 60 and 90 characters is long and the second line under 15 characters is long or contains at least no blank. This should repair both most cases and avoid error recognitions to a large extent. In the own interest one should always set a blank line between quotations and own text.
(Korrnews.ini: Option "KillOEWordWraps", default: "0", thus "no")


4.6.5 Other:

Delete at the start of line:
At least with the agent I have the problem of needing long lines (source texts, Forwards to de.alt.netdigest, ect) now and then. Remedy is hereby possible. If I enter here "#+#" and in Agent a "#" into the list of the quotation characters set, then Agent will not wrap lines starting with "#+#" and Korrnews removes it before sending away, so that without further effort arbitrarily long lines are possible, which arrive completely normal with the recipient. The "Oneliner" which was added with V3.1, represents the other alternative.
(Korrnews.ini: Option "DelAtBegin", default: empty)

Leerzeile vor "Lines"-Einschub (Blank line before "Lines"):
"Set/Append Lines" is a special instruction in Header.def, to automate e.g. a greeting. Here it is determined whether before these lines a blank line is required.
(Korrnews.ini: Option "BlankBeforeLines", default: "1", thus "on")

Ddelete blank lines at end of Posting/Mail:
This function is particularly meant for Outlook Express user: Pure blank lines at the end of the Postings or the Mail are deleted automatically, this eliminated thus also the two blank lines at the end of text, added by OE for each handling.
(Korrnews.ini: Option "DeleteEmptyLines", default: "1", thus "on")

(to the table of contents)


4.7. Header.def

This file permittes very flexible corrections, for details see Header.txt (sq2.88). However, be sure to know what you are doing!

(to the table of contents)


4.8. Sequence of the various technical corrections

For all called sections of Korrnews.Ini the following happens:

table of contents


5. Notes on various new readers

5.1. Introduction

Here is a small overview about newsreaders and their special features in connection with Korrnews.


5.2. Forte agent

If "Threading by Subject" is used The option "Re: Hello (was: Huhu)" => "Re: Hello" results in a new thread not only for the the renamed Subject but also for the new subject without the " (was:...)". Nevertheless I consider the option as worthwhile.

If your name includes special characters like ".", you should activate the option concerning From/Reply-to.


5.3. Forte Free agent

If "Threading by Subject" is used The option "Re: Hello (was: Huhu)" => "Re: Hello" results in a new thread not only for the the renamed Subject but also for the new subject without the " (was:...)". Nevertheless I consider the option as worthwhile.

The option "Reaktion auf undeklarierte 8-Bit-Zeichen" (reaction to undeclared 8-bit characters) should be either on "Deklaration als ISO-8859-1" (declaration as ISO-8859-1) or "Umwandeln in 7-Bit-Zeichen" (convert to 7-Bit-Chars), since Free agent cannot define umlauts/8bit-chars correctly.

If your name includes special characters like ".", you should activate the option concerning From/Reply-to.


5.4. Outlook Express & MS News

The OE Comb-Quoting correction should be used, to produce proper quoting without continous effort.

The option "In Signatur-Trenner wandeln" (change to sig-seperator) should be used, if you find signaturers important and want to create them within OE.

The option "Leerzeilen am Posting/Mail-Ende löschen" (delete blank lines at the end of Posting/Mail) is likewise much recommended.

AFAIK (the German Version of) MS News uses "AW:" instead of "Re:" to signify replys. This can simply be corrected with the option "Subjectanfang nach "Re:" wandeln" (change subject to "Re:") by simply entering "AW".

Some unnecessary header entries can be deleted by Header.def or with the option "X-Headerzeilen":

 X-Priority:  
 X-MSMail-Priority:  
 X-MimeOLE:


5.5. Netscape Mozilla

The option "Optimierte ISO-Kodierung der Header-Zeilen" (optimized ISO coding of the header lines) is not necessary, as Mozilla already codes rather perfectly, but no harm is done by activating the option. The in part more primitive coding of Korrnews is at times even more practical, since the Mozilla version is not interpreted correctly by some newsreaders.

With the Header.def or "X-Headerzeilen" you can clean up the headers and remove the in most cases incorrectly produced Message ID by using

  Message ID:  
  X-Accept-cLanguage:


5.6. Anaware Gravity

In the German version Gravity uses "AW:" instead of "Re:" to signify replys. This can simply be corrected with the option "Subjectanfang nach "Re:" wandeln" (change subject to "Re:") by simply entering "AW".

The option "Reaktion auf undeklarierte 8-Bit-Zeichen" (reaction to undeclared 8-bit characters) should be either on "Deklaration als ISO-8859-1" (declaration as ISO-8859-1) or "Umwandeln in 7-Bit-Zeichen" (convert to 7-Bit-Chars), since Gravity cannot define umlauts/8bit-chars correctly.


5.7. XNews

The option "Reaktion auf undeklarierte 8-Bit-Zeichen" (reaction to undeclared 8-bit characters) should be either on "Deklaration als ISO-8859-1" (declaration as ISO-8859-1) or "Umwandeln in 7-Bit-Zeichen" (convert to 7-Bit-Chars), since XNews cannot define umlauts/8bit-chars correctly.

XNews does not set a "DATE-headers", this can be done by Korrnews in order to at least pinpoint the time of dispatch.

The Header.def should contain the following in view to mailing lists:

 ;  X-News-bug concerning Mailreplies
If Header(In-Reply-To) = "" and Header(To) > ""
  in-Reply-to:  %Last(Header(References))%
endif


5.8. Lotus Notes

Lotus Notes uses "AW:" instead of "Re:" to signify replys. This can simply be corrected with the option "Subjectanfang nach "Re:" wandeln" (change subject to "Re:") by simply entering "AW". You should delete the double Re's at the same time.

The OE Comb-Quoting correction should be used, to produce proper quoting without continous effort.

Further bugs which could be corrected are not known to me, which might be because of the fact that Notes is rather useless as a newsreader and thus rarely used in Usenet.


6. Support for Korrnews & Co

Assistance to Korrnews, CopyFups, MixGroup and CopyIf is found in the hamster hierarchy in the groups

news:hamster.en.misc

news:hamster.de.tools

If errors or special problems emerge, you can contact also me personally, but I cannot guarantee a certain speed of reply. Please note: don't use my gmx address, but depending upon program you are refering to:

hamster-tools@tgl.westfalen.de
korrnews@tgl.westfalen.de
copyif@tgl.westfalen.de
copyfups@tgl.westfalen.de
mixgroups@tgl.westfalen.de


Much fun with Korrnews!

Thomas G. Liesner