Skip to content
Snippets Groups Projects
  1. Feb 17, 2025
  2. Feb 16, 2025
  3. Feb 15, 2025
    • Rob Swindell's avatar
      Ignore MKD/XMKD commands from users (pretend successful) · b4a4a524
      Rob Swindell authored
      For non-Guest users (without the 'U' restriction), if the FTP client
      sends the MKD or XMKD command, just return the proper succcess result
      and do nothing (don't log as a hack attempt or return a syntax error
      result).
      
      Some FTP clients (e.g. Reolink Doorbell camera) just always try to
      blindly create a directory before uploading files, but if that command
      fails (as we would), the upload is aborted. So pretend to create the
      diretory whether it already exists or not, just so the client will
      proceed with the upload.
      
      For G or U restricted users, treat (log) as hack-attempt, as before.
      b4a4a524
  4. Feb 14, 2025
  5. Feb 13, 2025
  6. Feb 12, 2025
  7. Feb 11, 2025
  8. Feb 09, 2025
  9. Feb 08, 2025
    • Rob Swindell's avatar
      Change target processor back to IA32 (no FP instruction set extensions used) · 5090c361
      Rob Swindell authored
      <@Deuce> DigitalMan, also, as it turns out, Windows 7 was the last version of
      Windows that supported processors without SSE2.
      
      Since we're targeting Windows Vista and Windows 7 still, don't require FP
      extensions that SBBS really won't get much benefit from anyway.
      5090c361
    • Rob Swindell's avatar
      Native JS methods must return JS_FALSE for (Error) exceptions to be thrown · 6ed4a05f
      Rob Swindell authored
      I discovered the first case when FileBase.get_path() failed, but didn't
      (immediately) throw an exception. Reviewing the other instances of
      JS_RepoertError() calls found several that either reported a garbage (e.g.
      NULL) string value or returned JS_TRUE.
      
      The design pattern used a little in js_socket.c probably should be used more:
      
      	if (JS_IsExceptionPending(cx))
      		return JS_FALSE;
      	return JS_TRUE;
      
      ... but that's more of a refactor than I had the stomach for right now.
      6ed4a05f
  10. Feb 06, 2025
  11. Feb 05, 2025
  12. Feb 04, 2025
    • Rob Swindell's avatar
      Remove deprecated projects (with JS equivalents) · b6f1741b
      Rob Swindell authored
      No need to continue to carry this baggage
      
      dupefind is another candidate for removal (soon)
      b6f1741b
    • Rob Swindell's avatar
      Add debug-level log messages when import_netmail() returns a non-zero value · ff1ebae7
      Rob Swindell authored
      To help debug any situations where import_netmail() might silently fail
      (though I don't anticipate there are any, Accession suggested there was).
      ff1ebae7
    • Rob Swindell's avatar
      bbs.load_text() can now be used to load text*.ini file · b5b06c7c
      Rob Swindell authored
      For sysops that don't want to use the user's chosen language to auto-load
      alternate text strings, they can specify some other filename from the ctrl
      directory (so long as it ends in .ini). I wouldn't use text.*.ini however,
      since those filenames are assumed to be language translations and will
      automatically appear in user_settings.js as a user-selectable language.
      text-*.ini would be fine though as an alternate text.ini filename:
      not colliding with text.ini or text.*.ini
      b5b06c7c
    • Rob Swindell's avatar
      Fix random menu/display file selection when some files can't be displayed · ca770865
      Rob Swindell authored
      When one or more files that match the menu file pattern can't be displayed
      (e.g. the user's terminal is not wide enough or there's any other menu file
      open/read error), pick another random menu file and try displaying that one,
      until either a menu file has been displayed successfully or all files
      (matching the pattern) have been attempted.
      
      For example, you have text/menu/random1.c80.msg and random2.msg, if the first
      file (random1.c80.msg) is selected at random but the user's terminal isn't
      at least 80 columns wide, another file will be picked at random. Since only
      random2.msg remains in the list (matching the pattern "random*"), that's the
      only file that will always be displayed.
      ca770865
  13. Feb 03, 2025
    • Rob Swindell's avatar
      Fix ERROR 2 (...) in putnode.cpp ... opening "node.exb" · 1677e749
      Rob Swindell authored
      Need the O_CREAT mode flag.
      
      Broken with commit d116f362: I started using opennodeext() (created 5 years
      ago with commit 710bb23c) rather than nopen(), and I didn't realize that
      opennodeext() was not including O_CREAT.
      
      Once the ctrl/node.exb was created (by anything), this error wouldn't happen.
      And it'd only be an issues for systems with text.dat's that included custom
      node status (NodeAction*) strings. Good catch Nelgin!
      1677e749
    • Rob Swindell's avatar
      Correctly center lines of text that contain @-codes, after @center@ · 0178043e
      Rob Swindell authored
      @-codes weren't expanded before the text length calculation, so the centering
      logic (offset in the user's terminal screen) would usually be incorrect as
      pointed out by Nelgin in #synchronet when we were discussing the |C @-code
      modifier (which is to center an @-code value in a field, not the screen).
      
      This issue was a known limitation of the fix to issue #418 (commit 8987150b)
      but now that we have the expand_atcodes() function (hooray!), this is an
      easily solvable problem.
      
      Note: we're now calling center() withOUT the 'msg' parameter set to true,
      which means the @center@ code goes back to the previous (to issue #418 fix)
      behavior of just using bputs() for the centered text (we don't need the
      recursive call to pustmsg() to support @-codes any longer). This was the only
      reason that center() grew the optional 'msg' parameter so we likely can remove
      that option/feature at some date.
      0178043e
    • Rob Swindell's avatar
      Add new I-restriction, to disallow receipt of Internet mail to specific users · 8c2f53e4
      Rob Swindell authored
      (mail received from authenticated SMTP clients is still allowed)
      
      Previously, the M-restriction also prevent receipt of Internet mail from
      authenticated SMTP clients, so separate that restriction into the new 'I'
      restriction.
      
      This fixes issue #865
      8c2f53e4
    • Rob Swindell's avatar
      Actually use the (first) shell we found that the user meets the requirements · b6b3e890
      Rob Swindell authored
      As discovered and reported by Deuce and Nelgin
      b6b3e890
    • Rob Swindell's avatar
      Throw a JS exception if do_cryptInit() fails · cb0740b1
      Rob Swindell authored
      Catch cryptlib version mismatch gracefully
      cb0740b1
    • Deucе's avatar
      Remove accidental whitespace · e10260bc
      Deucе authored
      No functional change.
      e10260bc
    • Rob Swindell's avatar
      Correct JSDOCS for TLS PSK properties · 7b548fd3
      Rob Swindell authored
      The wrong version nubmer was specified for these new properties - these
      properties were added in v3.20c which is represented numerically as 32002 in
      decimal.
      
      The description of the tls_psk_id property was missing socket_prop_desc.
      7b548fd3
Loading