
 ! = Bug fix
 + = New or changed feature
 - = Removed

 Note: Not all changes have been documented here.  I try to keep a fairly
       accurate list of changes, but there are many times when I either
       forget, or just don't think its important to document a change.

 ------------------------------------------------------------------------

 ! Fixed a bug in the full screen editor that could sometimes garble text
   seemingly at random.

 ! The TAB and ESCAPE hotkeys were not working in lightbar menus.

 ! Fixed some minor display bugs in MCFG

 + Added new function to MBBSUTIL called -MTRASH.  This will go through
   all message bases and delete any messages To or From the users listed
   in a text file.  The file should contain one username per line,
   and the names do NOT have to be members of your BBS.

       MBBSUTIL -MTRASH c:\mybbs\data\trashcan.dat

   It is recommended to use this with your trashcan.dat file in the data
   directory, which Mystic uses to disallow new users with any usernames
   found in the file.  If you have networked message bases, this could
   be executed whenever your tosser brings in new messages - assuming
   it is not already able to filter out messages on its own.

 + Mystic now creates semaphore files in the DATA directory when new
   networked mail is created:

     echomail.now - Created when new echomail has been posted.
     netmail.now  - Created when new netmail has been posted.
     newsmail.now - Created when new "newsgroup" message has been posted.

   This is basically an alternative to using errorlevels to process
   networked messages.  This is now the recommended method to use for
   tosser activity as there may be a time in the future when Mystic does
   not exit after each session.

 + Did some restructuring of the file base data.  The following changes
   have been made in order to support future features:

      + Added FTP name for each base
      + Added FTP list ACS for each base
      + Expanded file base passwords to 20 characters
      + Expanded all file base ACS strings to 30 characters
      + Expanded the file directory to 120 characters
      + Expanded the display file name to 20 characters.
      + Added an ansi template field on a per base level.

 + Enabled the FTP server inside of MIS.  At the time of this writing the
   server does not support uploads and it does not properly send file and
   directory dates.  It has been tested with the following:

      Linux "ftp"       - No problems
      Windows FTP       - No problems
      Filezilla FTP     - No problems
      SmartFTP          - No problems
      Firefox           - No problems
      Chrome            - Does not work.  This is a problem with Chrome
                          which does not properly support the base FTP
                          protocol standards (tries to force EPSV mode)
                          I think.
      Internet Explorer - Does not work, cannot determine why

   As a result, a version of MIS is now included in the OSX and Linux
   versions.  These versions do not support telnet (since Telnet is
   currently handled by inetd-type services on those platforms).

   The FTP server creates a virtual directory structure, one for each
   file base using the "FTP Name" configured for each file base.  No
   other configuration is needed outside of setting the basic FTP
   stuff within the Internet options of MCFG.

   When configuring the FTP ACS for each file base, keep in mind that
   any "session"-type data in ACS will automatically return true.  This
   means that most basic ACS works (security, time of day stuff, user
   flags) but some things like "ansi graphics mode" are always true,
   since the user cannot have a graphics mode via FTP.

 ! Removed some debug logging accidentally left in 1.08.

 + Expanded the maximum message size in the message bases to 500 lines,
   up from 200.  This was a bigger undertaking than I had expected, so
   hopefully there are no issues.

 + Message Base permanent indexes are now shown in the internal message
   base editor.

 ! Fixed a screen bleeding bug that could happen occasionally while
   scrolling the screen.

 ! Door drop files under Linux were actually being created in old MacOS
   file format, unless /DOS was specified to create DOS versions.  Whoops!

 ! Fixed the installation where it would not properly assign/create the
   local QWK path.

 ! Fixed a bug where Windows was not letting sub-processes properly
   inherit a socket handle.  This means that NetFoss for example was not
   working properly with Mystic to run old DOS doors in Windows.

 + Mystic no longer creates duplicate socket handles when executing doors.
   This was added to work around a bug in Windows 95, which I have decided
   doesn't really need to be supported anymore.

 + Added in a POP3 mail server into MIS.  This allows BBS e-mail be to
   retrieved by e-mail clients, smart phones, etc.  Use MCFG to set it up
   under Internet Options and make sure you set your domain name correctly
   as all email will be User_Name@yourdomain.com.

 + Mystic now saves the last 5 inputs and you can use the up and down arrow
   keys to scroll through your input history during field-based input.
   This doesn't work for hotkeys and the like, only field-based input such
   as message subjects, node chat messages, etc.

 + Mystic will now remember the user name entered before "Create new user?"
   question and force it into the input buffer as the default value if the
   user selects to create a new account.  Unless of course the user types
   "new" then it will not default to anything.

 ! Fixed some file-casing issues with the message base editor, when
   deleting a message base and its data files in Linux.

 + New MCI code [K sends a "clear to end of line" ANSI code, or nothing
   if the user does not have a capable terminal.

 + New MCI code BS sends a destructive backspace.

 ! MCI code IS was not working correctly when it was found in a display
   file.

 + New MCI code [Lxx, where XX is a two-digit number.  This code takes the
   cursor from its current position, and does a descrutive backpace until
   it reaches cursor position XX.  So for example, |[L01 would move the
   cursor to the beginning of the current line, while erasing everything
   on the way.  If the cursor is already less than XX, it does nothing.

 ! Mystic now longer converts the user name to proper casing when a new
   message is uploaded by QWK.

 + Removed some data file checks on startup of Mystic.  Any major issues
   which would cause Mystic not to start can be addressed using MCFG.

 + Added SMTP server into MIS to go along with the POP3 server.  Settings
   are in MCFG.  Make sure you are setting your domain name correctly.  Its
   a very basic server.  It does not reformat messages that might
   be sent with a client that does not word wrap at a compatible level.  In
   addition, there is always the challenge of HTML emails.

 ! Fixed a small display file parsing bug.

 + If "newletter.txt" exists in the DATA directory, its contents will now
   be automatically e-mailed to new users when their account is created.

 + If "sysletter.txt" exists in the DATA directory, its contents will now
   be automatically e-mailed to the SYSOP whenever a new user account is
   created.  An example of its contents might be:

          A new user account has been created!

                 Handle: |UH
              Real name: |UN
               Security: |SL (|SD)
                     IP: |UX

          This account was created on |DA at |TI.

 + If "hackwarn.txt" exists in the DATA directory, its contents will now
   be automatically e-mailed to a USER if someone tries to log in as them
   but fails the password check enough to be disconnected.  An example of
   its contents might be:

     This is an automated E-mail sent to users when an unsuccessful attempt to
     login has occured.  This could have been your own error, or possibly someone
     attempting to access your account without your knowledge.

     Here is some information our system has logged from this attempt:

              Date: |DA
              Time: |TI
        IP Address: |UX

 + Added a new MPL function: PurgeInput.  This will clear out any local
   or remote input data.

 + Added new MCI code PB.  This will purge the input buffer just as the
   MPL function above will.

 + The left and right arrow keys now function the same as page down and
   page up keys in the full screen editor quote window.

 ! Fixed a very rare MCI parsing bug. So rare it made it this long without
   ever being reported!  Hopefully this fix doesn't create any new issues.

 ! Fixed a small bug where the cursor wasn't properly updating on the screen
   after a backspace during local mode in the Windows version!  Whew!

 + The lightbar message reader now allows you to scroll through all messages
   in the message base, regardless of where you start reading from.

 + The HOME key now works in the lightbar message index.  This returns you
   to the first message on the first page.

 + The END key now works in the lightbar message index.  This takes you to
   the last message on the last page.

 + The HOME key now works in the lightbar message reader.  This takes you
   to the start of the message.

 + The END key now works in the lightbar message reader.  This takes you to
   the end of the message.

 + New menu command: MX.  This command posts a text file to a message
   base.  First it will look for the file in the DATA directory, but
   you can also include the path in the command data.  The format of
   the command data is:

       Syntax: <TextFile>;Area #;From;To;Subject
   Ex:
      Command: MX
         Data: \mystic\mystic.doc;2;g00r00;All;Mystic Documentation

   The command will automatically split text files into multiple posts
   if the text file is larger than 500 lines (the max per message).  It
   will also append the post count onto the subject.  So for example, if
   the above document was 1200 lines in size, it would create 3 posts in
   area 2 with the subjects:

      Mystic Documentation (1/3)
      Mystic Documentation (2/3)
      Mystic Documentation (3/3)

   The command caps at 10,000 lines for a text file post.  Even that much
   would be pretty rediculous (20 posts!).

 + Setting message scan pointer dates now checks to see if a valid date
   has been entered, and aborts if an invalid date has been entered.

 ! MCFG wasn't updating the status bar correctly when returning from the
   message base edit back to the message base list.

 + Mystic now supports random origin lines on a per-base level.  You can
   replace the origin line for each message base with:

      @RANDOM=<textfile>

   You can include a path to the text file, but if no path is included
   Mystic will look in the DATA directory for the file.  This allows
   for random origin lines to be generated from separate lists, per base
   if you choose.

   Example:

     Origin: @RANDOM=randomorigins.txt

   If the origin line is configured as above, it will select a random
   origin line from the file "randomorigins.txt" in the DATA directory. The
   random origin text file should contain one origin line per line in the
   file.  Traditionally the maximum characters for an origin line is 50, but
   Mystic does not put any restriction on this - so you are responsible to
   keep them at a length considered acceptable.  Blank lines will not be
   factored into the random line.  If it finds a blank line, it will skip
   over it and select a new one.

   Remember, you can use MCFG's global message base editor to update
   every (or some) message bases at once with this new feature, if you
   decide to use it.

 + The %0 code has been added to the Test upload commmand line.  This
   passes the socket handle.

 + Mystic now checks for valid date input when setting the new file scan
   date.

 ! Fixed a bug in the installation program that would cause the terminal
   in Linux/OS to get stuck in RAW mode if the installation encountered an
   error.

 ! Fixed a problem in the FTP server where it was returning the wrong
   status number with the PWD command.

 ! Fixed a problem with PASSIVE mode FTP transfers.  The server was not
   opening a passive connection immediately when a PASV command was
   found.  Instead it was waiting for the next command where a data
   connection would be used to open it.  This caused the server not to
   work with some clients.  As a result, it now works with Internet
   Explorer and Cyberduck.

 + Added Extended Passive and Extended Port support to the FTP server.  The
   server now works with Google Chrome as a client.

.------------------------------------------------.
| Mystic BBS v1.09 RELEASED  :  October 17, 2011 |
`------------------------------------------------'
