- 20 Sep, 2019 2 commits
-
-
rswindell authored
- FILESIZE - total file size in an auto-rounded value with suffix (B/K/M/G) - FILEBYTES - total file size in bytes - FILEKB - total file size in kibibytes - FILEMB - total file size in mebibytes - FILEGB - total file size in gibibytes All of the above default to the current file transfer directory path from where to find / calculate the sizes of files. Only files that exist in the actual storage directory are counted (offline files or file in alt. file paths are not counted). All of the above support 2 alternate syntaxes: FILE*:<dir-code> where <dir-code> is the internal code of a file directory, or FILE*:<path[/file-spec]> where <path> is a directory path and [/file-spec] is an optinal file name/specification (i.e. w/wildcards).
-
rswindell authored
- FILES - FILES:<code> I couldn't get out of him whether he wanted the total number of files in the *current* directory or a sysop-specified directory, so I just added both. I don't have an easy way to calculate the total bytes used for all files in a directory, so punt on that feature request for now.
-
- 31 Aug, 2019 1 commit
-
-
rswindell authored
- PWAGE - age (in days) of current user's password - PWDAYS - maximum age (in days) before forced-password-change (or "unlimited") - PWDATE (alias for MEMO) - date of last change of the current user's password - AUTODEL - days of user inactivity before auto-deletion (or "unlimited")
-
- 16 Aug, 2019 2 commits
-
-
rswindell authored
fills the remaining portion of the current line with the specified text by repeating the characters in text until reaching terminal columns - 1
-
rswindell authored
and timezone), for Mark Lewis. The imported timezone will always be the local timezone (at the time of import) so not sure what value that has. <shrug>
-
- 15 Aug, 2019 1 commit
-
-
rswindell authored
optionally including the current (your) node. New @-codes: "ANODES" (active-nodes count), aliases: "ANODE" and "AN" "ONODES" (other-active-nodes count), aliases: "ONODE" and "ON" Make "NN" an alias for "NODE" and "TN" and alias for "TNODE". Add "TNODES" alias for "TNODE" as well, for symmetry.
-
- 05 Aug, 2019 2 commits
-
-
rswindell authored
if not unlimited.
-
rswindell authored
- new @-code BPS:x (where x is 0/unlimited, 300, 600, 1200, 2400, ... 115200) - new JS property: console.output_rate So you can have mutliple output rate changes in a single file by using multiple BPS @-codes. Hopefully this doesn't do weird things with non-compliant terminals.
-
- 03 Aug, 2019 1 commit
-
-
rswindell authored
flag in the message header. When displaying message header fields containing UTF-8 using show_msghdr() with text.dat string or with msghdr.asc and @-codes, do the "dance" to be sure it's displayed correctly depending on the user's terminal (UTF-8 or not).
-
- 16 Jul, 2019 1 commit
-
-
rswindell authored
MAILW#<num>, MAILP#<num>, SPAMW#<num> These codes, unlike the colon-variants, can be combined with format modifiers (e.g. -L, etc.).
-
- 11 Jul, 2019 4 commits
-
-
rswindell authored
hex escape sequence out of range
-
rswindell authored
-
rswindell authored
-
rswindell authored
U+ code now supports <code-hex>:<text> syntax so that multiple chars (a string) may be specified as a fallback for non-UTF-8 terminals. The U+<code>/<char> syntax was changed to U+<code>,<char> New symbolic @-codes that send the right Unicode code point to UTF-8 terminals or a string to others: - ELLIPSIS - COPYRIGHT - SOUNDCOPY - TRADEMARK - DEGREE_C - DEGREE_F
-
- 10 Jul, 2019 9 commits
-
-
rswindell authored
I like the -W @-code format modifier better for "WIDE" than for "WRAP" (no body is using -W yet, right?) - so, change wrap to "->" and double-wide to "-W".
-
rswindell authored
terminal "type" string (ANSI, RIP, PETSCII, or DUMB). Expose this value in JS via the new console.type read-only property. The TERM @-code now expands to this string rather than the (often client-supplied) sbbs_t.terminal string value.
-
rswindell authored
(e.g. "@code:BIG-RED@", the argument would get chopped to just "BIG") so don't support format modifiers when a ':' is present in the @-code.
-
rswindell authored
When appended to an @-code, displays it double-wide using "fullwidth" Unicode code points if possible, spaces between the characters otherwise.
-
rswindell authored
The pipe char is problematic to discuss in msg bases and on the Wiki. <shrug>
-
rswindell authored
Create a sbbs_t method: wide(), which displays a string using "fullwidth" Unicode characters, when possible, otherwise, double-spaced. Exposed in JS via console.wide() and a new @-code: WIDE:<string>
-
rswindell authored
(currently). Created for use with the EnterYourBirthday text.dat string, so the CHECKMARK @-code can be used as well. @-codes can't be used in strings with printf-specifiers (e.g. %s).
-
rswindell authored
square root symbol (or PETSCII check mark), as appropriate.
-
rswindell authored
@U+<codepoint-in-hex>@ - automatic CP437 fallback char, if available @U+<codepoint-in-hex|cp437char-in-hex>, specify CP437 fallback char @U+<codepoint-in-hex!cp437char-in-hex>, specify CP437 fallback char (used if no automatic fallback mapping is available)
-
- 02 May, 2019 1 commit
-
-
rswindell authored
Expanded codes will not *not* go beyond the terminal column width (minus 1). If you need the old/wrap behavior, add a "-W" modifier to your @-code. If a length value is specified with -W, it is ignored. - MSG_TO, MSG_FROM, MSG_SUBJECT now reflect the header values passed to sbbs_t::show_msghdr(), JS bbs.show_msg_header() and not necessarily the actual stored (e.g. MIME-encoded) header values. New codes: - MSG_CC - reflect a message's CC list, if it has one - DATETIMEZONE - combines DATETIME and TIMEZONE in one string
-
- 26 Apr, 2019 2 commits
-
-
rswindell authored
-
rswindell authored
- DELAY:nn (delay nn 10ths of a second) - POS:nn (move cursor to position nn, not sure if nn is 0 or 1-based) - CLREOL (same as CLR2EOL) - YESCHAR (the character/key for "Yes", from text.dat YNQP string) - NOCHAR (the character/key for "No', from text.dat YNQP string) and for good measure: - QUITCHAR (the character/key for "Quit") - not supported by PCBoard
-
- 11 Apr, 2019 3 commits
- 04 Dec, 2018 1 commit
-
-
rswindell authored
expands to "on" or "off" based on user's split-screen private chat setting.
-
- 03 Dec, 2018 1 commit
-
-
rswindell authored
PAGER (expands to "on" or "off" to indicate chat page enable status) ALERTS (expands to "on or "off" to indicate activity alert enable status)
-
- 25 Oct, 2018 1 commit
-
-
rswindell authored
only if it exists (on disk) and displays no error message if the file does not exist. Nearly identical to the existing MENU @-Code, but without the need to insure the file actually exists first.
-
- 22 Oct, 2018 1 commit
-
-
rswindell authored
So Omegix recently asked in the Synchronet Discussion group whether or not a PETSCII (Commodore) terminal could be used to access his Synchronet BBS. Now, the answer is "Yes". :-) The major issues addressed: - detecting a PETSCII terminal, solved by assigning specific (configurable): TCP ports to be used for incoming PETSCII connections, by default: port 64 is for 40-column PETSCII and port 128 is for 80-column PETSCII, but if the terminal sends a Telnet Window Size reply (e.g. SyncTERM), then either size terminal should fine on either port. The port numbers are configurable in the [BBS] section of your sbbs.ini file using the new keys: PET40Port (default value: 64) and PET80Port (default value: 128). Having these keys set doesn't make make the terminal server listen on that additional port - you'll need to add more IP:port combinations to one of Interfaces values, example: TelnetInterface=71.95.196.34,71.95.196.34:64,71.95.196.34:128 And you don't have to use Telnet for the PETSCII connections - you could use RLogin or SSH instead (or in addition). - support for terminal widths < 80 columns: This was achieved through a combination of text.dat changes (numerous), new Ctrl-A and @-codes and new optional terminal-width-specific menu files (e.g. text/menu/main.40col.asc) A side effect of these changes is actually better support for terminals *wider* than 80 columns as well! - support for terminals that don't expand tabs to spaces (e.g. PETSCII): The terminal server now handles tab expansion with a run-time settable tab-size (default size: 8) - conditional access based on PETSCII (or small) terminal use (or not): + New PETSCII ARS keyword (boolean) + New COLS and ROWS ARS keywords (for terminal width and height requirements) + New TERM (string) ARS keyword New @-codes: - WORDWRAP, when placed at the top of a file, enables auto-wordwrap for lines longer than the terminal width - CENTER, the text following before an end of line will be displayed centered on the terminal (whatever the width, in columns) - CLEAR, like CLS, except it ignores (doesn't display) a CRLF that follows - COLS, current number of terminal columns (width) - ROWS, current number of terminal rows (height) - TERM, the auto-detected or reported terminal type (e.g. ANSI, TTY, etc.) - SYSONLY, toggles "echo" (display) off/back-on for non-sysops similar to the Ctrl-A( and ) codes, but more convenient to use (and PabloDraw won't strip the @-code from the file like it does with Ctrl-A codes it doesn't support) New Ctrl-A codes: - \ conditional new-line/continuation when the terminal width is < 80 cols prints the new text.dat string LongLineContinuationPrefix yesno() will now return true if passed a blank string. noyes() will now return false if passed a blank string. getstr()'s input length limiting based on terminal width is more broadly applied now (not just when using the K_LINE mode flag). New JS bbs object method: menu_exists(<base_filename>) returns Boolean New JS console object property: tabstop (Number) New JS console object methods: getbyte() and putbyte() to recv/send raw byte value with (very little) interpretation/intervention by the terminal server New JS console object method: creturn() - performs a carriage return (or equivalent) New JS (and C) printfile() mode flag: P_TRUNCATE, causes long lines to be truncated, rather than displaying causing a line-wrap. New text.dat strings: - NoAccessTerminal (for ARS check failures) - LongLineContinuationPrefix (for breaking long lines for 40col terminals) - Scanning (replaces a previously hard-coded "Scanning" string) - Done (replaces a previusly hard-coded "Done") - Scanned (when finished scannning, clears the progress bar)
-
- 04 Oct, 2018 1 commit
-
-
rswindell authored
MSG_SUMMARY is currently never populated by anything. MSG_TAGS is a new (optional) thing.
-
- 25 Jul, 2018 1 commit
-
-
rswindell authored
fix the resulting warnings.
-
- 17 Mar, 2018 1 commit
-
-
rswindell authored
-
- 12 Jan, 2018 1 commit
-
-
rswindell authored
- FILE_AREA - FILE_AREA_DESC - FILE_LIB - FILE_LIB_DESC - FILE_LIB_NUM - FILE_DIR - FILE_DIR_DESC - FILE_DIR_CODE - FILE_DIR_NUM - FILE_NAME - FILE_DESC - FILE_UPLOADER - FILE_SIZE - FILE_CREDITS - FILE_TIME - FILE_TIME_ULED - FILE_TIME_DLED - FILE_DATE - FILE_DATE_ULED - FILE_DAT_DLED - FILE_TIMES_DLED Fixed MSG_ATTR @-code (missing SPAM attribute) New text.dat line: FileHdrDescSeparator, displayed between file detail display (name, date, uploader, etc.) and extended description, if there is one. This is used to execute showfileavatar.js. New JS 'bbs' object properties: - file_name - file_description - file_dir_number - file_attr - file_date - file_credits - file_uploader - file_update_date - file_download_date - file_download_count Inspiried by Lon Seidman's now infamous (but likely common) Synchronet sysop blunder (removing a file rather than downloading it while demonstrating his BBS on his youtube channel: - New text.dat line: RemoveFileQ <- using this rather than the vague: AreYouSureQ, when prompting to remove a file - The sysop command to remove files from the batch file flagging prompt has been changed from 'D' (delete) to 'R' (remove). - The 'D' command from the batch file flagging prompt may now be used for immediate Download of any flagged file(s). - When flagging files with '*', treat the same as '*.*'
-
- 15 Nov, 2017 1 commit
-
-
rswindell authored
server log) using the new magic sbbs_t::lputs(). No more SSH errors if an SSH client's IP is blocked in ip.can (trying to send the block msg). New SSHConnectTimeout cfg value (in sbbs.ini [BBS]), defaults to 10 seconds. Previously, fails SSH connections could block the bbs_thread for 30 seconds (the Cryptlib default network connection timeout). Overhauled a lot of the SSH-related log output to make it less chatty and more meaningful. getmail() is now more flexibility with regards to filtering by attribute flags (not just SPAM). Allow SPAM header attribute to be toggled with sysop 'C' command.
-
- 13 Nov, 2017 1 commit
-
-
rswindell authored
Server via the new 'V' command from the Reading Mail prompt allows you to toggle between all mail (including SPAM, the default), SPAM only, or HAM only. Also added a new '/' (search text) command from the reading mail prompts. Mail imported before the mailsrvr added support (recently) for the MSG_SPAM attribute flag will not be counted/filtered as SPAM. SBBSecho will have a commit (next) to support the new loadmail() usage, it will not compile until then.
-
- 23 Oct, 2017 1 commit
-
-
rswindell authored
just like -R and -L do.
-