Skip to content
Snippets Groups Projects
  1. Oct 30, 2018
    • rswindell's avatar
      Store the terminal width (in columns) of the text editor used to create the · 4941fc94
      rswindell authored
      message text (when relevant and available) - this helps when re-wrapping the
      message text (e.g. for quoting) and not always guessing "80 columns".
      4941fc94
    • rswindell's avatar
      External programs that are "binary" in nature (e.g. file transfer protocols) · be7d06bc
      rswindell authored
      now have their output translated to PETSCII equivalents for PETSCII terminals
      (but input is not yet translated).
      .seq files are now sent untranslated via printfile() and putmsg() to PETSCII
      terminals (using the new P_PETSCII putmsg mode flag).
      .seq files (and P_PETSCII mode text printed via putmsg) is now converted
      (poorly) from PETSCII to CP437 - this is still a work-in-progress.
      Remove the remants of WIP and HTMLterm support from putmsg() and printfile().
      be7d06bc
  2. Oct 29, 2018
  3. Oct 26, 2018
  4. Oct 25, 2018
    • rswindell's avatar
      New @-code: CONDMENU (conditional menu) - displays a menu/display file · 1a1025b0
      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.
      1a1025b0
    • rswindell's avatar
      Introduce a new printfile/tail/menu mode flag: P_NOERROR, which if used, · 1fee774d
      rswindell authored
      means no error message will be displayed/logged if the referenced file does
      not exist.
      1fee774d
    • rswindell's avatar
      When editing the user on's terminal setting and they have auto-term enabled, · e250a342
      rswindell authored
      display the auto-term values.
      Removed WIP and HTML term support.
      Removed Color/Mono from the PETSCII mode info.
      Fix what appears to be a couple of been-there-forever bugs in regards to
      displaying/toggling the 'default to quiet mode' setting.
      e250a342
    • rswindell's avatar
      When auto-terminal-type detection is enabled, always use those term flags, · 7d4513c7
      rswindell authored
      don't use the stored user terminal type. This allows the same user (e.g.
      the sysop) to be logged onto multiple nodes concurrently with different
      terminal types without effecting the other node/session.
      Guest sessions were already immune to this problem.
      7d4513c7
    • rswindell's avatar
      Also, the text/*.msg files now supports alternative file formats for · 24cc9af0
      rswindell authored
      RIP/ANSI/PETSCII, if the files exist.
      24cc9af0
    • rswindell's avatar
      Update display/menu file selection logic based current terminal capabilities. · 68e52292
      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.
      68e52292
    • rswindell's avatar
      Work-around race condition causing NULL-pointer dereference: · d3b4fd09
      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.
      d3b4fd09
    • rswindell's avatar
      Added getuserdat() error checking with a search/replace macro. Now if · e4af92b9
      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.
      e4af92b9
  5. Oct 23, 2018
  6. Oct 22, 2018
    • rswindell's avatar
      Another gcc printf warning fix. · 56f573c9
      rswindell authored
      56f573c9
    • rswindell's avatar
      When logging event-thread error messages, include the "evnt " prefix before · ece4a33f
      rswindell authored
      the string (which starts with the event internal code).
      ece4a33f
    • rswindell's avatar
      Lower the "MAIL BASE LOCKED" SMTP log message severity from critical · d22291e5
      rswindell authored
      to warning - this is normal/expected (e.g. when mail base is being
      backed-up).
      d22291e5
    • rswindell's avatar
    • rswindell's avatar
      Address new GCC printf warnings. · 30e31922
      rswindell authored
      30e31922
    • rswindell's avatar
      The big PETSCII commit: · 31303187
      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)
      31303187
    • rswindell's avatar
      Fixed bug where if you used the /W (whisper) command in multi-node chat · dede8b35
      rswindell authored
      and then hit 'Q', it would kick you out of multi-node chat (because
      the abort flag was set).
      dede8b35
  7. Oct 21, 2018
  8. Oct 20, 2018
Loading