[Bug 476811] Please test proposed package
Steve Langasek
steve.langasek at canonical.com
Sat Feb 25 07:28:42 UTC 2012
Hello Joel, or anyone else affected,
Accepted into lucid-proposed. The package will build now and be
available in a few hours. Please test and give feedback here. See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to
enable and use -proposed. Thank you in advance!
** Tags added: verification-needed
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to consolekit in Ubuntu.
https://bugs.launchpad.net/bugs/476811
Title:
Network users with longer than 8 character usernames do not show up in
user list (possible fix included)
Status in GDM: The Gnome Display Manager:
Unknown
Status in “consolekit” package in Ubuntu:
Fix Committed
Status in “consolekit” source package in Lucid:
Fix Committed
Status in “consolekit” package in Debian:
Fix Released
Bug description:
Binary package hint: gdm
First, some details:
GDM Version: 2.28.1-0ubuntu1
Output of: lsb_release -rd
Description: Ubuntu 9.10
Release: 9.10
Also (suspected) involved:
consolekit version: 0.3.1-0ubuntu2
Related:
likewise-open5 version: 5.0.3991.1+krb5-0ubuntu2
Problem:
I am running two installations of Karmic with authentication against
an Active Directory server using Likewise Open version 5. As
expected, all local users show up in the face browser user list.
Additionally, all recent AD users with user names shorter than 8
characters show up in the face browser list as well. The only recent
network users absent from the face browser user list are Active
Directory users with longer user names.
According to the GDM 2.28 documentation
(http://library.gnome.org/admin/gdm/2.28/gdm.html -> see section on
/apps/gdm/simple-greeter/include_all), by Default:
"The Face Browser also will display any users that have previously
logged in on the system (for example NIS/LDAP users). It gets this
list via calling the ck-history ConsoleKit interface."
This actually seems to work for all of the users who use this system
with user names equal to or shorter than 8 characters, but it fails if
a user's login name is greater than 8 charcters, and I am pretty sure
I know why (I just don't know how to fix it).
First, two pieces of evidence. Examining the gdm greeter log file
(:0-greeter.log), I find the following warnings repeated over and
over:
gdm-simple-greeter[2534]: WARNING: Unable to lookup user name xxxxxxxx: Success
gdm-simple-greeter[2534]: WARNING: Unable to lookup user name yyyyyyyy: Success
Note: I have replaced the actual user names with xxxx's and yyyy's
Each of these are truncated user names (truncated to 8 characters).
The first is my own login, from Active Directory. The second is a
local user with a longer than 8 character name. It should be noted
that, regardless of the warning, the local user still shows up in the
user list (this is likely because GDM uses a different mechanism,
fgetpwent(), to populate the list with local users), but the network
user does not.
As stated in the excerpt above, GDM uses ck-history to populate
network users, so I thought it might be prudent to examine the output
of the ck-history command. I ran the following command, and
discovered the problem:
$ck-history --frequent
The command returned the expected list of recent users, and all of the
user names longer than 8 characters WERE truncated.
So, if GDM is just running this command, and parsing the output, it is
receiving invalid user names (hence the log file warning, and missing
users).
In addition, the problem seems to be a "printing" problem only. If I
use ck-history against a particular user name (with the -u or --user
commands), it expects the full username, not the truncated one. So,
it is not internally truncating user names, only printing them that
way. I suspect that (if ck is written in C), it is just a mistake
with a printf, or some such, only allowing for an 8 character field.
(Obvious) Potential Solutions:
If my suspicion is correct, and GDM is only parsing the output of the "ck-history --frequent" command, it would seem that the simplest solution would be to use ConsoleKit's API directly (assuming it contains a "history" and "frequent users" mechanism). Or, it might be better to fix ck-history so that it does not truncate user names when printing them.
To manage notifications about this bug go to:
https://bugs.launchpad.net/gdm/+bug/476811/+subscriptions
More information about the foundations-bugs
mailing list