open-src/app/xhost/xhost.patch
author Alan Coopersmith <Alan.Coopersmith@Sun.COM>
Sat, 05 Dec 2009 22:13:03 -0800
changeset 851 d428083dbbdd
parent 294 2c88146a951a
child 1068 0dc26c96a5af
permissions -rw-r--r--
6905171 X11R7.5 / Xorg 1.7.3 integration 6907686 Move X files from /usr/X11 to /usr [PSARC 2009/482] 6907695 Mesa & OpenGL switcher for SPARC [LSARC 2009/569] 6742737 deliver xf86-input-synaptics

--- 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/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) &&