• src/smblib/smblib.c

    From rswindell@1:103/705 to CVS commit on Sat Mar 3 20:07:14 2018
    src/smblib smblib.c 1.172 1.173
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/home/rswindell/sbbs/src/smblib

    Modified Files:
    smblib.c
    Log Message:
    Include hex values of invalid base/header IDs in the error message.


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Mar 4 14:59:41 2018
    src/smblib smblib.c 1.173 1.174
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/home/rswindell/sbbs/src/smblib

    Modified Files:
    smblib.c
    Log Message:
    Fix potential bug:
    If caller doesn't zero-initialize smb_t, then the 'lock' member could've
    been non-zero (garbage) and some functions would then not lock the SMB
    header, used for protecting against corruption from multiple process or thread modification of the same base.


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Mar 4 16:35:43 2018
    src/smblib smblib.c 1.174 1.175
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/home/rswindell/sbbs/src/smblib

    Modified Files:
    smblib.c
    Log Message:
    smb_addmsghdr() will now confirm the index file length against the status.total_msgs value: if they don't match, don't add header & index
    to the message base, it's apparently corrupted and we're only going to
    make things worse as smb_putmsgidx() will fail (after we've stored the hdr) with an "invalid index offset" error.


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu Mar 8 20:53:58 2018
    src/smblib smblib.c 1.175 1.176
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/home/rswindell/sbbs/src/smblib

    Modified Files:
    smblib.c
    Log Message:
    A couple of the smb last_error strings had "index" and "header"
    conflated. Added " file" as well.


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat Jul 7 21:02:26 2018
    src/smblib smblib.c 1.177 1.178
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/home/rswindell/sbbs/src/smblib

    Modified Files:
    smblib.c
    Log Message:
    smb_lockmsghdr() - if the 'locked' smb instance property is already set,
    don't try to (re)lock it, just return SMB_SUCCESS.

    I honestly don't recall why I made this change, but it makes sense, so I'm committing it finally.


    --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Mon Oct 22 21:38:53 2018
    src/smblib smblib.c 1.181 1.182
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/tmp/cvs-serv16447

    Modified Files:
    smblib.c
    Log Message:
    Removed stray (extra) semicolon - no effect.


    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat Feb 16 04:09:15 2019
    src/smblib smblib.c 1.183 1.184
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/tmp/cvs-serv29070

    Modified Files:
    smblib.c
    Log Message:
    Performance optimization: When performing sequential index or header reads,
    the read buffer may be utilized more efficiently if you do *not* perform an (unnecessary) seek operation just before the read. By eliminating unnecessary seeks in smb_getmsgidx() and smb_getmsghdr(), I was able to reduce the time required to load 9000+ index and header records over a network (Samba/CIFS) share from 15+ seconds to less than 5.

    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Mon Feb 18 23:11:53 2019
    src/smblib smblib.c 1.185 1.186
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/tmp/cvs-serv17040

    Modified Files:
    smblib.c
    Log Message:
    Fixed a couple of function return-value comments.

    --- SBBSecho 3.06-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue Mar 19 16:02:02 2019
    src/smblib smblib.c 1.186 1.187
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/home/rswindell/sbbs/src/smblib

    Modified Files:
    smblib.c
    Log Message:
    Use DEFFILEMODE for file creation mode in smb_addcrc() - another potential
    for file permissions issues when smblib creates *.sch files.


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat Apr 6 01:00:14 2019
    src/smblib smblib.c 1.187 1.188
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/tmp/cvs-serv10033

    Modified Files:
    smblib.c
    Log Message:
    smb_copymsgmem() fix:
    Did not clear/set convenience pointers (e.g. msg.subj), so they would point
    to the source message hfield_dat buffers which may be freed or garbage. Apparently nothing that used smb_copymsgmem() used the convenience pointers (before now), so it hasn't been a problem before now. <shrug>
    It became a problem becaue I'm going to use this function in js_put_msg_header to fix a problem where the underlying smbmsg_t representation is not current even after MsgBase.put_msg_header() is used.


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun Apr 28 20:56:48 2019
    src/smblib smblib.c 1.193 1.194
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/tmp/cvs-serv7937

    Modified Files:
    smblib.c
    Log Message:
    Actually set and clear the smbmsg_t.forward_path (SMTPFORWARDPATH) convenience pointer - apparently this has never actually been used before.


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sun May 5 04:06:52 2019
    src/smblib smblib.c 1.197 1.198
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/home/rswindell/sbbs/src/smblib

    Modified Files:
    smblib.c
    Log Message:
    Clear the new convenience pointers: text_subtype and text_charset
    in clear_convenience_ptrs() - otherwise they can be double-freed when the message (smbmsg_t) is copied with smb_copymsgmem().


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Mon Jul 8 00:16:10 2019
    src/smblib smblib.c 1.199 1.200
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/tmp/cvs-serv18855

    Modified Files:
    smblib.c
    Log Message:
    Increment SMBLIB version 2.61 (added new function: smb_msg_is_utf8).


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Wed Jul 17 20:09:12 2019
    src/smblib smblib.c 1.200 1.201
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/tmp/cvs-serv17444

    Modified Files:
    smblib.c
    Log Message:
    Address warnings reported by Visual Studio 2017 - Windows XP (v141_xp) toolset

    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat Jul 20 12:10:27 2019
    src/smblib smblib.c 1.201 1.202
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/home/rswindell/sbbs/src/smblib

    Modified Files:
    smblib.c
    Log Message:
    Fix some new GCC warnings about printf arg type mismatches.


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Sat Apr 4 15:11:36 2020
    src/smblib smblib.c 1.205 1.206
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/home/rswindell/sbbs/src/smblib

    Modified Files:
    smblib.c
    Log Message:
    Include more details in "illegal header length increase" error msg.


    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue Apr 14 01:22:54 2020
    src/smblib smblib.c 1.206 1.207
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/tmp/cvs-serv6132

    Modified Files:
    smblib.c
    Log Message:
    On Windows, smb_addmsg() was slow because smb_updatethread() was slow:

    So on Windows, calling unlock() on a file region that you don't have locked, incurs a delay. Likewise, calling lock() on a file region that already have locked incurs a delay. These delays were seriously throttling message imports on Windows (e.g. importing echomail or QWK packets). What should take a few seconds, was taking minutes with noticeable delays. This code has been performing redundant locks/unlocks for over 15 years, so I can only conclude that the performance penalty is a new behavior introduced in recent version(s) of Windows.

    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue Apr 14 01:50:32 2020
    src/smblib smblib.c 1.207 1.208
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/tmp/cvs-serv11249

    Modified Files:
    smblib.c
    Log Message:
    Some very old, yet inconsistent, behavior of smb_hfield_add() could pretty easily result in a message body being added to a message base with no accompanying message header: if the header data was 0-length, the hfield_dat was not actually allocated and the applicable smbmsg_t convenience pointer was not set accordingly. This had the side effect that if a message were to be imported with a blank recipient ("To" field), the header was not created at
    all (to support mutliple header, single body msgs, i.e. bulkmail).
    The other functions that set the convenience pointers do not treat 0-length header field data special, so this was inconsistent behavior.
    Most message types (e.g. networks) don't want 0-length "to" fields, but that shoudl be enforced somewhere else, not here.

    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Thu May 7 12:30:23 2020
    src/smblib smblib.c 1.208 1.209
    Update of /cvsroot/sbbs/src/smblib
    In directory cvs:/tmp/cvs-serv3248

    Modified Files:
    smblib.c
    Log Message:
    smb_hfield_add_netaddr():
    Don't strip the "user@" portion of a *NETADDR header field if the specified net-type is NET_NONE.

    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Wed Dec 9 00:42:43 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/05104f134188b139a6f3e5ba
    Modified Files:
    src/smblib/smblib.c
    Log Message:
    When a message has been forwarded, invalidate the "to" ext/net ptrsThe convenience pointers to_ext and to_net need to be invalidated (nullified) if we
    are going to allow forwarding from local email boxes to network mail and keep all the original message header fields in tact.The "Forwarded" field must now be added *before* any new recipient information (local user extension or network address of the forwarding destination).This is part of the solution to request #83, #108, and #141.
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to main/sbbs/master on Sun May 2 17:14:43 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/ba1f38cc4126d388c6a897ef
    Modified Files:
    src/smblib/smblib.c
    Log Message:
    When adding a msg/file header, remove the DELETE attributeWhen moving or renewing files, they're first removed and then added and they were being added with the DELETE attribute set. The filenames are displayed in red when staged for deletion/removal, so that's how I noticed. Oops.
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows)@1:103/705 to Git commit to main/sbbs/master on Mon May 8 18:07:50 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/2ee37e4ee9e91ddb2d790f72
    Modified Files:
    src/smblib/smblib.c
    Log Message:
    Fix the relocation of enlarged message headers in smb_putmsghdr()The first commit of this feature would leave the base corrupted for a coupleof reasons (.sha file wasn't opened, using modified header when re-writing theold header to set the DELETED attribute). Both fixed.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Mon May 8 18:09:07 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/b5c5630c1ccd675a559dd98d
    Modified Files:
    src/smblib/smblib.c
    Log Message:
    More detail in error strings in smb_getmsghdr()
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows)@1:103/705 to Git commit to main/sbbs/master on Mon May 8 18:16:05 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/4985797d2b07ca169326ab6f
    Modified Files:
    src/smblib/smblib.c
    Log Message:
    Streamlined code: we need only one check for hyper-alloc'd msg base hereNo functional change.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Fri Dec 29 17:10:28 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/47fe4a60247147dc217ad02b
    Modified Files:
    src/smblib/smblib.c
    Log Message:
    Fix stale comments (msg.offset became msg.idx_offset a couple years back).
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)