Skip to content
Snippets Groups Projects
  1. Jan 25, 2022
  2. Jan 23, 2022
  3. Jan 22, 2022
    • Rob Swindell's avatar
      Handle duplicate names and aliases better · 0026d313
      Rob Swindell authored
      So some cute user (mine@demon.com) created a new user account on Vertrauen with the alias and real name of "Rob Swindell". Funny.
      
      Now, duplicate user aliases are already and always forbidden (even those that just vaguely match an existing alias) - everyone expects those to be unique. And we already forbid new user real names to match an existing user alias (check_name() enforces this and we use that when checking new user real names too), however, nothing prevented a new user account's alias from matching another existing user's real name. And this is a problem:
      
      1. This new/fake user could post a message or send an email/netmail and it would appear to possibly come from the other/original user (we do have options to send mail and post messages using real names)
      
      2. Received email for real names is supported and if enabled, this second account could be used to intercept mail for the original/first account if it was receiving mail for the original/real user's real name.
      
      So disallowing a new user's real name to match an existing alias fixes one problem. 
      However, systems *can* be configured to allow duplicate real names (which is convenient for QWKnet accounts, for example) and so we needed another solution for that problem: meet the 'O' restriction. This restriction flag will prevent a user account from posting messages no sub-boards that require real names. New user accounts that have a duplicate real name (the same as another user account's real name), will automatically be assigned the 'O' restriction flag. Systems that don't allow duplicate real names wouldn't have this issue in the first place.
      
      Scripts that allow the creation of new user accounts might need some updating to match this security logic.
      0026d313
    • Rob Swindell's avatar
      Call can_user_post() rather than manual checks · 5609326f
      Rob Swindell authored
      Eliminate some redundant code. Use the userdat lib function provided for this purpose.
      5609326f
    • Rob Swindell's avatar
      Remove some commented-out code · 5614de95
      Rob Swindell authored
      Posting restrictions are handled one QWK-message at a time (and have been for a long time). No actual change here.
      5614de95
    • Rob Swindell's avatar
      Fix issue that prevent "-syslog" option from being used (on *nix) · 0abcf980
      Rob Swindell authored
      Fixed a couple sprintf() buffer overflow warnings/issues.
      0abcf980
    • Rob Swindell's avatar
      fbf61445
  4. Jan 20, 2022
  5. Jan 19, 2022
  6. Jan 18, 2022
  7. Jan 17, 2022
  8. Jan 16, 2022
    • Rob Swindell's avatar
      cd588ff0
    • Rob Swindell's avatar
      Add JS properties to assist with web-access to filebase · db0607ca
      Rob Swindell authored
      file_area.web_vpath_prefix
      file-metadata-object (return value of FileBase.get()).vpath
      db0607ca
    • Rob Swindell's avatar
      Correct JSDOCS for get_path, get_size, and get_time methods · 546fabe4
      Rob Swindell authored
      These methods also (optionally) accept a file-meta-object as an argument.
      546fabe4
    • Rob Swindell's avatar
      Add support for web request path aliases (defined in web_alias.ini) · 96e1bedc
      Rob Swindell authored
      Similar to the ctrl/ftpalias.cfg file, the new ctrl/web_alias.ini file (optional) can be used to map a portion (the first portion, only) of a web request path to a different physical or virtual path. For example, I'm using it to map:
      /Synchronet/ = /files/main/sbbs/
      for filebase access to my main->sbbs directory of Vertrauen's filebase using a /Synchronet/* web request (i.e. for slightly prettier or shorter custom URLs, if desired).
      96e1bedc
    • Rob Swindell's avatar
      Add direct filebase access from the web server (optional) · b035257e
      Rob Swindell authored
      By setting SCFG->File Options->Web File Virtual Path Prefix to something (e.g. "/files/"), all HTTP or HTTPS requests to the Synchronet Web Server with request paths beginning with this prefix will be interpreted as filebase access requests (with full access control enforcement). This is configured here (in SCFG) rather than, say, the [web] section of sbbs.ini, because I have plans for the terminal server to use this prefix to generate Web-URLs for files to display or email to users.
      
      Currently, only requests to *files* (for download) are supported (no index generation, file information, etc. and definitely no upload support). Full access control (using HTTP auth, not cookies) is used for libraries and directories with controlled access. Credits are deducted and awarded and uploaders are notified of downloads, as one would expect. Requests to any dynamic-web-content files (e.g. .SSJS, .XJS, etc.) will be treated as static file download requests (no script will be executed).
      
      I'm reusing the same virtual path parsing logic from the FTP server (moved to the userdat lib), so the virtual path to a file for download would be, for example, http://yourdomain/files/lib/dir-code/filename.ext
      
      The main motivation for this feature is: FTP-links in email and web pages are just not useful to many users these days and I don't think that sysops should have to rely on a SSJS web UI (e.g. ecWebv4, cool as it is), to provide web-access to the filebases. Using this feature, you can share simpler/shorter web links to your files that will be more enduring.
      b035257e
  9. 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
  10. Jan 13, 2022
Loading