Section One BBS

Welcome, Guest.


Subject: whats new in a39 so far Date: Wed Apr 18 2018 12:58 pm
From: dream master To: All

 + New Python command: backspace (number, destructive).  This function sends
   (number) backspaces and if (destructive) is True, then it will also
   delete the character.  If False it will only move the cursor backwards.

 + Record data changes for user database:

     - First on and last on dates are now stored in Unix timestamp format.

     - Expire, last password change, and last e-mail validation dates now
       use julian day number

     - IP field extended to support IPV6, host extended to 80 characters

     - Vote tracking extended from 20 to 99

     - Added space for variable iteration PBKDF2-HMAC-SHA512 encrypted user
       passwords.

     - Added User country field for historical storage

     - Local QWK Path is now split into Local QWK Path and Local REP Path

 + Record data changes for message base database:

     - Expanded name to 60 characters

     - Removed Sponsor field

     - Added Read EchoACS and Post EchoACS

     - Created date changed from packed DOS to Unix timestamp format

 + Record data changes for file base database:

     - Extended name to 60 characters

     - Extended echotag to 40 characters

     - Added Passthrough EchoACS

     - Created date changed from packed DOS to Unix timestamp format

 + Record data changes for events database:

     - Added a unique ID to each event

     - Added OSType attribute to each event

     - Added new statistical tracking attributes

     - Removed Node number from BBS type event

     - Added field to support enhanced semaphore event system

 + Record data changes for servers database: Added more space for more server
   types and options.

 + Installation program will now question the installer at the beginning to
   help determine the local console codepage on Linux platforms.

 + Mystic message searching now allows full logical boolean searches along
   with order of operations.  The following tokens are used:

     & = AND
     | = OR
     ! = NOT

   Parentheses can be used to group results.  If you want to search for a
   single word or user you can still just type in the word, but otherwise
   you now have the options to do searching like:

      (g00r00 & released) | pre-alpha

   This would return any message that contained both g00r00" AND "released",
   OR it contained the word "pre-alpha"

   Searches are case insensitive and will search the From, To, Subject, and
   message content (excluding kludge lines).

 + New door command line code %C.  This is replaced by the user's current
   codepage as either "CP437" or "UTF8".

 + Mystic will now track the country detected during country blocking within
   each user's session.  A new MCI code "UO" will return the user's country
   of origin as determined by the country blocker in MIS.

 + Mystic's installation file install.exe can now be ran to copy over your
   binary files for you by command line:

     install replace <root Mystic path>

   Windows seems to be blocking this from running on my Windows test system
   for some reason, so I am looking into a way around whatever it is doing.
   You may need to rename it to something like "temp.exe" in Windows to get
   this to work :\

 + ANSI editor now has a "CRLF at EOF" which always defaults to Yes.  If this
   is Yes, Mystic will save a CRLF at the end of the ANSI file so that the
   cursor moves to the next line.  If No, then Mystic will not.

 + ANSI editor now shows a "File saved" confirmation box after saving.

 + ANSI editor now retains the changed filename between save dialog boxes

 + CTRL+X will now exit the ANSI editor, asking to save if the file has been
   changed first.

 + When in the full text and ANSI editors, the delete key will now allow files
   to be deleted within the Open file dialog box.

 ! Mystic was not properly handling MSGID fields created by Synchronet when
   replying to Echomail via Netmail

 ! Mystic will no longer refuse Netmails that use the Synchronet-style MSGID

 ! Bugfixes to ANSI editor save functions, particularly when saving without
   clear screen enabled.

 + New ANSI editor buffers will now default to saving with "Clear Screen Yes"

 ! FTP server was showing QWK packet when logged in as Anonymous

 + Mystic now has a new feature which can be enabled in the File Base Settings
   called "Download FTP".  When this is enabled to Yes, Mystic will ask the
   user if they'd like to download their queued files via an FTP link instead
   of using a file transfer protocol.

   The FTP link will contain a virtual directory that contains all of the
   files in their batch queue, and will expire after 1 hour.  The user can
   use their web browser or FTP client to connect to the FTP URL and list
   and download the files that they queued on the BBS.  Access enforcement
   and statistical tracking will be applied via the virtual FTP directory
   just as it would if the user was downloading the file from the BBS.

   This feature requires that Mystic's FTP server is enabled and properly
   configured, and that Anonymous FTP access is enabled in the Server
   settings.  This means proper firewall configuration and valid BBS domain

   Four new prompts will go along with this.  If you are using the default
   prompts you can simply copy over the default.txt to your data directory,
   but if you have modified the prompts then you'll need to add these new
   prompts into your default.txt and any other themes you use.  They are
   located in the upgrade.txt or the default.txt from a fresh installation.

   An HTTP equivalent will be enabled in a future build.

 + MIS now has a basic HTTP server.  The server can be created in the server
   editor within the configuration.  A webroot path must be defined, which
   points to a directory where your website files and configuration will
   exist.  For example, if you set webroot to c:\mystic\webroot\ then you
   will need to create two subdirectories under it (cfg and www):

      c:\mystic\webroot\cfg\
      c:\mystic\webroot\www\

   In the www folder will be where you place your website files.  The CFG
   folder will hold various configuration values for the web server in the
   future.  Note this is a very barebones server at this point only really
   capable of serving basic websites, but I intend to work on it further as
   I find time.

 + ANSI editor now has block options.  CTRL+B can be used to select a block
   of text to be centered on.

 + ANSI editor now has a block option for filling a block with a character,
   an attribute or both.

 + ANSI editor now has a block option to select a block and center text found
   within the selected block (using the center of the selected block as the
   center point)

 + Event system will now recalcuate the event state every 10 seconds, this
   has been increased from 5 seconds in order to reduce load of an updated
   semaphore system

 + The "Semaphore" event system has been enhanced to allow specifying boolean
   logic of semaphore files that must exist (or not) to trigger an event. A
   new field has been added to define which semaphore files should be removed
   when the event is ran.  The usual boolean evaluation tokens that are used
   in ACS, message searching, etc, all apply here as well: () to define order,
   !=NOT, &=AND |=OR.   An example usage might be:

      Event Type: Semaphore
       Semaphore: (echomail.in|netmail.in)!fidopoll.bsy
      Kill After: echomail.in|netmail.in

   The above example says to trigger the event if echomail.in OR netmail.in
   exists but NOT if fidopoll.bsy exists.  The result would be that the
   command line would run when there is incoming net/echomail but it'd also
   wait for fidopoll to finish running (if it is) before kicking off.

   The Kill After field says that when it runs it should delete echomail.in
   and netmail.in.  Each file specified here should be separated by a pipe
   character (|).

   For existing systems, the upgrade program will automatically populate the
   "Kill after" field with the currently configured semaphores but for new
   events you'll now need to define which semaphores to delete when it runs.

 + Semaphore events will now delete the semaphore files when it executes
   instead of at the time the semaphores are detected.

 + Semaphore events now dynamically update their "run state" until the point
   in which they execute.  This means that if a semaphore event triggers but
   another event is running which causes it to be flagged "Run next", it will
   continue to evaluate the semaphore files up until the moment it runs. If
   the state of those semaphores changes between being flagged as Run Next and
   actually executing, the event will detect it and adjust itself accordingly.

 ! Fixed a bug in the socket code that could sometimes cause a lost connection
   to not be detected if it happens while sending data to the client.  This
   could be a major cause for those who've had some "ghost node" issues.

 ! Who's Online was not pausing when the BBS had enough nodes to fill up
   multiple pages.

 + NodeSpy now has an option to connect via IPV4, IPV6, or to default to
   either V4/V6 and then fallback to using the other if it cannot resolve
   the address.

 + Echomail nodes can now be configured to default to resolving via IPV4 or
   V6, with a fallback to the other one if the address cannot be resolved.

 + FidoPoll will now attempt to use IPV6 if it is available and then fallback
   to IPV4 when connecting to unsecure nodelist via a nodelist lookup.

 + MIS event status will now display the date and time when the event was
   last executed as well as the last result returned from execution.  If you
   are a A39 pre-alpha tester, note that any events you've created in the
   Event editor with A39 may have to be recreated for this tracking to work
   because the "Event ID" was always getting set to 0 in earlier builds.

 + SENDMAIL now has an IPType similar to those added to Fidopoll, echomail
   nodes, Nodespy, etc.

 ! Mystic BINKP should no longer fail CRAM-MD5 negotiations when a BINKP
   option is listed after the CRAM-MD5 handshake in the options frame.

 + Mystic FIDOPOLL FTP send functions will now log FTP session data to the
   log file, similar to what it does with BINKP.

 + Mystic FIDOPOLL FTP will now automatically prepend a / to a directory if   it
