summaryrefslogtreecommitdiff
path: root/tests/modules/misc.c
diff options
context:
space:
mode:
authorYossi Gottlieb <yossigo@gmail.com>2020-10-11 17:11:42 +0300
committerGitHub <noreply@github.com>2020-10-11 17:11:42 +0300
commit0aec98dce2acbd280ad8ff4feac631e8afa833b1 (patch)
treeaea73b0fa5b0f78108533384fa04604b5b82f637 /tests/modules/misc.c
parent907da0580b57013c9e5c38b27f351597c72e4e25 (diff)
downloadredis-0aec98dce2acbd280ad8ff4feac631e8afa833b1.tar.gz
Module API: Add RM_GetClientCertificate(). (#7866)
This API function makes it possible to retrieve the X.509 certificate used by clients to authenticate TLS connections.
Diffstat (limited to 'tests/modules/misc.c')
-rw-r--r--tests/modules/misc.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/modules/misc.c b/tests/modules/misc.c
index a43bb84ac..621b92b2d 100644
--- a/tests/modules/misc.c
+++ b/tests/modules/misc.c
@@ -195,6 +195,23 @@ int test_setlfu(RedisModuleCtx *ctx, RedisModuleString **argv, int argc)
return REDISMODULE_OK;
}
+int test_getclientcert(RedisModuleCtx *ctx, RedisModuleString **argv, int argc)
+{
+ (void) argv;
+ (void) argc;
+
+ RedisModuleString *cert = RedisModule_GetClientCertificate(ctx,
+ RedisModule_GetClientId(ctx));
+ if (!cert) {
+ RedisModule_ReplyWithNull(ctx);
+ } else {
+ RedisModule_ReplyWithString(ctx, cert);
+ RedisModule_FreeString(ctx, cert);
+ }
+
+ return REDISMODULE_OK;
+}
+
int test_clientinfo(RedisModuleCtx *ctx, RedisModuleString **argv, int argc)
{
(void) argv;
@@ -283,6 +300,8 @@ int RedisModule_OnLoad(RedisModuleCtx *ctx, RedisModuleString **argv, int argc)
return REDISMODULE_ERR;
if (RedisModule_CreateCommand(ctx,"test.clientinfo", test_clientinfo,"",0,0,0) == REDISMODULE_ERR)
return REDISMODULE_ERR;
+ if (RedisModule_CreateCommand(ctx,"test.getclientcert", test_getclientcert,"",0,0,0) == REDISMODULE_ERR)
+ return REDISMODULE_ERR;
if (RedisModule_CreateCommand(ctx,"test.log_tsctx", test_log_tsctx,"",0,0,0) == REDISMODULE_ERR)
return REDISMODULE_ERR;