- syslog(LOG_ERR, _("IP address expected for configuration variable %s in %s line %d"),
- cfg->value, cfg->file, cfg->line);
- return 0;
+ if((ip->address & ip->mask) != ip->address)
+ {
+ syslog(LOG_ERR, _("Network address and subnet mask for configuration variable %s in %s line %d"),
+ cfg->variable, cfg->file, cfg->line);
+ free(ip);
+ return 0;
+ }
+
+ subnet = new_subnet();
+ subnet->type = SUBNET_IPV4;
+ subnet->net.ipv4.address = ip->address;
+ subnet->net.ipv4.mask = ip->mask;
+
+ free(ip);
+
+ *result = subnet;
+
+ return 1;