Re: [libvirt] [PATCH 02/23] util: add helper API for getting UNIX path from socket address

2019-07-10 Thread Ján Tomko

On Thu, Jun 27, 2019 at 10:54:31AM +0100, Daniel P. Berrangé wrote:

Signed-off-by: Daniel P. Berrangé 
---
src/libvirt_private.syms |  1 +
src/util/virsocketaddr.c | 42 
src/util/virsocketaddr.h |  2 ++
3 files changed, 45 insertions(+)

diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 34937adc5d..ce614e04bd 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -2903,6 +2903,7 @@ virSocketAddrFormat;
virSocketAddrFormatFull;
virSocketAddrGetIPPrefix;
virSocketAddrGetNumNetmaskBits;
+virSocketAddrGetPath;
virSocketAddrGetPort;
virSocketAddrGetRange;
virSocketAddrIsNetmask;
diff --git a/src/util/virsocketaddr.c b/src/util/virsocketaddr.c
index 182e18aa8c..7a50cbe040 100644
--- a/src/util/virsocketaddr.c
+++ b/src/util/virsocketaddr.c
@@ -500,6 +500,7 @@ virSocketAddrSetPort(virSocketAddrPtr addr, int port)
return 0;
}

+


Unrelated whitespace.


/*
 * virSocketGetPort:
 * @addr: an initialized virSocketAddrPtr


Reviewed-by: Ján Tomko 

Jano


signature.asc
Description: PGP signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

[libvirt] [PATCH 02/23] util: add helper API for getting UNIX path from socket address

2019-06-27 Thread Daniel P . Berrangé
Signed-off-by: Daniel P. Berrangé 
---
 src/libvirt_private.syms |  1 +
 src/util/virsocketaddr.c | 42 
 src/util/virsocketaddr.h |  2 ++
 3 files changed, 45 insertions(+)

diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 34937adc5d..ce614e04bd 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -2903,6 +2903,7 @@ virSocketAddrFormat;
 virSocketAddrFormatFull;
 virSocketAddrGetIPPrefix;
 virSocketAddrGetNumNetmaskBits;
+virSocketAddrGetPath;
 virSocketAddrGetPort;
 virSocketAddrGetRange;
 virSocketAddrIsNetmask;
diff --git a/src/util/virsocketaddr.c b/src/util/virsocketaddr.c
index 182e18aa8c..7a50cbe040 100644
--- a/src/util/virsocketaddr.c
+++ b/src/util/virsocketaddr.c
@@ -500,6 +500,7 @@ virSocketAddrSetPort(virSocketAddrPtr addr, int port)
 return 0;
 }
 
+
 /*
  * virSocketGetPort:
  * @addr: an initialized virSocketAddrPtr
@@ -522,6 +523,47 @@ virSocketAddrGetPort(virSocketAddrPtr addr)
 return -1;
 }
 
+
+/*
+ * virSocketGetPath:
+ * @addr: an initialized virSocketAddrPtr
+ *
+ * Returns the UNIX socket path of the given virtSocketAddr
+ *
+ * Returns -1 if @addr is invalid or does not refer to an
+ * address of type AF_UNIX;
+ */
+char *
+virSocketAddrGetPath(virSocketAddrPtr addr ATTRIBUTE_UNUSED)
+{
+#ifndef WIN32
+char *path = NULL;
+if (addr == NULL) {
+virReportError(VIR_ERR_INVALID_ARG, "%s",
+   _("No socket address provided"));
+return NULL;
+}
+
+if (addr->data.sa.sa_family != AF_UNIX) {
+virReportError(VIR_ERR_INVALID_ARG, "%s",
+   _("UNIX socket address is required"));
+return NULL;
+}
+
+if (VIR_STRNDUP(path,
+addr->data.un.sun_path,
+sizeof(addr->data.un.sun_path)) < 0)
+return NULL;
+
+return path;
+#else
+virReportError(VIR_ERR_NO_SUPPORT, "%s",
+   _("UNIX sockets not supported on this platform"));
+return NULL;
+#endif
+}
+
+
 /**
  * virSocketAddrIsNetmask:
  * @netmask: the netmask address
diff --git a/src/util/virsocketaddr.h b/src/util/virsocketaddr.h
index b2ecb3c748..9dbd8caa0d 100644
--- a/src/util/virsocketaddr.h
+++ b/src/util/virsocketaddr.h
@@ -108,6 +108,8 @@ char *virSocketAddrFormatFull(const virSocketAddr *addr,
   bool withService,
   const char *separator);
 
+char *virSocketAddrGetPath(virSocketAddrPtr addr);
+
 int virSocketAddrSetPort(virSocketAddrPtr addr, int port);
 
 int virSocketAddrGetPort(virSocketAddrPtr addr);
-- 
2.21.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list