Handle comments consistently in desktop socket protocol settings
This commit is contained in:
1 parent
7bcdccc4d6
commit
c26b626c35
3 files changed
+11
-5
No files matched your search
@@ -459,8 +459,9 @@ int auto_socket_add_interface(struct UTUN_INSTANCE* inst, uint32_t ifindex,
|
||||
while (s) { if (!s->is_tcp && s->netif_index == ifindex && s->local_addr.ss_family == AF_INET && !ifa->v4_udp) { ifa->v4_udp = s; break; } s = s->next; }
|
||||
}
|
||||
if (as->protocols & CFG_AUTO_SOCKET_TCP) {
|
||||
struct stcp_server* tsrv = create_iface_tcp_socket(as, ifindex, ifname, AF_INET, v4_type, &ifa->v4_tcp_sock);
|
||||
if (tsrv) { added++; ifa->v4_tcp = tsrv; } }
|
||||
struct stcp_server* tsrv = create_iface_tcp_socket(as, ifindex, ifname, AF_INET, v4_type, &ifa->v4_tcp_sock);
|
||||
if (tsrv) { added++; ifa->v4_tcp = tsrv; }
|
||||
}
|
||||
}
|
||||
if (has_v6) {
|
||||
if ((as->protocols & CFG_AUTO_SOCKET_UDP) && create_iface_udp_socket(as, ifindex, ifname, AF_INET6, v6_type) == 0) {
|
||||
@@ -469,8 +470,9 @@ int auto_socket_add_interface(struct UTUN_INSTANCE* inst, uint32_t ifindex,
|
||||
while (s) { if (!s->is_tcp && s->netif_index == ifindex && s->local_addr.ss_family == AF_INET6 && !ifa->v6_udp) { ifa->v6_udp = s; break; } s = s->next; }
|
||||
}
|
||||
if (as->protocols & CFG_AUTO_SOCKET_TCP) {
|
||||
struct stcp_server* tsrv = create_iface_tcp_socket(as, ifindex, ifname, AF_INET6, v6_type, &ifa->v6_tcp_sock);
|
||||
if (tsrv) { added++; ifa->v6_tcp = tsrv; } }
|
||||
struct stcp_server* tsrv = create_iface_tcp_socket(as, ifindex, ifname, AF_INET6, v6_type, &ifa->v6_tcp_sock);
|
||||
if (tsrv) { added++; ifa->v6_tcp = tsrv; }
|
||||
}
|
||||
}
|
||||
|
||||
if (added > 0) {
|
||||
|
||||
@@ -77,6 +77,10 @@ private slots:
|
||||
}
|
||||
QVERIFY(config_update_option(path, "global", "auto_sockets", "no"));
|
||||
page.loadFromConfig(path); QVERIFY(!protocols->isEnabled());
|
||||
QVERIFY(config_update_option(path, "global", "auto_socket_protocols", "TCP # comment"));
|
||||
QVERIFY(config.load()); QVERIFY(!config.hasErrors());
|
||||
QCOMPARE(config.autoSocketProtocols(), QString("tcp"));
|
||||
page.loadFromConfig(path); QCOMPARE(protocols->currentData().toString(), QString("tcp"));
|
||||
QVERIFY(config_update_option(path, "global", "auto_socket_protocols", "invalid"));
|
||||
QVERIFY(config.load()); QVERIFY(config.hasErrors());
|
||||
QFile file(path); QVERIFY(file.open(QIODevice::WriteOnly | QIODevice::Truncate));
|
||||
|
||||
@@ -314,7 +314,7 @@ bool NodeConfig::load() {
|
||||
else if (key == "my_private_key") m_privKey = val;
|
||||
else if (key == "auto_sockets") m_autoSockets = (val.compare("yes", Qt::CaseInsensitive) == 0 || val == "1");
|
||||
else if (key == "auto_socket_protocols") {
|
||||
const QString protocols = val.toLower();
|
||||
const QString protocols = val.section('#', 0, 0).section(';', 0, 0).trimmed().toLower();
|
||||
if (protocols == "tcp" || protocols == "udp" || protocols == "tcp+udp") m_autoSocketProtocols = protocols;
|
||||
else {
|
||||
m_errors.append(QString("line %1: invalid auto_socket_protocols='%2'; expected tcp, udp or tcp+udp")
|
||||
|
||||
Reference in new issue
Block a user