• src/sbbs3/userdat.c userdat.h

    From Rob Swindell 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
  • From Rob Swindell 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
  • From Rob Swindell 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.
  • From Rob Swindell (in GitKraken) 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.
  • From Rob Swindell (on Windows) 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.
  • From Rob Swindell (on Windows 11)@rob@synchro.net to Git commit to main/sbbs/master on Sun Dec 1 15:58:21 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/44710259f11cc8837d1735f5
    Modified Files:
    src/sbbs3/userdat.c userdat.h
    Log Message:
    Unify the int return values of userdat.c functions

    These functions now return a common set of non-zero error values (where appropriate), defined in userdat.h

    Don't return errno.