summaryrefslogtreecommitdiff
path: root/src/network/networkd-network.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/networkd-network.c')
-rw-r--r--src/network/networkd-network.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/network/networkd-network.c b/src/network/networkd-network.c
index cd63bb5f72..24d6556c76 100644
--- a/src/network/networkd-network.c
+++ b/src/network/networkd-network.c
@@ -159,7 +159,7 @@ int network_verify(Network *network) {
if (set_isempty(network->match_mac) && strv_isempty(network->match_path) &&
strv_isempty(network->match_driver) && strv_isempty(network->match_type) &&
strv_isempty(network->match_name) && strv_isempty(network->match_property) &&
- !network->conditions)
+ strv_isempty(network->match_ssid) && !network->conditions)
log_warning("%s: No valid settings found in the [Match] section. "
"The file will match all interfaces. "
"If that is intended, please add Name=* in the [Match] section.",
@@ -547,6 +547,8 @@ static Network *network_free(Network *network) {
strv_free(network->match_type);
strv_free(network->match_name);
strv_free(network->match_property);
+ strv_free(network->match_ssid);
+ set_free_free(network->match_bssid);
condition_free_list(network->conditions);
free(network->description);
@@ -655,7 +657,7 @@ int network_get_by_name(Manager *manager, const char *name, Network **ret) {
int network_get(Manager *manager, sd_device *device,
const char *ifname, const struct ether_addr *address,
- Network **ret) {
+ const char *ssid, const struct ether_addr *bssid, Network **ret) {
Network *network;
Iterator i;
@@ -665,7 +667,8 @@ int network_get(Manager *manager, sd_device *device,
ORDERED_HASHMAP_FOREACH(network, manager->networks, i)
if (net_match_config(network->match_mac, network->match_path, network->match_driver,
network->match_type, network->match_name, network->match_property,
- device, address, ifname)) {
+ network->match_ssid, network->match_bssid,
+ device, address, ifname, ssid, bssid)) {
if (network->match_name && device) {
const char *attr;
uint8_t name_assign_type = NET_NAME_UNKNOWN;