is not configured in Mystic's echomail node 

configuration with a slash
   it is not configured in Mystic's echomail node configuration with a /

 + QWKPOLL will now log to "qwkpoll.log" in the log files directory.

 + QWKPOLL will now log all FTP client/server exchanges in qwkpoll.log

 + MIS will now attempt to detect any ghost nodes and will reset the node
   data under many different circumstances.  If this happens, it will be
   logged in mis.log with an explaination as to why it was assumed to be
   a ghost node.  This combined with other recent stability improvements
   should help quite a bit with long term uptime of the terminal nodes and
   servers.

 + Echomail node configuration: Echomail node address input now is a single
   input instead of splitting out zone, net, node and point into their own
   fields.  This is done to make a little more room on the form for other
   options.

 + Echomail node configuration: Nodes now have a "SysOp Name" field.

 + Mystic Python has a new function: Delay (milliseconds) causes the problem
   to wait for a specific number of milliseconds.

 + All Mystic executables will now either display the compiled version
   date/time or have a -ver/-version option to do the same.

 + New menu command: MF (View draft message posts).  This command allows
   users to view and resume any saved draft message posts.  If the user
   has no drafts a simple message will be printed saying there are no
   saved drafts.

   Drafts are automatically saved when a user runs out of time, gets
   disconnected for inactivity or loses/drops connection in the middle of
   posting or while replying to a message.  If Mystic has any sort of error
   while saving the message, it will also creat a draft of the message for
   the user.

   If the optional data of /SCAN is supplied, Mystic will check to see if
   there are any drafts, and prompt the user if they would like to
   review their saved drafts ONLY if they have drafts.  If they do not do
   drafts, the command will simply do nothing.  Ideally you could put this
   somewhere during your login process, as the new default install does in
   prelogin.mnu

   Six new prompts (532-537) go along with this. If you are using the default
   prompts you can simply copy over the default.txt to your data directory,
   but if you have modified the prompts then you'll need to add these new
   prompts into your default.txt and any other themes you use.  They are
   located in the upgrade.txt or the default.txt from a fresh installation.

 + New ACS command "OD" returns TRUE if the user has any draft message posts
   saved.

 + New MCI code "MF" shows the number of draft messages saved for the current
   user.

 + Posting a message now no longer enforces group requirements when evaluating
   the "PostACS"

 + The message editor now has a "Save as draft" option from the command menu.
   This means you will need to add that command to the menu if you use a
   custom template for your message editor, otherwise replace msg_editor.ini
   with the newer one from the installation.

   See upgrade.txt for instructions on adding the command or use the default
   msg_editor.ini as a guideline.

 + Two new Python functions: pwrite and pwriteln.  These work just like the
   write/writeln or rwrite/rwriteln except they only resolve pipe color codes
   and not all MCI codes.

 + Echomail ACS is active.  Note: YOU MUST BE USING MUTIL TO PROCESS ECHOMAIL
   AND .TIC FOR THIS SYSTEM TO WORK.  Mystic cannot apply security to third
   party tossers.

   This system is just like User access system except that it applies to
   echomail nodes.  Each echomail node has its own security level, group
   memberships (to echomail groups) and a set of acess flags.  The following
   commands are available within EACS:

      s<level>  : Echomail node must have a Security Level greater than or
                  equal to <level>
      g<number> : Echomail node must be a member of Echomail group ID equal
                  to <number>
      f<flag>   : Echomail node must have flag <flag> which is a letter
                  between A to Z.
      u<number> : Echomail node must have a unique ID of <number>.  This
                  allows security to be applied to specific nodes (ID is
                  shown in echomail node editor).

   Just like user ACS, Echomail ACS can also use parenthesis and boolean
   evaulation.

 + Echomail ACS has been activated for message base subscribing/reading. A
   new field in each Message base configuration called "List EACS" defines
   the ACS requires for an echommail node to be able to see, subscribe, or
   unsubscribe to the area via AreaFix

   Hubs can still manually link a base to a node regardless of security, so
   for example if you wanted to force nodes to always carry a specific echo
   area, you would give them the base and then set the "List EACS" to an
   access they do not have (or even use % which is "never" in ACS terms). With
   this setup in place, the node cannot add or remove the area, they can only
   perform rescans.

 ! When hatching/tossing files, MUTIL will now properly randomly generate a
   random 8 letter .tic filename if one already exists of the same name as
   the archive.

 + The FU (File upload) menu command now has a new optional data command
   called "/current".  If this option is specified, Mystic will attempt
   to upload to the current file base even if a specific file base has been
   configured for uploads.

 + The GH and GI (Goodbye and Hang up Immediately) menu commands have a new
   optional data option.  If "/RECYCLE" supplied, Mystic will log the current
   user out and restart the session as if the user just connected to the BBS.

 + The XL (Matrix Login) command now as a new optional data option.  If /FULL
   is supplied, the typical Matrix login will be immediately skipped and the
   user will be presented the standard login process.  This is intended to
   allow people to use the Matrix login for things other than a Matrix-style
   log in.

  |08 .|05·|13∙|15Dr|07e|08am Ma|07st|15er|13∙|05·|08.
  |08 °∙|05·|13∙°         |13°∙|05·|08∙°
  |11 DoRE|03!|11ACiDiC|03!|11Demonic
|08[|15dreamland|09.|15darktech|09.|15org|08]

--- Mystic BBS v1.12 A39 2018/04/16 (Windows/64)
 * Origin: --[!dreamland BBS dreamland.darktech.org (44:100/0)

Previous Message       Next Message