Nearly a year ago, I wrote: > I'm currently porting nss-pam-ldapd to NetBSD and need some advice. > > The nss-pam-ldapd clients have originally been designed for glibc and then > extended to support Solaris and FreeBSD NSS via compatibility shims. For > FreeBSD, this is made easier by __nss_compat_xxx() functions in their libc > (lib/libc/net/nss_compat.c) emulating the FreeBSD NSS interface on top of > glibc's. [...] > I do have a working (at least for NSS and as far as I can currently tell) > package, but I would like someone to have a look at my code, especially the > xxx_r() functions. I still would need some help with getpwnam_r(), getgrnam_r() and friends: either by someone reading and verifying my code or by someone telling me how I can test that the _r functions I wrote are really re-entrant. I'm increasingly running into linking issues due to nss_ldap pulling in libldap and that pulling in openssl; I'd rather sooner than later get rid of nss_ldap and switch to nss-pam-ldapd; I think NetBSD would benefit from a more modern LDAP-to-NSS interface. But NSS is a delicate thing, and I'm far from confident that my code wouldn't introduce some subtle bugs. I attach what I've got as a pkgsrc package. I'd relly like to persue this further, but I'm stuck without some expert's advice.
Attachment:
nss-pam-ldapd.tgz
Description: application/tar-gz