Skip to content
Snippets Groups Projects
  1. Jan 18, 2019
    • rswindell's avatar
      Log a warning instead of an error when unpacking a QWK REP packet which · 48f95164
      rswindell authored
      contains a message hdr with a block length less than 2. Some versions of
      Mystic apparently generate these REP packets and the errors are annoying
      and there's really nothing the sysop can do about it but report back to
      the user (or QWKnet node) that their packets contained some invalid
      message headers.
      48f95164
  2. Jan 17, 2019
  3. Jan 15, 2019
  4. Jan 13, 2019
  5. Jan 12, 2019
    • rswindell's avatar
    • rswindell's avatar
      Cruft removal: EmbeddedJavaScriptExt (.bbs) settings - this option was hidden · 5e7a9d99
      rswindell authored
      anyway (here) and never implemented in the web server.
      5e7a9d99
    • rswindell's avatar
      Cruft removal: JavaScript Support and Identity Lookup checkboxes. · 18bd0a4e
      rswindell authored
      Oddly, the Identity Lookup checkbox was obscurring (hiding) the Hostname
      Lookup checkbox, so that becomes visible/available again.
      18bd0a4e
    • rswindell's avatar
      For Unix-domain sockets (e.g. localspy sockets on *nix), use the [unix] · 6d7d9563
      rswindell authored
      section of the sockopts.ini (if there is one) rather than the [tcp] or
      [udp] sections. This resolves the errors:
            term xxxx !ERROR 95 setting socket option (TCP_NODELAY, 1) to 1
      which started appearing after the TCP_NODELAY option was added to the
      [tcp] section.
      6d7d9563
    • rswindell's avatar
      Bug-fix: Socket.connect() would return true (success) even though a · 7685c9d7
      rswindell authored
      TCP connection actually failed. This bug only appeared to affect *nix
      systems. This bug appears to be very old, introduced in rev 1.74 of
      this file (Mar-2003) by yours truly.
      From the Linux 'connect' man page:
      EINPROGRESS
                    The  socket  is  nonblocking  and the connection cannot be i
                    completed immediately.  It is possible to select(2) or poll(2)
                    for completion by selecting the socket for writing.  After
                    select(2) indicates writability, use getsockopt(2) to read the
                    SO_ERROR option at level SOL_SOCKET to determine whether
                    connect() completed successfully (SO_ERROR is zero) or
                    unsuccessfully (SO_ERROR is one of the usual error codes listed
                    here, explaining the reason for the failure).
      
      We weren't doing the 'getsockopt(SO_ERROR)' part.
      7685c9d7
    • rswindell's avatar
      Cosmetic change only: · 8d649b6c
      rswindell authored
      Wrap all read_*_cfg() and write_*_cfg() calls with simple functions that
      display popup messages that the Reading or Writing is being performed.
      There was already copy/pasta everywhere for the Reading ... cnf files, but
      nothing for writing.
      8d649b6c
    • rswindell's avatar
      Fix some new issues due to use of GLOB_MARK: · c683fd1d
      rswindell authored
      getfname() on a path that ends in a slash, returns an empty string pointer.
      Fixed-up some logging output around listing creations.
      c683fd1d
    • rswindell's avatar
      Optimized all directory listings and index generation: · 6906257d
      rswindell authored
      - use GLOB_MARK to eliminate calls to isdir() in loops
      - use stat() rather than calls to flength() and fdate()
      - don't call getfiledat() if getfileixb() failed
      - profiling info-level log msgs added for index/listing generation, e.g.
        "detailed listing (3459 bytes) of /main/SBBS (45 files) created in 2 seconds"
      
      Fixed bug with indexes generated for directories with the
      "Access Files Not In Database" option enabled, files not in database were
      excluded from the generated index (e.g. 00index, 00index.html).
      6906257d
    • rswindell's avatar
      Optimized getfiledat(): · 09f5e87e
      rswindell authored
      rather than calling both flength() and fdate() (which both call stat()), just
      call stat() once and use the result for both file size and date/time.
      09f5e87e
  6. Jan 11, 2019
    • rswindell's avatar
      Stop parsing/converting when reading a Ctrl-Z (CPM EOF char): used to mark · 367077dd
      rswindell authored
      the beginning of a SAUCE record and the end of very old MS-DOS text files.
      Added support for ESC[1;1f/H (home cursor) and ESC[0J (clear to EOS) sequences
      (converted to the equivalent in Ctrl-A codes).
      Output Ctrl-A characters in uppercase, as they were documented and as is
      common practice.
      Covert ESC[xB and ESC[xD to the appropriate Ctrl-A sequences rather than
      converting to ASCII ctrl chars (CR, LF, BS).
      367077dd
    • rswindell's avatar
      Add missing (but rarely used) Ctrl-A sequences: · 9a0faf76
      rswindell authored
      Ctrl-AJ (clear to EOS)
      Ctrl-A` (home cursor)
      9a0faf76
    • rswindell's avatar
      A partial retraction of the Ctrl-AZ interpretation changes introduced on · b2412964
      rswindell authored
      Oct-14-2018:
      It turns out, PabloDraw actually inserts a Ctrl-AZ sequence at the end of .msg
      (and presumably Synchronet .asc) files it edits - before the SAUCE record.
      This resulted in a printed Ctrl-Z character (arrow pointing right) in most
      terminals when viewing text/menu files created or edited with PabloDraw. :-(
      So, now Ctrl-AZ (uppercase) will revert to the previous definition:
      premature end-of-file (EOF)
      and a Ctrl-Az (lowercase) will output a Ctrl-Z (substitute) character.
      I'm not a big fan of case-sensitive Ctrl-A codes, but frankly, running out of
      chars and I already started this pattern with the Ctrl-AF/f sequences.
      Hopefully there's no existing software that is/was putting Ctrl-Az (lowercase)
      in files, expecting that to trigger a premature EOF. I certainly was not.
      b2412964
  7. Jan 10, 2019
  8. Jan 09, 2019
  9. Jan 08, 2019
  10. Jan 07, 2019
  11. Jan 05, 2019
  12. Jan 04, 2019
  13. Jan 01, 2019
Loading