• src/smblib/smbdefs.h smblib.c smblib.h smbstr.c

    From rswindell@VERT to CVS commit on Thursday, July 25, 2019 03:48:27
    src/smblib smbdefs.h 1.117 1.118 smblib.c 1.203 1.204 smblib.h 1.95 1.96 smbstr.c 1.34 1.35
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/tmp/cvs-serv24487

    Modified Files:
    smbdefs.h smblib.c smblib.h smbstr.c
    Log Message:
    Store FidoNet charset control line values as their own (new) SMB hfield type: FIDOCHARSET
    with its own smbmsg_t convenience pointer: ftn_charset.
    this allows greater control over when/how this header field is exported. Constify smb_msg_is_utf8().
    Note that the "Editor" hfield type should hold any FTN "NOTE" control line values (where msg editor details/version are normally propagated over FidoNet).


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Tuesday, July 30, 2019 03:20:21
    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.


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