Public bug reported:

Binary package hint: liboobs-1-4

1) Release: lsb_release -rd
    Description:    Ubuntu 8.04.1
    Release:        8.04
2) version of package: apt-cache policy liboobs-1-4 gnome-system-tools
  liboobs-1-4:
    Installed: 2.22.0-0ubuntu1
    Candidate: 2.22.0-0ubuntu1
    Version table:
   *** 2.22.0-0ubuntu1 0
          500 http://fr.archive.ubuntu.com hardy/main Packages
          100 /var/lib/dpkg/status
  gnome-system-tools:
    Installed: 2.22.0-0ubuntu9
    Candidate: 2.22.0-0ubuntu9
    Version table:
   *** 2.22.0-0ubuntu9 0
          500 http://fr.archive.ubuntu.com hardy/main Packages
          100 /var/lib/dpkg/status

3) Expectations:
    users-admin should be able to add/delete/modify user account
    setting even if a user happen to have an empty password 

4) What happens:
 a) add user, remove the password: you probably have to edit manually
    /etc/shadow for this 
 b) at this point, managing groups with users-admin still work but
    anything related to user account management (adding a user, deleting a
    user changing properties for a user does not work any more
 c) what is very frustrating is that there is absolutely no visual
    feedback of this error condition. When adding a new user a new line
    shows up in the interface as in normal case. But /etc/passwd /etc/shadow
    ... are NOT modified 
 d) the following shows up on stderr:
----------------------------------------------------------------------
(users-admin:11895): Liboobs-CRITICAL **: create_dbus_struct_from_user: 
assertion `(login && password && homedir && shell)' failed
(users-admin:11895): Liboobs-CRITICAL **: Not committing due to inconsistencies 
in the configuration, this reflects a bug in the application
----------------------------------------------------------------------

5) Proposed fix
   Quick fix is to relax the assert in oobs-usersconfig.c
   >>  g_return_val_if_fail ((login && password && homedir && shell), FALSE);

     I guess. it would be much cleaner to intervene in the protocol used by
     the users-admin frontend to talk to back-ends. There should be a
     way to say that a data must exist but maybe be an empty string. 
     Can't you differentiate between failures in network transport or
     server routines (aka backends) failures (for example perl
     installation corruption) and empty string put on purpose ?
     Sorry I know rpc,corba,network porgramming,  asn1.. but I'm
     totally ignorant on how you describe data exchange 
     for dbus, how you register handlers/services, how you "tcpdump"
     the dbus protocol exchange.
   
6) Rational of this request for a fix:
   a) I agree that users with empty passwords are a bad thing and should be
      avoided by default But I guess there are situations (standalone
      computers, with restricted access and no network connections) where it
      makes sense (after tweaking /etc/pam.d/common-auth a little of course.
      Even sshd allows this if you explicitly ask for it (option
      PermitEmptyPasswords) 
   b) liboobs should provide "Mechanism, not Policy". Provision to ban
      empty passwords should lie in the frontend NOT in the protocol
      between frontend and backend
   c) by the way assuming that home and shell should also be .neq. ""
      is also questionable

7) affected releases
   I guess anything higher that ubuntu 8.04 is affected. 7.10 is not

** Affects: liboobs (Ubuntu)
     Importance: Undecided
         Status: New

-- 
users-admin does not work with empty passwords
https://bugs.launchpad.net/bugs/316667
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to liboobs in ubuntu.

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to