From 564187481198b37bc9cd02b61d59f395aa1a5a10 Mon Sep 17 00:00:00 2001 From: "vladimir.kuznetsov" Date: Mon, 20 Mar 2023 17:29:23 +0300 Subject: [PATCH] added skip port busy check for DNS container. - added script execution error check when checking ports busy --- client/core/servercontroller.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/client/core/servercontroller.cpp b/client/core/servercontroller.cpp index c0f6adae..43a04777 100644 --- a/client/core/servercontroller.cpp +++ b/client/core/servercontroller.cpp @@ -865,6 +865,10 @@ QString ServerController::replaceVars(const QString &script, const Vars &vars) ErrorCode ServerController::isServerPortBusy(const ServerCredentials &credentials, DockerContainer container, const QJsonObject &config) { + if (container == DockerContainer::Dns) { + return ErrorCode::NoError; + } + QString stdOut; auto cbReadStdOut = [&](const QString &data, QSharedPointer proc) { stdOut += data + "\n"; @@ -881,13 +885,16 @@ ErrorCode ServerController::isServerPortBusy(const ServerCredentials &credential QString port = containerConfig.value(config_key::port).toString(); QString transportProto = containerConfig.value(config_key::transport_proto).toString(); - QString script = QString("sudo lsof -i -P -n | grep -E ':%1").arg(port); + QString script = QString("sudo lsof -i -P -n | grep -E ':%1 ").arg(port); for (auto &port : fixedPorts) { script = script.append("|:%1").arg(port); } script = script.append("' | grep -i %1").arg(transportProto); - runScript(credentials, + ErrorCode errorCode = runScript(credentials, replaceVars(script, genVarsForScript(credentials, container)), cbReadStdOut, cbReadStdErr); + if (errorCode != ErrorCode::NoError) { + return errorCode; + } if (!stdOut.isEmpty()) { return ErrorCode::ServerPortAlreadyAllocatedError;