Bugzilla – Bug 117977
Cannot login with 32-bit UID's
Last modified: 2006-09-01 08:20:23 UTC
The following have to be true: 1 - you have a 32-bit UID ( values greater than 65536 ) 2 - you want to create a new X session In /etc/X11/Xstartup you have to change the line containing 'sessreg'. Adding '- L none' before the '-U $user' will enable login. It seems that sessreg does not correctly write the lastlog entry for 32-bit UID's. Adding the '-L none' disables it's attempt to write this entry.
This looks more like an ugly workaround than a fix. Thorsten, do we meanwhile support 32bit UIDs? IIRC we discussed this issue (in the dist meeting) and the conclusion was, that we simply does not support it (yet). But this is some years ago and things might have changed ...
We discussed if we should support unsigned int or only signed int for UID. The kernel uses unsigned int, most of our applications works with unsigned int UIDs, too.
signed int UIDs should work, unsigned int UIDs would be fine.
Ok. From this point of view sessreg looks broken. :-(
Could you check this issue with openSUSE >= Alpha3 again?
(In reply to comment #5) > Could you check this issue with openSUSE >= Alpha3 again? Unfortunately I can't. I am in South Africa, and bandwidth to download Alpha versions of distros is simply not available. The bug is very easy to reproduce: 1. Create a new user with a UID 8 digits long (12345678) 2. Log in to X If login succeeds, the bug is fixed, else the X session dies and you are returned to the login manager.
Looks like this has been fixed meanwhile (tested with openSUSE 10.2 Alpha3). I created a new user with UID 12345678 and could log in without any problems. But the sessreg call in /etc/X11/xdm/Xstartup seems to differ from what you described in comment #1, but didn't change since 10.0! exec ${BINDIR}/sessreg -l $LINE -h $LOCATION -a $USER There's no '-U $user'. The '-U' option even doesn't exist. Maybe you're using your own xdm configuration? Anyway, finally closing as fixed.