Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 5a12f4e4f8628a0a13bfc16961027db0b31d8f2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
probably before we can call this stable
---------------------------------------
* implement _nss_ldap_initgroups_dyn()
* clean up and refactor ldap server code
* fix usage of strerror() as it is not thread safe
* error out quickly when the LDAP server is down
* fix race condition when setting signal mask in common/tio.c
* find problem with reachability of LDAP server
* get root/nonroot connections working properly
* fix a problem with spaces in DNs in configfile (base and binddn keywors)

other items
-----------
* set up (test) connection to LDAP server before creating socket
* Debian packaging: maybe remove stuff from /etc/nsswitch.conf on remove or
  purge (maybe prompt?)
* support IPv6 in name (host address) lookups
* probably document that you should use libpam-ldap for authentication without
  exposing the passwords through NSS
* make a test suite (instructions for setting up environment (server), LDIF
  file, nsswitch.conf and nss-ldapd.conf)
* write more unit tests
* maybe support bootparams (check README also)
* maybe support publickey (check README also)
* maybe support netmasks (check README also)
* reserve some threads in the server for root users (probably set up
  connection pools) (we currently have a connection per thread)
* 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
* implement running under a different uid/gid (maybe chroot jail)
* maybe remove dh_makeshlibs from debian/rules (probably not needed)
* include a generic init script
* 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
* reconfigure or upgrade of Debian package should restart nslcd instead of
  stop and later on start
* tune the filter and parameter buffer sizes
* in mkfilter_*() functions: add some check to see if the filter fits and log
  an error (also see to it that the caller exists (e.g. declare return value
  as must use))
* update online documentation
* maybe document how to set up automounting in LDAP (Linux and Solaris)
* make sure to translate timelimit 0 into timelimit -1 where needed
* 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 with
  chroot jails)
* make number of thread configurable in config
* make I/O timeout between NSS lib and daemon configurable at configure
* check for memory leaks