Custom sites reimplemented
This commit is contained in:
parent
97e918ae72
commit
6c74f30d79
23 changed files with 833 additions and 312 deletions
|
|
@ -7,12 +7,12 @@
|
|||
#endif
|
||||
|
||||
|
||||
bool Router::routeAdd(const QString &ip, const QString &gw, QString mask)
|
||||
bool Router::routeAdd(const QString &ip, const QString &gw)
|
||||
{
|
||||
#ifdef Q_OS_WIN
|
||||
return RouterWin::Instance().routeAdd(ip, gw, mask);
|
||||
return RouterWin::Instance().routeAdd(ip, gw);
|
||||
#elif defined (Q_OS_MAC)
|
||||
return RouterMac::Instance().routeAdd(ip, gw, mask);
|
||||
return RouterMac::Instance().routeAdd(ip, gw);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ class Router : public QObject
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
static bool routeAdd(const QString &ip, const QString &gw, QString mask = QString());
|
||||
static bool routeAdd(const QString &ip, const QString &gw);
|
||||
static int routeAddList(const QString &gw, const QStringList &ips);
|
||||
static bool clearSavedRoutes();
|
||||
static bool routeDelete(const QString &ip, const QString &gw);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ RouterMac &RouterMac::Instance()
|
|||
return s;
|
||||
}
|
||||
|
||||
bool RouterMac::routeAdd(const QString &ip, const QString &gw, QString mask)
|
||||
bool RouterMac::routeAdd(const QString &ip, const QString &gw)
|
||||
{
|
||||
int argc = 5;
|
||||
char **argv = new char*[argc];
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ class RouterMac : public QObject
|
|||
public:
|
||||
static RouterMac& Instance();
|
||||
|
||||
bool routeAdd(const QString &ip, const QString &gw, QString mask = QString());
|
||||
bool routeAdd(const QString &ip, const QString &gw);
|
||||
int routeAddList(const QString &gw, const QStringList &ips);
|
||||
bool clearSavedRoutes();
|
||||
bool routeDelete(const QString &ip, const QString &gw);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#include "router_win.h"
|
||||
#include "../client/utils.h"
|
||||
|
||||
#include <QProcess>
|
||||
|
||||
|
|
@ -8,20 +9,11 @@ RouterWin &RouterWin::Instance()
|
|||
return s;
|
||||
}
|
||||
|
||||
bool RouterWin::routeAdd(const QString &ip, const QString &gw, QString mask)
|
||||
bool RouterWin::routeAdd(const QString &ip, const QString &gw)
|
||||
{
|
||||
qDebug().noquote() << QString("ROUTE ADD: IP:%1 %2 GW %3")
|
||||
.arg(ip)
|
||||
.arg(mask)
|
||||
.arg(gw);
|
||||
|
||||
if (mask == "") {
|
||||
mask = "255.255.255.255";
|
||||
if (ip.endsWith(".0")) mask = "255.255.255.0";
|
||||
if (ip.endsWith(".0.0")) mask = "255.255.0.0";
|
||||
if (ip.endsWith(".0.0.0")) mask = "255.0.0.0";
|
||||
}
|
||||
//qDebug().noquote() << QString("ROUTE ADD: IP:%1 GW %2").arg(ip).arg(gw);
|
||||
|
||||
QString mask = Utils::netMaskFromIpWithSubnet(ip);
|
||||
|
||||
PMIB_IPFORWARDTABLE pIpForwardTable = NULL;
|
||||
MIB_IPFORWARDROW ipfrow;
|
||||
|
|
@ -58,7 +50,7 @@ bool RouterWin::routeAdd(const QString &ip, const QString &gw, QString mask)
|
|||
}
|
||||
|
||||
// address
|
||||
ipfrow.dwForwardDest = inet_addr(ip.toStdString().c_str());
|
||||
ipfrow.dwForwardDest = inet_addr(Utils::ipAddressFromIpWithSubnet(ip).toStdString().c_str());
|
||||
|
||||
// mask
|
||||
in_addr maskAddr;
|
||||
|
|
@ -109,12 +101,12 @@ bool RouterWin::routeAdd(const QString &ip, const QString &gw, QString mask)
|
|||
|
||||
int RouterWin::routeAddList(const QString &gw, const QStringList &ips)
|
||||
{
|
||||
qDebug().noquote() << QString("ROUTE ADD List: IPs size:%1, GW: %2")
|
||||
.arg(ips.size())
|
||||
.arg(gw);
|
||||
// qDebug().noquote() << QString("ROUTE ADD List: IPs size:%1, GW: %2")
|
||||
// .arg(ips.size())
|
||||
// .arg(gw);
|
||||
|
||||
qDebug().noquote() << QString("ROUTE ADD List: IPs:\n%1")
|
||||
.arg(ips.join("\n"));
|
||||
// qDebug().noquote() << QString("ROUTE ADD List: IPs:\n%1")
|
||||
// .arg(ips.join("\n"));
|
||||
|
||||
|
||||
|
||||
|
|
@ -188,15 +180,10 @@ int RouterWin::routeAddList(const QString &gw, const QStringList &ips)
|
|||
for (int i = 0; i < ips.size(); ++i) {
|
||||
QString ip = ips.at(i);
|
||||
if (ip.isEmpty()) continue;
|
||||
|
||||
mask = "255.255.255.255";
|
||||
if (ip.endsWith(".0")) mask = "255.255.255.0";
|
||||
if (ip.endsWith(".0.0")) mask = "255.255.0.0";
|
||||
if (ip.endsWith(".0.0.0")) mask = "255.0.0.0";
|
||||
QString mask = Utils::netMaskFromIpWithSubnet(ip);
|
||||
|
||||
// address
|
||||
ipfrow.dwForwardDest = inet_addr(ip.toStdString().c_str());
|
||||
|
||||
ipfrow.dwForwardDest = inet_addr(Utils::ipAddressFromIpWithSubnet(ip).toStdString().c_str());
|
||||
|
||||
// mask
|
||||
in_addr maskAddr;
|
||||
|
|
@ -280,7 +267,7 @@ bool RouterWin::routeDelete(const QString &ip, const QString &gw)
|
|||
|
||||
QProcess p;
|
||||
p.setProcessChannelMode(QProcess::MergedChannels);
|
||||
QString command = QString("route delete %1 %2").arg(ip).arg(gw);
|
||||
QString command = QString("route delete %1 %2").arg(Utils::ipAddressFromIpWithSubnet(ip)).arg(gw);
|
||||
|
||||
p.start(command);
|
||||
p.waitForFinished();
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ class RouterWin : public QObject
|
|||
public:
|
||||
static RouterWin& Instance();
|
||||
|
||||
bool routeAdd(const QString &ip, const QString &gw, QString mask = QString());
|
||||
bool routeAdd(const QString &ip, const QString &gw);
|
||||
int routeAddList(const QString &gw, const QStringList &ips);
|
||||
bool clearSavedRoutes();
|
||||
bool routeDelete(const QString &ip, const QString &gw);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue