Allow scripts to read server-side user block lists
Toothless Draegonne
This is something I thought of while reading this feature request: https://feedback.secondlife.com/feature-requests/p/blacked-avatars-should-not-be-able-to-interact-with-scripts-in-worn-objects
While asset blacklists are stored client-side, the list of blocked UUIDs is stored server-side, tied to the account and persists across viewer installs. This could be leveraged via script functions to create items that respect block lists and cannot be used by blocked users.
As a security measure, a new permission (for the sake of argument, PERMISSION_READ_BLOCKLIST) could be implemented. This permission would not be automatically granted upon sit/attach, but may persist across sessions until the object is detached or permission is revoked by other means.
In addition to this, there would be a couple of new functions for accessing the list:
integer llCheckUserBlocked(key uuid);
Returns a boolean based on whether the uuid is blocked by the wearer or not.
integer llCheckOwnerBlocked(key uuid);
Returns a boolean based on whether the uuid is blocked by the owner or not.
list llGetUserBlockList();
Returns a list of the wearer's entire blocklist.
list llGetOwnerBlockList();
Returns a list of the owner's entire blocklist.
If getting the entire blocklist may result in stack/heap collisions, it might be desirable instead to use a notecard-alike set of dataserver functions to iterate through the blocklist instead.
Log In
x
xDancingStarx Resident
I don't like the idea out of the following reason:
It adds a lot of additional server workload that is completely wasted in 99.99% of cases and in the other cases there are existing measures that help the situation.
If people started using that function by default in furniture etc, we would have so many useless blocklist scans because the scenario that a blocked user interacts with you is just so rare in comparison to all the other cases. Even in the linked feedback it was an "experiment"
So while in theory your idea to not allow blocked users to interact with certain objects may make sense, I think the cost for this check is way too high. (My block list contains around 700 residents for example. Also a lot of these may not be blocked out of personal issues but different reasons like to mute notifications etc)