mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 12:35:17 +00:00
network: Don't ignore errors in dnsmasq config file creation
This commit is contained in:
parent
9523b3c320
commit
eb9dee2b10
@ -446,7 +446,8 @@ networkBuildDnsmasqHostsfile(dnsmasqContext *dctx,
|
||||
for (i = 0; i < ipdef->nhosts; i++) {
|
||||
virNetworkDHCPHostDefPtr host = &(ipdef->hosts[i]);
|
||||
if ((host->mac) && VIR_SOCKET_HAS_ADDR(&host->ip))
|
||||
dnsmasqAddDhcpHost(dctx, host->mac, &host->ip, host->name);
|
||||
if (dnsmasqAddDhcpHost(dctx, host->mac, &host->ip, host->name) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (dnsdef) {
|
||||
@ -454,7 +455,8 @@ networkBuildDnsmasqHostsfile(dnsmasqContext *dctx,
|
||||
virNetworkDNSHostsDefPtr host = &(dnsdef->hosts[i]);
|
||||
if (VIR_SOCKET_HAS_ADDR(&host->ip)) {
|
||||
for (j = 0; j < host->nnames; j++)
|
||||
dnsmasqAddHost(dctx, &host->ip, host->names[j]);
|
||||
if (dnsmasqAddHost(dctx, &host->ip, host->names[j]) < 0)
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -604,14 +606,15 @@ networkBuildDnsmasqArgv(virNetworkObjPtr network,
|
||||
if (network->def->domain)
|
||||
virCommandAddArg(cmd, "--expand-hosts");
|
||||
|
||||
if (networkBuildDnsmasqHostsfile(dctx, ipdef, network->def->dns) >= 0) {
|
||||
if (dctx->hostsfile->nhosts)
|
||||
virCommandAddArgPair(cmd, "--dhcp-hostsfile",
|
||||
dctx->hostsfile->path);
|
||||
if (dctx->addnhostsfile->nhosts)
|
||||
virCommandAddArgPair(cmd, "--addn-hosts",
|
||||
dctx->addnhostsfile->path);
|
||||
}
|
||||
if (networkBuildDnsmasqHostsfile(dctx, ipdef, network->def->dns) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (dctx->hostsfile->nhosts)
|
||||
virCommandAddArgPair(cmd, "--dhcp-hostsfile",
|
||||
dctx->hostsfile->path);
|
||||
if (dctx->addnhostsfile->nhosts)
|
||||
virCommandAddArgPair(cmd, "--addn-hosts",
|
||||
dctx->addnhostsfile->path);
|
||||
|
||||
if (ipdef->tftproot) {
|
||||
virCommandAddArgList(cmd, "--enable-tftp",
|
||||
|
@ -502,14 +502,13 @@ dnsmasqContextFree(dnsmasqContext *ctx)
|
||||
*
|
||||
* Add dhcp-host entry.
|
||||
*/
|
||||
void
|
||||
int
|
||||
dnsmasqAddDhcpHost(dnsmasqContext *ctx,
|
||||
const char *mac,
|
||||
virSocketAddr *ip,
|
||||
const char *name)
|
||||
{
|
||||
if (ctx->hostsfile)
|
||||
hostsfileAdd(ctx->hostsfile, mac, ip, name);
|
||||
return hostsfileAdd(ctx->hostsfile, mac, ip, name);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -521,13 +520,12 @@ dnsmasqAddDhcpHost(dnsmasqContext *ctx,
|
||||
* Add additional host entry.
|
||||
*/
|
||||
|
||||
void
|
||||
int
|
||||
dnsmasqAddHost(dnsmasqContext *ctx,
|
||||
virSocketAddr *ip,
|
||||
const char *name)
|
||||
{
|
||||
if (ctx->addnhostsfile)
|
||||
addnhostsAdd(ctx->addnhostsfile, ip, name);
|
||||
return addnhostsAdd(ctx->addnhostsfile, ip, name);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -68,11 +68,11 @@ typedef struct
|
||||
dnsmasqContext * dnsmasqContextNew(const char *network_name,
|
||||
const char *config_dir);
|
||||
void dnsmasqContextFree(dnsmasqContext *ctx);
|
||||
void dnsmasqAddDhcpHost(dnsmasqContext *ctx,
|
||||
int dnsmasqAddDhcpHost(dnsmasqContext *ctx,
|
||||
const char *mac,
|
||||
virSocketAddr *ip,
|
||||
const char *name);
|
||||
void dnsmasqAddHost(dnsmasqContext *ctx,
|
||||
int dnsmasqAddHost(dnsmasqContext *ctx,
|
||||
virSocketAddr *ip,
|
||||
const char *name);
|
||||
int dnsmasqSave(const dnsmasqContext *ctx);
|
||||
|
Loading…
x
Reference in New Issue
Block a user