On Mon, Apr 20, 2015 at 15:40:32 +0200, Peter Krempa wrote:
On Sun, Apr 19, 2015 at 20:49:06 -0400, John Ferlan wrote:
> Similar to virGetHostname, but this time taking a parameter which is a
> hostname or ipaddress from a <source ... <host name ='%s'.../>...
/>
> XML property and validating that the name can be resolved.
>
> Return true or false depending on whether we can ascertain the hostname
> address from calls to 'getnameinfo' and 'getaddrinfo'. Subsequent
patches
> will be validating a proposed pool hostname definition against existing
> pool hostnames to ensure they are not the same hostname (and thus having
> two pools looking at the same data)
>
> Signed-off-by: John Ferlan <jferlan(a)redhat.com>
> ---
> src/libvirt_private.syms | 1 +
> src/util/virutil.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++
> src/util/virutil.h | 1 +
> 3 files changed, 51 insertions(+)
>
> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
> index 8c37303..5ba9635 100644
> --- a/src/libvirt_private.syms
> +++ b/src/libvirt_private.syms
> @@ -2324,6 +2324,7 @@ virIsCapableFCHost;
> virIsCapableVport;
> virIsDevMapperDevice;
> virIsSUID;
> +virIsValidHostname;
> virManageVport;
> virMemoryLimitIsSet;
> virMemoryLimitTruncate;
> diff --git a/src/util/virutil.c b/src/util/virutil.c
> index 79cdb7a..f6cc9af 100644
> --- a/src/util/virutil.c
> +++ b/src/util/virutil.c
> @@ -690,6 +690,55 @@ char *virGetHostname(void)
> }
>
>
> +/*
> + * virIsValidHostname:
> + *
> + * Unlike virGetHostname, this variant of the code receives a hostname
> + * retrieves the getaddrinfo. If the passed hostname can be successfully
> + * and if successfully resolved via getaddrinfo, then success is declared.
> + *
> + * On error in lookup, if an IP Address is not found, or error formatting
> + * the name, an error is generated and a NULL is returned.
> + *
> + * On success, a pointer to a character representation of the numeric IP
> + * Address is returned.
> + *
> + * It is the caller's responsibility to check for a non NULL return and
> + * VIR_FREE the resultant string.
This comment does not describe how this function works.
> + */
> +bool
> +virIsValidHostname(const char *hostname)
As a hindsight from reviewing 6/7. This function should also be in
virsocketaddr.c
Peter