• src/sbbs3/mailsrvr.cpp

    From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Jul 27 02:09:08 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/7e492e0eeb8e9cd553fb6a2f
    Modified Files:
    src/sbbs3/mailsrvr.cpp
    Log Message:
    mail: only auto-detect an IPv4 DNS server address

    dns_getmx() takes the server as a DWORD, so an IPv6 address cannot reach
    it: resolve_ip() returns INADDR_NONE, the send is abandoned with the
    message left for a later attempt, and "INVALID DNS server address" is
    logged. get_dns_server() picked at random from every address getNameServerList() reported, so a host with resolvers of both families
    failed on some sends and not others -- and on Windows the list can now
    include IPv6 servers where it never could before.

    Filter to the addresses the look-up can use, and say so when a detected
    list holds none of them, rather than leaving the caller to report an empty address as invalid.

    The precision on the adjacent sprintf() was one greater than the room the buffer has for text.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Mon Jul 27 02:10:11 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/b19bdde0674b55673b4d1005
    Modified Files:
    src/sbbs3/mailsrvr.cpp
    Log Message:
    mailsrvr: log the offending command on invalid POP3 message numbers

    The POP3 LIST/UIDL, RETR/TOP, and DELE handlers logged only the parsed
    message number when rejecting an out-of-range argument. When the argument
    is missing or non-numeric, strtoul() yields 0, so the log always reads
    "INVALID message #0" with no indication of what the client actually sent
    -- exactly the case where the command text is needed to diagnose it.

    Log the command line and the mailbox message count, matching the detail
    already present in the successful-retrieval log message.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)