• src/sbbs3/websrvr.cpp

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Fri Dec 12 23:42:12 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/b644e8ea3be1fca6d9f36346
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    Resolve GCC warning

    warning: comparison of integer expressions of different signedness:
    `ssize_t' {aka `long int'} and `size_t'

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sat Dec 13 15:27:56 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/637e4a3d2e0f8367bfdc641c
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    Hack to avoid GCC warning (passing string constant, e.g. "", isn't allowed)

    warning: argument 2 null where non-null expected [-Wnonnull]

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Dec 21 01:25:31 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/d7473b5234deb90d10d3e42c
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    Fix warning about too many parenthesis.

    I guess I can't just toss them in the code at random to avoid warnings
    anymore. :(

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sat Dec 27 01:17:57 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c50e5e9536d6796b3d57e18a
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    Fix off-by-one bug in size argument passed to strlcpy()

    As noted in strlcpy man page: "a byte for the NUL should be included in size."

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thu Feb 5 16:10:03 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/4281523d6b7b0d41514ac7ff
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    If VHOSTS and ONE_HTTP_LOG options are enabled, log VHOST instead of HOST value

    As suggested in the Virtual Hosts section of https://httpd.apache.org/docs/2.4/logs.html, replacing the first argument
    with the vhost value makes the (single/combined) log file output more useful with virtual hosts.

    This is to address issue #1062

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Thu Feb 5 20:24:44 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/f3cae23fec4fe6dee108db25
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    Fix likely harmless typo in previous commit

    caught via GCC warning: operation on `host' may be undefined

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Fri Feb 6 21:35:09 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/52e1ee602a8a3f6439e168e3
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    Enable periodic cleanup and logging of the rate-limiting status

    ... using debug-level log messages.

    Ideally these details would be reported via MQTT (instead or in addition)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sun Feb 8 22:34:34 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/5778df870947ebf898c48d13
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    Revert "If VHOSTS and ONE_HTTP_LOG options are enabled, log VHOST instead of HOST value"

    This reverts commit 4281523d6b7b0d41514ac7ff52a999292c9d2d26.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thu Feb 12 01:16:47 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/511ea86a92674be9e91acbc2
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    The Refer [sic] and User-agent custom log format directives need NULL protect

    These pointers can be null or blank, so do the CLF '-' thing

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thu Feb 12 01:22:23 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/d7a5b7e1dd969e9972e1a41e
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    The Custom Log Format directives are case-sensitive (%h != %H)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Mon Feb 16 21:09:27 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/b210bfee35785deaeb57abdb
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    Add %p (server port) to custom log format supported directives

    <nelgin> DigitalMan would you mind implementing %p for server port please.
    The apache vhost combined logfile uses it.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Tue Feb 24 16:28:36 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/fd0b9d2bc21b13fa9840e190
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    Remove (long-deprecated) access.ars file support (use webctrl.ini instead)

    Fix issue #1083

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sun Mar 8 05:28:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/0c0cb7c473285ab8c71f209a
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    Allocate extra byte for NUL-terminator in read_post_data()

    This looks like an off-by-one bug in this one call to realloc(), not adding one for the NUL terminator in this case.

    Potential cause of issue #1094

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Mar 8 20:47:44 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/07ed41c51fd336b9d7c5d9b4
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    Add NUL to end of post data file

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Tue Aug 4 22:12:21 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/0ca5676148730160b440cf02
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    websrvr: always read the file header when resolving a file-vpath request

    4de1032086 (payroll-20-queue, 2026-08-01) skipped the header record for
    a file in a free directory, on the grounds that loadfile() zeroes the
    cost there and download_is_free() short-circuits on the same flag before
    any credit comparison.

    The cost is not the only field that comes from the header. The index
    record stores the filename truncated to SMB_FILEIDX_NAMELEN (64 bytes, extension preserved), and smb_getfile() points file.name at it, so at
    index detail file.name was that truncated form. Names longer than the
    limit are not hypothetical: one in this file base is 78 characters. The
    name reaches user_downloaded_file(), which embeds it in the uploader's
    "file downloaded" notification, and mqtt_file_download(), which
    publishes it.

    The transfer and the credit accounting survived it, because deriving an
    index name from an already-truncated one is idempotent and the record
    still resolved, but the name recorded and announced was wrong.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sat Aug 8 18:05:04 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/0791f3e3bfcdb04afeda7134
    Modified Files:
    src/sbbs3/websrvr.cpp
    Log Message:
    Don't hand a CGI the web server's descriptors (#1174)

    The CGI child sets up stdin, stdout and stderr and then execs with everything else this process had open still in hand. Close the rest, as externals now
    do. Nothing above stderr is a CGI's business: the client socket it reads
    from, where it has one, has already been duplicated onto stdin.

    Verified against a listen socket left deliberately inheritable, standing in
    for the descriptors this cannot otherwise reach - the ones opened inside libraries, where there is no call site to mark. Before, the CGI inherited it; after, the CGI starts with stdio alone.

    The exec-failure message now goes to stderr directly, which is the pipe the parent already reads and logs as a CGI error. errprintf() is not usable after the close: it is not fork-safe, and its descriptors are among those closed.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net