[libvirt] [PATCH 08/10] Introduce generic RPC module for advertizing via MDNS

Daniel P. Berrange berrange at redhat.com
Fri Jun 24 10:36:52 UTC 2011


On Thu, Jun 23, 2011 at 08:41:38PM -0600, Eric Blake wrote:
> On 06/22/2011 09:33 AM, Daniel P. Berrange wrote:
> > Allow RPC servers to advertize themselves using MDNS,
> 
> s/advertize/advertise/ (also in subject line)
> 
> (Yes, both spellings are valid, but advertise is by far the more
> prevalent, per
> http://www.googlefight.com/index.php?lang=en_GB&word1=advertise&word2=advertize)
> 
> > via Avahi
> > 
> > * src/rpc/virnetserver.c, src/rpc/virnetserver.h: Allow
> >   registration of MDNS services via avahi
> > * src/rpc/virnetserverservice.c, src/rpc/virnetserverservice.h: Add
> >   API to fetch the listen port number
> > * src/rpc/virnetsocket.c, src/rpc/virnetsocket.h: Add API to
> >   fetch the local port number
> > * src/rpc/virnetservermdns.c, src/rpc/virnetservermdns.h: Represent
> >   an MDNS advertisement
> > ---
> >  cfg.mk                        |    3 +
> >  po/POTFILES.in                |    1 +
> >  src/Makefile.am               |    9 +
> >  src/rpc/virnetserver.c        |   47 +++-
> >  src/rpc/virnetserver.h        |    4 +-
> >  src/rpc/virnetservermdns.c    |  614 +++++++++++++++++++++++++++++++++++++++++
> >  src/rpc/virnetservermdns.h    |  109 ++++++++
> >  src/rpc/virnetserverservice.c |    8 +
> >  src/rpc/virnetserverservice.h |    2 +
> >  src/rpc/virnetsocket.c        |    6 +
> >  src/rpc/virnetsocket.h        |    2 +
> >  11 files changed, 803 insertions(+), 2 deletions(-)
> >  create mode 100644 src/rpc/virnetservermdns.c
> >  create mode 100644 src/rpc/virnetservermdns.h
> > 
> 
> > @@ -281,6 +291,19 @@ virNetServerPtr virNetServerNew(size_t min_workers,
> >      srv->clientInitHook = clientInitHook;
> >      srv->privileged = geteuid() == 0 ? true : false;
> >  
> > +    if (!(srv->mdnsGroupName = strdup(mdnsGroupName))) {
> > +        virReportOOMError();
> > +        goto error;
> > +    }
> > +#if HAVE_AVAHI
> > +    if (srv->mdnsGroupName) {
> 
> This conditional is always true, given the fact that you previously
> jumped to error if strdup failed.  Is that intentional?  Or can
> mdnsGroupName be NULL on entry, in which case you need to check for NULL
> before blindly calling strdup?

Yes, the strdup should have been optional if mdnsGroupName was
NULL on entry.


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list