- 02 Mar, 2022 1 commit
-
-
Rob Swindell authored
-
- 04 Apr, 2021 4 commits
-
-
Rob Swindell authored
-
Rob Swindell authored
CID 319112
-
Rob Swindell authored
CID 33568
-
Rob Swindell authored
This won't impact Synchronet as it has a separate signal handling thread, but we still need to behave properly for processes that don't. I'm also saying that ENOMEM does not indicate a disconnection, though it may be better to pretend it was disconnected...
-
- 15 Feb, 2021 2 commits
-
-
Rob Swindell authored
Hopefully not introducing any bugs in the process.
-
Rob Swindell authored
Hopefully not introducing any bugs in the process.
-
- 06 Nov, 2020 1 commit
-
-
Rob Swindell authored
I'm fed-up with MSVC assertions in ctype functions (e.g. isdigit, isprint, isspace, etc.) when called with out-of-range (e.g. negative) values. This problem only affects MSVC debug builds, but if you run them (like I do), these things are like little time bombs that can drive you crazy (knocking your board out of service). The new macros names are bit more descriptive as well.
-
- 25 Oct, 2020 1 commit
-
-
Rob Swindell authored
Beautification for 40 column terminals.
-
- 20 Sep, 2020 2 commits
-
-
Rob Swindell authored
Strip all *but* the expected keyboard input sequences (arrow keys, pgup/dn, home, end, insert). Pass-through a bare ESC key (albeit with delay). ESC immediately followed by a key other than '[' should be very quickly passed through. Increase the max ANSI sequence length from 31 to 256 chars.
-
Rob Swindell authored
This enables node-spying via SSH or spying on a node that is using SSH. Thanks Altere for the bug report.
-
- 19 Sep, 2020 2 commits
-
-
Rob Swindell authored
-
Rob Swindell authored
betwen 4 (the default) and 40 (the maximum) characters
-
- 15 Sep, 2020 1 commit
-
-
Rob Swindell authored
Apparently, calling close(-1) on WinXP will cause a crash. Don't do that. Make closeuserdat() resilient to an un-open file descriptor and use it instead of close().
-
- 07 Sep, 2020 1 commit
-
-
Rob Swindell authored
Eliminate the hack in each server where it will over-write startup host_name (with the configured Internet email address), if it's blank. This hack was subject to a race condition where the parent app (e.g. sbbsctrl.exe) would clear or re-initialize the host_name after the sever threads had initialized. Instead, just use a function which will return either the startup->host_name or (fallback to) scfg.inet_addr.
-
- 16 Aug, 2020 1 commit
-
-
Rob Swindell authored
-
- 23 Apr, 2020 1 commit
-
-
rswindell authored
- external programs section (default: "xtrn_sec") - logon list (default: "logonlist") This ties the Baja XTRN_SECTION and USERLIST_LOGONS functions and the JS bbs.xtrn_sec() and bbs.list_logons() methods to the loadable modules (if configured) automatically without the exec_bin hackery in *.src. Also, allow the xtrn section argument to be passed to the JS/C++ method to go directly to a specific xtrn program section. The bbs.list_logons() can also accept an argument to pass to the module (e.g. "-y" for yesterday's logons).
-
- 22 Apr, 2020 1 commit
-
-
rswindell authored
"Use Location in User List" option. When set to false, the user's *note* (not IP address) is to be included in the user/logon lists.
-
- 31 Mar, 2020 1 commit
-
-
rswindell authored
in the text.dat. This may be a sysop-configurable value in the future. text.dat NewPasword is now NewPassswordPromptFmt and includes both the minimum and maximum password length as % specifiers.
-
- 30 Mar, 2020 1 commit
-
-
rswindell authored
-
- 17 Jul, 2019 1 commit
-
-
rswindell authored
-
- 26 Oct, 2018 1 commit
-
-
rswindell authored
menu() if it does (exist) and doing something else if it doesn't.
-
- 25 Oct, 2018 1 commit
-
-
rswindell authored
Newly supported files: text/menu/*.msg (higher priority than .asc when the terminal supports IBM extened ASCII, aka CP437). These are the same format as .asc files (and supported more readily by PabloDraw). Newly supported files: text/menu/*.seq - native PETSCII files for PETSCII terminals only. Support in the underlying putmsg() function is still pending. Also, the text/*.msg files now supports alternative file formats for RIP/ANSI/PETSCII, if the files exist. WIP menu support removal. The new menu/display file selection priority will be detailed on wiki.synchro.net, but rest assured, it's backwards compatible with the previous/old priority with the exception of the removal of WIP support and HTML support.
-
- 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)
-
- 25 Jul, 2018 1 commit
-
-
rswindell authored
fix the resulting warnings.
-
- 20 Feb, 2018 2 commits
- 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 '*.*'
-
- 07 Jan, 2018 1 commit
-
-
rswindell authored
- if the sysop had text/menu/<filename>.bak (for example), the optoinal menu would attempt to load, resulting in an error ("<filename>.asc not found") - if the sysop specified menu_file or menu_dir (e.g. via Baja), the existing checks for optional menu file existance would not work
-
- 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.
-
- 12 Oct, 2017 1 commit
-
-
rswindell authored
-
- 16 Nov, 2016 1 commit
-
-
rswindell authored
it just calls the (newer) functions readuserdat() and parseuserdat() in a easy replacement for getuserdat() for places where all users are read in a loop (the file is only opened one time, dramatically reducing the amount of time). Added an argument to openuserdat() so it can be used in more situations (i.e. where the file needs to be opened for modify/create acces).
-
- 25 Nov, 2015 1 commit
-
-
rswindell authored
Display local time and time zone in system info list. Display local time zone in Ctrl-T output.
-
- 24 Sep, 2015 1 commit
-
-
deuce authored
(Displayes bad*.msg, not bsd*.can).
-
- 20 Aug, 2015 1 commit
-
-
deuce authored
New Features: - Multiple bindings for each service Use comma-separated interfaces on Interface= lines in the ini file. Default is now "0.0.0.0,::" - IPv6 support - TLS support for the webserver and (non-static) services New TLS option in services.ini (ie: Options=TLS) - Decrease LEN_SCAN_CMD to 35 chars, increase the CID field to 45 chars, and rename the MAIL_CMD string to IPADDR. I think this frees up the note field for SysOp use.
-
- 04 Sep, 2014 1 commit
-
-
rswindell authored
if/when spy socket is disconnected.
-
- 23 Oct, 2011 1 commit
-
-
deuce authored
SIF files (whatever they are)
-
- 19 Oct, 2011 1 commit
-
-
rswindell authored
all exported functions and data types using a 32-bit time_t (time32_t). (part 2 of 2)
-
- 25 Aug, 2011 1 commit
-
-
rswindell authored
optional rejection message file (text/badpassword.msg) - this file is where the sysop should add common/obvious passwords like "password".
-
- 21 Jul, 2011 1 commit
-
-
rswindell authored
That is, if any of the following text.dat entries are set to a blank/emtpy string (by editing ctrl/text.dat or via run-time script modification), the question will not be asked of the user allowing greater sysop-customization of hard-coded processes (e.g. new user application): ClearUploadQueueQ ClearDownloadQueueQ HangUpAfterXferQ ChatWithGuruInsteadQ ForwardMailQ DownloadBatchQ LogOffQ DeleteErrorLogQ ClearErrCounter DeleteGuruLogQ AutoTerminalQ AnsiTerminalQ ColorTerminalQ ExAsciiTerminalQ CallingFromNorthAmericaQ ReadYourMailNowQ NScanAllGrpsQ SScanAllGrpsQ NewPasswordQ ContinueQ EnterYourPhoneNumber UserInfoCorrectQ UseExternalEditorQ DownloadAttachedFileQ AddSubToNewScanQ (new) RemoveFromNewScanQ DisplaySubjectsOnlyQ Post SearchExtendedQ ViewSysInfoFileQ ViewLogonMsgQ WithLineNumbersQ
-