goto error;
}
- if (virSocketParseAddr(addrStr, def->target.addr, AF_UNSPEC) < 0) {
- virDomainReportError(VIR_ERR_XML_ERROR,
- _("%s is not a valid address"),
- addrStr);
+ if (virSocketParseAddr(addrStr, def->target.addr, AF_UNSPEC) < 0)
goto error;
- }
if (def->target.addr->data.stor.ss_family != AF_INET) {
virDomainReportError(VIR_ERR_CONFIG_UNSUPPORTED,
}
if (virSocketParseAddr(start, &saddr, AF_UNSPEC) < 0) {
- virNetworkReportError(VIR_ERR_XML_ERROR,
- _("cannot parse dhcp start address '%s'"),
- start);
xmlFree(start);
xmlFree(end);
- cur = cur->next;
- continue;
+ return -1;
}
if (virSocketParseAddr(end, &eaddr, AF_UNSPEC) < 0) {
- virNetworkReportError(VIR_ERR_XML_ERROR,
- _("cannot parse dhcp end address '%s'"),
- end);
xmlFree(start);
xmlFree(end);
- cur = cur->next;
- continue;
+ return -1;
}
range = virSocketGetRange(&saddr, &eaddr);
start, end);
xmlFree(start);
xmlFree(end);
- cur = cur->next;
- continue;
+ return -1;
}
if (VIR_REALLOC_N(def->ranges, def->nranges + 1) < 0) {
if (!network->def->ipAddress || !network->def->netmask)
return 0;
- if (virSocketParseAddr(network->def->ipAddress, &inaddress, AF_UNSPEC) < 0) {
- networkReportError(VIR_ERR_INTERNAL_ERROR,
- _("cannot parse IP address '%s'"),
- network->def->ipAddress);
+ if (virSocketParseAddr(network->def->ipAddress, &inaddress, AF_UNSPEC) < 0)
goto error;
- }
- if (virSocketParseAddr(network->def->netmask, &innetmask, AF_UNSPEC) < 0) {
- networkReportError(VIR_ERR_INTERNAL_ERROR,
- _("cannot parse netmask '%s'"),
- network->def->netmask);
+ if (virSocketParseAddr(network->def->netmask, &innetmask, AF_UNSPEC) < 0)
goto error;
- }
if (inaddress.data.stor.ss_family != AF_INET ||
innetmask.data.stor.ss_family != AF_INET) {
int len;
struct addrinfo hints;
struct addrinfo *res = NULL;
+ int err;
- if (val == NULL)
- return(-1);
+ if (val == NULL) {
+ virSocketError(VIR_ERR_INVALID_ARG, _("Missing address"));
+ return -1;
+ }
memset(&hints, 0, sizeof(hints));
hints.ai_family = family;
hints.ai_flags = AI_NUMERICHOST;
- if ((getaddrinfo(val, NULL, &hints, &res) != 0) || (res == NULL)) {
- return(-1);
+ if ((err = getaddrinfo(val, NULL, &hints, &res)) != 0) {
+ virSocketError(VIR_ERR_SYSTEM_ERROR,
+ _("Cannot parse socket address '%s': %s"),
+ val, gai_strerror(err));
+ return -1;
+ }
+
+ if (res == NULL) {
+ virSocketError(VIR_ERR_SYSTEM_ERROR,
+ _("No socket addresses found for '%s'"),
+ val);
+ return -1;
}
len = res->ai_addrlen;