• src/sbbs3/js_user.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Wednesday, May 18, 2022 15:32:02
    https://gitlab.synchro.net/main/sbbs/-/commit/65e938974bfeac3448008bfc
    Modified Files:
    src/sbbs3/js_user.c
    Log Message:
    Fix User.number increment beyond lastuser issue

    When the 'number' property of an instance of User was incremented beyond the last user, the call to fgetuserdat() on subsequent property 'get' operation would fail and zero-out the user structure (including the user number). This resulted in an infinite loop in load/birthdays.js where the user number would go from lastuser to 1 in one operation (u.number++).

    Reported by DesotoFireflite (VALHALLA)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tuesday, May 31, 2022 18:28:27
    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 Saturday, June 11, 2022 14:30:02
    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
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Sunday, June 09, 2024 18:44:32
    https://gitlab.synchro.net/main/sbbs/-/commit/3a029fa8fae8ec897ecb0d43
    Modified Files:
    src/sbbs3/js_user.c
    Log Message:
    Make legacy/alias properties non-enumerable: computer, modem

    I noticed these redundant properties were being logged for every logon in logon.jsonl. We don't need these properties separately enumerable, and really they shouldn't be used anyway.

    computer is an alias of host_name
    modem is an alias of connection

    ---
    þ 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 Tuesday, October 15, 2024 00:45:21
    https://gitlab.synchro.net/main/sbbs/-/commit/c780c203a091fa500b91fe01
    Modified Files:
    src/sbbs3/js_user.c
    Log Message:
    New user properties: batch_upload_list and batch_download_list

    For exposing the list path/file for a user's batch up/download lists

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