From 17bf8907a95d7fc6da204e17796ecc2ddb8665db Mon Sep 17 00:00:00 2001 From: enWILLYado Date: Mon, 26 Feb 2018 23:23:48 +0100 Subject: [PATCH] Special tokens to more fields Special tokens to password field. --- src/net/Url.cpp | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/net/Url.cpp b/src/net/Url.cpp index 176ad16d..0b0ff4db 100644 --- a/src/net/Url.cpp +++ b/src/net/Url.cpp @@ -252,12 +252,7 @@ static std::string & replace(std::string & str, const std::string & what, const return str; } -void Url::setPassword(const std::string & password) -{ - m_password = password; -} - -void Url::setUser(const std::string & user) +static std::string replaceWithTokens(const std::string & value) { char hosturl[1024] = {'\0'}; char hostname[1024] = {'\0'}; @@ -288,11 +283,25 @@ void Url::setUser(const std::string & user) } // set user replacing tokens - m_user = user; - m_user = replace(m_user, "%HOST_NAME%", hostname); - m_user = replace(m_user, "%IP_ADD%", ipbuf); + std::string ret = value; + ret = replace(ret, "%HOST_NAME%", hostname); + ret = replace(ret, "%IP_ADD%", ipbuf); + return ret; } + +void Url::setPassword(const std::string & password) +{ + m_password = replaceWithTokens(password); +} + + +void Url::setUser(const std::string & user) +{ + m_user = replaceWithTokens(user); +} + + void Url::copyKeystream(char* keystreamDest, const size_t keystreamLen) const { if(hasKeystream())