6654375 Import the open source version of xhost
authorJay Cotton <Jay.Cotton@Sun.COM>
Thu, 24 Jan 2008 15:06:03 -0800
changeset 294 2c88146a951a
parent 293 e848b36488ae
child 295 ae94314169f7
6654375 Import the open source version of xhost
open-src/app/Makefile
open-src/app/xhost/Makefile
open-src/app/xhost/xhost.patch
open-src/app/xhost/xhost.po
packages/SUNW0xwplt/prototype
packages/SUNWxwman/prototype_com
packages/SUNWxwplt/prototype_com
--- a/open-src/app/Makefile	Thu Jan 24 14:07:47 2008 -0800
+++ b/open-src/app/Makefile	Thu Jan 24 15:06:03 2008 -0800
@@ -28,7 +28,7 @@
 # or other dealings in this Software without prior written authorization
 # of the copyright holder.
 #
-# @(#)Makefile	1.17	08/01/23
+# @(#)Makefile	1.18	08/01/23
 #
 ###############################################################################
 
@@ -40,6 +40,7 @@
 	xcursorgen \
 	xdpyinfo \
 	xgamma \
+	xhost \
 	xkbcomp \
 	xkill \
 	xlsatoms \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/app/xhost/Makefile	Thu Jan 24 15:06:03 2008 -0800
