Problem
Experience scripts were breaking in the permission request flow.
In llRequestExperiencePermissions, the permission branch checked ExperiencePermission.Allowed twice. Because of that, the Blocked case was never handled explicitly and blocked users could fall through into the permission prompt path.
What I changed
- Updated
Source/OpenSim.Region.ScriptEngine.Shared/Api/LSL_Api.cs.
- Replaced the second duplicate check:
- from:
else if (experiencePermission == ExperiencePermission.Allowed)
- to:
else if (experiencePermission == ExperiencePermission.Blocked)
- This now correctly sends
experience_permissions_denied with XP_ERROR_NOT_PERMITTED for blocked users.
Pull Request
PR with fix: #149
Problem
Experience scripts were breaking in the permission request flow.
In
llRequestExperiencePermissions, the permission branch checkedExperiencePermission.Allowedtwice. Because of that, theBlockedcase was never handled explicitly and blocked users could fall through into the permission prompt path.What I changed
Source/OpenSim.Region.ScriptEngine.Shared/Api/LSL_Api.cs.else if (experiencePermission == ExperiencePermission.Allowed)else if (experiencePermission == ExperiencePermission.Blocked)experience_permissions_deniedwithXP_ERROR_NOT_PERMITTEDfor blocked users.Pull Request
PR with fix: #149