• src/sbbs3/js_user.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Wed Jun 1 04:28:27 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/e731ac184d1bb5613cf6fc5f
    Modified Files:
    src/sbbs3/js_user.c
    Log Message:
    Don't clobber an open user.dat file descriptor in js_CreateUserObject()

    Likely fix for the user.dat open file descriptor leak:
    If js_CreateUserObject(cx,parent,cfg,"name",...) is called multiple times
    (e.g. before login and after login), the successive calls will reuse the previously allocated JS object and allocated private data memory. However, the private data memory (which includes the descriptor of an open user.dat file,
    if it has been opened), was always zeroed, even if it was being reused. This would leak open file descriptor.

    So any (pre)login scripts or web scripts that use the "user" object (which
    is all zeroed-out before login) and then allows a user to subsequently login, would leak a file descriptor.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Jun 12 00:30:02 2022
    https://gitlab.synchro.net/main/sbbs/-/commit/a87cebdb79abc7bdbd163df9
    Modified Files:
    src/sbbs3/js_user.c
    Log Message:
    Add User close() method

    This can be used to force a close of the user.dat file, if open. Rather than waiting for an out of scope User to get garbage-collected, this method could
    be used to force a close of the user.dat file, if it's open.

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