whats_new_112
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
whats_new_112 [2019/03/15 21:24] – updated to 1.12 a43 avon | whats_new_112 [2020/09/06 21:08] – g00r00 | ||
---|---|---|---|
Line 15: | Line 15: | ||
If you spot something you think looks amiss with these notes please contact us using the contact info found on this Wiki. | If you spot something you think looks amiss with these notes please contact us using the contact info found on this Wiki. | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
\\ | \\ | ||
\\ | \\ | ||
Line 3617: | Line 3620: | ||
<ALPHA 1.12 A43 RELEASED -- March 2019> | <ALPHA 1.12 A43 RELEASED -- March 2019> | ||
- | </ | + | </ |
+ | |||
+ | ===== 1.12 Alpha 44 ===== | ||
+ | |||
+ | < | ||
+ | |||
+ | + New MPL variable: CfgDefTheme returns the configured default theme | ||
+ | |||
+ | + New MPL variable: CfgTextFB returns the theme' | ||
+ | |||
+ | + New MPL variable: CfgScriptFB returns the theme' | ||
+ | |||
+ | + New MPL variable: CfgFallback returns true or false if default theme | ||
+ | | ||
+ | |||
+ | + New Python CFG variable: deftheme returns the configured default theme | ||
+ | |||
+ | + New Python CFG variable: textfb returns the theme' | ||
+ | |||
+ | + New Python CFG variable: scriptfb returns the theme' | ||
+ | |||
+ | + New Python CFG variable: fallback returns the themes' | ||
+ | |||
+ | + Updated default BULLETIN.MPS file to support scanning for bulletins in | ||
+ | all theme fallback directories. | ||
+ | |||
+ | ! MPLC was not properly scanning all directories recursively when -ALL was | ||
+ | | ||
+ | that is 0 bytes in size. | ||
+ | |||
+ | + New Theme system has been implemented. | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | Theme prompts are no longer restricted to being 255 characters or less, | ||
+ | they now have an unlimited length. | ||
+ | |||
+ | | ||
+ | for you so you do not have to do anything. | ||
+ | |||
+ | Each theme itself now has a root directory that can be up to 20 characters | ||
+ | in length, and consists of three subdirectories. | ||
+ | | ||
+ | that can be configured by text editor or the Themes Editor. | ||
+ | |||
+ | Each them can also have a prompts.txt which contains one or more Mystic BBS | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | of requiring ALL prompts to be in a theme' | ||
+ | | ||
+ | no longer have to update your prompts for every theme when new prompts are | ||
+ | added or existing prompts that you haven' | ||
+ | |||
+ | | ||
+ | back to another theme and/or ultimately the configured default theme if | ||
+ | that feature is enabled. | ||
+ | |||
+ | The directory structure looks like this: | ||
+ | |||
+ | \mystic\themes | ||
+ | \mystic\themes\default | ||
+ | \mystic\themes\default\theme.ini | ||
+ | \mystic\themes\default\prompts.txt | ||
+ | \mystic\themes\default\text | ||
+ | \mystic\themes\default\menus | ||
+ | \mystic\themes\default\scripts | ||
+ | |||
+ | There is no installation process for a theme as Mystic will detect them | ||
+ | | ||
+ | do is ZIP up the theme directory (default as shown above) and give it to | ||
+ | | ||
+ | root theme directory and it will instantly appear in Mystic BBS without any | ||
+ | other work required. | ||
+ | | ||
+ | |||
+ | + Themes now have an input barrier option, where a character can be defined | ||
+ | to be displayed on the left and right side of string-based input prompts. | ||
+ | | ||
+ | one or both character can be enabled. | ||
+ | |||
+ | + New MCI code |IB disables the input barrier for the next string input | ||
+ | | ||
+ | |||
+ | + New Python function " | ||
+ | for byte to the text in string. Ex: setpinfo(1, "Hello world!" | ||
+ | |||
+ | + New Python has many new functions for accessing the file listings. | ||
+ | demo filelist.mpy has been added to the default installation to demonstrate | ||
+ | these functions. | ||
+ | |||
+ | | ||
+ | for the file base, returning a handle to the filelist | ||
+ | not exist one will be created. | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | set to true, then Deleted records will not be returned. | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | or next or prev function has been found | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | file description. | ||
+ | |||
+ | + BUSYLOG debug logging has finally been disabled. | ||
+ | |||
+ | + Two new Python functions: | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | Unix timestamp | ||
+ | |||
+ | + New Python function: function acsnogroup(access string) : boolean | ||
+ | | ||
+ | of the user's group membership. | ||
+ | |||
+ | + New Python function: procedure setprompt(number, | ||
+ | This sets a theme prompt to the value of text for the duration of the user' | ||
+ | | ||
+ | | ||
+ | |||
+ | + New Python function: function msg_stats(msgbase) | ||
+ | This function works by passing the handle of an already opened message | ||
+ | base (msg_open). | ||
+ | new messages for the current user, number of messages addressed to the | ||
+ | user, and the unix date of the last post in the message base. | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | + New Python function: function getnetaddr(number) | ||
+ | This function returns a network address configuration passed as number to | ||
+ | the function. | ||
+ | |||
+ | zone, net, node, point, desc, domain, primary, addr | ||
+ | |||
+ | | ||
+ | of zone, net, node, point. | ||
+ | |||
+ | + File Base Editor now shows Network address on the list window, and also | ||
+ | | ||
+ | |||
+ | + Expanded node messages from 79 characters to 245 characters. | ||
+ | |||
+ | + Template prompts no longer have a length limit of 255 characters, they now | ||
+ | have no maximum length. | ||
+ | |||
+ | + File Base Index lister (file_index.ini) now has a sort option which allows | ||
+ | bases to appear in alphabetical order or by order of appearance in the | ||
+ | group editor. | ||
+ | |||
+ | + Some minor changes to the menu editor, mostly cosmetic and some text | ||
+ | | ||
+ | now also use Page Up/Down to move between menu commands without having to | ||
+ | exit back out to the list of all menu commands. | ||
+ | | ||
+ | |||
+ | + New MCI code for prompt #2: &1=User handle & | ||
+ | |||
+ | ! Fixed year 2020 bug that caused some wrong day calculations in a couple | ||
+ | of places. | ||
+ | that addressed before it becomes an issue. | ||
+ | |||
+ | + MPLC now has a -T option which will attempt to read MYSTIC.DAT either in | ||
+ | the current directory or using the mysticbbs environment variable to get | ||
+ | the Theme path, and then it will recursively compile any scripts found in | ||
+ | the Theme directory tree. You can optionally supply the path to Mystic | ||
+ | BBS root directory if you have multiple installations. | ||
+ | |||
+ | mplc -t - Attempts to read mystic.dat from current directory or | ||
+ | mysticbbs environment variable, and then uses Themes | ||
+ | path to compile. | ||
+ | |||
+ | mplc -t / | ||
+ | directory, and then uses Themes path to compile | ||
+ | |||
+ | + MPLC now has a -F option which will attempt to read the Theme path and then | ||
+ | | ||
+ | under the Theme directory. Example: mplc -f bulletin* | ||
+ | |||
+ | + Improved detection of time expiration and connection loss during message | ||
+ | and file scans. | ||
+ | |||
+ | ! SEEN-BY lines should now include the net number at the start of new lines | ||
+ | |||
+ | ! Mystic SMTP client now resends " | ||
+ | Some servers work without this step so it slipped through testing. | ||
+ | |||
+ | + MIS and FIDOPOLL now save the last dates they interacted with an echomail | ||
+ | | ||
+ | | ||
+ | used inside the node editor to reset stats. | ||
+ | |||
+ | ! Mystic was not using a 0-based month in PKT file headers. | ||
+ | |||
+ | + New prompt editor! | ||
+ | back to the system default prompt. | ||
+ | save the last 100 changes and will allow you to undo prompt changes | ||
+ | | ||
+ | many changes. | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | < | ||
+ | |||
+ | Only current theme prompts are saved in the theme' | ||
+ | |||
+ | + All theme prompts have had their maximum length in expanded from 250 | ||
+ | | ||
+ | |||
+ | + Themes now have an ACS string that can be used to hide themes from the | ||
+ | | ||
+ | on connect: There will not be a user known at that time so any security | ||
+ | will cause the theme not to show. | ||
+ | |||
+ | The ACS is for the listing only. The purpose is mostly to hide themes | ||
+ | while they are in development. | ||
+ | of ACS using using a menu command: | ||
+ | |||
+ | Command: GE (Edit User Settings) | ||
+ | Data: 14 mytheme | ||
+ | |||
+ | + The GE suboption 14 menu command (select theme) now has a /RELOAD option | ||
+ | which causes the current theme prompts to refresh: | ||
+ | |||
+ | Command: GE (Edit User Settings) | ||
+ | Data: 14 /reload | ||
+ | |||
+ | + Themes now have an " | ||
+ | | ||
+ | being listed first. | ||
+ | this value. | ||
+ | |||
+ | ! Fixed a bug that could cause protocol downloads to get stuck on a | ||
+ | | ||
+ | |||
+ | + MUTIL' | ||
+ | if the base type is Private or the base allows for Private replies within | ||
+ | the base. | ||
+ | |||
+ | + By request, Mystic no longer shows the OS and Node number when initially | ||
+ | | ||
+ | or tell me why you think it needs to be reverted! | ||
+ | |||
+ | ! Fixed a bug where MSGID could result in 0:0/0 when zone matching a Netmail | ||
+ | base with no address assigned to it. | ||
+ | |||
+ | + Mystic no longer logs the actual bad password text. This should have | ||
+ | been removed a long time ago but I always liked seeing what the scripted | ||
+ | bots tried to log in with when they found my BBS. | ||
+ | |||
+ | + Rewrote all of the FLO add/remove functions with improved file locking to | ||
+ | | ||
+ | |||
+ | ! Fixed an issue with a file resume race condition in BinkP client/ | ||
+ | |||
+ | ! Fixed an memory leak introduced in A43 that could cause a rescan to give | ||
+ | | ||
+ | |||
+ | + Msg/File base global editors now ask you if you want to abort when pressing | ||
+ | | ||
+ | |||
+ | + Echonode editor now warns you if you edit a node and save it with a 0:0/0 | ||
+ | | ||
+ | |||
+ | < | ||
+ | </ | ||
+ | |||
+ | ===== 1.12 Alpha 45 ===== | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | ! Fixed bug in Python setprompt function. | ||
+ | |||
+ | ! Rewrote some old DOS compatibility wrappers so that Mystic no longer | ||
+ | | ||
+ | |||
+ | ! Similar to BinkP Mystic no longer localizes the system time in the Path | ||
+ | | ||
+ | |||
+ | ! Fixed a bug with Lightbar/ | ||
+ | | ||
+ | |||
+ | ! Fixed a bug in the nodelist browser that could cause some results to show | ||
+ | the wrong Net number. | ||
+ | |||
+ | + Menu Command: GE option 17 (Change file list type) can now have an option | ||
+ | of 0 or 1 (0=standard 1=lightbar) to set the type without prompting | ||
+ | |||
+ | Command: GE (Edit user settings) | ||
+ | Data: 17 1 | ||
+ | |||
+ | + Menu command: GE option 20 (Change message reader type) can now have an | ||
+ | | ||
+ | |||
+ | Command: GE (Edit user settings) | ||
+ | Data: 20 1 | ||
+ | |||
+ | + Revamped the MUTIL startup code so that it provides better details in the | ||
+ | | ||
+ | |||
+ | ! Fixed broken outbound SSH (Menu command IS) | ||
+ | |||
+ | + When entering Echomail addresses, Mystic will now automatically assign the | ||
+ | | ||
+ | an address is set to 0:0/0 with primary flag. | ||
+ | |||
+ | + Mystic BINKP server now sends an M_ERR frame and aborts the session if it | ||
+ | | ||
+ | would wait until timeout. | ||
+ | |||
+ | + When Mystic' | ||
+ | | ||
+ | says the connection is blocked. | ||
+ | |||
+ | ! Fixed a bug where a user's scan settings for a base could get " | ||
+ | | ||
+ | |||
+ | + Mystic now has an "Auto Whitelist IP" option in Login/ | ||
+ | | ||
+ | |||
+ | When set to "User Flag" Mystic will check a flag on the user's account | ||
+ | | ||
+ | IP of the user who logged in if it is not already whitelisted. | ||
+ | |||
+ | When set to "All Users" Mystic will automatically whitelist the IP | ||
+ | of all users who successfully log into the BBS. | ||
+ | |||
+ | < | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== 1.12 Alpha 46 ===== | ||
+ | |||
+ | < | ||
+ | + Mystic Linux version no longer uses command line options for password | ||
+ | | ||
+ | bit hash. | ||
+ | |||
+ | - The old MI Message Index Reader has been removed and replaced with the | ||
+ | newer Index reader. | ||
+ | | ||
+ | get rid of the old. The default template is msg_index so you should | ||
+ | copy msg_index.ans and msg_index.ini during upgrade if you haven' | ||
+ | |||
+ | + Mystic' | ||
+ | | ||
+ | |||
+ | - Removed the Opportunistic BINKP SSL/TLS extension support as Mystic was | ||
+ | the only known software to support it and it was unlikely other software | ||
+ | would adopt it. Maybe I'll bring it back someday as I do prefer this | ||
+ | | ||
+ | |||
+ | + Mystic' | ||
+ | | ||
+ | | ||
+ | |||
+ | + FIDOPOLL and EchoMail node entries now have a "Use SSL" option which flags | ||
+ | | ||
+ | | ||
+ | |||
+ | ! Fixed a bug where stale .BSY files were not getting deleted properly. | ||
+ | |||
+ | ! Fixed a potential incompatiblity issue with some versions of Cryptlib. | ||
+ | |||
+ | ! Fixed an issue where a file that contains " | ||
+ | is not an exact match could get left in the temp directory when uploading | ||
+ | | ||
+ | |||
+ | + MIS now has a replacement for FIDOPOLL built into it and is accessible by | ||
+ | the " | ||
+ | | ||
+ | | ||
+ | |||
+ | The benefits here besides having one less binary as part of the Mystic | ||
+ | | ||
+ | have an unlimited number of concurrent outbound connections (defaulting | ||
+ | to 5, configurable under Servers > General Options). | ||
+ | |||
+ | For example if you have 2 FTP uplinks and 5 BINKP nodes that all have mail | ||
+ | you can run the "mis poll send" command line it will attempt to send to all | ||
+ | 7 nodes at the simultaneously instead of one after the other. | ||
+ | |||
+ | | ||
+ | over to using this sometime soon. | ||
+ | |||
+ | + When attempting to connect to an outbound mail server, MIS will now wait | ||
+ | only 6 seconds, down from 10 before assuming the connection is unavailable | ||
+ | |||
+ | + MUTIL MsgLink no longer spams every single message base into the logging | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | + MIS POLL now tracks send and receive file statistics (number of files and | ||
+ | size) for FTP-based FTN transmission. | ||
+ | |||
+ | + MIS POLL now tracks connection errors for outbound connections for both | ||
+ | FTP and BINKP style connections. | ||
+ | |||
+ | + New MUTIL function [EchoNodeTracker] can be used for various HUB-related | ||
+ | | ||
+ | |||
+ | - Suspending echomail nodes based on days of inactivity | ||
+ | - Optionally unlinking message/ | ||
+ | - Optionally deleting their entire outbound mail queue | ||
+ | - Changing mail and filebox crash nodes to hold-only after a set | ||
+ | number of failed outbound connection attempts | ||
+ | - Automated resetting of echomail tracking statistics after X days | ||
+ | |||
+ | See default MUTIL.INI [EchoNodeTracker] stanza for more information. | ||
+ | |||
+ | + When changing a node from " | ||
+ | | ||
+ | |||
+ | + EchoNode editor now shows a "Crash Errors" | ||
+ | of failed outbound connect attempts since last reset. | ||
+ | |||
+ | + CHATx.DAT files now include the Process ID of the current process running | ||
+ | the node and the updated field now uses a Unix timestamp. | ||
+ | |||
+ | + Users now have a new flag that when set to Yes will always log them in as | ||
+ | | ||
+ | |||
+ | ! Fixed a bug with BINKP where Mystic could send a 0 byte length data frame | ||
+ | if a file size was exactly evenly divisible by the buffer size. | ||
+ | |||
+ | + Mystic now allows the -Nx command line to be supplied to force a specific | ||
+ | node number if you want to log into it. You should still not use this and | ||
+ | let Mystic manage the number numbers itself, but I've added this for those | ||
+ | that seem to be trying to do this for some reason. | ||
+ | |||
+ | ! Fixed a bug with SSL and BINKP where the data frame size could be | ||
+ | | ||
+ | |||
+ | + Two new Python functions: msg_getlr and msg_setlr to get and set the | ||
+ | | ||
+ | |||
+ | | ||
+ | Ex: lastread = msg_getlr(msgbase, | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | be passed to msg_seek, for example. | ||
+ | |||
+ | | ||
+ | Ex: msg_setlr (msgbase, user[" | ||
+ | |||
+ | The user handle should always be passed (not the real name) as this value | ||
+ | will be hashed as required when a new last read record needs to be added | ||
+ | for the user. | ||
+ | |||
+ | ! When deleting an Echomail node, Mystic was not delinking the nodes from | ||
+ | file bases causing an " | ||
+ | |||
+ | + Revamped group configuration. | ||
+ | | ||
+ | now have a InfoFile field (40 characters), | ||
+ | has been changed to a flags field. | ||
+ | |||
+ | + New MCI code: < | ||
+ | |||
+ | + New MCI code: < | ||
+ | |||
+ | + MPL groups now have " | ||
+ | |||
+ | + Python groups now have " | ||
+ | group dictionary. | ||
+ | |||
+ | + MIS.LOG now has configurable log rolling in the System Configuration > | ||
+ | | ||
+ | |||
+ | + POLL.LOG now has configurable log rolling in the System Configuration > | ||
+ | | ||
+ | |||
+ | + When using GOSUB/ | ||
+ | last selected item and return the cursor position to it when returning. | ||
+ | If you want to reset the cursor, use /CURSOR on the data field of your GR | ||
+ | menu command. | ||
+ | |||
+ | ! MIS was not refusing to run if the Mystic BBS data files did not match the | ||
+ | | ||
+ | |||
+ | ! When in the text editor in view only mode, the backspace key was still | ||
+ | | ||
+ | |||
+ | ! Mystic was being way too aggressive with SSL read/write timeout values | ||
+ | which may have caused some errors in SSL BINKP. | ||
+ | |||
+ | + New option: "Ask Message Post" in message settings, when set to yes or no | ||
+ | | ||
+ | a message base. | ||
+ | |||
+ | + Mystic' | ||
+ | line instead of columns - 1. This means that your message reading | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | ! When toggling show kludges (V) in the standard message reader, Mystic was | ||
+ | not automatically displaying the message. | ||
+ | |||
+ | + Max number of simultaneous poll connections is now configurable in the | ||
+ | | ||
+ | |||
+ | + When tossing TIC files, the dir_prefix can now be defined by source address | ||
+ | as with other settings. | ||
+ | |||
+ | + New command line option -AUTH < | ||
+ | and password and prints TRUE if the user exists and password matches or | ||
+ | FALSE otherwise and then immediately exits. | ||
+ | |||
+ | ! Fixed a bug in Linux versions where Mystic would couldn' | ||
+ | file base when hatching a file, despite it actually existing. | ||
+ | |||
+ | ! Fixed a bug that could cause some long lines in echomail packets to get | ||
+ | | ||
+ | |||
+ | ! Fixed a bug in the FTP server that would confuse some FTP clients when | ||
+ | | ||
+ | | ||
+ | |||
+ | + Mystic now allows a single message base to be assigned to a QWK network | ||
+ | when operating as a hub, and a FidoNet style network. | ||
+ | | ||
+ | |||
+ | ! Fixed a bug when copying an event in the event editor that would cause it | ||
+ | to have the same unique ID as the original event. | ||
+ | | ||
+ | | ||
+ | and if you have any that have a duplicate ID you should either make a copy | ||
+ | and then delete the original or just delete the original and remake it so | ||
+ | all events have a unique ID. | ||
+ | |||
+ | + MUTIL ImportEchomail now has a bad_packet setting which defines a directory | ||
+ | where bad packets are moved to when an error occurs during import. | ||
+ | |||
+ | + New Python function: flush(). | ||
+ | | ||
+ | | ||
+ | |||
+ | + New Python function: purgeinput(). | ||
+ | | ||
+ | will handle this on its own. | ||
+ | |||
+ | ! Mouse support was not working in Lightbar menus. | ||
+ | | ||
+ | | ||
+ | |||
+ | + Msg listing and file listing was not working properly with mouse support | ||
+ | but I also changed it to allow clicking an already selected message or | ||
+ | file to read the message or flag the file respectively. | ||
+ | |||
+ | + New MCI codes for setting high intensity background colors ON or OFF for | ||
+ | | ||
+ | |||
+ | CY - Turns iCE colors ON | ||
+ | CN - Turns iCE colors OFF | ||
+ | |||
+ | + New Menu Command: XV. This option allows the user to validate their | ||
+ | | ||
+ | |||
+ | + Users can now be created in the User Editor by using the CTRL+A hotkey | ||
+ | |||
+ | + Updated the defaults for Matrix login so it no longer uses a Matrix | ||
+ | | ||
+ | |||
+ | ! Fixed a bug in the QWKPOLL FTP client and the FTN FTP client that was | ||
+ | | ||
+ | |||
+ | ! Fixed a display bug in the From field of routed Netmail messages. | ||
+ | |||
+ | ! MIS was not resolving the " | ||
+ | was whitelisted. | ||
+ | |||
+ | + Area/ | ||
+ | |||
+ | ! Fixed a bug with the MPL compiler and the DateValid fuction | ||
+ | |||
+ | + New users can now be created from the command line using the -NEWUSER | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | and password attribute at a minimum for the create to succeed. | ||
+ | |||
+ | The level value will accept anything less than 250. Any new user created | ||
+ | with a level of 250 or higher will be rejected. | ||
+ | |||
+ | + The " | ||
+ | will now be sent from/to the " | ||
+ | SysOp name setting. | ||
+ | |||
+ | + When searching for a user name, typing " | ||
+ | " | ||
+ | |||
+ | ! MUTIL PostTextFile was not using the default Origin line when the base's | ||
+ | | ||
+ | |||
+ | + When executing an archive, MIS and MUTIL will now automatically append | ||
+ | | ||
+ | |||
+ | ! Did a review of the FTP server code which resulted in a bug fix and a fix | ||
+ | of a memory leak when using passive and extended passive modes. | ||
+ | | ||
+ | |||
+ | ! Fixed a bug with QWK packet generation when message text lines are longer | ||
+ | than 255 characters. | ||
+ | | ||
+ | |||
+ | + Mystic-DOS " | ||
+ | of you who have that stuck in your head. | ||
+ | |||
+ | + Two new MCI codes to show message status of E-mail base: | ||
+ | |||
+ | MW : Shows the number of messages in your e-mail box | ||
+ | MU : Shows the number of unread messages in your mailbox | ||
+ | |||
+ | Note that these values are set to 0 until the MC (Check E-mail) menu | ||
+ | | ||
+ | |||
+ | + New optional data option for menu command MC (Check E-mail): /SCAN | ||
+ | If /SCAN is supplied the MC command will only calculate the current | ||
+ | | ||
+ | | ||
+ | the MU and MW MCI codes. | ||
+ | </ | ||
+ |
whats_new_112.txt · Last modified: 2023/01/18 01:15 by avon