* test reachability problems with LDAP server more * write more unit tests * maybe implement a connection object in the myldap module that is shared by different sessions (sessions need to be cleaned up) * add sanity checking code (e.g. not too large buffer allocation and checking that host, user, etc do not contain funky characters) in all server modules * log some statistics: "passwd=100 shadow=10 host=20 rpc=10" (10 req/minute) * in the server: once the request is done pass the flushing of the buffers to a separate thread so our workers are available to handle new requests (test whether this actually improves performace) * split out idle checking into separate function so we may be able to call it periodically from elsewhere (e.g. the main loop) * add an option to create an extra socket somewhere (so it may be used in chroot jails) * make I/O timeout between NSS lib and daemon configurable with configure * ethers: also look in ipHostNumber attribute to look up an IPv4 (IPv6) address and return it as an alternative entry (investigate whether this is sane) * protocols/rpc: the description attribute should be used as an alias? * do more checks with failing LDAP connections (e.g. killing connections) * maybe make myldap code thread-safe (use locking) * review changes in nss_ldap and merge any useful changes * maybe rate-limit LDAP entry warnings * only parse nslcd.conf options if they are available on the platform * maybe support memberOf attribute in passwd entries that map to groups * setnetgrent() may need to return an error if the netgroup is undefined * handle repeated calls to getent() better (see http://bugzilla.padl.com/show_bug.cgi?id=376) * make it possible to start nslcd real early in the boot process and have it become available when it determines it can (other timeout/retry mechanism on startup) * write a simple PAM test application