• src/sbbs3/mailsrvr.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Sunday, February 14, 2021 23:17:15
    https://gitlab.synchro.net/main/sbbs/-/commit/8c28acaba05ac4cb96d245e4
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix exception (crash) when sending file attachments

    The new subject line parsing (with quoted-filename support) had a NULL-pointer deref built-in.

    Also fixed a few Coverity-reported issues.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, February 18, 2021 23:00:43
    https://gitlab.synchro.net/main/sbbs/-/commit/27079b332cf5f21ef40fe1da
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Recognize DNB blacklist exempted email addresses in From fields

    Previously, any DNS blacklist-exempt email addresses (in ctrl/dnsbl_exempt.cfg) had to be used in the mail-envelope (the "MAIL FROM:" address) - that doesn't work for all senders that use re-mailers or whatever where you end-up with some *bounce* address as the envelope-sender.

    So now, clear the DNSBL results when the From header field is parsed and the sender was in fact an exempt sender. Note: the Subject line will still contain the SPAM tag if the subject was parsed first (came earlier in the message header). May need to address this limitation in the future if it turns out to be a problem (!).

    Lowercase the [smtp|smtps]spy.txt log file.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Friday, February 19, 2021 12:52:15
    https://gitlab.synchro.net/main/sbbs/-/commit/e9329f6cdac406bf079f4347
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Correct the parse_mail_address() argument order

    Issue introduced in previous commit to this file. The name arg(s) comes before the address arg(s).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Saturday, March 06, 2021 13:31:51
    https://gitlab.synchro.net/main/sbbs/-/commit/427e1cb4f8a502955459b0f9
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Don't send default MIME Content-type for msgs with attachments

    The file attachments, when MIME-encoded, already include a MIME Content-type header field, so don't send another. This should fix issue #233.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Saturday, April 24, 2021 00:28:03
    https://gitlab.synchro.net/main/sbbs/-/commit/c21d535dc7b127e029c0203a
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix observed crashes at end of pop3_thread() and smtp_thread()

    "startup" was being deref'd after the caller free'd it because these thread functions were calling thread_down() before calling mail_close_socket(), which deref's startup which was subject to a race condition.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Saturday, July 31, 2021 13:00:34
    https://gitlab.synchro.net/main/sbbs/-/commit/02448be248a5393ec95d4eaa
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    When logging sender address forgeries, log the address being forged

    Helpful for debugging issues with this forgery detection logic (if there are any).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Saturday, July 31, 2021 13:00:34
    https://gitlab.synchro.net/main/sbbs/-/commit/56bc209648a1a198b6973384
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Don't allow unauthenticated DNS-blacklisted clients to post on subs

    Eliminate some of the infrequent SPAM posts to the SYNCPROG conference. Maybe make this behavior configurable?

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tuesday, November 16, 2021 18:20:55
    https://gitlab.synchro.net/main/sbbs/-/commit/3c55d333a2103630ec874457
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Include twit-listed sender name in quotes in log message

    Since mail server log messages have their white-space condensed, it was not obvious why some sender's name would match a twitlist.cfg line that filters names beginning with a space: "\ *" because the initial space of the sender's name was condensed/combined with space before it in the log message.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Thursday, December 30, 2021 14:31:31
    https://gitlab.synchro.net/main/sbbs/-/commit/82da48b3887373503a3ee17c
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    If SMTP-transmit-relay is enabled by no relay server, disable

    log an error message and disable the transmit-relay in this detected-misconfiguration case.

    Fixes issue #315 reported by Nelgin.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Monday, February 07, 2022 20:10:13
    https://gitlab.synchro.net/main/sbbs/-/commit/427599b46e19dc809a5fb268
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix compile issue in previous commit. <blush>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tuesday, March 01, 2022 20:30:39
    https://gitlab.synchro.net/main/sbbs/-/commit/bff956a191a7427dc0acafe4
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix host name or IP address-based smtpspy.txt logging

    Caught by Coverity-scan (use of uninitialized variable, 'str') :-)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Monday, March 07, 2022 17:53:41
    https://gitlab.synchro.net/main/sbbs/-/commit/304f72934c3e401e7cc92ea8
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Fix issue with smtpspy-listed names added in previous commit

    p (which is used after this) points into 'str', so we can't use 'str' as a temporary variable here.

    ---
    þ 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 Saturday, September 28, 2024 01:22:04
    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.

    ---
    þ 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 Sunday, November 03, 2024 03:21:51
    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.

    ---
    þ 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 Monday, November 11, 2024 18:49:51
    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".

    ---
    þ 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 Monday, November 11, 2024 18:56:30
    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.

    ---
    þ 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 Tuesday, December 10, 2024 16:27:55
    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)

    ---
    þ 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 Tuesday, December 24, 2024 03:52:05
    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

    ---
    þ 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 Thursday, January 09, 2025 17:56:28
    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.

    ---
    þ 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 Tuesday, February 04, 2025 19:16:47
    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

    ---
    þ 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 Tuesday, February 04, 2025 21:25:43
    https://gitlab.synchro.net/main/sbbs/-/commit/3b7d4567e7a96b759e51a4fa
    Modified Files:
    src/sbbs3/mailsrvr.c
    Log Message:
    Don't MSVC warning suppression

    ---
    þ 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 Saturday, February 22, 2025 19:46:07
    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.

    ---
    þ 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 Saturday, February 22, 2025 19:53:19
    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 *

    ---
    þ 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 Saturday, February 22, 2025 20:32:13
    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.

    ---
    þ 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 Saturday, February 22, 2025 20:36:26
    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!?!

    ---
    þ 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 Saturday, February 22, 2025 21:56:17
    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

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