• exec/imapservice.js

    From deuce@VERT to CVS commit on Fri Mar 16 04:04:00 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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Fri Mar 16 04:24:00 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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Fri Mar 16 04:31:00 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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Fri Mar 16 05:08:00 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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Fri Mar 16 05:12:00 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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Fri Mar 16 05:13:00 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!



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Fri Mar 16 06:50:00 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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Sun Mar 18 05:57:00 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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Sun Mar 18 12:19:00 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




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tue Mar 27 14:45:00 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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tue Apr 17 15:35:00 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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Thu May 23 17: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.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tue Jul 16 16: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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tue Jul 16 16: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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Mon Sep 2 08: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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Mon Feb 3 16: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'



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Mon Feb 3 16: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 (?)



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Mon Apr 27 19: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.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Tue Aug 11 19: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.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From rswindell@VERT to CVS commit on Tue Aug 11 19: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.



    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Mon Oct 12 10: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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to sbbs/master on Mon Oct 12 11: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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Feb 21 07:28:04 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/1fc2657fb74666d597ca753d
    Modified Files:
    exec/imapservice.js
    Log Message:
    Fix exception when line is null

    imapservice.js line 736: TypeError: line is null

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat Feb 27 17: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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tue Mar 16 12: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 config

    This falls squarely into the "How did that ever work?" category.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tue Mar 16 17:37:15 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/c967d666b2173c2d04e46a24
    Modified Files:
    exec/imapservice.js
    Log Message:
    Rename variable for consistency.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thu Mar 18 09: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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Fri Apr 2 19: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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Fri Apr 2 19:54:50 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/9e22b06fc5dc99f582bb3b30
    Modified Files:
    exec/imapservice.js
    Log Message:
    Improve error message

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Fri Apr 2 19: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/memory
    issue. 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-length
    strings into an array.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Apr 4 21: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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sun Apr 4 21: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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Tue Apr 6 19: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 saving
    Only save seen data after all repsonses have been sent
    Stop processing when the socket has been closed

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sat Apr 9 07: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 function

    Issue #389 reported by Keyop:
    srvc 0324 IMAPS <Keyop> !JavaScript /sbbs/exec/imapservice.js line 653: TypeError: args[1].toUpperCase is not a function

    I'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 me
    know.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Sat Apr 9 08: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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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 imapservice

    Fixes #401

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT 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 statement

    This should effectively turn script-terminating errors into just warnings and thus at least working-around issue #397: the exceptions will be logged as warnings intead of errors, but still logged.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT 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 warnings

    As requested by Keyop in #synchrob0yyz

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT 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 auth

    IIRC, the error was undefined has no properties or split() is not a function, something like that.

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