- Feb 20, 2019
-
-
rswindell authored
(JS bbs.post_msg()): If the WM_QUOTE mode flag is *not* set, then it will auto- create the quote file (quotes.txt) and add the WM_QUOTE mode bit before calling sbbs_t::writemsg(). So if existing JS scripts call bbs.post_msg(..., WM_QUOTE) with a custom-created quote file (e.g. with msg tails), that'll still work as before (e.g. DDMsgReader.js). bbs.email() and bbs.netmail() now support an optional reply_header_object argument which works like bbs.post_msg(). These methods (and the underlying C++ methods: sbbs_t::email(), netmail(), inetmail(), all auto-create the quote file now, when the WM_QUOTE mode flag is *not* set. The auto-created quotes.txt now includes the plain-text version of MIME-encoded messages. the bbs.post_msg(), email(), and netmail() methods now all support reply header objects that came directly from bbs.get_msg_header() *or* copies of such header objects (but the auto-quoting feature won't work when supplied this type of header object). So if passed a header object returned from bbs.get_msg_header(), we can now use the message base (for auto-quoting) and the underlying msg storage directly (no JS parsing necessary). This is what the new js_GetMsgHeaderObjectPrivates() function is used for. js_ParseMsgHeaderObject() (and the underlying parse_header_object() function) now supports either an actual internally-generated msg header object (e.g. returned from bbs.get_msg_header()) or one that is a copy or hand-constructed. quotemsg() no longer tries to get a copy of the msg index/header. It shouldn't have to since we can now get to underlying msg storage in the js_msgbase.c via js_GetMsgHeaderObjectPrivates(). quotemsg() now reads only the plain-text portion of MIME-encoded messages. As part of this effort, I modernized the method prototypes using default argument values (e.g. WM_NONE for wm_mode arguments) and removed some extraneous WM_EMAIL and WM_NETMAIL specifications (these wm_mode flags are automatically added by the sbbs_t::email() and *netmail() functions). savemsg() now *does* support reply-IDs/thread-linkage via the additional 'remsg' argument (when non-NULL). Replaced some use of nulstr with NULL. Replaced more boilerplate SMB open code with calls to smb_open_sub().
-
- Jan 04, 2019
-
-
rswindell authored
251 response which was made optional in RFC2821 - to address privacy concerns.
-
- Dec 12, 2018
-
-
rswindell authored
- include errno description (strerror output) - exclude (redundant) node number
-
- Oct 22, 2018
-
-
rswindell authored
to warning - this is normal/expected (e.g. when mail base is being backed-up).
-
- Oct 17, 2018
-
-
rswindell authored
-
- Jul 30, 2018
-
-
rswindell authored
mail "To" and "From" header fields of the form: user name <user@addr> or "user name" <user@addr> - the email.can filtering would not work
-
- Jul 20, 2018
-
-
rswindell authored
-
rswindell authored
The "official" log line format is (as of right now at least): "[socket] [protocol] [user/host-ID] [! if error]message" Hopefully I can remember that when I add new log messages. Also setting the protocol to SMTPS, POP3S, SEND/TLS, when appropriate and passing it around to pretty much any function that can log a message. Added debug-level log output when the mail sever is sending message body text (every 100 lines).
-
- Jul 19, 2018
-
-
rswindell authored
The "max lines" parameter value passed to sockmsgtxt was using the cryptlib session number - this would truncate sent email bodies to some seemingly random number of lines. Introduced in rev 1.622. Also added a couple of helpful log lines to let the log-reader know if/when TLS was successfully negotiated for sendmail sessions.
-
- Jun 11, 2018
-
-
rswindell authored
(previuosly) silently fail - in the sendmail_negotiate() and pop3_thread(). If get_ssl_cert() can return -1 withOUT setting the estr argument to a non-NULL value, then we could still have silent failures (TBD).
-
- Apr 18, 2018
-
-
rswindell authored
error messages (in the POP3 server) as the msg.hdr.number is zeroed by smb_getmsghdr() and potentially invalid when returning an error.
-
rswindell authored
error log message as the header is zeroed in this function and thus the message number previously read from the index, lost (zeroed) and useless.
-
- Apr 07, 2018
-
-
rswindell authored
format not a string literal and no format arguments [-Wformat-security]
-
- Apr 06, 2018
-
-
rswindell authored
warning: format not a string literal and no format arguments [-Wformat-security] sockprintf(sock,sess,(char*)resp); sockprintf(socket,session,sys_error);
-
rswindell authored
and resolve the resulting warnings.
-
rswindell authored
resolve the resulting warnings.
-
rswindell authored
Was this pasted from somewhere else?
-
rswindell authored
- Since rev 1.556, mailproc_to_match[] would only ever contain one mail processor (index) value, even if the RCPT TO address matched multiple mail processor "To" keys in mailproc.ini, so only the first-matching mail processor (with a "To" key) would be executed for the msg. - mailproc_match, meaning the destination was a non-passthrough external mail processor, in which case the destination (RCPT TO) address may *not* match a valid local user account, would be set for *passthru* mail processors potentially resulting in the following error (and an undelivered mail message): !SMTP can't deliver mail to user #0 only set mailproc_match to a valid mail proc index if the recipient matches a non-passthru mail processor.
-
- Apr 04, 2018
-
-
rswindell authored
-
- Apr 01, 2018
-
-
rswindell authored
-
- Mar 25, 2018
-
-
rswindell authored
-
- Mar 24, 2018
-
-
rswindell authored
or not).
-
- Mar 23, 2018
-
-
rswindell authored
- lower log level (raise severity) of "Waiting for ..." msgs from Debug to Info - log a message when done waiting (for clients, threads, etc.) - only one #### log line per termination event
-
- Mar 19, 2018
-
-
deuce authored
mail_close_socket() also destroy the session, and take pointers to set the socket to INVALID_SOCKET, and the session to -1.
-
- Mar 12, 2018
- Mar 11, 2018
-
-
rswindell authored
msgs and SPAM database lookup.
-
- Mar 10, 2018