From 16fc2f08a198bd791adc7637d72d9165c31de938 Mon Sep 17 00:00:00 2001 From: nicolas Date: Thu, 10 Aug 2017 11:20:50 +0200 Subject: [PATCH] fix(Cli): headers are now base64 encoded for cli uri except and ones, and cleaned from address. --- src/app/cli/Cli.cpp | 14 +++++++++++++- src/app/cli/Cli.hpp | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/app/cli/Cli.cpp b/src/app/cli/Cli.cpp index d96c87bb0..5ce129382 100644 --- a/src/app/cli/Cli.cpp +++ b/src/app/cli/Cli.cpp @@ -144,12 +144,24 @@ void Cli::Command::execute (QHash &args) const { } } +void Cli::Command::decode (QHash &args) const{ + QByteArray qa; + for (const auto &argName : args.keys()) { + if (argName != QString("sip-address")) { + qa.append(args[argName]); + args[argName] = QByteArray::fromBase64(qa); + qa.clear(); + } + } +} + void Cli::Command::executeUri (const shared_ptr &address) const { QHash args; for (const auto &argName : mArgsScheme.keys()) args[argName] = ::Utils::coreStringToAppString(address->getHeader(::Utils::appStringToCoreString(argName))); + address->clean(); args["sip-address"] = ::Utils::coreStringToAppString(address->asStringUriOnly()); - + decode(args); execute(args); } diff --git a/src/app/cli/Cli.hpp b/src/app/cli/Cli.hpp index 1abd0e903..30e93183d 100644 --- a/src/app/cli/Cli.hpp +++ b/src/app/cli/Cli.hpp @@ -63,6 +63,7 @@ class Cli : public QObject { const QHash &argsScheme ); + void decode (QHash &args) const; void execute (QHash &args) const; void executeUri (const std::shared_ptr &address) const;