feature/mozilla upstream (#1237)
* cherry-pick 4dfcad96506fb5b88c5bb27342b6d9413fc361c9 from mozilla upstream * cherry-pick a95fa8c088b9edaff2de18751336942c2d145a9a from mozilla * cherry-pick commit 4fc1ebbad86a9abcafdc761725a7afd811c8d2d3 from mozilla * cherry-pick 4dfcad96506fb5b88c5bb27342b6d9413fc361c9 from mozilla upstream * cherry-pick 22de4fcbd454c64ff496c3380eeaeeb6afff4d64 from mozilla upstream * cherry-pick 649673be561b66c96367adf379da1545f8838763 from mozilla upstream * cherry-pick 41bdad34517d0ddaef32139482e5505d92e4b533 from mozilla upstream * cherry-pick f6e49a85538eaa230d3a8634fa7600966132ccab from mozilla upstream * cherry-pick 86c585387efa0a09c7937dfe799a90a666404fcd from mozilla upstream * cherry-pick a18c1fac740469ca3566751b74a16227518630c4 from mozilla upstream * fixed missing ; * added excludeLocalNetworks() for linux * build fixes on windows after cherry-picks * Add rules for excluded sites splittunell mode * Fix app splittunell when ipv6 is not setup * Fix Linux build --------- Co-authored-by: Mykola Baibuz <mykola.baibuz@gmail.com>
This commit is contained in:
parent
f1c6067485
commit
8ca31e0c90
27 changed files with 1119 additions and 607 deletions
|
@ -1,9 +1,10 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
#include "protocols/protocols_defs.h"
|
||||
#include "localsocketcontroller.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <QDir>
|
||||
#include <QFileInfo>
|
||||
#include <QHostAddress>
|
||||
|
@ -17,6 +18,9 @@
|
|||
#include "leakdetector.h"
|
||||
#include "logger.h"
|
||||
#include "models/server.h"
|
||||
#include "daemon/daemonerrors.h"
|
||||
|
||||
#include "protocols/protocols_defs.h"
|
||||
|
||||
// How many times do we try to reconnect.
|
||||
constexpr int MAX_CONNECTION_RETRY = 10;
|
||||
|
@ -451,8 +455,39 @@ void LocalSocketController::parseCommand(const QByteArray& command) {
|
|||
}
|
||||
|
||||
if (type == "backendFailure") {
|
||||
qCritical() << "backendFailure";
|
||||
return;
|
||||
if (!obj.contains("errorCode")) {
|
||||
// report a generic error if we dont know what it is.
|
||||
logger.error() << "generic backend failure error";
|
||||
// REPORTERROR(ErrorHandler::ControllerError, "controller");
|
||||
return;
|
||||
}
|
||||
auto errorCode = static_cast<uint8_t>(obj["errorCode"].toInt());
|
||||
if (errorCode >= (uint8_t)DaemonError::DAEMON_ERROR_MAX) {
|
||||
// Also report a generic error if the code is invalid.
|
||||
logger.error() << "invalid backend failure error code";
|
||||
// REPORTERROR(ErrorHandler::ControllerError, "controller");
|
||||
return;
|
||||
}
|
||||
switch (static_cast<DaemonError>(errorCode)) {
|
||||
case DaemonError::ERROR_NONE:
|
||||
[[fallthrough]];
|
||||
case DaemonError::ERROR_FATAL:
|
||||
logger.error() << "generic backend failure error (fatal or error none)";
|
||||
// REPORTERROR(ErrorHandler::ControllerError, "controller");
|
||||
break;
|
||||
case DaemonError::ERROR_SPLIT_TUNNEL_INIT_FAILURE:
|
||||
[[fallthrough]];
|
||||
case DaemonError::ERROR_SPLIT_TUNNEL_START_FAILURE:
|
||||
[[fallthrough]];
|
||||
case DaemonError::ERROR_SPLIT_TUNNEL_EXCLUDE_FAILURE:
|
||||
logger.error() << "split tunnel backend failure error";
|
||||
//REPORTERROR(ErrorHandler::SplitTunnelError, "controller");
|
||||
break;
|
||||
case DaemonError::DAEMON_ERROR_MAX:
|
||||
// We should not get here.
|
||||
Q_ASSERT(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (type == "logs") {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue