From
rswindell@1:103/705 to
CVS commit on Tue Jul 30 03:20:21 2019
src/smblib smbdefs.h 1.118 1.119 smblib.c 1.204 1.205 smblib.h 1.96 1.97 smbstr.c 1.35 1.36
Update of /cvsroot/sbbs/src/smblib
In directory cvs:/tmp/cvs-serv29245
Modified Files:
smbdefs.h smblib.c smblib.h smbstr.c
Log Message:
Define some new SMB hfield types:
- REPLYTOLIST (a mime-decoded version of RFC822REPLYTO)
- RECIPIENTLIST (a mime-decoded version of RC822TO)
- RFC822CC (a mime-encoded version of SMB_CARBONCOPY)
- RFC822ORG (a mime-encoded version of SMB_ORGANIZATION)
- RFC822SUBJECT (a mime-encoded version of SUBJECT)
The RFC822* hfields are only created when necessary: there was a MIME-encoded hfield value received (e.g. by the mailsrvr) for the corresponding hfield.
The to_list and replyto_list convenience pointers now point to the MIME-decoded (plain text) version of these header fields, since that's what everyone normally wants to see and use.
The MIME-encoded flavors (RFC822*) are stored for relaying via SMTP or POP3
and retaining all data (no normalization or decoding).
A new auxattr bit has been defined: MSG_HFIELDS_UTF8 (happens to be the same
as P_UTF8 - snicker). This bit will be set in msg.hdr.auxattr when one or more hfield values are in UTF-8 format. When this flag is not set, all hfield values are assumed to be CP437 for backwards compatibility.
Since we are using a single flag, all header fields have to use the same encoding (either CP437 or UTF-8). When the hfield values are all plain ASCII, there's no difference between CP437 and UTF-8 and the MSG_HFIELDS_UTF8 flag
is not expected to be set, though setting it shouldn't hurt. The RFC822* hfield values should also include US-ASCII text (using MIME-encoding for any 8-bit charsets).
smb_get_hfield() function prototype change: the 3rd argument changed from
an hfield_t* to an hfield_t**, so that the caller can actually change the hfield type (in memory) if they wish. Nobody seemed to be passing any non-NULL 3rd argument value, so this changed appeared safe to make.
--- SBBSecho 3.08-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)