- Jan 14, 2025
-
-
Rob Swindell authored
White-space changes only, exception being the rare insertion of NL before closing brace (couldn't find the option to disable that behavior). I excluded some header files (e.g. sbbs.h) since uncrustify seemed to be doing more harm than good there. I might just end up applying different set of rules to .h files.
-
- Jan 12, 2025
-
-
Rob Swindell authored
-
- Jan 11, 2025
-
-
Rob Swindell authored
Caveat: the name parameter cannot contain a space, so excludes spaces or replace them with '.' or '_': the user's alias will match.
-
- Mar 23, 2024
-
-
Rob Swindell authored
No functional change
-
- Aug 16, 2020
-
-
Rob Swindell authored
-
- May 14, 2020
-
-
rswindell authored
SCFG for Win32 is linked against a load_cfg lib that builds withOUT SCFG defined, so these compiled AR elements were allocated and then many SCFG operations (e.g. copy/paste, create new) would copy the allocated ARs to another configuration and then be subjected to double-free upon exit/clean-up (resulting in exception or crash). Just get rid of this cruft and some other related RAM-byte-saving hold-overs from the MS-DOS days.
-
- Mar 19, 2020
-
-
rswindell authored
- ASCII - UTF8 - CP437 And these, along with the pre-existing PETSCII keyword, are mutually exclusive (only one will be set/true).
-
- Oct 22, 2018
-
-
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)
-
- Jul 24, 2018
-
-
rswindell authored
Most of the copyright years in the source code were misleading (the date of most recent publish was actually later) and all were unnecessary. I've been removing copyright years piecemeal, for a long time, but I decided it was time to just perform a bulk search and (mostly) replace. In some cases, I left old copyright years on files that either are not used (and soon to be removed) or obsolete and unlikely to ever be touched again (e.g. Win9x FOSSIL VXD). Some of the runtime binaries still contain copyright years and those were updated to 2018.
-
- Nov 04, 2011
-
-
rswindell authored
-
- Oct 24, 2011
-
-
deuce authored
nular or NULL.
-
- Mar 20, 2009
-
-
rswindell authored
DIR <code>) are now handled correctly. The PROT (protocol) keyword never worked correctly. Some ambiguities (e.g. "PROT NOTIFY" and "PROT NOT IFY") are now handled more gracefully. White-space is now required after AND/OR/EQUAL/NOT if the next char is a letter. All the examples in http://synchro.net/docs/security.html still work as documented.
-
rswindell authored
Added HOST and IP keywords to allow restricted access/privileges to/for specific remote hostnames or IP addresses (wildcards allowed). All string-argument type ARS keywords (e.g. SHELL, PROT, etc.) now support .can style wildcards. The current remote client is now used for protocol, host, and IP ARS checking, when available, so this requires passing the client pointer around (which explains why so many files are touched by this change) and takes care of a long standing to-do item (the user's 'modem' value was used for the PROT value checking, which was not always correct).
-
- Sep 30, 2007
-
-
rswindell authored
ULM (uploaded megabytes), and DLK and DLM (for downloaded K/Mbytes).
-
- Sep 23, 2007
-
-
rswindell authored
* ULS - uploaded files * ULB - uploaded bytes * DLS - downloaded files * DLB - downloaded bytes ... so now Phil can have a "true" 1:4 upload/download file ratio requirement by using an ARS of "DLS NOT 4 OR UDFR 25"
-
- Dec 29, 2006
-
-
rswindell authored
-
- Sep 05, 2005
-
-
rswindell authored
* GUEST (shorthand for "REST G") * QNODE (shorthand for "REST Q"). They're not really much shorter, but the intended function is more clear to the sysop.
-
- Oct 17, 2004
-
-
rswindell authored
correctly for the BBS (e.g. "Telnet" and "RLogin") until the chk_ar function is changed to accept a client_t argument.
-
- Dec 27, 2001
-
-
rswindell authored
-
- Nov 08, 2000
-
-
rswindell authored
-
- Oct 10, 2000
-
-
rswindell authored
-