DICS Version History File
=========================

Version 4.5 Alpha 14/11/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Correction of small bug in SMTP Mail Client where occasionaly DICS failed
  to connect when sending the 2nd message in the mail queue.

* The Pre-Release 2 version of 4.4 will be regarded as the Final release of
  4.4.  Too much has changed to that "Solid" version to release the revised
  build under the 4.4 banner!  Hence 4.5 is here and will go through a series
  of Pre-Releases as 4.4 did - in fact the pre-release concept is here to stay
  with the following RULES and REGULATIONS:

  1) Pre-Releases can only be downloaded from the OEM BBS - The BBS number and
     download instructions are available in DICS.TXT which comes with every
     DICS release.
  2) Any Problems, Bugs etc MUST be reported BY MAIL ONLY and not through the
     Newsgroup.
  3) Anybody may download the Pre-Release, but if you do you are EXPECTED to
     submit a report by mail within 48 hours of first using it. This report
     may be as short or as long as you like - "it works" would be sufficient
     but slightly more informative reports would be helpful. :)
  4) You will be regarded as a "tester" of the software - your name may be
     passed to other people who may be experiencing a similar problem or for
     any other reason.  If you do not want to be *knowingly* associated with
     the DICS product then do not use it under the pre-release program.

* CMDIALOG.VBX and THREED.VBX are now shipped in the DICS package to
  support new features - these should be copied to your \windows\system
  directory unless you already have these present.

* DICS now returns failed mail to the sender - you also have options with
  what to do with the failed mail in the mail queue.  You can Delete it,
  rename the .WRK file so re-transmission is'nt attempted or just leave it.
  Since your mail is returned, the Delete option is recommended - the other
  options are for the cautious!

* DICS will now send "local" mail without going through the gateway - make
  sure you have an entry for your machine in your HOSTS file.

* A finger client has been added - the default finger is yournode at the
  gateway - once the finger client form is visible, you can however change
  the finger command to point to any user/host combination.

* A liberal sprinkling of icons have been distributed around the DICS
  interface to keep you "artistic" types happy!

* DICS will now return MAPI mail to sender on the MAPI network if the program
  cannot parse the "Subject:" line for the Internet recipient.  It informs the
  sender of the problem and gives the correct format of the subject line.

* Added a setting to the Time Client which specifies the difference that your
  PC clock must be out before your PC Clock is set to Internet Time.  Before
  this value was fixed at 10 Seconds

* A liberal sprinkling of icons have been distributed around the DICS
  interface to keep you "artistic" types happy!

* DICS now has a wonderful help file!  This was generously constructed by
  Nick Stevens (nstevens@starbase.demon.co.uk) and I thank him enormously
  for his hard work.  If you spot any errors or have any suggestions re the
  help file please feel free to mail him directly.

* Mail forwarded through the MAPI gateway now has the explicit email reply
  address appended to the subject line.  In previous versions the mail path
  was also left in which confused things when the mail was replied to.

* A lot of SMTP procedures have been broken down into subcomponents for
  better logical flow and for code reuse reasons.  File copying, appending,
  writing have been streamlined down to a few shareabele routines between
  the SMTP client, SMTP server and MAPI modules.

* NNTP code is 99% the same as 4.4, however I have forgotten what the 1%
  change was!

Version 4.4 Alpha 21/10/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* DICS now has a "Dual Session - Turbo News" option - this is a test system and
  may be disabled in future versions.  However, by opening up two sessions with
  the news server it is possible to interleave the tasks of getting NEWNEWS
  article headers and the actual ARTICLES themselves.  THIS OPTION HAS TO BE
  SPECIFICALLY SET "ON" IN THE NEWS SETUP SECTION.

* Removed STOP statement debugging trap.  A Stop statement had been left in
  4.3 during testing for the "Duplicate key problem" - This has now been
  removed.

* Changed check for local mail to be case Insensitive - had a report of
  mgibbons@OEMCOMP.DeMoN.co.uk (for example) not being treated as local.

* Changed Mapi "Received:" header so that the "from Mapi Compliant System"
  is now in comment "( )" parenthases.  This information should now be ignored
  by mailing systems and not generate a parsing error

Version 4.3 Alpha 16/10/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* DICS now supports the standard GET/KILL file mechanisms - both these files
  should be in your \SPOOL\NEWS subdirectory.  Basic details are given in
  DICS.TXT, if you want more detail, re file formats read DISPC.TXT, which is
  part of the standard DIS installation pack.

  Make sure you switch on "Use Get/Kill mechanism" in the news setup section
  if you want to use get kill.

