• src/sbbs3/mailsrvr.c

    From Rob Swindell (in GitKraken) to Git commit to main/sbbs/master on Tue Feb 21 16:52:12 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/ce90be9ea7fcacddfd60628c
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix corrupted RFC822 msg headers when a header field was > 1024 chars

    When sending an SMB message header via SMTP or POP3, some header fields (lines) could potentially be longer than 1024 and yet sockprintf() was limited to sending 1024 bytes (actually 1022 plus CRLF). This could result in some messages not being sent correctly: header field truncated, not CRLR-terminated, and notably resulting in MIME message contents not being decoded properly in a message viewer/reader. Example (Content-Type is part of the previous header field/line):
    x-ms-exchange-antispam-messagedata-0:
    =?us-ascii?Q?cm9T1Q9G65VC/lKTTqhODKhy5lHT2y6WWMb/WyvJ+EeGEwYmY7ILhzE3yfNM?=
    =?us-ascii?Q?KeFWN9T/PqHBya1plKf/sHgaw0iRmI7Hq+u9Dp4bG8OqdniKQlK+Aa27oXMd?=
    =?us-ascii?Q?Hly6OEYaSu7jbhGGY89LF0gyRVqquqxkaMfpKvG+h4cQnnu4Tl8YAKeE39a2?=
    =?us-ascii?Q?lHW3372ulmb9jvvZU72J2RtZYkuoIr+Wsqhfyuj39wTZ/+C4qKCsYrmTxrki?=
    =?us-ascii?Q?fBZ4gMPzWkrcWAr7zPcXBg8bphJJB8VJFUjQyksA3EG4dtH8+TZeEcNNBmHf?=
    =?us-ascii?Q?oCGnV9wHr9HszzrSkkZ2GGyh3QZLHAVDNe7wDXSy7HJttZugf9kNqKGeaYQL?=
    =?us-ascii?Q?TpljH1aHPe7MiSP9Dmp/xHQ/DWQOZDx5guNS+iMciMt5p5ad+SkQye0hWRhd?=
    =?us-ascii?Q?usHvpllclzIee6lxJ0VSPAzHGlAOhtOolrHdDB2ODjvkEzU7L2Fj2f5x7p9q?=
    =?us-ascii?Q?9d6sUgSz7vZVx8yyR3KPq3jIX0QUnl0xr2Mix9xcmMNcg0yFLPcznqBdLVa8?=
    =?us-ascii?Q?IC7j0+8oy4BjYxr8Z3elxMC2JKq13gPYgR95cwm6hMDiZbMB4EW/J1uJhD/I?=
    =?us-ascii?Q?RIIqTZ+Ywt8nKOfXj6/a9Aauf0wN71QKKA+in7KY9oksIhkUGvWOrtJwkVDL?=
    =?us-ascii?Q?Q2UFrBBJyQHJgumj5Y+bG8FDk/55IfyV9XYEcsdLL4bCF+HX4QPHZCw4P+li?=
    =?us-ascii?Q?bRvN+UxOO8hgXVkgB1q8mNJ62yQuaj0AContent-Type: multipart/alternative;
    boundary="_000_SN6PR07MB454477F4C32C66D48BA0B02187A09SN6PR07MB4544namp_"

    Solved by using asprintf() instead of snprintf() for dynamic string formatting and allocation in one go. Using realloc() to expand the buffer for the appended/required CRLF.
  • From Rob Swindell (in GitKraken) to Git commit to main/sbbs/master on Mon Feb 27 17:30:35 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/b19288125fb9470836cf50af
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Reject SMTP session from any client that sends illegally-long lines

    Log a warning message and send a "500 Line too long" before disconnecting any SMTP client that sends lines > 998 characters in length. Technically, we can handle lines up to 1023 characters, but then we could get out of sync with the client if it sends exactly 1023 chars and then a new-line char (which we would interpret as a blank line, separating the message header and body) - so just punt the client who doesn't obey the rules of the protocol.
  • From Rob Swindell (on Debian Linux) to Git commit to main/sbbs/master on Mon Feb 27 17:32:16 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/7611f92f4057dae1dd11878a
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Resolve new GCC printf-format warning in new log message text
  • From Rob Swindell (in GitKraken) to Git commit to main/sbbs/master on Mon Feb 27 18:33:56 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/4c6cc08369da690cae967264
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Handle illegally-long received SMTP lines better

    SMTP commands have a shorter limit (510 versus 998) and the body text line limit needed to account for dot-stuffing.
  • From Rob Swindell (on Debian Linux) to Git commit to main/sbbs/master on Thu Mar 2 01:11:32 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/2852540e7b592e32195f03b8
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix false FORGED mail header 'FROM' field detection/rejection

    Pretty much any From field that contains an '@' in the username portion
    was subject to comparison to the full email address, but clearly some of
    these rejected emails were not forge attempts:

    'Chris @ StubHub' vs 'events@mail.stubhub.com'
    'Eric S. Raymond (@esr)' vs 'gitlab@mg.gitlab.com'

    Fixed by requiring that the sender name is actually a well-formed Internet email address using smb_netaddr_type(), which was also recently improved to
    be more accurate.

    Unrelated change: include reverse-path (email address for bounces) in ILLEGALLY-LONG body and header line log messages (usually SPAM from what
    I can tell).
  • From Rob Swindell (on ChromeOS) to Git commit to main/sbbs/master on Mon Apr 3 19:54:50 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/0f4325eece0e65872ce008c9
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Publish SMTP[S] user authentications to the action/login/PROTOCOL topic
  • From Rob Swindell (on Debian Linux) to Git commit to main/sbbs/master on Sun Jun 4 11:45:29 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/fb11866c6dadbd6a8d861b77
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix potential NULL pointer deref in rblchk(), observed via segfault lately

    I'm not sure why this one only started popping up now, but h_addr_list is a NULL-terminated list and it makes perfect sense that the first entry could
    be the NULL-terminator.

    gethostbyname is obsolete/deprecated and we should address that in a separate commit.
  • From Rob Swindell (on ChromeOS) to Git commit to main/sbbs/master on Sun Jun 4 11:46:13 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/1f7cd77aef826d3256ae4e2e
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Check return value of fread()
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Wed Nov 1 15:23:13 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/f689169a82124f18d5e4ccd9
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Close socket after logging the "REFUSED SESSION from blacklisted server" msg

    Fixes issue #670
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Wed Dec 13 19:11:22 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/a35cb08fb0a5f69bbe11f010
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Better resource (e.g. client thread) management

    My mail server was suddenly and inexplicably creating thousands of SMTPS
    client threads, each with a unique remote IP address, and each eventually failing with the rather obscure log message (from cryptlib):
    dbg 'Cannot read item from object' (-41) setting session active

    Eventually (after not long, really), the server would run out of resources
    and fail in weird and wonderful ways (can't malloc, can't create JS runtime
    or context, etc.). The max_clients limit (100, as I have it set) wasn't being effectively-imposed on SMTPS connections.

    The root-cause: the active_clients (counter) wasn't incremented until *after* the cryptlib/TLS setup for SMTPS connections and SMTPS/TLS connections can
    take a long time to fail, resulting in a vulnerability to an effective denial of service attack.

    Raise the minimum severity of all cryptlib/TLS log messages from Debug to
    Info.

    Create wrappers for smtp_thread() [now smtp_client_thread()] and pop3_thread [now pop3_client_thread()] that handle basic resource management (thread counters, active client counters, the client socket).
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Wed Dec 13 22:26:09 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/7d9c8624f7d9c5e0fd1cd5a7
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix extra decrement of active_clients (added in previous commit)

    And fix some use of CRYPT_UNUSED instead of cryptlib session ID.
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Thu Dec 14 16:39:05 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/f43e852a170d27afdf6e33a4
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    SMTP mail server wasn't RFC 4954 compliant for "AUTH PLAIN" logins

    The base64-encoded credentials can either be supplied with the AUTH PLAIN command or in response to a 334 server-challenge. We only supported the
    former form and logged a warning ("Missing AUTH PLAIN argument") when we received the latter. No warning is logged now and the appropriate server-challege is sent and the response accepted and base64-decoded and
    parsed as before.
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Sat Dec 16 23:31:15 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/952a25f17aa96355e4c92e95
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    More commonization of "CLIENT BLOCKED" log messages
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Mon Jan 22 19:40:40 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/62b866c243d9a8201c55b6fa
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    If cryptInit() fails, just disable TLS support

    But continue initializing/running for other non-TLS protocol support.
  • From Deuc╨╡ to Git commit to main/sbbs/master on Wed Feb 7 14:00:48 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/fa5ae01239d3488112dae489
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Some more printf formats... mostly off_t but also a size_t and an time_t
  • From Deuc╨╡ to Git commit to main/sbbs/master on Wed Feb 7 14:11:24 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/76055e3d35e795f4ceeefb0e
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Add missing header?
  • From Deuc╨╡ to Git commit to main/sbbs/master on Wed Feb 7 14:20:25 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/f44997570fb796b34f99285f
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Aha! XP_PRIsize_t is a *size*, not a *type*.
  • From Deuc╨╡ to Git commit to main/sbbs/master on Wed Feb 7 14:35:39 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/aaa82ca4c9a5aac286603272
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Oh damn, this is an off_t + size_t + 1... talk about the wild west of types!

    Both long long and long are reasonable for some mixes of platforms.

    Just punt, cast the whole thing to int64_t, and forget about it.
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Thu Feb 15 22:55:31 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/5cc3767eb1d56bb0db294f86
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Use fnopen() for auto-retry when opening dnsbl_exempt.cfg for append
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Sat Sep 28 01:22:04 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/5564eb67e84e55e8a6dcbb0e
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    MIME-encode words that contain non-ASCII values in text header fields

    (e.g. to, from, subject) ... when transmitting to other hosts (e.g. POP3 clients or other SMTP hosts).

    For messages that contain CP437 or UTF-8 chars in these fields and were *not* imported into the BBS via SMTP or POP3, these header fields would be transmitted to other hosts with the raw CP437 or UTF-8 chars, thus violating POP3 and SMTP protocols and likely resulting in garbage displayed in message readers.

    The fix is to encode (using MIME "encoded words", per RFC 2407) where necessary.

    Since moderm mail clients (e.g. Thunderbird) don't see to support CP437
    charset in MIME encoded header fields, always translate to UTF-8 first.

    We probably should be translating message body text to UTF-8 as well, for maximum compatibilty with modern mail readers, but this commit doesn't address body text issues with CP437-encoded content. That'll come later.
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Sun Nov 3 03:21:51 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/42e9eb8bf7c0d7f338b46d1c
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Allow email.can to contain email sender/recipient *names* as well as addresses

    Allow filtering/blocking email based on the name portion of email header fields.
  • From Rob Swindell (on Debian Linux) to Git commit to main/sbbs/master on Mon Nov 11 18:49:51 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/e6d8053f3457d19d0e456ddb
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Report bigger "size of message" in POP3 LIST response

    For messages that have no body, we'd report 0. But RFC 1939 says this value
    is supposed to be "the exact size of the message in octets" <sigh>. This
    would include header fields, so while we can't know the exact RFC822 size, adding the msg's hdr.length to these values gives size > 0 for messages
    with no body text and this enables the Apple iPhone Mail app to download
    the message (fixing issue #822).

    Part two of this fix is to provide a blank line of message text when there
    is none. This changes the message displayed in the iPhone Mail app from:

    "This message cannot be displayed because of the way it is formatted.
    Ask the sender to send it again using a different format or email program.

    text/plain"

    to (the much nicer):
    "This message has no content".
  • From Rob Swindell (on Windows 11) to Git commit to main/sbbs/master on Mon Nov 11 18:56:30 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/bb3485a9c4e2c36a07aaf512
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Include the size of the message headers in the POP3 STAT response too

    I suppose if we only had messages with no body text, this value could be 0
    (not accounting for any headers) and thus throw a client off.

    So consider this as part of the fix for issue #822.
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Tue Dec 10 16:27:55 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/d8cfb5796705016a316aa670
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Add/use errprintf() to reduce severity of repeated error messages

    Part of solution for issue #619 (for the mail server)
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Tue Dec 24 03:52:05 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/496ee36a1466613b1df876df
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Log the text.dat string for the reason an SMTP posted message was denied

    Include a little more detail in 550 responses sent to clients too
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Thu Jan 9 17:56:28 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2be1b6292192878b2cb58148
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Abort POP3 LIST/UIDL loops upon socket-send failure

    Log a debug-level message after loading messages upon POP3 login.
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Tue Feb 4 19:16:47 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/92bc95d205a5d44aa56c9278
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix bug that broken mail received header RBL check

    9 years ago in commit dbbfabf1b133b4116d69d4a13c38acfe1607a500
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Tue Feb 4 21:25:43 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/3b7d4567e7a96b759e51a4fa
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Don't MSVC warning suppression
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Sat Feb 22 19:46:07 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2f83c0537c4fa8ed5293f9ad
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Use inet_addrtop to convert socket addresses to strings to handle endianness

    Socket addresses are stored in network byte order (big endian) and this sprintf() logic here assumed little endian.

    This was a regression introduced in either commit 29b93c32 or
    commit db8bb221 (in the past 2 weeks) when we stopped using (some)
    of the deprecated IP address/resolution functions and fixed the socket address storage to always be in network byte order (as is the norm).

    This should fix the issue recently reported in IRC by BrokenMind.
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Sat Feb 22 19:53:19 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/fd8f94fdadcbaaf68406888c
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix previous commit: startup.outgoing4 is not a union xp_sockaddr *
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Sat Feb 22 20:32:13 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/58612f3f4edf878793d920c1
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Don't use deprecated function gethostbyname() in rblchk()

    Eliminated one more use of inet_ntoa() here while at it.
  • From Rob Swindell (on Debian Linux)@rob@synchro.net to Git commit to main/sbbs/master on Sat Feb 22 20:36:26 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/4f75c8149f4b16e8f7c82f4c
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix use of inet_ntop() in rblchk()

    Aren't void pointers fun!?!
  • From Rob Swindell (on Debian Linux)@rob@synchro.net to Git commit to main/sbbs/master on Sat Feb 22 21:56:17 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/fd4ccdbd522c0831d0e15eef
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    inet_ntoa() -> inet_ntop() conversion

    inet_ntoa() is deprecated
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Wed Jul 2 18:22:49 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/0aefed55746f0c2bd3167edb
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Pad protocol string to 5 chars in log messages

    ... thus aligning IP addresses in log messages for easier viewing with
    non-prop fonts.
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Wed Jul 2 18:42:41 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/05e4146d51acbc5eb76d8a46
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Don't condense white-space in all log messages

    More padding of protocol field (which won't get condensed to a single space now) in log messages.

    For whatever the reason was I started condensing white-space for all mail server log messages (and only the mail server), I don't recall, we may want to re-add white-space condensing to those particular situations (log messages) again.
  • From Rob Swindell (on Debian Linux)@rob@synchro.net to Git commit to main/sbbs/master on Sat Aug 9 15:34:32 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/f6818df7dfa2a36a9bc2f0fc
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Logout SMTP relay user upon disconnection

    This just appears to have been omission since the POP3 server did log out the user (and SMTP logins are more rare than POP3).

    Fix issue #961
  • From Rob Swindell (on ChromeOS)@rob@synchro.net to Git commit to main/sbbs/master on Sat Aug 9 17:50:18 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/9a62d9a16f24240fc3bbafc0
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Sychronize the SMTP auth log output messages (formats)
  • From Rob Swindell (on ChromeOS)@rob@synchro.net to Git commit to main/sbbs/master on Sat Aug 9 17:53:29 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/0bbd2f1669be22a3dcfef2c6
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Include "emails sent today" stat in SMTP logged-in log messages

    Mainly for debugging reasons right now, but useful
  • From Rob Swindell (on Debian Linux)@rob@synchro.net to Git commit to main/sbbs/master on Sat Aug 9 19:12:38 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/04ccf2e43bc7889e1b0e0554
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    If already SMTP-authenticated, fail subsequent AUTH commands with 503 response

    RFC 4954:
    After an AUTH command has been successfully completed, no more
    AUTH commands may be issued in the same session. After a
    successful AUTH command completes, a server MUST reject any
    further AUTH commands with a 503 reply.
  • From Rob Swindell (on Debian Linux)@rob@synchro.net to Git commit to main/sbbs/master on Sun Aug 10 21:40:43 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a0986da745f32be87e8d0200
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Read user record before checking email sent per day

    Just in case there was a concurrent user session that was sending mails after this user logged-in and last read their user record.

    This also handles the user session crosses midnight scenario for this server (correctly zeroing the appropriate user fields).
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Sat Aug 30 15:59:27 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/03404e9d93d482c358b0fc16
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Use FCLOSE_OPEN_FILE macro to clean-up some redudant code

    No functional change.
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Sat Aug 30 16:59:32 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/42167d4d30dd9ebaad0603a6
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Don't archive SPAM-tagged messages received via SMTP for local users

    Follow up improvement for issue #969
  • From Rob Swindell (on Debian Linux)@rob@synchro.net to Git commit to main/sbbs/master on Sun Aug 31 21:42:24 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/f820805f0a5b552c677de048
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix CID 584833
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Mon Sep 22 21:59:51 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/002a93442116fcec7a8940c7
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix stack corruption in check_email_addr()

    MSVC build
    Run-Time Check Failure #2 - Stack around the variable 'name' was corrupted.

    Caused by "off by one" length calculations in calls to parse_mail_address() writing one extra byte to the nul-terminated 'name' string in extreme (nevarious?) situations.
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Sun Dec 7 00:09:33 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/e689f9c4b727c8eeaca3a151
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Ignore (but log an error) when DNSBL server returns IPv4 address != 127.0.0.x

    sbl.spamhaus.org returns 127.255.255.254 when attempting to query using a public/open resolver as Deuce discovered.

    See https://www.spamhaus.org/resource-hub/dnsbl/using-our-public-mirrors-check-your-return-codes-now/
    for details.