Skip to content
Snippets Groups Projects
  1. Dec 29, 2024
  2. Dec 28, 2024
    • Deucе's avatar
      At least make the comments correctish. · 77376487
      Deucе authored
      77376487
    • Deucе's avatar
      Hack in initial JXL support · 28190ce0
      Deucе authored
      Uses libjxl, makes the video demo more possible.
      
      Does not yet have a feature test sequence, documentation, support
      in the gmake build system, runtime linking, etc.  Just a quick
      hack.
      
      It also looks like I can parallize the decode, should should also
      help things out.
      28190ce0
    • Deucе's avatar
      Spell static_assert the modern way. · 6bf1deb6
      Deucе authored
      6bf1deb6
    • Deucе's avatar
      Fix syncterm_cache.js · 2760bfe1
      Deucе authored
      It was badly broken, especially with large files... we now don't
      try console.write() unless there's enough space in
      console.output_buffer_space.
      
      On my system (debug build of Synchronet), the most I can push through
      console.write() over telnet is about 1.9MB/s.  My release build of
      SyncTERM can consume about 4MB/s of string data, so Synchronet is the
      choke point in my setup here. (SSH is much worse)
      
      My super-cool demo thing ends up needing about 90 seconds to preload
      all the cache stuff, so it's simply not useable, even locally. :(
      
      If I use client.socket.send(), I can unlock the Synchronet throughput,
      but I can't remember if client.socket is the passthru socket with SSH
      or not... and there's no way to synchronize the socket with the console
      at the end of the send (console has flush(), Socket doesn't, and even if
      it did, it wouldn't flush through to the output buffer).
      2760bfe1
    • Deucе's avatar
      Fix MD5 calculation for cache files over 32k · 2132c3f3
      Deucе authored
      2132c3f3
    • Rob Swindell's avatar
      Update the instructions in comments · 8951f194
      Rob Swindell authored
      8951f194
    • Rob Swindell's avatar
      Fix race conditions around node_socket and node.dab checks · 2d487931
      Rob Swindell authored
      Check and clear/invalidate node_socket while holding the node.dab record
      lock.
      
      This should fix the error reported by kk4qnb (KK4QBN)
      2d487931
  3. Dec 27, 2024
  4. Dec 25, 2024
  5. Dec 24, 2024
  6. Dec 23, 2024
  7. Dec 22, 2024
  8. Dec 21, 2024
    • Rob Swindell's avatar
      Fix off-by-one error in date/time field bit-mask calculation · f9ad15e8
      Rob Swindell authored
      This became apparent when the the LSB of the day got set (an odd
      day). Oops.
      
      This only impacted decoding of date/time, not encoding.
      f9ad15e8
    • Rob Swindell's avatar
      Encode local wallclock (not time_t) in SMB's when_t.time · 445394f9
      Rob Swindell authored
      Increment SMBLIB version to 3.10
      
      Fix issue #845: Changing system/OS time zone, changes dates/times of posted
      messages
      
      Sysops and users shouldn't notice any change unless they change the time zone
      of their system/OS (not accounting changes for daylight/standard time) and
      the result will be that message dates appear the same after such a change.
      
      For backward compatibily, any stored time_t's in msghdr_t.when_written.time
      (i.e. all existing SMB messages) will still be decoded and displayed properly.
      We detect a time_t value by the upper 6 bits being non-zero. When the upper
      6 bits of a when_written.time value are zero, then we know the 'year' is
      stored in the 16-bits before the when_written field (never used bits of the
      netattr field, now part of the when_t structure definition) and the Month,
      Day, Hour, Minute, and Second of the wallclock at the poster's site are
      encoded in the low 26 bits of the time field.
      
      This also eliminates more uses of 32-bit time_t that'll likely start being
      a problem 2038 and really fall over and die in 2106. At least messages'
      posting dates won't have any issue now. The "when_imported" values could use
      a similar treatment someday I suppose - and we could get rid of the
      when_imported.zone value as its not really needed we could use those 16-bits
      for the when_imported.year.
      
      Didn't change anything with filebases (still using time_t's though the
      when_written hdr field isn't used for much with regards to files).
      
      Yes, we could have converted all imported "broken down" message dates to
      UTC and continued to store them as a time_t using timegm() instead of mktime()
      for conversion to time_t, and I considered that. But we would have needed to
      create/use a flag in the message header to indicate such stored date/times
      (since they'd have to go through different adjustment for original time zone
      before display, basically reversing the logic of all the places we display the
      message dates/times using localtime verus gmtime/UTC C RTL functions),
      couldn't just initialize the time with a call to time() upon import of local
      messages (unless the local timezone happened to be UTC). And in the end, we'd
      still have a 32-bit time_t value. So this seemed the better path.
      
      I would have liked to have stored the date fields in a more human readable
      encoding (BCD or decimal, ala isoDate and isoTime_t), but I just didn't have
      the spare bits in the fixed portion of message headers to be wasteful like
      that.
      
      Here's an example from smbutil v of a message header posted after this change:
        when_written     03292595 41E0 Fri Dec 20 18:22:21 2024 PST
        when_imported    6766265D 41E0 Fri Dec 20 18:22:21 2024 PST
      
      Notice the difference in the hex encoding of the date/time between the 2
      header fields: when_imported still uses time_t. The when_written.year value
      isn't output here.
      445394f9
  9. Dec 20, 2024
    • Rob Swindell's avatar
      Change security level 0 to be more forgiving · f867a667
      Rob Swindell authored
      changed from 0 to 1:
       timeperday
       timepercall
       callsperday
       postsperday
       emailperday
      
      There are restrictions to remove access to these features if that's what the
      sysop desires.
      
      This will allow unauthenticated mail clients to post a single message (per day)
      to a sub-board, when there's a posting alias set up (sub:* in alias.cfg).
      f867a667
    • Rob Swindell's avatar
      Include both x64 and x86 binaries in install package · 89422380
      Rob Swindell authored
      ... and auto-choose the right one
      
      Tested on Windows 11 (x64) and Windows7-32
      89422380
Loading