From 519ece779dd517367745858d11e6ad434e374b78 Mon Sep 17 00:00:00 2001 From: XieHan Date: Sun, 18 Sep 2022 02:56:22 +0800 Subject: [PATCH] ignore username in redis url --- src/factory/RedisTaskImpl.cc | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/factory/RedisTaskImpl.cc b/src/factory/RedisTaskImpl.cc index a479b0f6..63dcef19 100644 --- a/src/factory/RedisTaskImpl.cc +++ b/src/factory/RedisTaskImpl.cc @@ -19,6 +19,7 @@ */ #include +#include #include #include "WFTaskError.h" #include "WFTaskFactory.h" @@ -153,11 +154,14 @@ bool ComplexRedisTask::init_success() //https://stackoverflow.com/questions/26964595/whats-the-correct-way-to-use-a-unix-domain-socket-in-requests-framework //https://stackoverflow.com/questions/27037990/connecting-to-postgres-via-database-url-and-unix-socket-in-rails - //todo userinfo=username:password - if (uri_.userinfo && uri_.userinfo[0] == ':' && uri_.userinfo[1]) + if (uri_.userinfo) { - password_.assign(uri_.userinfo + 1); - StringUtil::url_decode(password_); + char *p = strchr(uri_.userinfo, ':'); + if (p) + { + password_.assign(p + 1); + StringUtil::url_decode(password_); + } } if (uri_.path && uri_.path[0] == '/' && uri_.path[1]) @@ -219,6 +223,7 @@ bool ComplexRedisTask::need_redirect() return true; } + return false; } @@ -243,6 +248,7 @@ bool ComplexRedisTask::finish_once() this->error = WFT_ERR_REDIS_ACCESS_DENIED; } } + return false; }