mirror of
http://github.com/valkey-io/valkey
synced 2024-11-23 03:33:28 +00:00
6e993a5dfa
Adds a number of user management/ACL validaiton/command execution functions to improve a Redis module's ability to enforce ACLs correctly and easily. * RM_SetContextUser - sets a RedisModuleUser on the context, which RM_Call will use to both validate ACLs (if requested and set) as well as assign to the client so that scripts executed via RM_Call will have proper ACL validation. * RM_SetModuleUserACLString - Enables one to pass an entire ACL string, not just a single OP and have it applied to the user * RM_GetModuleUserACLString - returns a stringified version of the user's ACL (same format as dump and list). Contains an optimization to cache the stringified version until the underlying ACL is modified. * Slightly re-purpose the "C" flag to RM_Call from just being about ACL check before calling the command, to actually running the command with the right user, so that it also affects commands inside EVAL scripts. see #11231
55 lines
1.6 KiB
Bash
Executable File
55 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
TCL_VERSIONS="8.5 8.6 8.7"
|
|
TCLSH=""
|
|
[ -z "$MAKE" ] && MAKE=make
|
|
|
|
for VERSION in $TCL_VERSIONS; do
|
|
TCL=`which tclsh$VERSION 2>/dev/null` && TCLSH=$TCL
|
|
done
|
|
|
|
if [ -z $TCLSH ]
|
|
then
|
|
echo "You need tcl 8.5 or newer in order to run the Redis ModuleApi test"
|
|
exit 1
|
|
fi
|
|
|
|
$MAKE -C tests/modules && \
|
|
$TCLSH tests/test_helper.tcl \
|
|
--single unit/moduleapi/commandfilter \
|
|
--single unit/moduleapi/basics \
|
|
--single unit/moduleapi/fork \
|
|
--single unit/moduleapi/testrdb \
|
|
--single unit/moduleapi/infotest \
|
|
--single unit/moduleapi/moduleconfigs \
|
|
--single unit/moduleapi/infra \
|
|
--single unit/moduleapi/propagate \
|
|
--single unit/moduleapi/hooks \
|
|
--single unit/moduleapi/misc \
|
|
--single unit/moduleapi/blockonkeys \
|
|
--single unit/moduleapi/blockonbackground \
|
|
--single unit/moduleapi/scan \
|
|
--single unit/moduleapi/datatype \
|
|
--single unit/moduleapi/auth \
|
|
--single unit/moduleapi/keyspace_events \
|
|
--single unit/moduleapi/blockedclient \
|
|
--single unit/moduleapi/getkeys \
|
|
--single unit/moduleapi/test_lazyfree \
|
|
--single unit/moduleapi/defrag \
|
|
--single unit/moduleapi/keyspecs \
|
|
--single unit/moduleapi/hash \
|
|
--single unit/moduleapi/zset \
|
|
--single unit/moduleapi/list \
|
|
--single unit/moduleapi/stream \
|
|
--single unit/moduleapi/mallocsize \
|
|
--single unit/moduleapi/datatype2 \
|
|
--single unit/moduleapi/cluster \
|
|
--single unit/moduleapi/aclcheck \
|
|
--single unit/moduleapi/subcommands \
|
|
--single unit/moduleapi/reply \
|
|
--single unit/moduleapi/cmdintrospection \
|
|
--single unit/moduleapi/eventloop \
|
|
--single unit/moduleapi/timer \
|
|
--single unit/moduleapi/publish \
|
|
--single unit/moduleapi/usercall \
|
|
"${@}"
|