• src/sbbs3/newuser.cpp userdat.c

    From Rob Swindell@VERT to Git commit to main/sbbs/master on Saturday, January 22, 2022 01:27:43
    Modified Files:
    src/sbbs3/newuser.cpp userdat.c
    Log Message:
    Handle duplicate names and aliases better

    So some cute user (mine@demon.com) created a new user account on Vertrauen with the alias and real name of "Rob Swindell". Funny.

    Now, duplicate user aliases are already and always forbidden (even those that just vaguely match an existing alias) - everyone expects those to be unique. And we already forbid new user real names to match an existing user alias (check_name() enforces this and we use that when checking new user real names too), however, nothing prevented a new user account's alias from matching another existing user's real name. And this is a problem:

    1. This new/fake user could post a message or send an email/netmail and it would appear to possibly come from the other/original user (we do have options to send mail and post messages using real names)

    2. Received email for real names is supported and if enabled, this second account could be used to intercept mail for the original/first account if it was receiving mail for the original/real user's real name.

    So disallowing a new user's real name to match an existing alias fixes one problem.
    However, systems *can* be configured to allow duplicate real names (which is convenient for QWKnet accounts, for example) and so we needed another solution for that problem: meet the 'O' restriction. This restriction flag will prevent a user account from posting messages no sub-boards that require real names. New user accounts that have a duplicate real name (the same as another user account's real name), will automatically be assigned the 'O' restriction flag. Systems that don't allow duplicate real names wouldn't have this issue in the first place.

    Scripts that allow the creation of new user accounts might need some updating to match this security logic.

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