* DICS now reports duplicate and unavailable news items as they happen.
  Generally tidied up NNTP client messaging and summary indicators.

* DICS has been given a facelift - New 3D image - Hope you like it!

* DICS has pull down Menus

* Client "child" windows now only appear when activated i.e kicked.

* Corrected bug with regards to news updating where it was possible to get
  the "duplicate primary key" message.

* Corrected bug with mail send where client would hang if Mail Exchange
  reported "unkown host".  Client now carries on to next mail in the
  queue for processing.

* SMTP Client now automatically kicks if new mail has arrived (VIA the
  server) and needs forwarding to MAPI or another system.

Version 4.2 Alpha 08/10/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* DICS distributions now contain two EXE's.  The DICS.EXE executable does NOT
  contain any MAPI calls and therefore can run on any non-mapi compliant
  version of windows 3.1,3.1X.  The DICSMAPI.EXE executable, believe it or
  not, DOES contain the MAPI gateway functionality.

* NNTP client code was generally scrutinised and made ready for the
  implementation of GET and KILL functionality - This I also intend
  to release in version 5.0 although it may appear in late intermediate
  4.X derivitives at the end of October.

* A small bug in the NNTP client was also corrected - Basically the log on
  response 201 was not being recognised by DICS.  201 specifies that a
  connection has been made to the server BUT you are not allowed to post.
  This only ever occurs on NEW demon accounts that have been open for less
  than 48 hours due to the unavailability of reverse DNS Lookup.

* DICS will now start minimized (again!), A slight gremlin which appeared
  in 4.1 meant that DICS always started "normal" screen size.

* The Winsock VBX is now the last module to be initialised - This means that
  there is less for DICS to do once a SLIP connection has been established.
  The result is that the SMTP listener should now start even quicker than
  before.

* Added a Touch of Grey and Red to break up the White!

* No other reported BUGS in 4.1 - We all now know that PROGRAM FUNCTIONALITY
  will be increased in 5.0 to handle MX records - enough said on this subject!

Version 4.1 Alpha 01/10/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* DICS Is now Shareware - All versions.  Please, If you use it, pay for it.

* Documentation file "DICS.TXT" has been improved slightly - Now has ".TXT"
  extension rather than ".DOC" to show that it is textual rather than word
  format.

* Forced delivery to Mail Exchange option - Improves speed of delivery of all
  inter-demon traffic AND resolves EINPROGRESS error problem with Trumpet
  winsocks beta 6 onwards.  PLEASE SEE END OF 4.1 RELEASE INFO BELOW FOR FULL
  EXPLANATION.

  DICS 5.0, to be released at the end of November, will include a recompiled
  VBX to remove EINPROGRESS problems totally. At that stage proper MX record
  lookup will take place aswell so that DICS always attaches to the preferred
  mail host.

* HISTORY.?DB files are now compressed and repaired automatically each time
  DICS is started IF the history option is enabled.

* If the HISTORY.?DB files are not in your SPOOL\NEWS directory OR they are
  corrupted beyond repair then you are now told this in plain english and
  that particular DICS session will continue without history checking.

* The SMTP server for mail reception has been overhauled to say the least.
  Mail Fowarding routines have been introduced together with full support
  for the ALIAS file ala KA9Q.

  LOCAL addresses are expanded using the ALIAS file so that you can receive
  the same mail to multiple mailboxes.  You can also translate a LOCAL
  address to one or more remote or local addresses and DICS will stuff
  appropriate mail files in the SPOOL\MQUEUE directory.

* The SMTP client will now also despatch to multiple recipients correctly.

* DICS can now act as an SMTP/MAPI gateway.  This will excite some people or
  bore you rigid,  it really depends if you run an Workgroups network with
  MS Mail.

  Microsoft charge $3000 for their SMTP gateway! Its a DOS program and has to
  run on a seperate machine WITH a seperate Unix SmartHost!!!!! Ok its fully
  functional and integrates fairly seamlessly but it is expensive and overkill
  for most people.  You also require MSMail 3.2!

  The DICS approach is for people with bog standard WfWg Mail and is quite
  simplistic - but it works and will solve 99% of what people need.

  Futher details are found in the DICS.DOC file

