+ 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)
|