Skip to content
Snippets Groups Projects
  1. Dec 30, 2020
    • Rob Swindell's avatar
      Connection and logon linked lists need re-init for every recycle · 7a331c29
      Rob Swindell authored
      Each list mutex is destroyed in the call to listFree() in cleanup(). Without a call to listInit(), the mutex is not recreated and thus the lists are no longer mutex-protected after a recycle. No negative consequences were observed from this issue, but a potential issue it is (was).
      7a331c29
  2. Dec 29, 2020
  3. Dec 28, 2020
  4. Dec 27, 2020
  5. Dec 25, 2020
  6. Dec 24, 2020
  7. Dec 23, 2020
  8. Dec 22, 2020
    • Rob Swindell's avatar
      Remove dynamic HTML index support from FTP server · 22e8d2e3
      Rob Swindell authored
      The days of browsers rendering HTML served-up via FTP are over, so remove this feature. This also removes all JavaScript support from the FTP server and that is a bit odd as it was one of the first Synchronet components for which I added JS support.
      
      Removing this feature was pretty painless; much easier than adding it was. The main motivation was less cruft to port to the file base in the works. There should be no more references to 00index.html anywhere at this point. Bye bye cool feature, we'll miss you.
      22e8d2e3
    • Rob Swindell's avatar
      Comment block update. No code change. · 791b6b33
      Rob Swindell authored
      791b6b33
    • Rob Swindell's avatar
      A little more ctype (isdigit isalnum) cleanup · e1d21b25
      Rob Swindell authored
      A couple of stragglers here, the isalnum() call caught by an MSVC exception.
      e1d21b25
  9. Dec 21, 2020
    • Rob Swindell's avatar
      Fix next-forced-exclusive event time calculation · fda749ac
      Rob Swindell authored
      Jump the time forward (in 24-hour chunks) to find the next date/time the event will run rather than just adding 24-hours and assuming it's an event that runs every day (of the week or month) at a specific time.
      
      Also, expose the next-run-date/time for an event as a new `next_run` property for `xtrn_area.event[]` (in `time_t` format) for easier debugging of these kinds of issues.
      Also expose the error log level as a new property: `error_level` while we're here.
      fda749ac
    • Rob Swindell's avatar
      af5f7e9c
    • Rob Swindell's avatar
      We don't actually have/use nspr.h for Windows builds · 65cddbc7
      Rob Swindell authored
      We only use NSPR to build libmozjs, not to build sbbs. So define our own MIN and MAX macros if they're not already defined (e.g. from sys/param.h on *nix). Such a simple can o' worms, but wormful can it was.
      65cddbc7
    • Rob Swindell's avatar
      f9a14b5d
    • Rob Swindell's avatar
      Update to previous fix for REP packing · 43062b2e
      Rob Swindell authored
      Thanks to TRMB for being the guinea pig, I see now that REP packets can't be opened in append mode because we write and then seek back and write some more in msgtoqwk(). Oops.
      43062b2e
    • Rob Swindell's avatar
      If minimum password length is > 8, use that length for random password · 6bcb8227
      Rob Swindell authored
      length... for WitNik.
      6bcb8227
    • Rob Swindell's avatar
      Fix 18 year old bug with updating/appending existing REP packets · 355f9712
      Rob Swindell authored
      18 years, 10 months ago I introduced a bug whereby .MSG files in outgoing REP packets were *always* truncated before newly-exported messages were added. Even though the log message would say "Updating /path/to/HUBID.REP" (rather than the usual "Creating ...") it was actually truncating the .MSG file, thus discarding any existing messages that were not previously successfully sent (!). I'm not sure what the problem was I was trying to solve at the time (some "Unix .rep creation bug") - but the change I made at the time was most definitely was not the correct fix. :-(
      
      How I noticed this problem was the HEADERS.DAT Conference Number check I added to qwk_parse_header_list() back in August of 2019. I've been catching/logging those errors here on Vertrauen and collecting *.rep.bad files from occasional QWKnet node-submitted REP packets, but I didn't look into the cause until today: the HEADERS.DAT and VOTING.DAT files were being correctly appended even though the .MSG file was being truncated, so the files would be out-of-sync and this was the root-cause of the crossed-up message bodies/headers seen on DOVE-Net a year or more ago and apparently also the cause of occasionally lost messages from QWKnet (e.g. DOVE-Net) nodes.
      
      To trigger this bug from the node side, you'd have to create a REP packet with one or more message in it and then fail to send it to your hub (e.g. VERT), for any reason. And then when you attempt another pack/call-out, the previously packed messages would be lost and the HEADERS.DAT file would contain stale/out-of-sync information. 
      
      To simplify things, I'm now just using fopen(..., "ab") (append, binary) - fnopen() should not be needed when opening files in the temp_dir. In append mode, no subsequent fseek(..., SEEK_END) should be needed, so don't do that. And use fprintf() for its intended purpose.
      355f9712
    • Rob Swindell's avatar
      Comment header block update. Nothing else. · e6f0b668
      Rob Swindell authored
      e6f0b668
    • Rob Swindell's avatar
      Don't log errno info for ERR_CHK errormsg() calls · 1c1bd94f
      Rob Swindell authored
      The errno (global error number) information is not relevant for any sbbs "checking" type errors.
      Also, use safe_strerror() for thread-safe errno descriptions.
      1c1bd94f
  10. Dec 20, 2020
Loading