修复BUG 新增黑名单

修复在添加白名单时添加一条‘目标端口:任意’的BUG
新增黑名单增删功能,增加黑名单时会先将其从白名单中删除
This commit is contained in:
筱傑
2019-02-19 11:37:40 +08:00
committed by GitHub
parent 6a70501baa
commit 64ee5e54d0
13 changed files with 802 additions and 46 deletions

View File

@@ -16,12 +16,18 @@ void IpsecHelper::addItemToBlackList(QString ip, int port)
{
ExeCmd("add", "blacklist", ip, port);
}
void IpsecHelper::addItemToBlackList(QString ip)
{
ExeCmd("add", "blacklist", ip);
}
void IpsecHelper::removeItemFromBlackList(QString ip, int port)
{
ExeCmd("delete", "blacklist", ip, port);
}
void IpsecHelper::removeItemFromBlackList(QString ip)
{
ExeCmd("delete", "blacklist", ip);
}
void IpsecHelper::addItemToBlackList(int port)
{
ExeCmd("add", "blacklist", "any", port);
@@ -45,3 +51,22 @@ void IpsecHelper::ExeCmd(QString cmd, QString filterlist, QString srcaddr, int p
p.waitForStarted();
p.waitForFinished();
}
void IpsecHelper::ExeCmd(QString cmd, QString filterlist, QString srcaddr)
{
QProcess p(nullptr);
p.start("netsh",
QStringList() << "ipsec"
<< "static"
<< cmd
<< "filter"
<< ("filterlist=" + filterlist)
<< ("srcaddr=" + srcaddr)
<< "dstaddr=me"
<< "protocol=tcp"
<< "mirrored=yes"
<< "dstport=any"
);
p.waitForStarted();
p.waitForFinished();
}