From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51869) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZoIDM-0003rq-KP for qemu-devel@nongnu.org; Mon, 19 Oct 2015 17:43:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZoIDJ-0000ev-6t for qemu-devel@nongnu.org; Mon, 19 Oct 2015 17:43:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49907) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZoIDI-0000ej-WB for qemu-devel@nongnu.org; Mon, 19 Oct 2015 17:43:29 -0400 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (Postfix) with ESMTPS id ADB68319ADF for ; Mon, 19 Oct 2015 21:43:28 +0000 (UTC) References: <1444648509-29179-1-git-send-email-berrange@redhat.com> <1444648509-29179-2-git-send-email-berrange@redhat.com> From: Eric Blake Message-ID: <562563FF.50501@redhat.com> Date: Mon, 19 Oct 2015 15:43:27 -0600 MIME-Version: 1.0 In-Reply-To: <1444648509-29179-2-git-send-email-berrange@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="nMGVdlxCxa0XkKTUlrb3TobXVqvtc9vDq" Subject: Re: [Qemu-devel] [PATCH v2 01/16] sockets: add helpers for creating SocketAddress from a socket List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Daniel P. Berrange" , qemu-devel@nongnu.org Cc: Paolo Bonzini , "Dr. David Alan Gilbert" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --nMGVdlxCxa0XkKTUlrb3TobXVqvtc9vDq Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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. >=20 > Signed-off-by: Daniel P. Berrange > --- > include/qemu/sockets.h | 30 ++++++++++++++ > util/qemu-sockets.c | 110 +++++++++++++++++++++++++++++++++++++++++= ++++++++ > 2 files changed, 140 insertions(+) >=20 > +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 =3D getnameinfo((struct sockaddr *)sa, salen, > + host, sizeof(host), > + serv, sizeof(serv), > + NI_NUMERICHOST | NI_NUMERICSERV); > + if (ret !=3D 0) { > + error_setg(errp, "Cannot format numeric socket address: %s\n",= > + gai_strerror(ret)); No trailing \n with error_setg(), please. > + return NULL; > + } > + > + addr =3D g_new0(SocketAddress, 1); > + addr->kind =3D SOCKET_ADDRESS_KIND_INET; I've got pending qapi patches that rename this to addr->type, > + addr->inet =3D g_new0(InetSocketAddress, 1); and this to addr->u.inet. Whoever merges first gets to watch the other guy rebase :) > + addr->inet->host =3D g_strdup(host); > + addr->inet->port =3D g_strdup(serv); > + if (sa->ss_family =3D=3D AF_INET) { > + addr->inet->ipv4 =3D true; > + } else { > + addr->inet->ipv6 =3D true; > + } Don't we also need to set has_ipv4 and has_ipv6 appropriately? --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --nMGVdlxCxa0XkKTUlrb3TobXVqvtc9vDq Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJWJWP/AAoJEKeha0olJ0NqeN4IAIggq4CFclfVORtd57Ot10jo 9WiTo7MCuhhHJyd1Tgyx9fMnmQv6kkANewyjgFKaRozfs//S4nHW52vVifGGN6H5 sGA+E6RbdzQZMBlDGNuQu7vMrRVK3r5H0GhjZEu6xRSvNiUM8TH09Oenvk7erK/k z/UlL71BT1OxpLdpVc5vAXamFStU9yx+VxTdJzL2TbKKufLrTkGb9z9T4bdLzXLk +IHmIXE0ebITZ8CCZjjolRcgxskG+RUERLnpXI5DEvJiEuMNu0/E0iVqVtPKcOBw lUVDWBPxjKSjxCTM16OJ2Roln7pWQsftcZ2asRrIGdJnGEeOIveGJC1hRHwaQTs= =nHo6 -----END PGP SIGNATURE----- --nMGVdlxCxa0XkKTUlrb3TobXVqvtc9vDq--