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));

Reply via email to