- stevesk@cvs.openbsd.org 2002/01/26 16:44:22
[includes.h session.c]
revert code to add x11 localhost display authorization entry for
hostname/unix:d and uts.nodename/unix:d if nodename was different than
hostname. just add entry for unix:d instead. ok markus@
diff --git a/ChangeLog b/ChangeLog
index f916ab7..5e54a3d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -17,6 +17,11 @@
- markus@cvs.openbsd.org 2002/01/25 22:07:40
[kex.c kexdh.c kexgex.c key.c mac.c]
use EVP_MD_size(evp_md) and not evp_md->md_size; ok steveks@
+ - stevesk@cvs.openbsd.org 2002/01/26 16:44:22
+ [includes.h session.c]
+ revert code to add x11 localhost display authorization entry for
+ hostname/unix:d and uts.nodename/unix:d if nodename was different than
+ hostname. just add entry for unix:d instead. ok markus@
20020130
- (djm) Delay PRNG seeding until we need it in ssh-keygen, from markus@
@@ -7419,4 +7424,4 @@
- Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1
-$Id: ChangeLog,v 1.1803 2002/02/05 00:54:07 djm Exp $
+$Id: ChangeLog,v 1.1804 2002/02/05 01:11:02 djm Exp $
diff --git a/includes.h b/includes.h
index c992b15..4740418 100644
--- a/includes.h
+++ b/includes.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: includes.h,v 1.16 2001/12/19 15:43:11 stevesk Exp $ */
+/* $OpenBSD: includes.h,v 1.17 2002/01/26 16:44:22 stevesk Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -28,7 +28,6 @@
#include <sys/ioctl.h>
#include <sys/wait.h>
#include <sys/resource.h>
-#include <sys/utsname.h>
#include <netinet/tcp.h>
#include <arpa/inet.h>
diff --git a/session.c b/session.c
index a5ad077..268d138 100644
--- a/session.c
+++ b/session.c
@@ -33,7 +33,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: session.c,v 1.117 2001/12/28 14:50:54 markus Exp $");
+RCSID("$OpenBSD: session.c,v 1.118 2002/01/26 16:44:22 stevesk Exp $");
#include "ssh.h"
#include "ssh1.h"
@@ -111,7 +111,7 @@
int display_number;
char *display;
int screen;
- char *auth_display[2];
+ char *auth_display;
char *auth_proto;
char *auth_data;
int single_connection;
@@ -1390,25 +1390,16 @@
fprintf(stderr,
"Running %.100s add "
"%.100s %.100s %.100s\n",
- options.xauth_location, s->auth_display[0],
+ options.xauth_location, s->auth_display,
s->auth_proto, s->auth_data);
- if (s->auth_display[1])
- fprintf(stderr,
- "add %.100s %.100s %.100s\n",
- s->auth_display[1],
- s->auth_proto, s->auth_data);
}
snprintf(cmd, sizeof cmd, "%s -q -",
options.xauth_location);
f = popen(cmd, "w");
if (f) {
fprintf(f, "add %s %s %s\n",
- s->auth_display[0], s->auth_proto,
+ s->auth_display, s->auth_proto,
s->auth_data);
- if (s->auth_display[1])
- fprintf(f, "add %s %s %s\n",
- s->auth_display[1], s->auth_proto,
- s->auth_data);
pclose(f);
} else {
fprintf(stderr, "Could not run %s\n",
@@ -1907,10 +1898,8 @@
xfree(s->term);
if (s->display)
xfree(s->display);
- if (s->auth_display[0])
- xfree(s->auth_display[0]);
- if (s->auth_display[1])
- xfree(s->auth_display[1]);
+ if (s->auth_display)
+ xfree(s->auth_display);
if (s->auth_data)
xfree(s->auth_data);
if (s->auth_proto)
@@ -2046,31 +2035,13 @@
* authorization entry is added with xauth(1). This will be
* different than the DISPLAY string for localhost displays.
*/
- s->auth_display[1] = NULL;
if (!options.gateway_ports) {
- struct utsname uts;
-
snprintf(display, sizeof display, "localhost:%d.%d",
s->display_number, s->screen);
- snprintf(auth_display, sizeof auth_display, "%.400s/unix:%d.%d",
- hostname, s->display_number, s->screen);
+ snprintf(auth_display, sizeof auth_display, "unix:%d.%d",
+ s->display_number, s->screen);
s->display = xstrdup(display);
- s->auth_display[0] = xstrdup(auth_display);
- /*
- * Xlib may use gethostbyname() or uname() hostname to
- * look up authorization data for FamilyLocal; see:
- * xc/lib/xtrans/Xtrans.c:TRANS(GetHostname)
- * We just add authorization entries with both
- * hostname and nodename if they are different.
- */
- if (uname(&uts) == -1)
- fatal("uname: %.100s", strerror(errno));
- if (strcmp(hostname, uts.nodename) != 0) {
- snprintf(auth_display, sizeof auth_display,
- "%.400s/unix:%d.%d", uts.nodename,
- s->display_number, s->screen);
- s->auth_display[1] = xstrdup(auth_display);
- }
+ s->auth_display = xstrdup(auth_display);
} else {
#ifdef IPADDR_IN_DISPLAY
struct hostent *he;
@@ -2090,7 +2061,7 @@
s->display_number, s->screen);
#endif
s->display = xstrdup(display);
- s->auth_display[0] = xstrdup(display);
+ s->auth_display = xstrdup(display);
}
return 1;