2
# User ejka@imfi.kspu.ru
3
# Node ID fbeb28a122da949d0e70dd30956800ae707700d3
4
# Parent 77625b567802c5b6977eddb845f391e65a8733d0
5
Applied 002_xdm_fixes.diff
8
===================================================================
17
#include <sys/ioctl.h>
20
===================================================================
24
# include "dm_error.h"
28
#ifdef X_POSIX_C_SOURCE
29
#define _POSIX_C_SOURCE X_POSIX_C_SOURCE
32
RestartDisplay (d, FALSE);
35
- Debug ("Display exited with unknown status %d\n", waitVal(status));
36
- LogError ("Unknown session exit code %d from process %d\n",
37
- waitVal (status), pid);
38
+ Debug ("display %s exited with unknown status %d\n",
39
+ d->name, waitVal(status));
40
+ LogError ("display %s (pid %ld) exited with unexpected status "
41
+ "%d\n", d->name, waitVal (status), (long) pid);
46
===================================================================
47
--- xdm.orig/genauth.c
50
# include "dm_error.h"
59
===================================================================
60
--- xdm.orig/session.c
63
open ("/dev/null", O_RDONLY);
64
/* make stdout follow stderr to the log file */
66
+ Debug ("attempting to execve() %s\n", argv[0]);
67
execve (argv[0], argv, environ);
69
* In case this is a shell script which hasn't been
70
* made executable (or this is a SYSV box), do
73
+ Debug ("execve() of %s failed: %s\n", argv[0], _SysErrorMsg (errno));
74
if (errno != ENOENT) {
75
char program[1024], *e, *p, *optarg;
78
while ((*av++ = *argv++))
81
+ Debug ("attempting to execve() %s\n", newargv[0]);
82
execve (newargv[0], newargv, environ);
85
Index: xdm/xdm.man.cpp
86
===================================================================
87
--- xdm.orig/xdm.man.cpp
90
this resource to ``false'' will disable this feature.
91
.IP "\fBDisplayManager.pidFile\fP"
92
The filename specified will be created to contain an ASCII
93
-representation of the process-id of the main
94
+representation of the process ID of the main
100
.IP \fBDisplayManager.randomDevice\fP
101
A file to read 8 bytes from to generate the seed of authorization keys.
102
-The default is \fI DEV_RANDOM \fP. If this file cannot be read, or if a
103
-read blocks for more than 5 seconds, xdm falls back to using a checksum
104
-of \fBDisplayManager.randomFile\fP to generate the seed.
107
+If this file cannot be read, or if a read blocks for more than 5 seconds,
108
+xdm falls back to using a checksum of \fBDisplayManager.randomFile\fP to
111
#if !defined(ARC4_RANDOM)
112
.IP \fBDisplayManager.prngdSocket\fP
114
===================================================================
115
--- xdm.orig/xdmauth.c
118
static char auth_name[256];
119
static int auth_name_len;
121
+static void XdmPrintDataHex (char *s, char *a, int l);
123
+static void XdmPrintArray8Hex (char *s, ARRAY8Ptr a);
125
+static Xauth *XdmGetAuthHelper (unsigned short namelen,
129
+static int HexToBinary (char *key);
130
+static int XdmGetKey (struct protoDisplay *pdpy, ARRAY8Ptr displayID);
134
XdmPrintDataHex (char *s, char *a, int l)
137
XdmPrintDataHex ("Accept packet auth", xdmcpauth->data, xdmcpauth->data_length);
138
XdmPrintDataHex ("Auth file auth", fileauth->data, fileauth->data_length);
139
/* encrypt the session key for its trip back to the server */
140
- XdmcpWrap (xdmcpauth->data, (unsigned char *)&pdpy->key, xdmcpauth->data, 8);
141
+ XdmcpWrap ((unsigned char *)&xdmcpauth->data,
142
+ (unsigned char *)&pdpy->key,
143
+ (unsigned char *)&xdmcpauth->data, 8);
144
pdpy->fileAuthorization = fileauth;
145
pdpy->xdmcpAuthorization = xdmcpauth;
147
Index: xdm/xdmshell.c
148
===================================================================
149
--- xdm.orig/xdmshell.c
158
#define ON_CONSOLE_ONLY