• src/sbbs3/userdat.c userdat.h

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Sun Dec 13 03:30:25 2020
    https://gitlab.synchro.net/main/sbbs/-/commit/12a11b6bc4905c5be3946004
    Modified Files:
    src/sbbs3/userdat.c userdat.h
    Log Message:
    Add getnodeclient() to read a node's client.ini file

    One weird thing is that client_t:
    - has just a const char* for the protocol, so that's strdup/free'd here (consider making this a char array to simplify this API)
    - does not have a socket descriptor, so that value is returned
    - does not have local addr/port info

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Fri Jan 1 17:28:31 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/cf12bc723bec48c9ea7d706d
    Modified Files:
    src/sbbs3/userdat.c userdat.h
    Log Message:
    New user API functions to determine directory access

    can_access/upload/download and is_operator
    similar to what we already had defined for sub-boards

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to Git commit to main/sbbs/master on Tue Apr 13 22:57:34 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/7db3b623bd115c096f4a261d
    Modified Files:
    src/sbbs3/userdat.c userdat.h
    Log Message:
    Refactor putuserrec()

    This started with a Coverity issue (CID 33230) which got me looking at this function and wondering: why is str2 being NUL-terminated here? Why is the length of str2 to be calculated on successive lines? What is with this (long)((long)((long)((long)) typecast?

    This was some of the oldest code in Synchronet (along with a lot of the other functions in this file). I tried to keep as much intact as possible while still improving the logic and readability.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (in GitKraken)@VERT to Git commit to main/sbbs/master on Sun Feb 19 15:26:00 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/dd38606e246a2a4e2179d407
    Modified Files:
    src/sbbs3/userdat.c userdat.h
    Log Message:
    find_login_id() will now return 0 if login ID is an invalid user number

    If login by number is supported and a client attempts login with an invalid usernumber, don't log an error, e.g.
    mail 3264 SMTPS [46.148.x.x] !ERROR -2 getting data on user (6123)

    But rather treat it as an invalid login attempt.

    Also change lastuser() and total_users() to return int instead of uint. 2 billion users should be plenty.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows)@VERT to Git commit to main/sbbs/master on Wed Aug 9 18:28:43 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/efdbc232d655709c4b3551dc
    Modified Files:
    src/sbbs3/userdat.c userdat.h
    Log Message:
    Add some helper functions for modifying node records in node.dab, atomically

    These should probably be moved (along with other node functions in this file) to nodedat.* some day.

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