Eberhard Mattes for the GCC & EMACS ports to OS/2 and the
documentation utility emxdoc, which made the ■tt{.INF}-file possible,
■item
Chin Huang for Yarn and Souper,
■item
the gamma testers Jim Holcomb, Kay Pyrtek, Phil Crown and Ralph D. Bednarski,
■item
Barrie Smith for rework on the documentation, for many suggestions
about documentation and a lot of proof reading!
■item
Timo Maier for his excessive help finding the Warp4 related bug which led to system crashes (see ■hpt{history}, VSoup1.2.7).
■enditemize
■html
<A NAME="history"></a>
■endhtml
■h1 History
■label history
■h- Version 1.2.8 (190497)
■itemize
■item
new features:
■itemize
■item
Scoring introduced, see ■hpt{score file}.
■enditemize
■item
obsolete features:
■itemize
■item
The ■tt[-l] and ■tt[-L] command line options are obsoleted by scoring. These options allowed length limitations of articles.
■enditemize
■item
bug fixes:
■itemize
■item
Small bug in pop3.cc which led to undefined/sick error messages.
■enditemize
■item
other internal changes:
■itemize
■item
In pop3.cc mails are now no longer blocking the areas-files during mail reception. Instead incoming mail is copyied into a temporary file.
This is a preparation step to allow simultaneous reception of mail/news.
■enditemize
■enditemize
■h- Version 1.2.7 (120297)
■itemize
■item
new features:
■itemize
■item
Port specification in ■hpt{URL}s is now supported.
■item
.\STSMAIL.MSG now contains a ■tt{Date:} header field. This allows import of the
.\STSMAIL.MSG into a pseudo newsgroup, see also the Yarn FilterProg program.
■item
The ■tt{Subject:} header line of .\STSMAIL.MSG now contains also the server names
which are relevant for the requested operation.
■item
The first 40K of temporary files are kept in memory to reduce HDD access (class ■tt{TFileTmp}).
■item
National language support (■tt{_nls_tolower()}) introduced for kill expressions, OwnS and hashing.
■item
newsgroup names in kill files are now regular expressions.
■item
new Option ■sy{-L<n>} allows specification of minimum article length (see ■hpt{news receiving options}).
■item
new Option ■sy{-D} forces deletion of mails on POP3 server after reception of each mail (see ■hpt{mail receiving options}).
■item
■hpt{RmHigh.Cmd} added, which removes the highlighting in VSOUP.TXT.
■enditemize
■item
bug fixes:
■itemize
■item
VSoup crashed some Warp4 systems (trap address 0140:7d4c or 0140:7e33).
This was fixed through serializing some C library calls (■tt{remove()}, ■tt{rename()}, ■tt{open()}, ■tt{close()}, ■tt{read()}, ■tt{write()}, ■tt{lseek()} and ■tt{ftruncate()}).
This problem is most likely device driver related, although nothing specific is known. Thanks to Timo, Stefan, Nate, Rodney, Soenke, Tero and Teng Thiam for their help in finding the problem.
■item
Bug in emxlibcm <= 52 (don't know, what will happen later on): _fd_init() is not threadsafe, i.e. all callers too (open(), socket(), etc). Perhaps
This is the cause of the trap problem above (not verified, rg120297)
■item
Incomplete packets are now removed from the SOUP output. Problems appeared with
aborted EMail reception (which writes directly into the SOUP output and not to a temporary).
■item
-T-1 no longer shows throughput info (see ■hpt{global options}).
■item
Signals were not initialized for ■tt{mtGetGroup()} with option -S2.
■item
In SOUP .\REPLIES the types ■sy{"bn"}/■sy{"Bn"} now override the message kind
■sy{"mail"}/■sy{"news"}, which is required for type ■sy{"u"}.
■item
handling of ■sy{"m"} and ■sy{"u"} SOUP format in .\REPLIES corrected (file positioning was wrong).
■item
"ok, we've read enough..." now displays correctly.
■item
■tt{%}-display with -S1 reading strategy now (more) correct.
■item
handling of "\r\n" delimited reply files corrected.
■item
files are now opened with SH_DENYWR.
■item
missing NEWSRC is no longer fatal (useful for initial setup).
■enditemize
■item
other internal changes:
■itemize
■item
The threads are no longer killed through ■tt{DosKillThread()}. Instead,
threads are killing themselves (when they are detecting an abort condition) through ■tt{SIGUSR1}.
Sockets are being set to ■tt{O_NONBLOCK} to abort current requests.
■item
■tt{assert(_heapchk() == _HEAPOK)} inserted in some places.
■item
■tt{nhandles()} aborts after checking 150 handles.
■enditemize
■enditemize
■h- Version 1.2.5 (091196)
■itemize
■item
Improved Documentation, thanks to Barrie Smith.
Documentation now in TXT and INF format available, thanks to
emxdoc.
■item
SOUP format for ImportProg has been changed:
■itemize
■item
.\STSMAIL.MSG has format ■sy{"mn"} (same as before)
■item
from POP3 incoming Mails have format ■sy{"bn"}: binary 8-bit clean mail format.
This allows from headers in the first column of the mail, i.e.
mail handling is now transparent (old was ■sy{"mn"}).
■item
news have format ■sy{"Bn"}: binary 8-bit clean news format (old was
■sy{"un"})
■enditemize
To allow the conversion to the old format ConvS has been added.
■item
Added OwnS which filters news articles containing a specific pattern into a mail folder.
■item
Added QS to allow injection of messages into the SOUP reply packet.
■item
YIO changes:
■itemize
■item
YIO now only zips the SEND packets (this is to allow re-edit of the
replies). Received messages are imported via ■tt{import -u}.
If you have an older version of YARNIOSET it must be updated.
■item
YIO now supports OwnS. To allow operation of OwnS the entry ■tt{preImportProg} has
been added to YARNIOSET.
■item
YIO now supports up to nine NNTP servers for news reception and up to nine POP3 servers for EMail reception.
■enditemize
■item
-T-1 disables throughput check completely.
■item
the ■sy{<kill-section>} for one ■sy{<group>} can now be seperated,
e.g. the kill file may now contain several ■sy{"all"} sections.
■item
now article ranges are allowed in the ■tt{sendme} of .\COMMANDS.
This is a non-standard SOUP extension.
■item
bug fixes:
■itemize
■item
hostname is now fetched through TCP/IP API, no longer from
'internet settings'
■item
it was possible in -S2 that during final catchup of articles
the connections were changing group assignment on each fetched
article
■item
catchup did not work as expected. It sets the %HOME%\NEWSRC, so
that in any case 'n' articles were read afterwards. Display now
shows groupLo & groupHi
■item
^Z was not recognized correctly for %HOME%\NEWSRC & %HOME%\KILL
■item
Now again linked dynamically, ths ■bf{EMX.DLL} and ■bf{EMXLIBCM.DLL} are required
■item
Lines containing a single '.' were aborting EMails, even if
the '.' is actually doubled for transfer. Don't know if this
is an SMTP bug. Appending a blank behind the '.' helped
(i.e. ".. " is actually transferred to the SMTP server).
For news articles it works without appending the blank.
■item
sockets are now opened in text mode, because all the RFCs
requires \r\n as a line delimiter.
■enditemize
■enditemize
■h- Version 1.2 (061096)
■itemize
■item
first non-beta release
■item
more detailed README
■item
YIO enhanced (autodial, disabling specific actions, configuration
file, ...)
■item
some changes/enhancements/extensions in .\STSMAIL.MSG, e.g. command
line parameters are contain, important server names too... (useful
for debugging)
■item
if supported by the NNTP server, the XHDRs are retrieved to
determine holes in the article sequence
■item
throughput check (-T option) now replaces the old timeout
detection. It is now working for all operations.
■item
news reading, strategy parameter:
■description
■item -S0
groups are read sequentially, i.e. all threads are fetching
articles from only one group
■item -S1
the next group will be accessed, if one thread goes into waiting
state - only small modification of the above
■item -S2
it is tried, to keep all threads busy. I.e. each thread
accesses one dedicated group, groups are read parallel (if there
are no more groups to access, the waiting threads are used for
parallel reading from one group)
■enddescription
■item
more robust (but slower) reading of %HOME%\KILL and %HOME%\NEWSRC.
Because it is slower: clean-up your %HOME%\NEWSRC from time to time, if
you are using the -a option
■item
bug fixes:
■itemize
■item
'internet connection' settings were never ignored (-i did not
work)
■item
some very minor bug fixes for handling of broken connections
■item
under some circumstances broken SMTP connection did not produce
an error condition
■item
bug in kill file handling fixed (trailing blanks in line were
not accepted). Lines in the kill file can now be outcommented
through a '#' as the first non-blank character
■item
if getArticle() fails, the according connection will be marked
as failed. This lets VSoup die gracefully, if single
connections are cancelled (by whom?)
■item
signal handling changed: VSoup tries (!) to kill the sub-threads
■item
number of file handles provided by emx is now checked
■item
now compiled with emx09c. During this 'port' it became obvious,
that streams are not appropriate. Thus all file i/o is done
directly via handles (class TFile in mts.cc)
■enditemize
■enditemize
■h- Version 1.1ß (010996)
■itemize
■item
first public beta
■item
if NNTP server knows nothing about DATE command, the internal clock
will be taken as a reference (required for -a cmd option only)
■item
'AUTHINFO USER' / 'AUTHINFO PASS' for nntp server implemented
(RFC977 extension). Call VSoup simply with the nntp-URL
nntp://user:passwd@nntpserver
■item
NNTP NEXT will only be done, if there is a bigger gap between the
articles
■item
bug in socket.cc ((char)0xff == (int)-1 !!!)
■enditemize
■h- Version 1.0ß (010896)
■itemize
■item
Program is now named VSoup. I am sorry, but the program again
requires the emx DLLs (to my opinion no disadvantage, because most
of the people will have them anyway). Also there is no support for
Win95 (this was not intended and I am not sorry, but I have no
Win95 system - and I am happy about that ;-)
■item
Program is now multithreaded for news reading. This gives a speed
gain of 200%-500% depending on the overall speed of the connection
and the number of threads; on the other hand multiple connections
have a communication overhead (i.e. the connections must be
established, the groups selected). Estimated loss is around 5%...
■item
Return codes are now much more consistent: on failure an
EXIT_FAILURE (1) is returned, on success EXIT_SUCCESS (0)
■item
On failure a status mail is generated. Most of the console
messages are redirected into this status mail. The generation of
the mail can be forced thru cmd option -M
■item
If file %HOME%\NEWSTIME does not exist, the complete newsgroup list
is retrieved from the news server (NNTP LIST)
■item
Kill files may have comments ('#' in the first position of a line).
This is very beta...
■item
Readonly mode is now much more consistent (%HOME%\NEWSTIME is not
updated, also the sent articles are not deleted)
■item
the default maximum packet size has been changed to unlimited
■item
Small bug in %HOME%\NEWSRC handling found (firstUnread was wrong
sometimes)
■item
automatic timeout for NNTP reception
■enditemize
■html
<A NAME="faq"></a>
■endhtml
■h1 FAQ
■label FAQ
■index FAQ
This sections contains several frequently questions and the
corresponding answers. The questions are:
■ipfminitoc
LINEBREAK
■if ipf | html
■h2u Why do I get something like '0000002.msg: Too many open files'?
■endif
■bf{Why do I get something like '0000002.msg: Too many open files'?}
and the related question
■bf{I am getting the message '...number of threads cut...'. What does it mean?}
VSoup needs a lot of open file handles. The YIO script provides
these automatically, but if you are not using this script then it
is recommended that you add the following line to your CONFIG.SYS:
■sy{SET EMXOPT=-h40 -c -n}. This allows 40 open file handles which
should be enough.
LINEBREAK
■if ipf | html
■h2u Why is my news reception getting stuck sometimes?
■endif
■bf{Why is my news reception getting stuck sometimes?}
One common reason is that you are using the wrong (too old) version
of the emx-runtime-DLLs. Check them with emxrev (should show
revisions >= 50) and update them if required. Also you have to
avoid a mixture of emx runtime DLLs.
LINEBREAK
■if ipf | html
■h2u Are there any specific problems with the different versions of the emx runtimes?
■endif
■bf{Are there any specific problems with the}
■bf{different versions of the emx runtimes?}
Unfortunately there are! The revision of the runtime DLLs can be obtained via
the command emxrev. Only the revision numbers of ■bf{emx.dll} and ■bf{emxlibcm.dl}l are important for VSoup.
■description
■item revision < 40
No way, because nothing of the TCP/IP stuff is included in the C library.
■item revision < 50, >= 40
This is not recommended, although it should work because VSoup
serializes most of the calls to the C library. Nevertheless you
should use the newest available revision of the emx09b runtimes,
because there were many changes/bugfixes in the TCP/IP part.
■item revision = 50 (also > 50)
Check the setting of the environment variable TZ. It should/must
contain a value which is acceptable for the emx C library.
Otherwise you will get an SYS3175.
Revisions > 50 will not crash due to incorrect setting of TZ,
anyway they cannot interprete the variable correctly.
■enddescription
LINEBREAK
■if ipf | html
■h2u I cannot receive EMail from my POP3 server?
■endif
■bf{I cannot receive EMail from my POP3 server?}
■itemize
■item
Check, if your UserId/Password settings are ok
■item
Check, that your %ETC%\SERVICES file contains the following lines
(see also ■hpt{Installation}):
■verbatim
pop3 110/tcp #Post Office Protocol - Version 3
pop3 110/udp #Post Office Protocol - Version 3
■endverbatim
■item
Alternatively you can insert the port number in the command line POP3 ■hpt{URL}.
■enditemize
LINEBREAK
■if ipf | html
■h2u I have another EMail program. Therefor I'd like to disable...
■endif
■bf{I have another EMail program.}
■bf{Therefor I'd like to disable the RCVMAIL feature of YarnIO. How do I do this?}
You simply have to set ■tt{soupRcvMail} in YARNIOSET to '' (the empty string).
LINEBREAK
■if ipf | html
■h2u Give me sample scripts for simple VSoup IO operation.
■endif
■bf{Give me sample scripts for simple VSoup IO operation.}
■description
■item Simple Reception:
Because this is a simple approach, NEWSRC & SCORE resides in the %HOME% directory.
■itemize
■item
change to a directory for IO operation, e.g. ■tt{c:\vsoup}.
Failure of transmission should be handled in a proper way, e.g. if
.\REPLIES still exists, you have to rezip the not transmitted
news/mails (for Yarn IO you have to invoke ■tt{zip -0m reply.zip
replies news.msg mail.msg}).
If your 'internet settings' are setup correctly by your dialer, you could omit the ■tt{nntp://} and ■tt{smtp://} specifications in the command line.
■item
handle the by VSoup generated status mail (e.g. ■tt{import -u} for Yarn IO).
■enditemize
If you are using different programs for handling news/mail, you could do two sequential invocations of VSoup or you could start two VSoup parallel (see above).
■enddescription
■h- IO for Yarn with simple scripts
We assume, that the IO subdirectory is at ■tt{c:\vsoup}, the
news/EMail reader/writer is Yarn and the server URLs are taken from
the 'internet settings', a status mail is generated by VSoup, the
reply packet is stored by Yarn to ■tt{c:\vsoup\reply.zip}, the NEWSRC