Module Name: src
Committed By: tls
Date: Sun Aug 10 06:58:08 UTC 2014
Modified Files:
src/usr.bin/getaddrinfo [tls-earlyentropy]: Makefile getaddrinfo.1
getaddrinfo.c
Log Message:
Rebase.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.1.2.1 src/usr.bin/getaddrinfo/Makefile
cvs rdiff -u -r1.3 -r1.3.2.1 src/usr.bin/getaddrinfo/getaddrinfo.1 \
src/usr.bin/getaddrinfo/getaddrinfo.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/getaddrinfo/Makefile
diff -u src/usr.bin/getaddrinfo/Makefile:1.1 src/usr.bin/getaddrinfo/Makefile:1.1.2.1
--- src/usr.bin/getaddrinfo/Makefile:1.1 Mon Sep 30 06:19:22 2013
+++ src/usr.bin/getaddrinfo/Makefile Sun Aug 10 06:58:08 2014
@@ -1,4 +1,6 @@
-# $NetBSD: Makefile,v 1.1 2013/09/30 06:19:22 riastradh Exp $
+# $NetBSD: Makefile,v 1.1.2.1 2014/08/10 06:58:08 tls Exp $
+
+.include <bsd.own.mk>
PROG= getaddrinfo
Index: src/usr.bin/getaddrinfo/getaddrinfo.1
diff -u src/usr.bin/getaddrinfo/getaddrinfo.1:1.3 src/usr.bin/getaddrinfo/getaddrinfo.1:1.3.2.1
--- src/usr.bin/getaddrinfo/getaddrinfo.1:1.3 Wed Mar 19 18:21:39 2014
+++ src/usr.bin/getaddrinfo/getaddrinfo.1 Sun Aug 10 06:58:08 2014
@@ -1,4 +1,4 @@
-.\" $NetBSD: getaddrinfo.1,v 1.3 2014/03/19 18:21:39 riastradh Exp $
+.\" $NetBSD: getaddrinfo.1,v 1.3.2.1 2014/08/10 06:58:08 tls Exp $
.\"
.\" Copyright (c) 2013 The NetBSD Foundation, Inc.
.\" All rights reserved.
@@ -27,7 +27,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd March 19, 2014
+.Dd April 22, 2014
.Dt GETADDRINFO 1
.Os
.Sh NAME
@@ -38,7 +38,7 @@
.Op Fl cNnP
.Op Fl f Ar family
.Op Fl p Ar protocol
-.Op Fl s Ar service
+.Op Fl s Ar service Ns Op Ns / Ns Ar protocol
.Op Fl t Ar socktype
.Op Ar hostname
.Sh DESCRIPTION
@@ -119,8 +119,11 @@ or
Specify a protocol.
Protocols may be numeric, or symbolic as listed in
.Xr protocols 5 .
-.It Fl s Ar service
+.It Fl s Ar service Ns Op Ns / Ns Ar protocol
Specify a service to look up.
+Services may be symbolic or numeric with an optional
+protocol suffix as listed in
+.Xr services 5 .
If no service is specified, a hostname must be specified.
.It Fl t Ar socktype
Specify a socket type.
Index: src/usr.bin/getaddrinfo/getaddrinfo.c
diff -u src/usr.bin/getaddrinfo/getaddrinfo.c:1.3 src/usr.bin/getaddrinfo/getaddrinfo.c:1.3.2.1
--- src/usr.bin/getaddrinfo/getaddrinfo.c:1.3 Wed Mar 19 01:24:32 2014
+++ src/usr.bin/getaddrinfo/getaddrinfo.c Sun Aug 10 06:58:08 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: getaddrinfo.c,v 1.3 2014/03/19 01:24:32 ginsbach Exp $ */
+/* $NetBSD: getaddrinfo.c,v 1.3.2.1 2014/08/10 06:58:08 tls Exp $ */
/*-
* Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: getaddrinfo.c,v 1.3 2014/03/19 01:24:32 ginsbach Exp $");
+__RCSID("$NetBSD: getaddrinfo.c,v 1.3.2.1 2014/08/10 06:58:08 tls Exp $");
#include <sys/types.h>
#include <sys/socket.h>
@@ -132,6 +132,24 @@ main(int argc, char **argv)
if (argc == 1)
hostname = argv[0];
+ if (service != NULL) {
+ char *p;
+
+ if ((p = strchr(service, '/')) != NULL) {
+ if (hints.ai_protocol != 0) {
+ warnx("protocol already specified");
+ usage();
+ }
+ *p = '\0';
+ p++;
+
+ if (!parse_protocol(p, &hints.ai_protocol)) {
+ warnx("invalid protocol: %s", p);
+ usage();
+ }
+ }
+ }
+
error = getaddrinfo(hostname, service, &hints, &addrinfo);
if (error)
errx(1, "%s", gai_strerror(error));