• src/sbbs3/js_msgbase.c

    From rswindell@VERT to CVS commit on Saturday, February 16, 2019 01:38:30
    src/sbbs3 js_msgbase.c 1.225 1.226
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv24228

    Modified Files:
    js_msgbase.c
    Log Message:
    MsgBase.get_all_msg_headers() performance improvement:
    read the entire index file in a single read operation


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sunday, February 17, 2019 17:14:48
    src/sbbs3 js_msgbase.c 1.226 1.227
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv26214

    Modified Files:
    js_msgbase.c
    Log Message:
    Added support for new(ish) msg header fields: 'editor' and 'columns'.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Tuesday, February 19, 2019 02:13:51
    src/sbbs3 js_msgbase.c 1.227 1.228
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    js_msgbase.c
    Log Message:
    Fix long-standing bug in js_ParseMsgHeaderObject which is only (currently)
    used by js_post_msg() (the JS bbs.post_msg() method when used with the reply_header object argument) - the private data attached to a message
    header object is of type privatemsg_t, not private_t. This caused the dereferences of and assignments to p->smb_result in parse_header_object()
    to corrupt the privatemsg_t->msg memory causing heap corruption (caught
    on Windows debug builds in js_get_msg_header_finalize()) and stack faults (caught on Linux-gcc in parse_recipient_object()). This one was hard to
    find. <whew!>



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Wednesday, March 13, 2019 14:41:06
    src/sbbs3 js_msgbase.c 1.229 1.230
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv7623

    Modified Files:
    js_msgbase.c
    Log Message:
    Rewind the msgbase index file before calling fread(). The fread() would
    fail if the current file pointer (offset) was not currently at the beginning
    of the file. So calling MsgBase.get_all_msg_headers() after previously calling any method that read/seeked the index would cause the reported error:
    "index read (xxxx) failed"



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Friday, March 15, 2019 15:04:01
    src/sbbs3 js_msgbase.c 1.230 1.231
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    js_msgbase.c
    Log Message:
    MsgBase.get_all_msg_headers() is now more tolerant of corrupted msg bases,
    or more specifically, if the index (.sid) file is of an unexpected size
    (too big or too small) handle that situation gracefully.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nightfox@VERT/DIGDIST to rswindell on Sunday, March 17, 2019 15:28:20
    Modified Files:
    js_msgbase.c
    Log Message:
    MsgBase.get_all_msg_headers() is now more tolerant of corrupted msg bases,
    or more specifically, if the index (.sid) file is of an unexpected size
    (too big or too small) handle that situation gracefully.


    That seems to help. Thanks.

    Nightfox

    ---
    þ Synchronet þ Digital Distortion: digitaldistortionbbs.com
  • From rswindell@VERT to CVS commit on Monday, April 01, 2019 13:08:07
    src/sbbs3 js_msgbase.c 1.232 1.233
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv32422

    Modified Files:
    js_msgbase.c
    Log Message:
    Fix the message base corruption caused by previous committed changes to js_put_msg_header (MsgBase.put_msg_header) - we can't free the memory associated with 'gotten' msg header. Just use the header offset from the
    header retrieved via MsgBase.get_msg_header() - for fast lookup.
    Also fixed an innocuous extra increment of 'n' in argv/argc loop.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Friday, April 05, 2019 15:39:31
    src/sbbs3 js_msgbase.c 1.233 1.234
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv21665

    Modified Files:
    js_msgbase.c
    Log Message:
    New MsgBase method: get_index() - returns an array of all message index records (objects, in the same format as returned by the get_mgs_index() method)
    much faster than iterating through a loop, calling the get_msg_index() method for each message. If you want to load messages (e.g. headers, text), filtering by criteria found in the message index (attributes, to/from user, subject CRC) loading a list of indexes and filtering before calling get_msg_header() for the selected messages is much faster than previously available MsgBase object methods (e.g. get_all_msg_headers()). If you don't need to filter the loaded messages (you really want *all* message headers), then get_index() is of no benefit to you, the script-writer. This is most useful for the "mail" msgbase where selective loading of messages is more common.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Friday, April 05, 2019 23:02:38
    src/sbbs3 js_msgbase.c 1.234 1.235
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv10497

    Modified Files:
    js_msgbase.c
    Log Message:
    MsgBase.put_msg_header() now updates the internal (smbmsg_t) representation
    of the message header so that functions that need it (e.g. bbs.show_msg_header) don't use/show stale data. This change requires the updated smb_copymsgmem() which clear/sets message convenience pointers upon copying hfields from one message header to another.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Tuesday, April 09, 2019 10:24:24
    src/sbbs3 js_msgbase.c 1.235 1.236
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv21407

    Modified Files:
    js_msgbase.c
    Log Message:
    Resolve GCC warning: unused variable 'argv'



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Wednesday, April 10, 2019 16:30:18
    src/sbbs3 js_msgbase.c 1.237 1.238
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/home/rswindell/sbbs/src/sbbs3

    Modified Files:
    js_msgbase.c
    Log Message:
    Added msg header 'text_length' property, which is usually the same as 'data_length', but not always (e.g. may include text from some header
    fields, excludes any non-text data fields).
    Mark 'data_length' msg header property as read-only.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Thursday, April 11, 2019 01:08:04
    src/sbbs3 js_msgbase.c 1.238 1.239
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv6537

    Modified Files:
    js_msgbase.c
    Log Message:
    The *_net_addr hfields can have a valid string even when the corresponding *_net_type hfield has a value of 0 (NET_NONE) - according to smbdefs.h.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sunday, April 28, 2019 19:07:14
    src/sbbs3 js_msgbase.c 1.239 1.240
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv9181

    Modified Files:
    js_msgbase.c
    Log Message:
    Add support for new message header fields:
    - to_list (RFC822TO, previosuly unavailable via JS)
    - cc_list
    - replyto_list (RFC822REPLYTO, previously unavailable via JS)

    Added RFC822FROM to the "field_list" array (previously unavailable via JS). Removed SMB_CARBONCOPY from the "field_list" (now duplicated in cc_list).



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Sunday, April 28, 2019 20:46:48
    src/sbbs3 js_msgbase.c 1.240 1.241
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv26854

    Modified Files:
    js_msgbase.c
    Log Message:
    Includes SMTP "Received" header fields in field_list array.
    Refer to the dubious get_msg_body() feature of dot-stuffing as that ("dot-stuffing") and not "rfc822-encoding" - because it isn't.
    dot-stuffing is a requirment of SMTP (RFC*821) and NNTP, not RFC822 (oops).



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Monday, April 29, 2019 23:26:26
    src/sbbs3 js_msgbase.c 1.241 1.242
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv16191

    Modified Files:
    js_msgbase.c
    Log Message:
    Added the (optional) message header object read-only MIME-related properties:
    - mime_version (from the message header, if MIME)
    - content_type (from the messgae header, if MIME)
    - charset (from the plain-text MIME portion content-type header field)



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Wednesday, May 01, 2019 15:18:56
    src/sbbs3 js_msgbase.c 1.242 1.243
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv8956

    Modified Files:
    js_msgbase.c
    Log Message:
    get_all_msg_headers():
    Copy the upvotes, downvotes, and total_votes to the smbmsg_t, replicating
    what is done in sbbs_t::scanposts() - these are used by sbbs_t::show_msghdr() so we need to copy them if we're going to be replicating that functionality (showing up/down votes and score) in message headers shown with bbs.show_msg() and bbs.show_msg_header().


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Thursday, May 02, 2019 15:27:56
    src/sbbs3 js_msgbase.c 1.244 1.245
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv1076

    Modified Files:
    js_msgbase.c
    Log Message:
    Document the message header fields:
    - votes
    - priority
    - delivery_attempts



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Monday, July 15, 2019 23:04:31
    src/sbbs3 js_msgbase.c 1.248 1.249
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv14339

    Modified Files:
    js_msgbase.c
    Log Message:
    Use Spidermonkey's JS_ValueToECMAUint32() rather than our own JS_ValueToUint32() for converting to integers where we may need the full 32 bits.


    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Wednesday, July 24, 2019 00:29:03
    src/sbbs3 js_msgbase.c 1.249 1.250
    Update of /cvsroot/sbbs/src/sbbs3
    In directory cvs:/tmp/cvs-serv22884

    Modified Files:
    js_msgbase.c
    Log Message:
    New read-only msg header property populated by get_msg_header() method:
    - Boolean: is_utf8
    In the case of multi-part MIME messages, this may not be populated
    accurately until the message body is read with the get_msg_body() method.



    ---
    þ 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 Wednesday, December 13, 2023 19:11:22
    https://gitlab.synchro.net/main/sbbs/-/commit/33e1817edbda217eb5d23cbb
    Modified Files:
    src/sbbs3/js_msgbase.c
    Log Message:
    Log the number of bytes that were attempted to be allocated

    ... in malloc error reporting messages

    ---
    þ 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, March 02, 2024 16:15:48
    https://gitlab.synchro.net/main/sbbs/-/commit/82b9cbe85972cfdbd1ff5255
    Modified Files:
    src/sbbs3/js_msgbase.c
    Log Message:
    More use of JS_ValueToECMAUint32 in place of JS_ValueToInt32

    To support the full 32-bit range for things like dates/times, and message numbers (!).

    This should fix issue #732

    Though dates beyond Feb 7 2106 are definitely going to still be an issue. I'll definitley look into solving that by the the 2100.

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