@@ -0,0 +1,54 @@
+###############################################################################
+#
+# xhost 1.x Makefile
+#
+# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
+# Use subject to license terms.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, and/or sell copies of the Software, and to permit persons
+# to whom the Software is furnished to do so, provided that the above
+# copyright notice(s) and this permission notice appear in all copies of
+# the Software and that both the above copyright notice(s) and this
+# permission notice appear in supporting documentation.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
+# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
+# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
+# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+# 
+# Except as contained in this notice, the name of a copyright holder
+# shall not be used in advertising or otherwise to promote the sale, use
+# or other dealings in this Software without prior written authorization
+# of the copyright holder.
+#
+#
+
+# Package name used in tarballs
+APP_NAME=xhost
+
+# Version number (used in path names)
+APP_VERS=1.0.2
+
+# Patches to apply to source after unpacking, in order
+SOURCE_PATCHES = xhost.patch
+
+# Man pages to apply Sun footer to & attributes to list
+SUNTOUCHED_MANPAGES=*.man
+SUNTOUCH_MAN_FLAGS= \
+ -a '{Availability, SUNWxwplt} {Interface Stability, Committed}'
+
+include ../Makefile.inc
+
+install_gen: install_po
+install_po:
+	mkdir -p $(PROTODIR)/usr/X11/share/locale/C/LC_MESSAGES
+	cp xhost.po $(PROTODIR)/usr/X11/share/locale/C/LC_MESSAGES
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/app/xhost/xhost.patch	Thu Jan 24 15:06:03 2008 -0800
@@ -0,0 +1,392 @@
+--- xhost.c	Mon Jul 10 19:53:04 2006
++++ filemerge.out	Wed Jan 23 14:22:49 2008
+@@ -124,6 +124,11 @@
+ #endif
+ #endif
+ 
++/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++#include <locale.h>	/* setlocale()  */
++#include <libintl.h>	/* gettext(), textdomain(), etc. */
++#include <stdlib.h>	/* getenv() */
++
+ static int change_host(Display *dpy, char *name, Bool add);
+ static char *get_hostname(XHostAddress *ha);
+ static int local_xerror(Display *dpy, XErrorEvent *rep);
+@@ -193,10 +198,24 @@
+     char *cp;
+ #endif
+  
++    /* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++    char *domaindir;
++    setlocale(LC_ALL,"");
++    textdomain("xhost");
++    
++    /* mainly for debugging */
++    if((domaindir=getenv("TEXTDOMAINDIR")) == NULL) {
++	domaindir = "/usr/X11/share/locale"; /*XLOCALEDIR;*/
++    }
++    bindtextdomain("xhost",domaindir);
++
++
+     ProgramName = argv[0];
+ 
+     if ((dpy = XOpenDisplay(NULL)) == NULL) {
+-	fprintf(stderr, "%s:  unable to open display \"%s\"\n",
++	/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	fprintf(stderr,
++		gettext("%s:  unable to open display \"%s\"\n"),
+ 		ProgramName, XDisplayName (NULL));
+ 	exit(1);
+     }
+@@ -211,9 +230,11 @@
+ 	sethostent(1);		/* don't close the data base each time */
+ 	list = XListHosts(dpy, &nhosts, &enabled);
+ 	if (enabled)
+-	    printf ("access control enabled, only authorized clients can connect\n");
++	    /* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	    printf (gettext("access control enabled, only authorized clients can connect\n"));
+ 	else
+-	    printf ("access control disabled, clients can connect from any host\n");
++	    /* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	    printf (gettext("access control disabled, clients can connect from any host\n"));
+ 
+ 	if (nhosts != 0) {
+ 	    for (i = 0; i < nhosts; i++ )  {
+@@ -242,16 +263,18 @@
+ 			printf("SI:");
+ 			break;
+ 		    default:
+-			printf("<unknown family type %d>:", list[i].family);
++			printf(gettext("<unknown family type %d>:"), list[i].family);
+ 			break;
+ 		    }
+ 		    printf ("%s", hostname);
+ 		} else {
+-		    printf ("<unknown address in family %d>",
++		    /* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++		    printf (gettext("<unknown address in family %d>"),
+ 			    list[i].family);
+ 		}
+ 		if (nameserver_timedout) {
+-		    printf("\t(no nameserver response within %d seconds)\n",
++		    /* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++		    printf(gettext("\t(no nameserver response within %d seconds)\n"),
+ 			   NAMESERVER_TIMEOUT);
+ 		    nameserver_timedout = 0;
+ 		} else
+@@ -264,7 +287,8 @@
+     }
+  
+     if (argc == 2 && !strcmp(argv[1], "-help")) {
+-	fprintf(stderr, "usage: %s [[+-]hostname ...]\n", argv[0]);
++	/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	fprintf(stderr, gettext("usage: %s [[+-]hostname ...]\n"), argv[0]);
+ 	exit(1);
+     }
+ 
+@@ -273,12 +297,14 @@
+ 	if (*arg == '-') {
+ 	    
+ 	    if (!argv[i][1] && ((i+1) == argc)) {
+-		printf ("access control enabled, only authorized clients can connect\n");
++		/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++		printf (gettext("access control enabled, only authorized clients can connect\n"));
+ 		XEnableAccessControl(dpy);
+ 	    } else {
+ 		arg = argv[i][1]? &argv[i][1] : argv[++i];
+ 		if (!change_host (dpy, arg, False)) {
+-		    fprintf (stderr, "%s:  bad hostname \"%s\"\n",
++		    /* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++		    fprintf (stderr, gettext("%s:  bad hostname \"%s\"\n"),
+ 			     ProgramName, arg);
+ 		    nfailed++;
+ 		}
+@@ -285,7 +311,8 @@
+ 	    }
+ 	} else {
+ 	    if (*arg == '+' && !argv[i][1] && ((i+1) == argc)) {
+-		printf ("access control disabled, clients can connect from any host\n");
++		/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++		printf (gettext("access control disabled, clients can connect from any host\n"));
+ 		XDisableAccessControl(dpy);
+ 	    } else {
+ 		if (*arg == '+') {
+@@ -292,7 +319,8 @@
+ 		    arg = argv[i][1]? &argv[i][1] : argv[++i];
+ 		}
+ 		if (!change_host (dpy, arg, True)) {
+-		    fprintf (stderr, "%s:  bad hostname \"%s\"\n",
++		    /* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++		    fprintf (stderr, gettext("%s:  bad hostname \"%s\"\n"),
+ 			     ProgramName, arg);
+ 		    nfailed++;
+ 		}
+@@ -324,6 +352,7 @@
+     krb5_data kbuf;
+ #endif
+ #ifdef NEEDSOCKETS
++#ifndef AMTCPCONN
+     static struct in_addr addr;	/* so we can point at it */
+ #if defined(IPv6) && defined(AF_INET6)
+     static struct in6_addr addr6; /* so we can point at it */
+@@ -330,7 +359,10 @@
+ #else
+     struct hostent *hp;
+ #endif
++#else
++    static ipaddr_t addr;
+ #endif
++#endif
+     char *cp;
+ #ifdef DNETCONN
+     struct dn_naddr *dnaddrp;
+@@ -337,12 +369,14 @@
+     struct nodeent *np;
+     static struct dn_naddr dnaddr;
+ #endif				/* DNETCONN */
+-    static char *add_msg = "being added to access control list";
+-    static char *remove_msg = "being removed from access control list";
++    const char *add_msg = gettext("being added to access control list");
++    const char *remove_msg = gettext("being removed from access control list");
+ 
+     namelen = strlen(name);
+     if ((lname = (char *)malloc(namelen+1)) == NULL) {
+-	fprintf (stderr, "%s: malloc bombed in change_host\n", ProgramName);
++	/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	fprintf (stderr, gettext("%s: malloc bombed in change_host\n"),
++		 ProgramName);
+ 	exit (1);
+     }
+     for (i = 0; i < namelen; i++) {
+@@ -350,12 +384,12 @@
+     }
+     lname[namelen] = '\0';
+     if (!strncmp("inet:", lname, 5)) {
+-#if defined(TCPCONN) || defined(STREAMSCONN)
++#if defined(TCPCONN) || defined(STREAMSCONN) || defined(AMTCPCONN)
+ 	family = FamilyInternet;
+ 	name += 5;
+ #else
+-	fprintf (stderr, "%s: not compiled for TCP/IP\n", ProgramName);
+-	free(lname);
++	/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	fprintf (stderr, gettext("%s: not compiled for TCP/IP\n"), ProgramName);
+ 	return 0;
+ #endif
+     }
+@@ -365,8 +399,8 @@
+ 	family = FamilyInternet6;
+ 	name += 6;
+ #else
+-	fprintf (stderr, "%s: not compiled for IPv6\n", ProgramName);
+-	free(lname);
++	/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	fprintf (stderr, gettext("%s: not compiled for IPv6\n"), ProgramName);
+ 	return 0;
+ #endif
+     }
+@@ -378,8 +412,8 @@
+ 	family = FamilyInternet6;
+ 	name += 7;
+ #else
+-	fprintf (stderr, "%s: not compiled for IPv6\n", ProgramName);
+-	free(lname);
++	/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	fprintf (stderr, gettext("%s: not compiled for IPv6\n"), ProgramName);
+ 	return 0;
+ #endif
+     }
+@@ -389,8 +423,8 @@
+ 	family = FamilyDECnet;
+ 	name += 5;
+ #else
+-	fprintf (stderr, "%s: not compiled for DECnet\n", ProgramName);
+-	free(lname);
++	/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	fprintf (stderr, gettext("%s: not compiled for DECnet\n"), ProgramName);
+ 	return 0;
+ #endif
+     }
+@@ -399,8 +433,8 @@
+ 	family = FamilyNetname;
+ 	name += 4;
+ #else
+-	fprintf (stderr, "%s: not compiled for Secure RPC\n", ProgramName);
+-	free(lname);
++	/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	fprintf (stderr, gettext("%s: not compiled for Secure RPC\n"), ProgramName);
+ 	return 0;
+ #endif
+     }
+@@ -409,8 +443,8 @@
+ 	family = FamilyKrb5Principal;
+ 	name +=4;
+ #else
+-	fprintf (stderr, "%s: not compiled for Kerberos 5\n", ProgramName);
+-	free(lname);
++	/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	fprintf (stderr, gettext("%s: not compiled for Kerberos 5\n"), ProgramName);
+ 	return 0;
+ #endif
+     }
+@@ -422,11 +456,21 @@
+ 	name += 3;
+     }
+     if (family == FamilyWild && (cp = strchr(lname, ':'))) {
+-	*cp = '\0';
+-	fprintf (stderr, "%s: unknown address family \"%s\"\n",
+-		 ProgramName, lname);
+-	free(lname);
+-	return 0;
++#ifdef IPv6
++	/*
++	 * Check to see if inet_pton() can grok it as an IPv6 address
++	 */
++	if (inet_pton(AF_INET6, lname, &addr6.s6_addr) == 1) {
++	    family = FamilyInternet6;
++	} else
++#endif
++	{
++	    *cp = '\0';
++	    /* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	    fprintf (stderr, gettext("%s: unknown address family \"%s\"\n"),
++		     ProgramName, lname);
++	    return 0;
++	}
+     }
+     free(lname);
+ 
+@@ -436,8 +480,8 @@
+ 
+ 	cp = strchr(name, ':');
+ 	if (cp == NULL || cp == name) {
+-	    fprintf(stderr, 
+-	   "%s: type must be specified for server interpreted family \"%s\"\n",
++	    fprintf(stderr, gettext(
++	  "%s: type must be specified for server interpreted family \"%s\"\n"),
+ 	      ProgramName, name);
+ 	    return 0;
+ 	}
+@@ -471,7 +515,8 @@
+ 	    dnaddr = *dnaddrp;
+ 	} else {
+ 	    if ((np = getnodebyname (name)) == NULL) {
+-		fprintf (stderr, "%s:  unable to get node name for \"%s::\"\n",
++		/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++		fprintf (stderr, gettext("%s:  unable to get node name for \"%s::\"\n"),
+ 			 ProgramName, name);
+ 		return 0;
+ 	    }
+@@ -497,7 +542,8 @@
+ 	retval = krb5_parse_name(name, &princ);
+ 	if (retval) {
+ 	    krb5_init_ets();	/* init krb errs for error_message() */
+-	    fprintf(stderr, "%s: cannot parse Kerberos name: %s\n",
++	    /* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++	    fprintf(stderr, gettext("%s: cannot parse Kerberos name: %s\n"),
+ 		    ProgramName, error_message(retval));
+ 	    return 0;
+ 	}
+@@ -523,7 +569,7 @@
+ 	    XAddHost(dpy, &ha);
+ 	else
+ 	    XRemoveHost(dpy, &ha);
+-	printf( "non-network local connections %s\n", add ? add_msg : remove_msg);
++	printf( gettext("non-network local connections %s\n"), add ? add_msg : remove_msg);
+ 	return 1;
+     }
+     /*
+@@ -542,12 +588,14 @@
+ 	    *cp = '\0';
+ 	    pwd = getpwnam(name);
+ 	    if (!pwd) {
+-		fprintf(stderr, "no such user \"%s\"\n", name);
++		/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++		fprintf(stderr, gettext("no such user \"%s\"\n"), name);
+ 		return 0;
+ 	    }
+ 	    getdomainname(domainname, sizeof(domainname));
+ 	    if (!user2netname(username, pwd->pw_uid, domainname)) {
+-		fprintf(stderr, "failed to get netname for \"%s\"\n", name);
++		/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
++		fprintf(stderr, gettext("failed to get netname for \"%s\"\n"), name);
+ 		return 0;
+ 	    }
+ 	    netname = username;
+@@ -570,8 +618,13 @@
+     /*
+      * First see if inet_addr() can grok the name; if so, then use it.
+      */
++#ifndef AMTCPCONN
+     if (((family == FamilyWild) || (family == FamilyInternet)) &&
+ 	((addr.s_addr = inet_addr(name)) != -1)) {
++#else
++    if (((family == FamilyWild) || (family == FamilyInternet)) &&
++	((addr = inet_addr(name)) != -1)) {
++#endif
+ 	ha.family = FamilyInternet;
+ 	ha.length = 4;		/* but for Cray would be sizeof(addr.s_addr) */
+ 	ha.address = (char *)&addr; /* but for Cray would be &addr.s_addr */
+@@ -654,8 +707,11 @@
+ 		familyMsg = "inet ";
+ 	    }
+ 
+-	    fprintf(stderr, "%s: unable to get %saddress for \"%s\"\n",
+-		ProgramName, familyMsg, name);
++	    /* L10N_Comments - Parts composed to make full error string
++	       'unable to get' ['inet'|'inetv6'|''] 'address for' <address> */
++	    fprintf (stderr, "%s:  %s %s%s \"%s\"\n", ProgramName, 
++	      gettext("unable to get"), familyMsg, gettext("address for"), 
++	      name);
+ 	}
+ 	freeaddrinfo(addresses);
+ 	return 1;
+@@ -715,7 +771,7 @@
+ static char *
+ get_hostname(XHostAddress *ha)
+ {
+-#if (defined(TCPCONN) || defined(STREAMSCONN)) &&	\
++#if (defined(TCPCONN) || defined(STREAMSCONN) || defined(AMTCPCONN)) && \
+      (!defined(IPv6) || !defined(AF_INET6))
+     static struct hostent *hp = NULL;
+ #endif
+@@ -733,7 +789,7 @@
+     struct sigaction sa;
+ #endif
+ 
+-#if defined(TCPCONN) || defined(STREAMSCONN)
++#if defined(TCPCONN) || defined(STREAMSCONN) || defined(AMTCPCONN)
+ #if defined(IPv6) && defined(AF_INET6)
+     if ((ha->family == FamilyInternet) || (ha->family == FamilyInternet6)) {
+ 	struct sockaddr_storage saddr;
+@@ -823,7 +879,11 @@
+ 	alarm(0);
+ 	if (hp)
+ 	    return (hp->h_name);
++#ifndef AMTCPCONN
+ 	else return (inet_ntoa(*((struct in_addr *)(ha->address))));
++#else
++	else return (inet_ntoa(*((ipaddr_t *)(ha->address))));
++#endif
+     }
+ #endif /* IPv6 */
+ #endif
+@@ -933,14 +993,16 @@
+ local_xerror(Display *dpy, XErrorEvent *rep)
+ {
+     if ((rep->error_code == BadAccess) && (rep->request_code == X_ChangeHosts)) {
++	/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
+ 	fprintf (stderr, 
+-		 "%s:  must be on local machine to add or remove hosts.\n",
++		 gettext("%s:  must be on local machine to add or remove hosts.\n"),
+ 		 ProgramName);
+ 	return 1;
+     } else if ((rep->error_code == BadAccess) && 
+ 	       (rep->request_code == X_SetAccessControl)) {
++	/* Internationalize messages for bug 4256527... S Swales 5/25/00 */
+ 	fprintf (stderr, 
+-	"%s:  must be on local machine to enable or disable access control.\n",
++		 gettext("%s:  must be on local machine to enable or disable access control.\n"),
+ 		 ProgramName);
+ 	return 1;
+     } else if ((rep->error_code == BadValue) && 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/app/xhost/xhost.po	Thu Jan 24 15:06:03 2008 -0800
@@ -0,0 +1,126 @@
+# Message catalog for xhost command
+# Copyright (C) Sun Microsystems, Inc.
+# Steve Swales <[email protected]>, 2000.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: X11R6.5\n"
+"POT-Creation-Date: 2000-05-25 14:13-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: ENCODING\n"
+
+#: xhost.c:228
+#, c-format
+msgid "\t(no nameserver response within %d seconds)\n"
+msgstr ""
+
+#: xhost.c:258 xhost.c:274
+#, c-format
+msgid "%s:  bad hostname \"%s\"\n"
+msgstr ""
+
+#: xhost.c:687
+#, c-format
+msgid "%s:  must be on local machine to add or remove hosts.\n"
+msgstr ""
+
+#: xhost.c:694
+#, c-format
+msgid "%s:  must be on local machine to enable or disable access control.\n"
+msgstr ""
+
+#: xhost.c:393
+#, c-format
+msgid "%s:  unable to get node name for \"%s::\"\n"
+msgstr ""
+
+#: xhost.c:179
+#, c-format
+msgid "%s:  unable to open display \"%s\"\n"
+msgstr ""
+
+#: xhost.c:422
+#, c-format
+msgid "%s: cannot parse Kerberos name: %s\n"
+msgstr ""
+
+#: xhost.c:323
+#, c-format
+msgid "%s: malloc bombed in change_host\n"
+msgstr ""
+
+#: xhost.c:347
+#, c-format
+msgid "%s: not compiled for DECnet\n"
+msgstr ""
+
+#: xhost.c:367
+#, c-format
+msgid "%s: not compiled for Kerberos 5\n"
+msgstr ""
+
+#: xhost.c:357
+#, c-format
+msgid "%s: not compiled for Secure RPC\n"
+msgstr ""
+
+#: xhost.c:337
+#, c-format
+msgid "%s: not compiled for TCP/IP\n"
+msgstr ""
+
+#: xhost.c:364
+#, c-format
+msgid "%s: not compiled for IPv6\n"
+msgstr ""
+
+#: xhost.c:377
+#, c-format
+msgid "%s: unknown address family \"%s\"\n"
+msgstr ""
+
+#: xhost.c:223
+#, c-format
+msgid "<unknown address in family %d>"
+msgstr ""
+
+#: xhost.c:197 xhost.c:266
+msgid "access control disabled, clients can connect from any host\n"
+msgstr ""
+
+#: xhost.c:195 xhost.c:252
+msgid "access control enabled, only authorized clients can connect\n"
+msgstr ""
+
+#: xhost.c:317
+msgid "being added to access control list"
+msgstr ""
+
+#: xhost.c:318
+msgid "being removed from access control list"
+msgstr ""
+
+#: xhost.c:477
+#, c-format
+msgid "failed to get netname for \"%s\"\n"
+msgstr ""
+
+#: xhost.c:471
+#, c-format
+msgid "no such user \"%s\"\n"
+msgstr ""
+
+#: xhost.c:450
+#, c-format
+msgid "non-network local connections %s\n"
+msgstr ""
+
+#: xhost.c:242
+#, c-format
+msgid "usage: %s [[+-]hostname ...]\n"
+msgstr ""
--- a/packages/SUNW0xwplt/prototype	Thu Jan 24 14:07:47 2008 -0800
+++ b/packages/SUNW0xwplt/prototype	Thu Jan 24 15:06:03 2008 -0800
@@ -29,7 +29,7 @@
 #
 ##########################################################################
 #
-# ident "@(#)prototype 1.9     06/12/14 SMI"
+# ident "@(#)prototype 1.10     08/01/23 SMI"
 #
 # X Window System required core package localizable files
 
@@ -67,12 +67,12 @@
 !search      $HOME/openwin/lib/locale/C/LC_MESSAGES
 d none openwin/lib/locale/C/LC_MESSAGES 		0755 root bin
 f none openwin/lib/locale/C/LC_MESSAGES/xfd.po 		0644 root bin
-f none openwin/lib/locale/C/LC_MESSAGES/xhost.po	0644 root bin
 
 !search      $HOME/X11/share/locale/C/LC_MESSAGES
 d none X11/share/locale/C/LC_MESSAGES 			0755 root bin
 f none X11/share/locale/C/LC_MESSAGES/cxpm.po		0444 root bin
 f none X11/share/locale/C/LC_MESSAGES/sxpm.po 		0444 root bin
+f none X11/share/locale/C/LC_MESSAGES/xhost.po	0644 root bin
 
 
 # RBAC help files
--- a/packages/SUNWxwman/prototype_com	Thu Jan 24 14:07:47 2008 -0800
+++ b/packages/SUNWxwman/prototype_com	Thu Jan 24 15:06:03 2008 -0800
@@ -26,7 +26,7 @@
 # or other dealings in this Software without prior written authorization
 # of the copyright holder.
 #
-# ident "@(#)prototype_com 35.41     08/01/23 SMI"
+# ident "@(#)prototype_com 35.42     08/01/23 SMI"
 #
 #  X Window System online user man pages
 
@@ -120,7 +120,6 @@
 f none openwin/share/man/man1/xfd.1 0444 root bin
 f none openwin/share/man/man1/xfontsel.1 0444 root bin
 f none openwin/share/man/man1/xfs.1 0444 root bin
-f none openwin/share/man/man1/xhost.1 0444 root bin
 f none openwin/share/man/man1/xinit.1 0444 root bin
 f none openwin/share/man/man1/xload.1 0444 root bin
 f none openwin/share/man/man1/xlock.1 0444 root bin
@@ -194,6 +193,9 @@
 # open-src/app/xdpyinfo
 f none X11/share/man/man1/xdpyinfo.1 	0444 root bin
 
+# open-src/app/xhost
+f none X11/share/man/man1/xhost.1 	0444 root bin
+
 # open-src/app/xmag
 f none X11/share/man/man1/xmag.1 	0444 root bin
 
--- a/packages/SUNWxwplt/prototype_com	Thu Jan 24 14:07:47 2008 -0800
+++ b/packages/SUNWxwplt/prototype_com	Thu Jan 24 15:06:03 2008 -0800
@@ -26,7 +26,7 @@
 # or other dealings in this Software without prior written authorization
 # of the copyright holder.
 # 
-#	"@(#)prototype_com	35.142	08/01/23   Sun Microsystems" 
+#	"@(#)prototype_com	35.143	08/01/23   Sun Microsystems" 
 #
 # X Window System required core package
 
@@ -67,7 +67,6 @@
 f none openwin/bin/xauth 	0755 root bin
 f none openwin/bin/xdpr 	0755 root bin
 f none openwin/bin/xfd 		0755 root bin
-f none openwin/bin/xhost 	0755 root bin
 f none openwin/bin/xinit 	0755 root bin
 f none openwin/bin/xlock 	4755 root bin
 f none openwin/bin/xlogo 	0755 root bin
@@ -115,6 +114,10 @@
 f none X11/bin/xdpyinfo 		0755 root bin
 s none openwin/bin/xdpyinfo=../../X11/bin/xdpyinfo
 
+# open-src/app/xhost
+f none X11/bin/xhost 		0755 root bin
+s none openwin/bin/xhost=../../X11/bin/xhost
+
 # open-src/app/xmag
 f none X11/bin/xmag 		0755 root bin
 s none openwin/bin/xmag=../../X11/bin/xmag