const char *rvalue,
void *data,
void *userdata) {
+ Network *network = userdata;
char ***domains = data;
char **domain;
int r;
return r;
strv_uniq(*domains);
+ network->wildcard_domain = !!strv_find(*domains, "*");
STRV_FOREACH(domain, *domains)
- if (is_localhost(*domain) || !hostname_is_valid(*domain))
+ if (is_localhost(*domain) || !hostname_is_valid(*domain) || streq(*domain, "*")) {
strv_remove(*domains, *domain);
+ /* We removed one entry, make sure we don't skip the next one */
+ domain--;
+ }
+
return 0;
}