diff --git a/client/core/servercontroller.cpp b/client/core/servercontroller.cpp index 4c87d1b8..a0df4dc0 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(protocols::openvpn::defaultPort); QString transportProto = containerConfig.value(config_key::transport_proto).toString(protocols::openvpn::defaultTransportProto); - 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;