On 12/27/2016 08:59 AM, John Fawcett wrote: > On 12/27/2016 12:17 AM, G. Schlisio wrote: >>> 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 > I opened an issue directly on systemd bug tracker > > https://github.com/systemd/systemd/issues/4983 > > John > systemd code has been modified now. It has a v233 milestone. "ith this the workaround (forward_path=) should not be required any longer.
https://github.com/systemd/systemd/commit/d6c575e303520ffdcee1590a4181410024d5f917 John