- Oct 25, 2018
-
-
rswindell authored
telnet_input_thread() is started before cterm_init() is called, so the global "cterm" pointer was (sometimes) NULL at the time that the input thread received a "do termina-type" request, and telnet_interpret would dereference cterm (to get the emulation type) and thus crash. This is an inelegant solution which halts the telnet_input_thread() until the cterm pointer has been initialized. Also, be sure to reset cterm to NULL after calling cterm_end() which free's it. This fixes the problem of the telnet_input_thread() potentially using a stale (free'd) copy of cterm for the terminal-type response on subsequent connects.
-
rswindell authored
you run uedit and don't have access to the user.dat file, it will report an error rather than displaying a user with uninitialized values.
-
- Oct 24, 2018
-
-
echicken authored
that may be holding down their privates at any given time.
-
- Oct 23, 2018
-
-
rswindell authored
-
rswindell authored
functionality.
-
rswindell authored
This mode flag is only for use with ufic.showbuf(). Previously (before revision 1.226 of uifc32.c), this would result in a NOOP, but when I added "Cut" (to clipboard) support, I introduced WIN_CUT and used the same bit value as WIN_HLP (since it wasn't used in uifc.list). I noticed a new "Shift-DEL Cut" menu option appeared in SyncTERM (with no corresponding way to paste) and this reuse of the WIN_HLP flag was the reason why.
-
rswindell authored
-
- Oct 22, 2018
-
-
rswindell authored
Telegram (user@hostname): Digital Man@undefined
-
rswindell authored
-
rswindell authored
the string (which starts with the event internal code).
-
rswindell authored
to warning - this is normal/expected (e.g. when mail base is being backed-up).
-
rswindell authored
-
rswindell authored
-
rswindell authored
to hit it twice - not sure why just yet.
-
rswindell authored
Added a send to "All" (inter-BBS broadcast) option.
-
rswindell authored
protocol is repeated (e.g. Telnet). When adding/inserting in arrays of items, break the loop if they enter an empty string. Cancel the add item if the first field is blank.
-
rswindell authored
Using new bbs.menu_exists() method.
-
rswindell authored
-
rswindell authored
Also, insert a blank line when there's no auto.msg file.
-
rswindell authored
Also, allow the inactivity timeout value for connections without an auto-detected terminal to be set explicitly via modopts.ini [login] inactive_hangup = 30 (seconds) rather than deriving from the configured inactivity hangup value in SCFG->Nodes.
-
rswindell authored
-
rswindell authored
-
rswindell authored
-
rswindell authored
Also replaced all embedded Ctrl-A chars with \1 to make editing easier.
-
rswindell authored
-
rswindell authored
support Commodore/PETSCII terminals.
-
rswindell authored
a message header file.
-
rswindell authored
e.g. Commodore 64, using the new Ctrl-A\ code (conditional newline/cont) a lot. 5 New strings at the end.
-
rswindell authored
-
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)
-
rswindell authored
and then hit 'Q', it would kick you out of multi-node chat (because the abort flag was set).
-
- Oct 21, 2018
-
-
rswindell authored
-
rswindell authored
keyboard). PETSCII BBSes include prompts like "Hit Ctrl-X to abort", so they expect the terminal to be able to send control-key combinations. Both CGTerm and CBMTerm are able to send all the relevant control-key combinations (and their single-key equivalents, like ESC and TAB) as well.
-
rswindell authored
Should this also be done for 141 (shift-CR)? I'd love to know where you found the document which inspired the comment ("disabled reverse") - but the code just wasn't doing it and it was apparent when viewing PETSCII art and comparing the behavior with other emulators.
-
deuce authored
-
deuce authored
This may mess up colour hacks in other places, but should fix C128 colours in the terminal.
-
rswindell authored
(if the server supported the option), as "ANSI". Now, if the current cterm emualation is PETASCII [sic], or ATASCII, send "PETSCII" or "ATASCII" instead. Now this brings up a couple of discussion points: 1. Should that default Telnet term-type be "ANSI-BBS" (or "ansi-bbs") instead? 2. Similarlly, RLogin connections *always* send the term-type as "ansi-bbs" - I think a similar change is needed in rlogin.c to be technically correct, but we should probably be consistent about how SyncTERM in ANSI-BBS emulation mode identifies itself ("ANSI", "ANSI-BBS", or "ansi-bbs"). 3. If there is terminal type advertised via SSH, that probably needs addressing as well.
-
- Oct 20, 2018