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