[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 01/16] sockets: add helpers for creating Sock
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH v2 01/16] sockets: add helpers for creating SocketAddress from a socket |
Date: |
Tue, 20 Oct 2015 14:20:12 +0100 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Mon, Oct 19, 2015 at 03:43:27PM -0600, Eric Blake wrote:
> On 10/12/2015 05:14 AM, Daniel P. Berrange wrote:
> > Add two helper methods that, given a socket file descriptor,
> > can return a populated SocketAddress struct containing either
> > the local or remote address information.
> >
> > Signed-off-by: Daniel P. Berrange <address@hidden>
> > ---
> > include/qemu/sockets.h | 30 ++++++++++++++
> > util/qemu-sockets.c | 110
> > +++++++++++++++++++++++++++++++++++++++++++++++++
> > 2 files changed, 140 insertions(+)
> >
>
> > +static SocketAddress *
> > +socket_sockaddr_to_address_inet(struct sockaddr_storage *sa,
> > + socklen_t salen,
> > + Error **errp)
> > +{
> > + char host[NI_MAXHOST];
> > + char serv[NI_MAXSERV];
> > + SocketAddress *addr;
> > + int ret;
> > +
> > + ret = getnameinfo((struct sockaddr *)sa, salen,
> > + host, sizeof(host),
> > + serv, sizeof(serv),
> > + NI_NUMERICHOST | NI_NUMERICSERV);
> > + if (ret != 0) {
> > + error_setg(errp, "Cannot format numeric socket address: %s\n",
> > + gai_strerror(ret));
>
> No trailing \n with error_setg(), please.
>
> > + return NULL;
> > + }
> > +
> > + addr = g_new0(SocketAddress, 1);
> > + addr->kind = SOCKET_ADDRESS_KIND_INET;
>
> I've got pending qapi patches that rename this to addr->type,
>
> > + addr->inet = g_new0(InetSocketAddress, 1);
>
> and this to addr->u.inet. Whoever merges first gets to watch the other
> guy rebase :)
>
> > + addr->inet->host = g_strdup(host);
> > + addr->inet->port = g_strdup(serv);
> > + if (sa->ss_family == AF_INET) {
> > + addr->inet->ipv4 = true;
> > + } else {
> > + addr->inet->ipv6 = true;
> > + }
>
> Don't we also need to set has_ipv4 and has_ipv6 appropriately?
Yes, we do.
Regards,
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 :|
- Re: [Qemu-devel] [PATCH v2 03/16] sockets: allow port to be NULL when listening on IP address, (continued)
- [Qemu-devel] [PATCH v2 04/16] ui: convert VNC startup code to use SocketAddress, Daniel P. Berrange, 2015/10/12
- Re: [Qemu-devel] [PATCH v2 04/16] ui: convert VNC startup code to use SocketAddress, Eric Blake, 2015/10/19
- Re: [Qemu-devel] [PATCH v2 04/16] ui: convert VNC startup code to use SocketAddress, Daniel P. Berrange, 2015/10/20
- Re: [Qemu-devel] [PATCH v2 04/16] ui: convert VNC startup code to use SocketAddress, Peter Maydell, 2015/10/20
- Re: [Qemu-devel] [PATCH v2 04/16] ui: convert VNC startup code to use SocketAddress, Daniel P. Berrange, 2015/10/20
- Re: [Qemu-devel] [PATCH v2 04/16] ui: convert VNC startup code to use SocketAddress, Peter Maydell, 2015/10/20
- Re: [Qemu-devel] [PATCH v2 04/16] ui: convert VNC startup code to use SocketAddress, Daniel P. Berrange, 2015/10/21
[Qemu-devel] [PATCH v2 01/16] sockets: add helpers for creating SocketAddress from a socket, Daniel P. Berrange, 2015/10/12
[Qemu-devel] [PATCH v2 06/16] coroutine: move into libqemuutil.a library, Daniel P. Berrange, 2015/10/12
[Qemu-devel] [PATCH v2 07/16] util: pull Buffer code out of VNC module, Daniel P. Berrange, 2015/10/12
[Qemu-devel] [PATCH v2 08/16] io: add abstract QIOChannel classes, Daniel P. Berrange, 2015/10/12
[Qemu-devel] [PATCH v2 09/16] io: add helper module for creating watches on FDs, Daniel P. Berrange, 2015/10/12
[Qemu-devel] [PATCH v2 12/16] io: add QIOChannelFile class, Daniel P. Berrange, 2015/10/12
[Qemu-devel] [PATCH v2 13/16] io: add QIOChannelTLS class, Daniel P. Berrange, 2015/10/12
[Qemu-devel] [PATCH v2 14/16] io: add QIOChannelWebsock class, Daniel P. Berrange, 2015/10/12