Summary of investigation into problems with DICS        15/09/94
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

For a long time now we have had the situation where DICS works flawlessly for
most people and hardly at all for others!  I have spent a lot of time trying
to understand the reasons for this and an explanation follows:

The BIG problem is WSAEINPROGRESS errors reported by winsock.  This error
is generated by the winsock when a blocking function has been called and then
there is activity on another socket.

The most common occurence of this in terms of DICS is usually when news is
in full flow and you have pending mail to go out.  The SMTP client does a
gethostbyname(), a DNS call to resolve the address of the recipient; this
is a blocking call and whilst inprogress, when news is next received (albeit
on an already opened asynchronous socket i.e. non-blocking) news hangs because
the winsock is INPROGRESS on the DNS and (correctly according to winsock spec)
fails the recieve function.

Versions beta5 and earlier would not fail the occurence of an async receive in
the middle of a blocking call.  Beta6 onwards does and that is the difference.
Technically, in terms of the way DICS handles things, there is no need for the
winsock to fail the receive with a WSAEINPROGRESS error,  however it is in the
spec and that is what Mr Tattam is writing to (correctly).

So why don't I change DICS?

DICS uses the WSANET.VBX as a low level winsock interface - the DNS resolution
calls are in the vbx and it is not a simple matter to change them to
asynchronous non blocking calls.

I am however going to make some modifications to the vbx source to correct
this situation.  This should be available for the scheduled release of version
5.0 at the end of November.

HOWEVER THERE ARE WORKAROUNDS!!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The simplest is to use Trumpet Beta5 - DICS works well with this version

ALTERNATIVELY: (Prefered method)

There is a wrinkle in the winsock 1.1 spec which Tattam also programs to.
If a DNS resolution call can be resolved by your LOCAL HOSTS file then it is
treated as a non-blocking call and therefore no WSAEINPROGRESS errors occur.

By analysing why we do DNS lookup in DICS we can see the solution - It is
on outgoing mail.  The newsserver we already suggest as having an entry in
your local hosts file - all we need to do is put every entry you may possibly
send mail to in your hosts file! (Only kidding) :). HOWEVER since demon is
basically an offline service most mail goes to post anyway for onward
despatch.  IF WE FORCE all mail to go to post AND WE HAVE an entry for post
in our local hosts file then we do not cause any blocking calls.

So how do we force mail to post?  Well we wait until I make the changes to
DICS 4.0 to make it 4.1 which will include the option to "Deliver all mail
to mail exchange"!  Then you can use whatever winsock you like.

Alternatively set the kick time on your SMTP client to 0 and only manually
kick it after all news has been downloaded.

I appreciate that these are not perfect solutions so please do not castigate
me for suggesting it - I do however believe that the above explanation will
be useful to you in understanding the situation.

Version 4.0 Alpha 01/05/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Version 4.0 heralds the start of a new development cycle for the DICS
  program.  Although "DICS Time" is still in short supply, I do hope to
  be able to allocate a few more "hours" to this project than has been
  possible over the last few months.

* New DLL's distributed - Read DICS.DOC for location information.

* Corrected GMT/BST handling in the news client so that all TIME is held
  in GMT format. This is to keep compatibility with KA9Q.

* The tasking between the seperate processes is now handled better and
  will hopefully cure some problems users experience of news hanging/not
  starting etc. Rest assured that problems in this regard will have a high
  priority for resolution in this next development phase. Please bear in mind
  however that I am unable to duplicate these problems on my setup. This
  does mean that solving these problems is difficult and therefore FULL
  information about your setup is required for debugging these problems.

