> I managed to find where this is happening. It is not in glibc but in > systemd. > > If your /etc/nsswitch.conf has something like this: > > passwd: compat mymachines systemd > > then the routines that are being used are systemd ones. > > The checks being done are here in the function valid_user_group_name: > > https://github.com/systemd/systemd/blob/master/src/basic/user-util.c > > and in the case that those checks fail then _nss_systemd_getpwnam_r from > systemd libraries returns EINVAL > > https://github.com/systemd/systemd/blob/master/src/nss-systemd/nss-systemd.c > > if (!valid_user_group_name(name)) { > r = -EINVAL; > goto fail; > } > > ... > > fail: > *errnop = -r; > return NSS_STATUS_UNAVAIL; > > So the problem is that systemd version of getpwnam_r is deviating from > the standard of returning 0 for not found users. > > Either the systemd library module or the nsswitch.conf is probably what > changed during your upgrade. > > John
hi john, both packages (filesystem containing nsswitch.conf and systemd) received an upgrade last week: upgraded systemd (231-4 -> 232-6) diff of old vs new nsswitch.conf: $ diff {,/}etc/nsswitch.conf 3,5c3,5 < passwd: files < group: files < shadow: files --- > passwd: compat mymachines systemd > group: compat mymachines systemd > shadow: compat 9c9 < hosts: files dns myhostname --- > hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname so i might take this to the arch ML and also to the systemd bug tracker. thank you for your thorough investigation of this isssue! georg