On 2025-03-04 10:40:04 +0100, Marc Haber wrote:
> On Tue, Mar 04, 2025 at 08:11:10AM +0100, Marc Haber wrote:
> > I expect a fix for this adduser issue for later today and apologize for
> > the problem. There is no need to debug other packages until adduser
> > 3.144 is uploaded.
> 
> Can you try this trivial change?

This should work here, but you are not fixing the other issues.

I recall the problematic code:

    my $ret = existing_user_status($new_name, $new_uid);
    if ($ret == (EXISTING_FOUND|EXISTING_SYSTEM)) {
        # a user with this name already exists; it's a problem when it's not a 
system user
        log_fatal( mtx("The user `%s' already exists, but is not a system user. 
Exiting."), $new_name );
        exit( RET_WRONG_OBJECT_PROPERTIES );
    }

The $ret == (EXISTING_FOUND|EXISTING_SYSTEM) test is true only for
system accounts that are not locked[*] and for which the id matches
(i.e. EXISTING_ID_MISMATCH is not set).

[*] and with a password, after the trivial change.

Also, the comment says "it's a problem when it's not a system user",
so instead of checking whether this is a system user, it should check
whether this is *not* a system user. And it should do that even when
the account is locked or the id mismatches (i.e. the test should
ignore the other flags).

-- 
Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)

Reply via email to