- 01 Mar, 2020 1 commit
-
-
rswindell authored
now accept an optional print-mode (a.k.a. pmode) argument to provide more control over the printing that happens in these functions/methods. The immediate use is for P_NOCRLF to stop the newline from being printed after a yes or no response (e.g. in a full-screen UI), but there could be other uses.
-
- 05 Aug, 2019 1 commit
-
-
rswindell authored
now accept an optional "count" argument (default: 1). JS console.backspace() and carrage_return() methods now accept an optional "count" argumnet (default: 1).
-
- 24 Jul, 2019 1 commit
-
-
rswindell authored
- Export all FIDOCTRL (other FTN kludge lines) to the QWK HEADERS.DAT file. These should already be imported if they exist, but were never added during export, so untested/new behavior. The control paragraph (kludge line) of specific interest here is the "CHRS" (charset) kludge we need for UTF-8. - Don't use the QWK "newline" character (0xE3) when the message is UTF-8. Use bare-LF's instead. This is pretty untested at this point as I will need another QWKnet board to post or receive UTF-8 encoded messages to test, getting the code into CVS is the first step. At least for now, there's no opt-in/out for this behavior. If your BBS has UTF-8 encoded messages, some QWK nodes or offline readers may have trouble with packets which include those messages. Or they may work fine (but likely display garbage CP437 chars in-place of the proper Unicode codepoint glyph). - The beginning of UTF-8 input support in getstr() - which needs more work, particularly around character and word deletion and insertion. - The internal message editor now supports UTF-8 messages and kind of somewhat supports inputting UTF-8 characters in message text. New put/print text flag: P_AUTO_UTF8 which can auto-detect UTF8 strings and do the "right thing" for the user's terminal. New associated sbbs_t method: auto_utf8() which automatically sets P_UTF8 for any stirng that begins with a UTF-8 BOM (ZWNBSP). Else, if the P_AUTO_UTF8 mode flag is set, then it checks to see if the string contains invalid US-ASCII chars but valid UTF-8 sequences and then sets P_UTF8 accordingly. Used by putmsg() and bputs(). There's a new permuation of bprintf() which accepts a mode argument (i.e. for P_UTF8) and passes it on to the new mode-capable bputs().
-
- 09 May, 2019 1 commit
-
-
rswindell authored
- for PETSCII, this is automatic and you don't lose blink, but you do lose colored foreground when enabling a bright background ("reverse video") - for ANSI, this mode is typically referred to as "iCE colors" and disables blinking-text support - Ctrl-AE (^AE) is the new attribute code to enable bright-background (will have no effect on ANSI terminals that are not iCE color enabled) "E" is now valid in the ctrl/attr.cfg file and string values for JS console.attributes assignments, as well - Ctrl-AI (^AI) - blink - now does nothing for ANSI/ICE color terminals (blinking is not supported in combination with bright-background) - Using a new/non-standard CGA attribute bit-flag to indicate the selection of bright-background colors (BG_BRIGHT, bit 10), separate from BLINK. This change required all/most char/uchar attribute representations to be converted to int/uint. New text.dat strings: - PetTerminalDetected (renamed from PetTermDetected) - PetTerminalQ - TerminalAutoDetect - TerminalColumns - TerminalRows - TerminalMonochrome - TerminalColor - TerminalIceColor - IceColorTerminalQ This also moved the MsgCarbonCopyList definition to the end of the file for now. PETSCII reverse-video attribute fix: When a CR is sent to the terminal, the reverse-video attibute is auto-disabled so update our "current attribute" (curatr) value to match the remote. Support new printfile/putmsg mode flag: P_WRAP to force an ungraceful line-wrap (splitting) to the specified column width. If no column width is specified (0), then this mode will force an ungraceful wrap before the last terminal column where some terminals *may* auto-wrap. JS console.printfile() and printtail() methods now support an optional "orig_columns" argument, similar to console.putmsg(). Must specify P_WORDWRAP or P_WRAP for this argument to have any effect. Much improved terminal-type selection/configuration in the user defaults menu and abort (^C) at any of the yes/no prompts is now detected/handled much better (to answers to the prompted questions are not saved to the user settings).
-
- 04 May, 2019 1 commit
-
-
rswindell authored
JS's console.getkeys(). If no mode value is specified, K_UPPER is the default behavior (same as before). *.getkeys() currently only recognizes the following mode flags: - K_UPPER - K_NOECHO - K_NOCRLF K_NONE (0) is also a valid value.
-
- 03 May, 2019 1 commit
-
-
rswindell authored
the 'keys' argument is optional. If no keys are specified (or NULL), then any/ all non-numeric keys are considered valid input and may be returned by this function/method.
-
- 11 Jan, 2019 1 commit
-
-
rswindell authored
Oct-14-2018: It turns out, PabloDraw actually inserts a Ctrl-AZ sequence at the end of .msg (and presumably Synchronet .asc) files it edits - before the SAUCE record. This resulted in a printed Ctrl-Z character (arrow pointing right) in most terminals when viewing text/menu files created or edited with PabloDraw. :-( So, now Ctrl-AZ (uppercase) will revert to the previous definition: premature end-of-file (EOF) and a Ctrl-Az (lowercase) will output a Ctrl-Z (substitute) character. I'm not a big fan of case-sensitive Ctrl-A codes, but frankly, running out of chars and I already started this pattern with the Ctrl-AF/f sequences. Hopefully there's no existing software that is/was putting Ctrl-Az (lowercase) in files, expecting that to trigger a premature EOF. I certainly was not.
-
- 31 Oct, 2018 1 commit
-
-
rswindell authored
default answer for these prompts.
-
- 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)
-
- 15 Oct, 2018 1 commit
-
-
rswindell authored
was so pervasive. I hope I don't regret changing this. Ctrl-AZ == Ctrl-Z just "feels right" while Ctrl-AZ == EOF feels stoopid. :-/
-
- 11 Oct, 2018 1 commit
-
-
rswindell authored
*lower* than the "inactivity warning" timeout value, the hangup timer wouldn't actually take effect until after the warning timeout elapsed. This made the login.js modification (rev 1.14) where we reduce the hangup timeout (by 75%) when an ANSI terminal is not detected, not effective.
-
- 07 Jul, 2018 1 commit
-
-
rswindell authored
@-codes within them. Previously, only if the entire mnemonic string was comprised of an @-code would it be expanded, now any @-codes within will expand as well.
-
- 12 Oct, 2017 1 commit
-
-
rswindell authored
-
- 05 Dec, 2016 1 commit
-
-
rswindell authored
them back to the client.
-
- 28 Apr, 2015 1 commit
-
-
rswindell authored
was never used. This was intended to be a method for internationalization, letting the sysop change which key is used as the uiniversal "quit" key. This commit replaces most of the uses of the hard-coded 'Q' for quit wtih the 3rd charcter in the text.dat YNQP string. Some hard-coded menus still have the 'Q' key hard-coded and will need to be addressed later. The text.h YN index macro was changed to YNQP and the JS text index variable name will change as well.
-
- 28 Oct, 2014 1 commit
-
-
rswindell authored
answer() set online to ON_REMOTE. This should resolve the issue with SSH brute force password attackers hanging nodes in "new user applying for access". The actual fix was to remove the set of the online variable to ON_REMOTE in answer() (it's initialized to this value in the sbbs_t constructor), the check in getkey() is just for extra paranoia and should not be necessary.
-
- 09 Nov, 2009 1 commit
-
-
rswindell authored
-
- 16 Feb, 2009 1 commit
-
-
rswindell authored
Use of SAFECOPY() instead of strcpy(). Remove some WIP support.
-
- 05 Jun, 2008 1 commit
-
-
rswindell authored
-
- 04 Jun, 2008 1 commit
-
-
deuce authored
by properly const-ifying the appropriate functions and variables. Not yet tested on Win32
-
- 27 Jul, 2007 1 commit
-
-
deuce authored
-
- 23 Aug, 2006 1 commit
-
-
rswindell authored
- returns true/false if the user's terminal supports all the passed flags - returns the supported flags if no flags are passed for comparison - automatically uses the auto-terminal-type flags if no user is logged-on
-
- 18 Jun, 2006 1 commit
-
-
rswindell authored
pointing this out).
-
- 03 May, 2006 1 commit
-
-
rswindell authored
* CON_L_ECHOX (no such thing as local echo now) * node_dollars_per_call (no such thing as a 976/900 billing node) * node_min_bps (no such thing as bps rate)
-
- 30 Jan, 2006 1 commit
-
-
rswindell authored
disable) user's spinning cursor setting.
-
- 29 Nov, 2005 1 commit
-
-
rswindell authored
method would insert keys at end of the input ring buffer. This was fine if there weren't already chars in the buffer. But if there were already chars in the input buffer, ansi_getxy() would then move keys to the end of the input buffer until it found the <ESC>[y;xR response it was looking for. This garbled the user's input in split-screen chat as reported by JasHud and others. If there was a RingBufInsert() routine, we could use that instead, but this separate "ungetkey" buf will do for now.
-
- 02 Sep, 2005 2 commits
-
-
rswindell authored
ungetkey() now puts keys directly into the input ring buffer (no more keybuf). handle_ctrlkey() no longer pushes entire unsupported ANSI escape sequence into the input buffer (causing an infinite loop).
-
deuce authored
CON_R_ECHOX and CON_L_ECHOX, then sends "\b \b" Replace all instances of [br]puts("\b \b") with call to backspace() This fixes once and for all the "spaces entered at password prompt are echoed as spaces" problem. Har. PR:42->closed
-
- 21 Oct, 2004 1 commit
-
-
rswindell authored
prompts on a per-user basis. Eliminated unused node_misc bits and other constant definitions.
-
- 20 Oct, 2004 2 commits
- 30 May, 2004 1 commit
-
-
deuce authored
-
- 07 May, 2003 1 commit
-
-
rswindell authored
Using inkey() timeout instead of YIELD in cold-key loop.
-
- 06 May, 2003 1 commit
-
-
rswindell authored
-
- 04 May, 2003 1 commit
-
-
rswindell authored
Re-working spinning cursor code since no longer using mswait here.
-
- 30 Apr, 2003 1 commit
-
-
rswindell authored
-
- 10 Feb, 2003 2 commits
- 07 Feb, 2003 1 commit
-
-
rswindell authored
(defaults to 'off', previously always-on).
-
- 07 Nov, 2002 1 commit
-
-
rswindell authored
-