* History file Use/Update options have been introduced. The NEWS Client setup
  screen has changed. In the frame at the bottom left corner is the option
  "Use/Update History File(s)".  If this box is unchecked no history file
  processing will be attempted.  If this box is checked then history file
  processing will be fulfilled based upon the options selected in the right
  hand bottom frame.

  If you require COMPLETE compatibility with the KA9Q then BOTH the Import
  and Export External file check boxes should be checked.  I.E. Select this
  if you will be CONSTANTLY switching between DOS/WINDOWS. The drawback with
  Importing the external history is the creation of internal tables from
  the external history file each time NNTP is kicked - On my system here it
  processes about 100 external records every second - If you have an external
  history file with 1000 records this will take 10 seconds to "build"
  internally before a connection attempt is established.

  The option I would suggest for "backstop KA9Q'ers" is Exporting the history
  file but NOT importing it. This means that when your system crashes using
  Mosaic ( :) :) ) you can EITHER use KA9Q or DICS to recover.  In normal
  processing however DICS maintains its OWN history and therefore there is no
  need to Import KA9Q type history file.

  The third check box "Purge History Continuously" is to do with how DICS
  cleans the (INT) HISTORY file to the NUMBER of history records selected. If
  this box is checked then DICS will maintain a FIFO history file of EXACTLY
  the number of records specified. I.E as soon as it receives a new piece of
  news it records the new id and discards the oldest id in the table.  This
  means that the history file is always stable in size and that there is no
  delays in purging files.  There is a possibility of a throuput delay using
  this option however - on my system there are NO problems - but I would
  anticipate on slower systems that throughput may be affected. Let me know.
  If you uncheck this box then the internal history file will be purged to
  its set limit at the START of each NNTP session. I.E. if the history file
  is empty and the purge limit set to 1000 and you receive 1243 records in
  the 1st nntp session, the next time you run it it will purge the OLDEST
  243 records from the internal file BEFORE a connection attempt is
  established - throuput should not be affected however.

* Corrected a bug in NEWS where if the last piece of news requested was
  "unavailable" at demon, the NEWS client would hang and never finish.

Version 3.8 Alpha 11/04/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* A very very small maintenance release to fix BST timezone correction
  from GMT.  In the Time Setup screen you now have the option to enter
  a "local" variance from GMT.  In the case of BST its 1!!.  The time
  client will now display both GMT and LOCal times and set the clock to
  local time if the difference is greater than 10 secs.

Version 3.7 Alpha 30/01/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* A very small maintenance release to try and correct a very few peoples
  problems with regards to "hidden" buttons and news not starting.  I
  have *NOT* been able to replicate the problems on my machine so really
  this is just a stab in the dark - it may even cause problems!!

Version 3.6 Alpha 18/01/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Added "Sound" on receipt check boxes for NEWS Client and MAIL server
  so you can select if you want an audible sound when you receive new NEWS
  and/or MAIL.

* Added option to Play ".wav" files instead of just the beep on new MAIL and
  NEWS reception.  Each can play a different ".wav" file so you can distinguish
  between NEWS and MAIL arrivals.  Included is "sample" wave files for this
  purpose.  PLEASE MAKE SURE YOU MOVE THE >>>  MCI.VBX <<< FILE WITH THIS
  RELEASE TO YOUR 'WINDOWS\SYSTEM' DIRECTORY.

* Added "Run Minimized" option so that DICS will start AND process as an
  ICON

* Added "Notificational" ICONS so that you are informed of Mail and/or News
  arrival - if DICS is minimized.   When you restore or maximize the DICS
  interface the ICON flags are reset so that you can minimize DICS once again
  with a "virgin" icon.   The receipt of FURTHER mail or news will then be
  notified once again by a changed icon.  These ICON files MUST BE PUT IN THE
  SAME DIRECTORY AS DICS.INI

* Added Exit On Idle Time option so that you can make DICS automatically close
  down if it has'nt RECEIVED anything for the specified number of seconds. This
  option is disabled with a figure of 0 and will not shut you down if you are
  in the Setup section (for obvious reasons).

* Added Log files to all services.  The Log files will have written to them
  everything that appears in the services' window.  If you increase the trace
  level, more info will be written to the log file.  The Log files are
  hardcoded as follows:

  "....\SPOOL\NEWS\NNTPINW.LOG" - Nntp Reception Log
  "....\SPOOL\MAIL\SMTPINW.LOG" - Smtp Reception Log
  "....\SPOOL\MAIL\SMTPOUT.LOG" - Smtp Transmission Log

* Corrected News "Type Mismatch" problem which occured very infrequently and
  only with certain binary "uuenc" transfers and other mail.  Many thanks to
  "nrichard@ttech.demon.co.uk" who tracked down this particular problem.

* Re-arranged Main Setup window with Service buttons down the right.


Version 3.5 Alpha 11/01/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Corrected NEWNEWS bug where if a concatenated grouplist from several
  lines in NNTP.DAT was greater than 512 bytes, the number of expected
  NEWNEWS responses was not being incremented correctly.  This meant that
  news would effectively hang after receipt of only the messages relating
  to the FIRST newnews line.

