Describe the bug
Currently, when one does an RM_Call on an eval of a script or a function, it only actually checks the ACL if the user has permission to the eval/fcall commands, but has no impact on the commands within the script.
To reproduce
1) create a script that does a get.
2) remove permission to do get from the user
3) simple module that uses a regular context with RM_Call(ctx, "eval", "Cc", <script body>)
Expected behavior
one would expect the script to fail during script execution, but since the actual call runs as the redis "unrestricted user" (i.e. client->user == NULL), everything will succeed.
Additional information
https://github.com/redis/redis/pull/10966 was built to fix it. By redefining "C" not to simply be "ACL Check", but "Run as User", so the temp client that gets allocated actually has the proper user assigned to it.