[Bug 476811] [NEW] Network users with longer than 8 character usernames do not show up in user list (possible fix included)

Launchpad Bug Tracker 476811 at bugs.launchpad.net
Thu Feb 9 21:43:50 UTC 2012


You have been subscribed to a public bug by Adam Stokes (adam-stokes):

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.

** Affects: gdm
     Importance: Medium
         Status: Unknown

** Affects: consolekit (Ubuntu)
     Importance: Low
     Assignee: Adam Stokes (adam-stokes)
         Status: New


** Tags: consolekit facebrowser gdm truncate userlist username
-- 
Network users with longer than 8 character usernames do not show up in user list (possible fix included)
https://bugs.launchpad.net/bugs/476811
You received this bug notification because you are a member of Ubuntu Sponsors Team, which is subscribed to the bug report.



More information about the Ubuntu-sponsors mailing list