Grr. Please ignore the subject line. This is not PATCH 1/4, it's a standalone patch. I screwed up when using git format-patch. Chris Lalancette On 04/21/2010 12:03 PM, Chris Lalancette wrote: > If the hostname of the current virtualization machine > could not be resolved, then libvirtd would fail to > start. However, for disconnected operation (on a laptop, > for instance) the hostname may very legitimately not > be resolvable. This patch makes it so that if we can't > resolve the hostname, avahi doesn't fail, it just uses > a less useful MDNS string. > > Signed-off-by: Chris Lalancette <clalance@xxxxxxxxxx> > --- > daemon/libvirtd.c | 19 +++++++++++++------ > 1 files changed, 13 insertions(+), 6 deletions(-) > > diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c > index 863bf21..69106ee 100644 > --- a/daemon/libvirtd.c > +++ b/daemon/libvirtd.c > @@ -998,22 +998,29 @@ static int qemudNetworkInit(struct qemud_server *server) { > struct libvirtd_mdns_group *group; > struct qemud_socket *sock; > int port = 0; > + int ret; > > server->mdns = libvirtd_mdns_new(); > > if (!mdns_name) { > - char groupname[64], *localhost, *tmp; > + char *groupname, *localhost, *tmp; > /* Extract the host part of the potentially FQDN */ > localhost = virGetHostname(NULL); > if (localhost == NULL) > + ret = virAsprintf(&groupname, "Virtualization Host"); > + else { > + if ((tmp = strchr(localhost, '.'))) > + *tmp = '\0'; > + ret = virAsprintf(&groupname, "Virtualization Host %s", > + localhost); > + } > + if (ret < 0) { > + virReportOOMError(); > goto cleanup; > - > - if ((tmp = strchr(localhost, '.'))) > - *tmp = '\0'; > - snprintf(groupname, sizeof(groupname)-1, "Virtualization Host %s", localhost); > - groupname[sizeof(groupname)-1] = '\0'; > + } > group = libvirtd_mdns_add_group(server->mdns, groupname); > VIR_FREE(localhost); > + VIR_FREE(groupname); > } else { > group = libvirtd_mdns_add_group(server->mdns, mdns_name); > } -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list