Skip to content
Snippets Groups Projects
  1. Jan 14, 2022
    • Rob Swindell's avatar
      Address Coverty reported issue about dereferencing a NULL pointer · 3d830c00
      Rob Swindell authored
      CID 345291
      It's actually a false positive because if an extension (".suffix") exists in filespec, it must also exist in newfilespec since it's a copy, but whatever. It's better form to check.
      3d830c00
    • Rob Swindell's avatar
      Disable libarchive support for creating/appending bundles · 68d3a0b7
      Rob Swindell authored
      libarchive apparently cannot be used for in-place modification of (e.g. adding files to) existing archives, so if a bundle already exists, this code would over-write it with a new archive containing just the latest packet. Issue reported by acn (IMZADI) via DOVE-Net.
      
      I could and might create an update_archive() function which extracts and re-creates an archive with additional files, but since I don't have that yet, just disable this for now and always use an external archive utility to create or update bundles (so again, an "Archive" configuration is required in your sbbsecho.ini file, which you most likely already have).
      68d3a0b7
  2. Jan 13, 2022
  3. Jan 12, 2022
  4. Jan 11, 2022
    • Rob Swindell's avatar
      Allow maximum uploaded filename length to be configured · e913daad
      Rob Swindell authored
      Default to 64 characters. Maximum value is 65535 characters, but filenames larger than 64 characters may be problematic (e.g. searching for them, displaying them, security concerns), so only increase with caution. Shorter values are fine, but 0 will just revert back to the default.
      e913daad
    • Rob Swindell's avatar
      Log unallowed/illegal filenames in quotes · 2709bf62
      Rob Swindell authored
      Prefixed or trailing white-space characters would be hard to discern without this.
      2709bf62
    • Rob Swindell's avatar
      Include some statistics about the release · afed2cc3
      Rob Swindell authored
      These git diff stats are a bit misleading as a lot of files were removed from the git repo and some 3rd party libraries were added.
      afed2cc3
    • Rob Swindell's avatar
      loadfiles() will perform liberal filename matching when len > 12 chars · 3a3c889b
      Rob Swindell authored
      As discovered while making the Synchronet v3.18b feature video (https://www.youtube.com/watch?v=_IWzIV0_sZ4), when only a shortened version of a long filename is displayed (e.g. due to 80 column terminal width limitations), trying to download that filename by specifying the filename at the Download File(s) Filespec [All Files]: prompt can be problematic.
      
      For example (as seen in the video), the file "SyncTERM-1.1-setup.exe" is displayed as "SyncTERM.exe" (on an 80-column terminal), yet trying to download "SyncTERM.exe" (or "syncterm.exe") using the 'D'ownload command would fail to find a file with that name (understandably, but frustratingly so).
      
      This change will transform the requested filename-to-load if it is at least 12 characters in length and contains no wildcards (* or ?), to include a filename extending wildcard: "filename.txt" will become "filename*.txt" and "longfilename" will become "longfilename*".
      
      For requested filespecs of NULL (all files) or specs containing wildcards or specs (filenames) less than 12 characters in length, no filespec transform takes place: so trying to list/download "a" doesn't match "apple.txt".
      3a3c889b
  5. Jan 08, 2022
  6. Jan 07, 2022
  7. Jan 05, 2022
  8. Jan 04, 2022
    • Rob Swindell's avatar
      The simpler fix to issue #317 (nested DIZ files) · 2cecda8c
      Rob Swindell authored
      By extracting with with_path=true, the file_list matching won't match the nested DIZ files.
      2cecda8c
    • Rob Swindell's avatar
      Add overwrite argument to extract_file_from_archive and Archive.extract · 45ab903f
      Rob Swindell authored
      Previously, extracted files were always overwritten (so that is the "default" for Archive.extract() and mostly what I'm specifying in the C/C++ code by default now), but this caused a problem with DIZ extraction: archives that contained multiple DIZ files (e.g in sub-directories), the last to be extracted would be used. A maximum of 3 DIZs can be extracted, so it would usually be the 3rd DIZ in the archive if there were that many.
      
      Another solution would be to *only* extract DIZ files from the root of the archive and I should look into that as well, but the always-overwrite behavior also seemed to be wrong, so that *also* needed fixing (allow caller to control behavior).
      
      This fixes issue #317, at least for archives where the root DIZ exists *before* any nested DIZ files. I'll have to try and create a purposeful archive to test the other conditions (where the root DIZ would appear *after* the nested DIZ(s)).
      45ab903f
    • Rob Swindell's avatar
  9. Jan 03, 2022
  10. Jan 02, 2022
Loading