From 760e988d3f3dc46092527475d9a6aa3d3c6f2c32 Mon Sep 17 00:00:00 2001 From: Assar Westerlund Date: Thu, 14 Nov 1996 03:39:17 +0000 Subject: [PATCH] Added `display' and `display_size' git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@958 ec53bebd-3082-4978-b11e-865c3cabbd6b --- appl/kx/common.c | 2 ++ appl/kx/kx.c | 8 ++++---- appl/kx/kx.h | 2 ++ appl/kx/kxd.c | 9 +++++---- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/appl/kx/common.c b/appl/kx/common.c index a1835d835..820730b2a 100644 --- a/appl/kx/common.c +++ b/appl/kx/common.c @@ -43,6 +43,8 @@ RCSID("$Id$"); char x_socket[MaxPathLen]; u_int32_t display_num; +char display[MaxPathLen]; +int display_size = sizeof(display); char xauthfile[MaxPathLen]; int xauthfile_size = sizeof(xauthfile); u_char cookie[16]; diff --git a/appl/kx/kx.c b/appl/kx/kx.c index ac92a58ad..72090f221 100644 --- a/appl/kx/kx.c +++ b/appl/kx/kx.c @@ -187,12 +187,12 @@ connect_host (char *host, des_cblock *key, des_key_schedule schedule, fprintf (stderr, "%s: write: %s\n", prog, strerror(errno)); return -1; } - - if (krb_net_read (s, tmp, sizeof(tmp)) != sizeof(tmp)) { - fprintf (stderr, "%s: read %s\n", prog, strerror(errno)); + + if (krb_net_read (s, display, display_size) != display_size) { + fprintf (stderr, "%s: read: %s\n", prog, strerror(errno)); return -1; } - sscanf (tmp, "%u", &display_num); + if (krb_net_read (s, xauthfile, xauthfile_size) != xauthfile_size) { fprintf (stderr, "%s: read: %s\n", prog, strerror(errno)); diff --git a/appl/kx/kx.h b/appl/kx/kx.h index 257398cb8..40d124f22 100644 --- a/appl/kx/kx.h +++ b/appl/kx/kx.h @@ -114,6 +114,8 @@ int copy_encrypted (int fd1, int fd2, des_cblock *iv, extern char x_socket[]; extern u_int32_t display_num; +extern char display[]; +extern int display_size; extern char xauthfile[]; extern int xauthfile_size; extern u_char cookie[]; diff --git a/appl/kx/kxd.c b/appl/kx/kxd.c index 5ad6ac77f..bff7015e3 100644 --- a/appl/kx/kxd.c +++ b/appl/kx/kxd.c @@ -227,13 +227,14 @@ doit(int sock, int tcpp) if (krb_net_read (sock, &passivep, sizeof(passivep)) != sizeof(passivep)) return 1; if (passivep) { - char tmp[16]; - display_num = get_xsockets (&localx, tcpp ? &tcpx : NULL); if (display_num < 0) return 1; - sprintf (tmp, "%u", display_num); - if (krb_net_write (sock, tmp, sizeof(tmp)) != sizeof(tmp)) + if (tcpp) + sprintf (display, "localhost:%u", display_num); + else + sprintf (display, ":%u", display_num); + if (krb_net_write (sock, display, display_size) != display_size) return 1; strncpy(xauthfile, tempnam("/tmp", NULL), xauthfile_size); if (krb_net_write (sock, xauthfile, xauthfile_size) !=