* If a destination address cannot be resolved by SMTP client IT SAYS SO -
  rather than the "cannot connect message" being used for unresolved and
  unavailable.

* "Modularised" client code for SMTP and NNTP services.  This to enable
  future expansion to multiple concurrent SMTP an NNTP connections.

* Restructured calling sequence for autokicking of services. The main reason
  for this from the users perspective is that it is now possible to run DICS
  minimized from the start.

* Increased the connection Timeout for SMTP client from 2 seconds to 4

Version 3.4 Alpha 03/01/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Corrected Multiple Mailbox Dropping First letter

* Corrected Multiple Mailbox Enable/Disable not being read from DICS.INI

Version 3.3 Alpha 02/01/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Added Support for Multiple Mailboxes

* Added Option to Load SMTP Server BEFORE Time syncronization - this
  is to accomodate slower machines not receiving mail from Demon.

Version 3.2 Alpha 02/01/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Changed Event Handling to give more time to processing news - should
  enable processing even on slow machines.

* Can now accept Articles > 64K

* Writes Directly to BATCH.TXT thus elieviating  "Out Of String Space"
  Problem (hopefully)

* Added "From" and "To" info to "New Mail Arrived" Message

* Added Count of New Mail Received

* Corrected ICON management so that Minimized Icon same As PM Icon

* Corrected legend on NEWS setup from "Time" to "News" on kick setting

* Corrected NNTP.DAT writeback problem - Commented DATES were updated aswell

Version 3.1 Alpha 01/01/94
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Fixed problem of events processing where NNTP client could loose incoming
  Data if not serviced regularily

* Article Names are now strored to disk rather than just to the list box -
  This overcomes the 64K limitation of total headers in previous releases.

* News has been tested by myself over 600+ articles with incoming and
  outgoing mail at the same Time

* New Mail and Completion of New News Now generates a BEEP from PC Speaker

* General Stability of this release is much improved over 2.2/3.0

Version 3.0 Alpha 31/12/93
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* New Style MDI Interface

* SMTP Server Incorporated to receive Mail

* Resizeable Client Windows

* Save Window Settings for Next Time inc Maximized, Minimized Clients

* Choose between Microsoft Default Win layout, DICS Default or your own

* Checks made for Unwanted reentrancy on receive events

Version 2.2 Alpha 23/12/93
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Tidy-Up of Existing NNTP and SMTP Client Code

* BATCH.TXT only opened if News Exists (Cures 0 Bytes Problem)

* NEWGROUP only opened if Option Checked (Cures 0 Bytes Problem)

* WARNING! It is *NOT* a good idea to change the setting for NEWGROUP
  capture/don't capture when in the *MIDDLE* of an NNTP session.  You
  will get a "File Not Open" message.  This will be made BombProof in time.

* NNTP/SMTP Send Routines "modularised" and checks made on FIFO buffer
  which cures "Send Buffer Overflow" problem.

* NNTP/SMTP Receive Routines enhanced. Cures Subscript out of Range Problem

* Parsing of NNTP.DAT much enhanced to accomodate multiple groups on a line
  seperated by either a comma or a space.  Blank line signifies to start a
  new NEWNEWS line, and a "#" in the first column signifies a comment

Version 2.1 Alpha 19/12/93
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Bug fix with regards to DICS.INI not being stripped of MAILOUT SubDirectory

Version 2.0 Alpha 18/12/93
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Switching to WSANET cures both the WOULDBLOCK and INPROGRESS problems

* Includes SMTP Client for SENDING news and mail

* This SMTP Client WILL send unconnected Mail to the Gateway/Mail Exchange

* SETUP Screens now split to handle TIME,SMTP,NNTP and general config

* Settable Kick Interval for ALL Clients - 0 Means never auto-kick

* Settable NNTP options for Updating files - useful for testing if nothing else!

* Settable Trace Verbosity Levels for NNTP,SMTP

* Ability to scan AUTOEXEC.NET for other settings

Version 1.1 Alpha 13/12/93
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Switched to Ian Blenke's WSANET VBX

* THIS VERSION NOT RELEASED

Version 1.0 Alpha 11/12/93
M A E Gibbons - mgibbons@oemcomp.demon.co.uk

* Initial Release

* Utilises VT Socket WinSock VBX

* Time Client

* NNTP Receive Client

* NNTP Trace Levels 1-4 (Not Same as KA9Q)

-
