• exec/imapservice.js

    From deuce@1:103/705 to CVS commit on Mon Jan 8 22:43:49 2018
    exec imapservice.js 1.53 1.54
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv18204

    Modified Files:
    imapservice.js
    Log Message:
    Fix a few issues in IMAP handling....

    1) Accept (and ignore) empty lines from remote
    2) Explicitly call the garbage collector to prevent memory hoarding
    3) If we fail to fetch a header, make up a dummy one



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Mar 13 19:25:16 2018
    exec imapservice.js 1.54 1.55
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv27951

    Modified Files:
    imapservice.js
    Log Message:
    Handle an uncommon error a bit better... maybe.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Wed Mar 14 15:48:27 2018
    exec imapservice.js 1.55 1.56
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv32723

    Modified Files:
    imapservice.js
    Log Message:
    It seems many IMAP clients open multiple connections to the server, and
    expect the Seen flags to be coherent across them... support this by leaving
    the users IMAP status file open, and holding a lock on the first byte.

    We now need to flush changes to the status file more often, and we need
    to call file.flush() before unlocking.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Mar 16 08:04:54 2018
    exec imapservice.js 1.56 1.57
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv20031

    Modified Files:
    imapservice.js
    Log Message:
    Pass the base to get_base_code() so that commands such as STATUS that don't have a selected base can use it.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Mar 16 08:24:56 2018
    exec imapservice.js 1.57 1.58
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv22290

    Modified Files:
    imapservice.js
    Log Message:
    Pass the index to operate on to apply_seen.
    Fixes issues with STATUS command.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Mar 16 08:31:33 2018
    exec imapservice.js 1.58 1.59
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv23019

    Modified Files:
    imapservice.js
    Log Message:
    Open the config file unbuffered to help with concurrency.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Mar 16 09:08:35 2018
    exec imapservice.js 1.59 1.60
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv26737

    Modified Files:
    imapservice.js
    Log Message:
    Ensure we can open the message base before including it in a LIST/LSUB response.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Mar 16 09:12:13 2018
    exec imapservice.js 1.60 1.61
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv27175

    Modified Files:
    imapservice.js
    Log Message:
    Add -d and -r options to control debug and debugRX respectively... no need
    to spam the log unless you're working on the script itself.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Mar 16 09:13:33 2018
    exec imapservice.js 1.61 1.62
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv27363

    Modified Files:
    imapservice.js
    Log Message:
    Typo in last commit? Say it ain't so!


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Mar 16 10:50:30 2018
    exec imapservice.js 1.62 1.63
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv19672

    Modified Files:
    imapservice.js
    Log Message:
    Support "binary" storage of Seen flags. This greatly reduces the size of
    the data/users/000x.imap files when many messages have been seen.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Mar 18 09:57:25 2018
    exec imapservice.js 1.63 1.64
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv25580

    Modified Files:
    imapservice.js
    Log Message:
    Only unlock/save the config if it's been opened.
    Fixes errors on sessions that do not authenticate before disconnecting.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Mar 18 16:19:38 2018
    exec imapservice.js 1.64 1.65
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv1878

    Modified Files:
    imapservice.js
    Log Message:
    cfgile -> cfgfile



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Mar 27 18:45:09 2018
    exec imapservice.js 1.65 1.66
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv19960

    Modified Files:
    imapservice.js
    Log Message:
    Check if the socket is connected or not in the wait loop.



    --- SBBSecho 3.03-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Apr 17 19:35:39 2018
    exec imapservice.js 1.66 1.67
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv8898

    Modified Files:
    imapservice.js
    Log Message:
    is_connected is not a method.



    --- SBBSecho 3.04-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Thu May 23 21:53:55 2019
    exec imapservice.js 1.67 1.68
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv5392

    Modified Files:
    imapservice.js
    Log Message:
    Stop using unused netattr bit definitions.


    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Jul 16 20:33:18 2019
    exec imapservice.js 1.68 1.69
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv26016

    Modified Files:
    imapservice.js
    Log Message:
    Enfoce the LOGINDISABLED capability.
    Do not use LOGINDISABLED with TLS connections.
    Add support for CRAM-MD5 so it's RFC-3501 compliant to log in without TLS.



    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Jul 16 20:47:07 2019
    exec imapservice.js 1.69 1.70
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv28070

    Modified Files:
    imapservice.js
    Log Message:
    Fix typo.



    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Mon Sep 2 12:10:17 2019
    exec imapservice.js 1.70 1.71
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv16583

    Modified Files:
    imapservice.js
    Log Message:
    Return an error when STATUS is called with an invalid sub.
    May help with the invalid STATUS roundcube is sending from Krueger.



    --- SBBSecho 3.09-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Mon Feb 3 21:17:26 2020
    exec imapservice.js 1.71 1.72
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv12689

    Modified Files:
    imapservice.js
    Log Message:
    All calls to MsgBase.get_msg_header() need the "expand fields" option
    disabled since the header may later be written back to disk. Should fix
    error reported by Ragnarok (DOCKSUD):
    imapservice.js line 1763: Error: Message header has 'expanded fields'


    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Mon Feb 3 21:19:36 2020
    exec imapservice.js 1.72 1.73
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv13164

    Modified Files:
    imapservice.js
    Log Message:
    Fix apparent bug in set_seen_flag(): wasn't passing the message header to base.put_msg_header(). I just happened to notice this while making the last
    fix committed. I'm guessing this particular code path hasn't been tested (?)


    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Mon Apr 27 23:16:10 2020
    exec imapservice.js 1.73 1.74
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv17283

    Modified Files:
    imapservice.js
    Log Message:
    Rub some case-desinsitizing lotion on some regexs.



    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue Aug 11 23:35:43 2020
    exec imapservice.js 1.74 1.75
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv8513

    Modified Files:
    imapservice.js
    Log Message:
    MSG_VERIFIED isn't a thing. Replace with MSG_VALIDATED.


    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From rswindell@1:103/705 to CVS commit on Tue Aug 11 23:48:14 2020
    exec imapservice.js 1.75 1.76
    Update of /cvsroot/sbbs/exec
    In directory cvs:/tmp/cvs-serv11198

    Modified Files:
    imapservice.js
    Log Message:
    Resolve error on line 2017: TypeError: args[0].search is not a function
    when using iOS (iPad) mail client.


    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to sbbs/master on Mon Oct 12 14:14:13 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/7831a1c1de4379362bc931c4
    Modified Files:
    exec/imapservice.js
    Log Message:
    Fix what appears to be an extra close paren in the eval() statement here<nelgin> Oct 12 16:05:41 bbs synchronet: srvc 0099 IMAPv4-TLS RECV: a UID SEARCH FROM "Michiel"<nelgin> Oct 12 16:05:41 bbs synchronet: srvc 0099 IMAPv4-TLS !JavaScript /sbbs/exec/imapservice.js line 1867: SyntaxError: missing ; before statement<nelgin> I got a different type of error
    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell@1:103/705 to Git commit to sbbs/master on Mon Oct 12 15:22:43 2020
    https://gitlab.synchro.net/sbbs/sbbs/-/commit/601a9fd5c9019e796a1c4035
    Modified Files:
    exec/imapservice.js
    Log Message:
    Fix line 1172: ReferenceError: SCAN_CFG_NEW is not defined
    --- 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 Feb 21 12:28:04 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/1fc2657fb74666d597ca753d
    Modified Files:
    exec/imapservice.js
    Log Message:
    Fix exception when line is nullimapservice.js line 736: TypeError: line is null --- SBBSecho 3.13-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 Sat Feb 27 22:29:09 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/5cb71b903d507865bffd0217
    Modified Files:
    exec/imapservice.js
    Log Message:
    Resolve line 712: Error: can't convert parseInt(line) to an integer
    --- SBBSecho 3.13-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Mar 16 16:20:05 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/0bd86726916aa0cf4f3ffc13
    Modified Files:
    exec/imapservice.js
    Log Message:
    Don't overwrite the base global with the index base when reading configThis falls squarely into the "How did that ever work?" category.
    --- SBBSecho 3.13-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Mar 16 21:37:15 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/c967d666b2173c2d04e46a24
    Modified Files:
    exec/imapservice.js
    Log Message:
    Rename variable for consistency.
    --- SBBSecho 3.13-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Mar 18 13:39:15 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/93b91ee77ae194970b429c85
    Modified Files:
    exec/imapservice.js
    Log Message:
    Fix two isses with IMAP service...1) user.number immediately after login() remains zero, but changes "sometime" after. Avoid using user.number right after login() call to generate filename. All data/user/0000.imap files can
    be deleted after this change.2) Saving Seen data would modify the object storing it when binary seen values were used. Use JSON.parse(JSON.stringify() to make a copy before saving and restore it afterward. Should fix issue reported by nickshanks1 over IRC.
    --- SBBSecho 3.13-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Apr 2 23:51:30 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/7b3303e7890a73cd173ae4a8
    Modified Files:
    exec/imapservice.js
    Log Message:
    Check for invalid line thing...Implicated in possible infinite loop/OOM problems.
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Apr 2 23:54:50 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/9e22b06fc5dc99f582bb3b30
    Modified Files:
    exec/imapservice.js
    Log Message:
    Improve error message
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Apr 2 23:59:36 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/45f6979765f51dfd725a467c
    Modified Files:
    exec/imapservice.js
    Log Message:
    Ensure line isn't valid is it's not read in parse_string()Thus appears to have been the root cause of the infinite loop/memoryissue. Basically, line was never replaced if it didn't match^{[0-9]+}$ and didn't result in a number when passed to parseInt()This resulted in an infinite loop that kept pushing zero-lengthstrings into an array.
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Apr 5 01:33:56 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/b376fc4921c58c0e3f9f5a2c
    Modified Files:
    exec/imapservice.js
    Log Message:
    Guard against Seen being undefined when saving config.
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Apr 5 01:43:10 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/dbed4f1a7cdd31e71f838d40
    Modified Files:
    exec/imapservice.js
    Log Message:
    Fix last commit... there are bits that aren't Seen that are saved
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Apr 6 23:23:23 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/7993ca0c16241ece57a2769e
    Modified Files:
    exec/imapservice.js
    Log Message:
    Some more fixes...Fix bseen calculation and savingOnly save seen data after all
    repsonses have been sentStop processing when the socket has been closed
    --- SBBSecho 3.14-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 Sat Apr 9 11:51:59 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/0ed2c5120ac61523dbffd713
    Modified Files:
    exec/imapservice.js
    Log Message:
    Fix TypeError: args[1].toUpperCase is not a functionIssue #389 reported by Keyop:srvc 0324 IMAPS <Keyop> !JavaScript /sbbs/exec/imapservice.js line 653:TypeError: args[1].toUpperCase is not a functionI'm not sure how you reproduce this error or what type args[1] is(apparently, not a string), but this fix it regardless. Please let meknow.
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Apr 9 12:15:07 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/a7468eaa3752118744bc4a0e
    Modified Files:
    exec/imapservice.js
    Log Message:
    Throw more interesting errors when a continuation line read fails
    --- SBBSecho 3.15-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Sep 29 15:38:56 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/698583017282f94fb813213e
    Modified Files:
    exec/imapservice.js
    Log Message:
    Handle invalid credentials in imapserviceFixes #401
    --- SBBSecho 3.15-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 Tue Sep 12 15:43:21 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/bbe3042acf2029e2798012d1
    Modified Files:
    exec/imapservice.js
    Log Message:
    Wrap the entire search logic in a try/catch statementThis should effectively turn script-terminating errors into just warnings andthus at least working-around issue #397: the exceptions will be logged aswarnings intead of errors, but still logged.
    --- 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 Fri Sep 15 15:28:09 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/c6515aa6b972bdcb6987e102
    Modified Files:
    exec/imapservice.js
    Log Message:
    Wrap the body of parse_command() in a try/catch to turn errors into warningsAs requested by Keyop in #synchrob0yyz
    --- 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 Sat Sep 16 12:06:05 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/0335c9796ce7bea2551f75c4
    Modified Files:
    exec/imapservice.js
    Log Message:
    Fix error when client supplies invalid Base64 string during authIIRC, the error
    was undefined has no properties or split() is not a function,something like that.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)