ports/73743: XOrg/XFree xauth add/startx problem
No Name
arundel at h3c.de
Tue Nov 9 20:30:10 UTC 2004
>Number: 73743
>Category: ports
>Synopsis: XOrg/XFree xauth add/startx problem
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Nov 09 20:30:09 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: No Name
>Release: FreeBSD 5.3-RELEASE i386
>Organization:
>Environment:
System: FreeBSD skatecity 5.3-RELEASE FreeBSD 5.3-RELEASE #3: Mon Nov 8 01:54:22 CET 2004 arundel at skatecity:/usr/obj/usr/src/sys/ARUNDEL i386
>Description:
xorg-6.7.0_1 starts with the following error message:
"xauth: (stdin):1: bad add command line"
This error gets caused by the startx script. In order to
generate a hexkey (MIT-MAGIC-COOKIE-1) for the xauth entry
in ~/.Xauthority it uses /dev/urandom. If random
(urandom -> random) is not present (kernel or kld), the device
node is missing and `xauth add` will fail due to a missing hexkey.
This problem is probably also being caused by any previous
Xorg and XFree86 port version and very likely appears on all
RELENGs that use `devd` instead of the MAKEDEV system (>=RELENG_5).
Since `sh MAKEDEV all` on older systems should take care of
/dev/random and the link to /dev/urandom it should also be possible
to delete the device node from /dev and expereince the very same
problems, as in RELENG_5 and higher.
This issue however is not connected in any way to the
"xauth:(argv):1: bad display name ":0" in "add" command" problem,
which is caused by a wrong /etc/hosts syntax (see PR ports/11977)
>How-To-Repeat:
Be sure to neither have device random compiled into your kernel,
nor to have it loaded as a module. then do:
`cd && rm .Xauthority && startx`
>Fix:
1. Include some info text that will inform the user if the problem
occurs and tell him how to fix the problem.
2. Find another way to get a hold of a hexkey, besides /dev/random.
Maybe through perl or RTC or whatever.
3. Check if /dev/urandom exists. If it doesn't, use
`xauth generate` to create a hexkey for the xauth entry.
It doesn't rely on /dev/urandom and thus succeedes in creating
the key.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list