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. 18 Nov, 2021 1 commit
    • Rob Swindell's avatar
      Add text.dat lines for "All" and the List key ('L'), used in quoting · 064b602f
      Rob Swindell authored
      The internal line editor's quoting feature add some hard-coded strings ("Done" and "All") and the (L)ist key was hard-coded. Use the text.dat string (new and pre-existing) for these now.
      
      Also, use the new sbbs_t *_key() methods for referencing the configured key bindings (via text.dat) for these common key-stroke commands.
      Convert the text.dat strings for keys (e.g. YNQP) to uppercase always as well.
      064b602f
  2. 12 Nov, 2021 2 commits
    • Rob Swindell's avatar
      Fix sbbsfile.nam contents: contained file's description instead of name · 7ff0e5c8
      Rob Swindell authored
      Found during review of previous commit.
      Introduced as part of the new file base branch merge (commit fcf58640).
      7ff0e5c8
    • Rob Swindell's avatar
      Don't write uploaded filename and description to env variables · 7fd781cd
      Rob Swindell authored
      Environment variables are shared among all threads of a process (e.g. all nodes of a instance of sbbs), so this scheme of passing the uploaded filename and description to an external file tester (upload processor) via environment variables has always been fraught with the possibility of failure or flakiness in Synchronet v3. Since I very much doubt that any upload processor is actually using this scheme, just remove it. Upload processors can and should)use the sbbsfile.nam and sbbsfile.des text files created in the node directory instead.
      7fd781cd
  3. 10 Jun, 2021 1 commit
    • Rob Swindell's avatar
      Standardize on "metadata" as the description of a file's "tail" dfield · 3549be9f
      Rob Swindell authored
      It's anticipated that this will be used for JS-populated file metadata in JSON format in the future (and not just "archive contents" in .ini format).
      
      Also, fix the double-free issue that was occurring when moving files with extended file descriptions (sbbs_t::movefile()). This was actually the primary problem I was fixing here, but noticed the metadata issue: metadata would not have been moved along with the other file info between bases.
      3549be9f
  4. 06 Jun, 2021 3 commits
  5. 24 Apr, 2021 1 commit
    • Rob Swindell's avatar
      DIZ enhancements: Read/use SAUCE data, support ANSI, increase max 1->4K · 2a8e1c11
      Rob Swindell authored
      Inspired by Blocktronics (and other ANSI art group) packs' FILE_ID.DIZ/ANS files:
      * Support (and prioritize) FILE_ID.ANS
      * Convert ANSI color/attribute sequences in DIZ files to Ctrl-A equivalent (uses SAUCE width and ICE color, if specified)
      * Don't treat DIZ as a series of lines, they're not always nowadays.
      * New putmsg() mode: P_INDENT to print files indented by current column
      * Display full (up to 64-char) filenames in lists when using 132+ column terminal.
      * Use the Author, Group, and Title fields from the SAUCE if present/non-blank
      * 2 new text.dat strings: 301 (FiAuthor) and 302 (FiGroup)
      * Also fix bug with repeated Cost header field on bulk-uploaded files.
      
      I know this'll break the *nix build (sauce.c dependency), but I'll fix that next.
      2a8e1c11
  6. 22 Apr, 2021 2 commits
  7. 17 Apr, 2021 1 commit
    • Rob Swindell's avatar
      Restore the user-to-user file transfer feature · bc883458
      Rob Swindell authored
      I forget who it was that said they were still using this feature in v3.18, but here you go, it's working again (the /D and /U commands). I'm not migrating any file sender/recipient info from v3.18, so only files added after upgrading to this will be downloadable from the "user" directory (if you have one).
      
      Something that I never implemented before but noticed is missing is the removal (or dereferencing) of user-to-user files that were sent from/to a user that is then deleted. So that's still a TODO item.
      bc883458
  8. 04 Apr, 2021 1 commit
    • Rob Swindell's avatar
      A poll() failure with EINTR does not mean a socket is closed. · fcf58640
      Rob Swindell authored
      This won't impact Synchronet as it has a separate signal handling
      thread, but we still need to behave properly for processes that
      don't.  I'm also saying that ENOMEM does not indicate a disconnection,
      though it may be better to pretend it was disconnected...
      fcf58640
  9. 06 Nov, 2020 1 commit
    • Rob Swindell's avatar
      Replace ctype.h function calls with new MSVC-safe XPDEV macros · 8a7b7308
      Rob Swindell authored
      I'm fed-up with MSVC assertions in ctype functions (e.g. isdigit, isprint, isspace, etc.) when called with out-of-range (e.g. negative) values.
      
      This problem only affects MSVC debug builds, but if you run them (like I do), these things are like little time bombs that can drive you crazy (knocking your board out of service).
      
      The new macros names are bit more descriptive as well.
      8a7b7308
  10. 19 Sep, 2020 1 commit
  11. 16 Aug, 2020 1 commit
  12. 02 Aug, 2019 1 commit
  13. 17 Jul, 2019 1 commit
  14. 03 Aug, 2018 1 commit
  15. 28 Aug, 2015 1 commit
  16. 28 Apr, 2015 1 commit
    • rswindell's avatar
      Bug-fix: From the text.dat Yes/No/Quit/Password entry (YNQP), the 'Q' character · aa709e2a
      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.
      aa709e2a
  17. 19 Oct, 2011 1 commit
  18. 21 Sep, 2011 1 commit
  19. 06 Aug, 2011 1 commit
  20. 11 Mar, 2010 1 commit
  21. 06 Mar, 2010 1 commit
  22. 09 Nov, 2009 1 commit
  23. 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
  24. 16 Feb, 2009 1 commit
    • rswindell's avatar
      Major over-haul of smb_util.c and most everything that uses it: · 17ab641b
      rswindell authored
      Constified the arguments.
      Created exascii_to_ascii_char().
      Created ctrl_a_to_ascii_char().
      strip_ctrl() and prep_file_desc() now takes 2 args.
      strip_ctrl(), strip_exascii() and prep_file_desc() now strdup() the input
      string and if the dest arg is NULL, returns the allocated and modified copy.
      sbbs_t::bputs() now handles ^AZ.
      Change Ctrl-A code message network exporting:
      1. ^AL, ^A<, ^A[, and ^A] are always translated to ASCII equivalents.
      2. ^AZ will terminate the message body prematurely if found.
      3. Ex-ASCII (CP437) chars will be translated to ASCII equivalents (rather than
      '*') for "ASCII Only" subs.
      For import, don't allow Ctrl-AP or Ctrl-AL.
      For SBBSecho:
      Added support for specifying a link's address on the command-line (e.g. for
      use with -h).
      Mail server now strips Ctrl-A codes from message bodies for sending via POP3
      or SMTP.
      17ab641b
  25. 30 Jan, 2009 1 commit
  26. 14 Feb, 2008 1 commit
    • rswindell's avatar
      Re-use text.dat entry NoErrorLogExists for reporting DirectoryDoesNotExist and · 4d34cf63
      rswindell authored
      changed FileNotThere text.dat entry to FileDoesNotExist which displays the file
      path.
      Now check if the directory exists before checking the available disk space
      before allowing file uploads and report the correct error (using
      DirectoryDoesNotExist) if the directory is missing (a common mistake).
      Overhaul viewfilecontents() - wow, I can't wait to re-write all of this moldy
      filebase code!
      4d34cf63
  27. 27 Oct, 2006 1 commit
  28. 06 Jun, 2006 1 commit
  29. 28 Feb, 2006 1 commit
  30. 31 Jan, 2006 1 commit
  31. 30 Aug, 2005 1 commit
  32. 20 Jun, 2005 1 commit
  33. 21 Oct, 2004 1 commit
  34. 30 May, 2004 1 commit
  35. 23 Mar, 2004 1 commit
  36. 30 Aug, 2003 1 commit