Synchronet now requires the libarchive development package (e.g. libarchive-dev on Debian-based Linux distros, libarchive.org for more info) to build successfully.

  1. 17 Jul, 2019 1 commit
  2. 26 Oct, 2018 1 commit
  3. 25 Oct, 2018 1 commit
    • 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
  4. 22 Oct, 2018 1 commit
    • 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
  5. 25 Jul, 2018 1 commit
  6. 20 Feb, 2018 2 commits
  7. 12 Jan, 2018 1 commit
    • rswindell's avatar
      New @-codes (for currently viewed file): · 464f80c5
      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 '*.*'
      464f80c5
  8. 07 Jan, 2018 1 commit
  9. 13 Nov, 2017 1 commit
    • rswindell's avatar
      New feature: control of SPAM visibility when reading mail on the Terminal · d18bd3bd
      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.
      d18bd3bd
  10. 12 Oct, 2017 1 commit
  11. 16 Nov, 2016 1 commit
    • rswindell's avatar
      Create fgetuserdat() (the 'f' stands for 'fast' or 'file) - · 1047cc54
      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).
      1047cc54
  12. 25 Nov, 2015 1 commit
  13. 24 Sep, 2015 1 commit
  14. 20 Aug, 2015 1 commit
    • deuce's avatar
      Update to 3.17a · dbbfabf1
      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.
      dbbfabf1
  15. 04 Sep, 2014 1 commit
  16. 23 Oct, 2011 1 commit
  17. 19 Oct, 2011 1 commit
  18. 25 Aug, 2011 1 commit
  19. 21 Jul, 2011 1 commit
    • rswindell's avatar
      Enhancement: most question-type text.dat entries are now optional. · 77a2cda0
      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
      77a2cda0
  20. 19 Nov, 2010 1 commit
  21. 06 Mar, 2010 1 commit
  22. 20 Mar, 2009 1 commit
    • rswindell's avatar
      ARS improvements: · 1cdf2c10
      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).
      1cdf2c10
  23. 04 Jun, 2008 1 commit
  24. 14 Aug, 2007 1 commit
  25. 11 Jul, 2007 3 commits
  26. 29 Dec, 2006 1 commit
  27. 23 Aug, 2006 1 commit
  28. 03 May, 2006 1 commit
    • rswindell's avatar
      Removal of cruft: · a000d6d0
      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)
      a000d6d0
  29. 05 Apr, 2006 1 commit
  30. 20 Sep, 2005 1 commit
  31. 01 Dec, 2004 1 commit
  32. 08 Sep, 2004 1 commit
  33. 30 May, 2004 1 commit
  34. 02 Nov, 2003 1 commit
  35. 26 Jul, 2003 1 commit
  36. 08 Jul, 2003 1 commit
  37. 10 May, 2003 1 commit